From f3f50d7a9ca36d0d56f29d25e4fceaa50c9a06e9 Mon Sep 17 00:00:00 2001 From: Petr Cech Date: Wed, 17 Aug 2016 14:01:09 +0200 Subject: [PATCH 06/39] INTG: Adding support for netgroups to ldap_ent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolves: https://fedorahosted.org/sssd/ticket/2841 Reviewed-by: Lukáš Slebodník (cherry picked from commit 1cba321946084231c220e9561487555671b944c3) --- src/tests/intg/ldap_ent.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/tests/intg/ldap_ent.py b/src/tests/intg/ldap_ent.py index f8f2f7fe6977aec6fd704ad1c78a476a163a16f1..c912844b063cfeb9c48744d593685d0b7fbcc706 100644 --- a/src/tests/intg/ldap_ent.py +++ b/src/tests/intg/ldap_ent.py @@ -87,6 +87,20 @@ def group_bis(base_dn, cn, gidNumber, member_uids=[], member_gids=[]): return ("cn=" + cn + ",ou=Groups," + base_dn, attr_list) +def netgroup(base_dn, cn, triples=(), members=()): + """ + Generate an RFC2307bis netgroup add-modlist for passing to ldap.add*. + """ + attr_list = [ + ('objectClass', ['top', 'nisNetgroup']) + ] + if triples: + attr_list.append(('nisNetgroupTriple', triples)) + if members: + attr_list.append(('memberNisNetgroup', members)) + return ("cn=" + cn + ",ou=Netgroups," + base_dn, attr_list) + + class List(list): """LDAP add-modlist list""" @@ -124,3 +138,8 @@ class List(list): self.append(group_bis(base_dn or self.base_dn, cn, gidNumber, member_uids, member_gids)) + + def add_netgroup(self, cn, triples=(), members=(), base_dn=None): + """Add an RFC2307bis netgroup add-modlist.""" + self.append(netgroup(base_dn or self.base_dn, + cn, triples, members)) -- 2.9.3