[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