[SCM] Samba Shared Repository - branch master updated

Jelmer Vernooij jelmer at samba.org
Thu Jun 21 12:00:02 MDT 2012


The branch, master has been updated
       via  7b43053 Add --disable-ntdb option for building.
       via  cbd660d samdb: Accept a list of member variables rather than a comma-separated string.
      from  3c74117 s3:idmap_cache: also store negative entries for unknown sids

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 7b43053ad6d1ee00895f592e7524c8591894144b
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Jun 21 16:44:55 2012 +0200

    Add --disable-ntdb option for building.
    
    Autobuild-User(master): Jelmer Vernooij <jelmer at samba.org>
    Autobuild-Date(master): Thu Jun 21 19:59:57 CEST 2012 on sn-devel-104

commit cbd660d01381465a35dc696b6a135de22f7682e6
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Jun 19 12:43:08 2012 +0200

    samdb: Accept a list of member variables rather than a comma-separated string.

-----------------------------------------------------------------------

Summary of changes:
 lib/ntdb/wscript                               |    1 +
 source4/dsdb/tests/python/acl.py               |    8 ++++----
 source4/dsdb/tests/python/dirsync.py           |   18 +++++++++---------
 source4/dsdb/tests/python/sec_descriptor.py    |    8 ++++----
 source4/scripting/python/samba/netcmd/group.py |    7 +++++--
 source4/scripting/python/samba/samdb.py        |    7 +++----
 wscript                                        |    9 ++++++++-
 wscript_build                                  |    3 ++-
 8 files changed, 36 insertions(+), 25 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/ntdb/wscript b/lib/ntdb/wscript
index ff8f24e..f034631 100644
--- a/lib/ntdb/wscript
+++ b/lib/ntdb/wscript
@@ -27,6 +27,7 @@ def set_options(opt):
     opt.add_option('--valgrind-log',
                    help=("where to put the valgrind log"),
                    action="store", dest='VALGRINDLOG', default=None)
+
     if opt.IN_LAUNCH_DIR():
         opt.add_option('--disable-python',
                        help=("disable the pyntdb module"),
diff --git a/source4/dsdb/tests/python/acl.py b/source4/dsdb/tests/python/acl.py
index a624614..bbd4343 100755
--- a/source4/dsdb/tests/python/acl.py
+++ b/source4/dsdb/tests/python/acl.py
@@ -128,9 +128,9 @@ class AclAddTests(AclTests):
         self.ldb_admin.newuser(self.regular_user, self.user_pass)
 
         # add admins to the Domain Admins group
-        self.ldb_admin.add_remove_group_members("Domain Admins", self.usr_admin_owner,
+        self.ldb_admin.add_remove_group_members("Domain Admins", [self.usr_admin_owner],
                        add_members_operation=True)
-        self.ldb_admin.add_remove_group_members("Domain Admins", self.usr_admin_not_owner,
+        self.ldb_admin.add_remove_group_members("Domain Admins", [self.usr_admin_not_owner],
                        add_members_operation=True)
 
         self.ldb_owner = self.get_ldb_connection(self.usr_admin_owner, self.user_pass)
@@ -613,7 +613,7 @@ class AclSearchTests(AclTests):
         self.ldb_admin.newuser(self.u2, self.user_pass)
         self.ldb_admin.newuser(self.u3, self.user_pass)
         self.ldb_admin.newgroup(self.group1, grouptype=samba.dsdb.GTYPE_SECURITY_GLOBAL_GROUP)
-        self.ldb_admin.add_remove_group_members(self.group1, self.u2,
+        self.ldb_admin.add_remove_group_members(self.group1, [self.u2],
                                                 add_members_operation=True)
         self.ldb_user = self.get_ldb_connection(self.u1, self.user_pass)
         self.ldb_user2 = self.get_ldb_connection(self.u2, self.user_pass)
@@ -1521,7 +1521,7 @@ class AclExtendedTests(AclTests):
         self.ldb_admin.newuser(self.u1, self.user_pass)
         self.ldb_admin.newuser(self.u2, self.user_pass)
         self.ldb_admin.newuser(self.u3, self.user_pass)
-        self.ldb_admin.add_remove_group_members("Domain Admins", self.u3,
+        self.ldb_admin.add_remove_group_members("Domain Admins", [self.u3],
                                                 add_members_operation=True)
         self.ldb_user1 = self.get_ldb_connection(self.u1, self.user_pass)
         self.ldb_user2 = self.get_ldb_connection(self.u2, self.user_pass)
diff --git a/source4/dsdb/tests/python/dirsync.py b/source4/dsdb/tests/python/dirsync.py
index d6a21a9..f36a3c0 100755
--- a/source4/dsdb/tests/python/dirsync.py
+++ b/source4/dsdb/tests/python/dirsync.py
@@ -124,7 +124,7 @@ class SimpleDirsyncTests(DirsyncBaseTests):
         self.sd_utils.dacl_add_ace(self.base_dn, mod)
 
         # add admins to the Domain Admins group
-        self.ldb_admin.add_remove_group_members("Domain Admins", self.admin_user,
+        self.ldb_admin.add_remove_group_members("Domain Admins", [self.admin_user],
                        add_members_operation=True)
 
     def tearDown(self):
@@ -477,7 +477,7 @@ class SimpleDirsyncTests(DirsyncBaseTests):
         ctl[2] = "1"
         ctl[3] = "10000"
         control1 = str(":".join(ctl))
-        self.ldb_admin.add_remove_group_members("Administrators", self.simple_user,
+        self.ldb_admin.add_remove_group_members("Administrators", [self.simple_user],
                        add_members_operation=True)
 
         res = self.ldb_simple.search(self.base_dn,
@@ -492,7 +492,7 @@ class SimpleDirsyncTests(DirsyncBaseTests):
         control1 = str(":".join(ctl))
 
         # remove the user from the group
-        self.ldb_admin.add_remove_group_members("Administrators", self.simple_user,
+        self.ldb_admin.add_remove_group_members("Administrators", [self.simple_user],
                        add_members_operation=False)
 
         res = self.ldb_simple.search(self.base_dn,
@@ -502,7 +502,7 @@ class SimpleDirsyncTests(DirsyncBaseTests):
         self.assertEqual(len(res[0].get("member")), size )
 
         self.ldb_admin.newgroup("testgroup")
-        self.ldb_admin.add_remove_group_members("testgroup", self.simple_user,
+        self.ldb_admin.add_remove_group_members("testgroup", [self.simple_user],
                        add_members_operation=True)
 
         res = self.ldb_admin.search(self.base_dn,
@@ -532,7 +532,7 @@ class SimpleDirsyncTests(DirsyncBaseTests):
         ctl[3] = "10000"
         control1 = str(":".join(ctl))
 
-        self.ldb_admin.add_remove_group_members("testgroup", self.simple_user,
+        self.ldb_admin.add_remove_group_members("testgroup", [self.simple_user],
                        add_members_operation=False)
 
         res = self.ldb_admin.search(self.base_dn,
@@ -608,9 +608,9 @@ class ExtendedDirsyncTests(SimpleDirsyncTests):
         ctl[2] = "%d" % flag_incr_linked
         ctl[3] = "10000"
         control1 = str(":".join(ctl))
-        self.ldb_admin.add_remove_group_members("Administrators", self.simple_user,
+        self.ldb_admin.add_remove_group_members("Administrators", [self.simple_user],
                        add_members_operation=True)
-        self.ldb_admin.add_remove_group_members("Administrators", self.dirsync_user,
+        self.ldb_admin.add_remove_group_members("Administrators", [self.dirsync_user],
                        add_members_operation=True)
 
 
@@ -626,7 +626,7 @@ class ExtendedDirsyncTests(SimpleDirsyncTests):
         control1 = str(":".join(ctl))
 
         # remove the user from the group
-        self.ldb_admin.add_remove_group_members("Administrators", self.simple_user,
+        self.ldb_admin.add_remove_group_members("Administrators", [self.simple_user],
                        add_members_operation=False)
 
         res = self.ldb_admin.search(self.base_dn,
@@ -642,7 +642,7 @@ class ExtendedDirsyncTests(SimpleDirsyncTests):
         ctl[3] = "10000"
         control2 = str(":".join(ctl))
 
-        self.ldb_admin.add_remove_group_members("Administrators", self.dirsync_user,
+        self.ldb_admin.add_remove_group_members("Administrators", [self.dirsync_user],
                        add_members_operation=False)
 
         res = self.ldb_admin.search(self.base_dn,
diff --git a/source4/dsdb/tests/python/sec_descriptor.py b/source4/dsdb/tests/python/sec_descriptor.py
index 80212a1..087ce5e 100755
--- a/source4/dsdb/tests/python/sec_descriptor.py
+++ b/source4/dsdb/tests/python/sec_descriptor.py
@@ -200,13 +200,13 @@ class OwnerGroupDescriptorTests(DescriptorTests):
         self.ldb_admin.newuser("testuser8", "samba123@")
 
         self.ldb_admin.add_remove_group_members("Enterprise Admins",
-                                                "testuser1,testuser5,testuser6,testuser8",
+                                                ["testuser1", "testuser5", "testuser6", "testuser8"],
                                                 add_members_operation=True)
         self.ldb_admin.add_remove_group_members("Domain Admins",
-                                                "testuser2,testuser5,testuser6,testuser7",
+                                                ["testuser2","testuser5","testuser6","testuser7"],
                                                 add_members_operation=True)
         self.ldb_admin.add_remove_group_members("Schema Admins",
-                                                "testuser3,testuser6,testuser7,testuser8",
+                                                ["testuser3","testuser6","testuser7","testuser8"],
                                                 add_members_operation=True)
 
         self.results = {
@@ -1865,7 +1865,7 @@ class RightsAttributesTests(DescriptorTests):
         # User 2, Domain Admins
         self.ldb_admin.newuser("testuser_attr2", "samba123@")
         self.ldb_admin.add_remove_group_members("Domain Admins",
-                                                "testuser_attr2",
+                                                ["testuser_attr2"],
                                                 add_members_operation=True)
 
     def test_sDRightsEffective(self):
diff --git a/source4/scripting/python/samba/netcmd/group.py b/source4/scripting/python/samba/netcmd/group.py
index 0f4a744..42c236b 100644
--- a/source4/scripting/python/samba/netcmd/group.py
+++ b/source4/scripting/python/samba/netcmd/group.py
@@ -206,7 +206,9 @@ Example2 shows how to add a single user account, User2, to the supergroup AD gro
         try:
             samdb = SamDB(url=H, session_info=system_session(),
                           credentials=creds, lp=lp)
-            samdb.add_remove_group_members(groupname, listofmembers, add_members_operation=True)
+            groupmembers = listofmembers.split(',')
+            samdb.add_remove_group_members(groupname, groupmembers,
+                    add_members_operation=True)
         except Exception, e:
             # FIXME: catch more specific exception
             raise CommandError('Failed to add members "%s" to group "%s"' % (
@@ -256,7 +258,8 @@ Example2 shows how to remove a single user account, User2, from the supergroup A
         try:
             samdb = SamDB(url=H, session_info=system_session(),
                           credentials=creds, lp=lp)
-            samdb.add_remove_group_members(groupname, listofmembers, add_members_operation=False)
+            samdb.add_remove_group_members(groupname, listofmembers.split(","),
+                    add_members_operation=False)
         except Exception, e:
             # FIXME: Catch more specific exception
             raise CommandError('Failed to remove members "%s" from group "%s"' % (listofmembers, groupname), e)
diff --git a/source4/scripting/python/samba/samdb.py b/source4/scripting/python/samba/samdb.py
index b37854b..2d746de 100644
--- a/source4/scripting/python/samba/samdb.py
+++ b/source4/scripting/python/samba/samdb.py
@@ -226,19 +226,18 @@ pwdLastSet: 0
         else:
             self.transaction_commit()
 
-    def add_remove_group_members(self, groupname, listofmembers,
+    def add_remove_group_members(self, groupname, members,
                                   add_members_operation=True):
         """Adds or removes group members
 
         :param groupname: Name of the target group
-        :param listofmembers: Comma-separated list of group members
+        :param members: list of group members
         :param add_members_operation: Defines if its an add or remove
             operation
         """
 
         groupfilter = "(&(sAMAccountName=%s)(objectCategory=%s,%s))" % (
             ldb.binary_encode(groupname), "CN=Group,CN=Schema,CN=Configuration", self.domain_dn())
-        groupmembers = listofmembers.split(',')
 
         self.transaction_start()
         try:
@@ -255,7 +254,7 @@ dn: %s
 changetype: modify
 """ % (str(targetgroup[0].dn))
 
-            for member in groupmembers:
+            for member in members:
                 targetmember = self.search(base=self.domain_dn(), scope=ldb.SCOPE_SUBTREE,
                                     expression="(|(sAMAccountName=%s)(CN=%s))" % (
                     ldb.binary_encode(member), ldb.binary_encode(member)), attrs=[])
diff --git a/wscript b/wscript
index 9caa673..e77d35a 100755
--- a/wscript
+++ b/wscript
@@ -61,6 +61,11 @@ def set_options(opt):
                    help='enable special build farm options',
                    action='store_true', dest='BUILD_FARM')
 
+    opt.add_option('--disable-ntdb',
+                   help=("disable ntdb"),
+                   action="store_true", dest='disable_ntdb', default=False)
+
+
     opt.tool_options('python') # options for disabling pyc or pyo compilation
     # enable options related to building python extensions
 
@@ -124,7 +129,9 @@ def configure(conf):
     conf.RECURSE('source4/ntvfs/sysdep')
     conf.RECURSE('lib/util')
     conf.RECURSE('lib/ccan')
-    conf.RECURSE('lib/ntdb')
+    conf.env.disable_ntdb = getattr(Options.options, 'disable_ntdb', False)
+    if not Options.options.disable_ntdb:
+        conf.RECURSE('lib/ntdb')
     conf.RECURSE('lib/zlib')
     conf.RECURSE('lib/util/charset')
     conf.RECURSE('source4/auth')
diff --git a/wscript_build b/wscript_build
index dc06b64..b671699 100755
--- a/wscript_build
+++ b/wscript_build
@@ -34,7 +34,8 @@ bld.RECURSE('lib/tevent')
 bld.RECURSE('lib/addns')
 bld.RECURSE('lib/ccan')
 bld.RECURSE('lib/tdb_compat')
-bld.RECURSE('lib/ntdb')
+if not bld.env.disable_ntdb:
+    bld.RECURSE('lib/ntdb')
 bld.RECURSE('lib/ldb')
 bld.RECURSE('lib/param')
 bld.RECURSE('dynconfig')


-- 
Samba Shared Repository


More information about the samba-cvs mailing list