[SCM] Samba Shared Repository - branch master updated
Michael Adam
obnox at samba.org
Thu Oct 23 10:20:02 MDT 2014
The branch, master has been updated
via 4bec186 samba-tool group add: Add option --nis-domain and --gid
via 4ab6df6 samba-tool: Add exception when trying to add/remove none existent users from a group.
via 1c7b81e selftest: Fix test samba4.blackbox.group.py
via 5340be1 subunit: report [X/Y at Zs] instead of [X/Y in Zs]
from 88f9f50 Add missing parameters to drs_Replicate in rodc.py
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 4bec1867987845fc40e9a17a283d2affc36e0dc5
Author: Marc Muehlfeld <mmuehlfeld at samba.org>
Date: Sat Oct 18 00:34:35 2014 +0200
samba-tool group add: Add option --nis-domain and --gid
This allows creating RFC2307 enabled groups via samba-tool
Signed-off-by: Marc Muehlfeld <mmuehlfeld at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
Autobuild-User(master): Michael Adam <obnox at samba.org>
Autobuild-Date(master): Thu Oct 23 18:19:35 CEST 2014 on sn-devel-104
commit 4ab6df622c81363b8acb31113016ecfbbe1ec5c4
Author: Marc Muehlfeld <mmuehlfeld at samba.org>
Date: Sun Oct 12 16:32:08 2014 +0200
samba-tool: Add exception when trying to add/remove none existent users from a group.
This allows a better scripting around samba-tool for adding/removing users
to/from groups. Before the output and the return code had indicated that
everything was successul.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10871
Signed-off-by: Marc Muehlfeld <mmuehlfeld at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 1c7b81e76824ce78ecc5d700b76b8a68b1beb1bd
Author: Marc Muehlfeld <mmuehlfeld at samba.org>
Date: Sat Oct 18 02:17:22 2014 +0200
selftest: Fix test samba4.blackbox.group.py
The test created two users and in later steps it tried adding two
non-existend users to groups. This fix adds now the two created
accounts to the groups instead.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10871
Signed-off-by: Marc Muehlfeld <mmuehlfeld at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 5340be1740fa753f9e1471b025c9f29ed2ba2234
Author: Michael Adam <obnox at samba.org>
Date: Fri Oct 17 11:17:53 2014 +0200
subunit: report [X/Y at Zs] instead of [X/Y in Zs]
when running test X out of Y after Z secons have passed
Signed-off-by: Michael Adam <obnox at samba.org>
Reviewed-by: Matthieu Patou <mat at matws.net>
-----------------------------------------------------------------------
Summary of changes:
python/samba/netcmd/group.py | 15 +++++++++++++--
python/samba/samdb.py | 15 +++++++++++++--
selftest/subunithelper.py | 2 +-
source4/setup/tests/blackbox_group.sh | 24 ++++++++++++------------
4 files changed, 39 insertions(+), 17 deletions(-)
Changeset truncated at 500 lines:
diff --git a/python/samba/netcmd/group.py b/python/samba/netcmd/group.py
index 1a24e5f..4b5fd27 100644
--- a/python/samba/netcmd/group.py
+++ b/python/samba/netcmd/group.py
@@ -70,6 +70,11 @@ Example2:
sudo samba-tool group add Group2 --group-type=Distribution
Example2 adds a new distribution group to the local server. The command is run under root using the sudo command.
+
+Example3:
+samba-tool group add Group3 --nis-domain=samdom --gid=12345
+
+Example3 adds a new RFC2307 enabled group for NIS domain samdom and GID 12345 (both options are required to enable this feature).
"""
synopsis = "%prog <groupname> [options]"
@@ -93,19 +98,24 @@ Example2 adds a new distribution group to the local server. The command is run
Option("--description", help="Group's description", type=str),
Option("--mail-address", help="Group's email address", type=str),
Option("--notes", help="Groups's notes", type=str),
+ Option("--gid-number", help="Group's Unix/RFC2307 GID number", type=int),
+ Option("--nis-domain", help="SFU30 NIS Domain", type=str),
]
takes_args = ["groupname"]
def run(self, groupname, credopts=None, sambaopts=None,
versionopts=None, H=None, groupou=None, group_scope=None,
- group_type=None, description=None, mail_address=None, notes=None):
+ group_type=None, description=None, mail_address=None, notes=None, gid_number=None, nis_domain=None):
if (group_type or "Security") == "Security":
gtype = security_group.get(group_scope, GTYPE_SECURITY_GLOBAL_GROUP)
else:
gtype = distribution_group.get(group_scope, GTYPE_DISTRIBUTION_GLOBAL_GROUP)
+ if (gid_number is None and nis_domain is not None) or (gid_number is not None and nis_domain is None):
+ raise CommandError('Both --gid-number and --nis-domain have to be set for a RFC2307-enabled group. Operation cancelled.')
+
lp = sambaopts.get_loadparm()
creds = credopts.get_credentials(lp, fallback_machine=True)
@@ -113,7 +123,8 @@ Example2 adds a new distribution group to the local server. The command is run
samdb = SamDB(url=H, session_info=system_session(),
credentials=creds, lp=lp)
samdb.newgroup(groupname, groupou=groupou, grouptype = gtype,
- description=description, mailaddress=mail_address, notes=notes)
+ description=description, mailaddress=mail_address, notes=notes,
+ gidnumber=gid_number, nisdomain=nis_domain)
except Exception, e:
# FIXME: catch more specific exception
raise CommandError('Failed to create group "%s"' % groupname, e)
diff --git a/python/samba/samdb.py b/python/samba/samdb.py
index 2dfc839..0ea52fb 100644
--- a/python/samba/samdb.py
+++ b/python/samba/samdb.py
@@ -169,7 +169,8 @@ pwdLastSet: 0
self.modify_ldif(mod)
def newgroup(self, groupname, groupou=None, grouptype=None,
- description=None, mailaddress=None, notes=None, sd=None):
+ description=None, mailaddress=None, notes=None, sd=None,
+ gidnumber=None, nisdomain=None):
"""Adds a new group with additional parameters
:param groupname: Name of the new group
@@ -177,6 +178,8 @@ pwdLastSet: 0
:param description: Description of the new group
:param mailaddress: Email address of the new group
:param notes: Notes of the new group
+ :param gidnumber: GID Number of the new group
+ :param nisdomain: NIS Domain Name of the new group
:param sd: security descriptor of the object
"""
@@ -188,6 +191,8 @@ pwdLastSet: 0
"sAMAccountName": groupname,
"objectClass": "group"}
+ ldbmessage["msSFU30Name"] = groupname
+
if grouptype is not None:
ldbmessage["groupType"] = normalise_int32(grouptype)
@@ -200,6 +205,12 @@ pwdLastSet: 0
if notes is not None:
ldbmessage["info"] = notes
+ if gidnumber is not None:
+ ldbmessage["gidNumber"] = normalise_int32(gidnumber)
+
+ if nisdomain is not None:
+ ldbmessage["msSFU30NisDomain"] = nisdomain
+
if sd is not None:
ldbmessage["nTSecurityDescriptor"] = ndr_pack(sd)
@@ -260,7 +271,7 @@ changetype: modify
ldb.binary_encode(member), ldb.binary_encode(member)), attrs=[])
if len(targetmember) != 1:
- continue
+ raise Exception('Unable to find "%s". Operation cancelled.' % member)
if add_members_operation is True and (targetgroup[0].get('member') is None or str(targetmember[0].dn) not in targetgroup[0]['member']):
modified = True
diff --git a/selftest/subunithelper.py b/selftest/subunithelper.py
index 6f1fdce..dcea5a8 100644
--- a/selftest/subunithelper.py
+++ b/selftest/subunithelper.py
@@ -489,7 +489,7 @@ class PlainFormatter(TestsuiteEnabledTestResult):
if self.totalsuites is not None:
out += "/%d" % self.totalsuites
if self.start_time is not None:
- out += " in " + self._format_time(self.last_time - self.start_time)
+ out += " at " + self._format_time(self.last_time - self.start_time)
if self.suitesfailed:
out += ", %d errors" % (len(self.suitesfailed),)
out += "] %s" % name
diff --git a/source4/setup/tests/blackbox_group.sh b/source4/setup/tests/blackbox_group.sh
index f5569c3..ee344cf 100755
--- a/source4/setup/tests/blackbox_group.sh
+++ b/source4/setup/tests/blackbox_group.sh
@@ -32,20 +32,20 @@ testit "group add" $samba_tool group add $CONFIG --group-scope='Global' --group-
testit "group add" $samba_tool group add $CONFIG --group-scope='Universal' --group-type='Distribution' --description='UniversalDistributionGroup' --mail-address='udg at samba.org' --notes='Notes' udg
#test adding test users to all groups by their username
-testit "group addmembers" $samba_tool group addmembers $CONFIG dsg newuser,newuser1
-testit "group addmembers" $samba_tool group addmembers $CONFIG gsg newuser,newuser1
-testit "group addmembers" $samba_tool group addmembers $CONFIG usg newuser,newuser1
-testit "group addmembers" $samba_tool group addmembers $CONFIG ddg newuser,newuser1
-testit "group addmembers" $samba_tool group addmembers $CONFIG gdg newuser,newuser1
-testit "group addmembers" $samba_tool group addmembers $CONFIG udg newuser,newuser1
+testit "group addmembers" $samba_tool group addmembers $CONFIG dsg testuser,testuser1
+testit "group addmembers" $samba_tool group addmembers $CONFIG gsg testuser,testuser1
+testit "group addmembers" $samba_tool group addmembers $CONFIG usg testuser,testuser1
+testit "group addmembers" $samba_tool group addmembers $CONFIG ddg testuser,testuser1
+testit "group addmembers" $samba_tool group addmembers $CONFIG gdg testuser,testuser1
+testit "group addmembers" $samba_tool group addmembers $CONFIG udg testuser,testuser1
#test removing test users from all groups by their username
-testit "group removemembers" $samba_tool group removemembers $CONFIG dsg newuser,newuser1
-testit "group removemembers" $samba_tool group removemembers $CONFIG gsg newuser,newuser1
-testit "group removemembers" $samba_tool group removemembers $CONFIG usg newuser,newuser1
-testit "group removemembers" $samba_tool group removemembers $CONFIG ddg newuser,newuser1
-testit "group removemembers" $samba_tool group removemembers $CONFIG gdg newuser,newuser1
-testit "group removemembers" $samba_tool group removemembers $CONFIG udg newuser,newuser1
+testit "group removemembers" $samba_tool group removemembers $CONFIG dsg testuser,testuser1
+testit "group removemembers" $samba_tool group removemembers $CONFIG gsg testuser,testuser1
+testit "group removemembers" $samba_tool group removemembers $CONFIG usg testuser,testuser1
+testit "group removemembers" $samba_tool group removemembers $CONFIG ddg testuser,testuser1
+testit "group removemembers" $samba_tool group removemembers $CONFIG gdg testuser,testuser1
+testit "group removemembers" $samba_tool group removemembers $CONFIG udg testuser,testuser1
#test adding test users to all groups by their cn
#testit "group addmembers" $samba_tool group addmembers $CONFIG dsg "User UT. Tester,User1 UT. Tester"
--
Samba Shared Repository
More information about the samba-cvs
mailing list