[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Tue Sep 6 18:23:04 MDT 2011


The branch, master has been updated
       via  a9a3a79 s4-s3-upgrade Handle expected errors, error out on unexpected ones
       via  02da47d s4-s3-upgrade Fix group member addition
      from  fd65e5e s3: Make winbindd_lookup_names static

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


- Log -----------------------------------------------------------------
commit a9a3a79767401ba1165fde9aeb8820c012ef5470
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Sep 6 08:14:35 2011 +1000

    s4-s3-upgrade Handle expected errors, error out on unexpected ones
    
    Autobuild-User: Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date: Wed Sep  7 02:22:56 CEST 2011 on sn-devel-104

commit 02da47d75c4cbf977ad70d75f20e4d6100907cdc
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Sep 5 22:38:15 2011 +1000

    s4-s3-upgrade Fix group member addition

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

Summary of changes:
 source4/scripting/python/samba/upgrade.py |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/scripting/python/samba/upgrade.py b/source4/scripting/python/samba/upgrade.py
index 7b0c062..2bb5ccc 100644
--- a/source4/scripting/python/samba/upgrade.py
+++ b/source4/scripting/python/samba/upgrade.py
@@ -202,16 +202,18 @@ def add_users_to_group(samdb, group, members, logger):
     """
     for member_sid in members:
         m = ldb.Message()
-        m.dn = ldb.Dn(samdb, "<SID=%s" % str(group.sid))
-        m['a01'] = ldb.MessageElement("<SID=%s>" % str(member_sid), ldb.FLAG_MOD_REPLACE, 'member')
+        m.dn = ldb.Dn(samdb, "<SID=%s>" % str(group.sid))
+        m['a01'] = ldb.MessageElement("<SID=%s>" % str(member_sid), ldb.FLAG_MOD_ADD, 'member')
 
         try:
             samdb.modify(m)
         except ldb.LdbError, (ecode, emsg):
-            if ecode == ldb.ERR_NO_SUCH_OBJECT:
-                logger.warn("Could not add member '%s' to group '%s' as either group or user record doesn't exist: %s", member_sid, group.sid, emsg)
+            if ecode == ldb.ERR_ENTRY_ALREADY_EXISTS:
+                logger.info("skipped re-adding member '%s' to group '%s': %s", member_sid, group.sid, emsg)
+            elif ecode == ldb.ERR_NO_SUCH_OBJECT:
+                raise ProvisioningError("Could not add member '%s' to group '%s' as either group or user record doesn't exist: %s" % (member_sid, group.sid, emsg))
             else:
-                logger.warn("Could not add member '%s' to group '%s': %s", member_sid, group.sid, emsg)
+                raise ProvisioningError("Could not add member '%s' to group '%s': %s" % (member_sid, group.sid, emsg))
 
 
 def import_wins(samba4_winsdb, samba3_winsdb):


-- 
Samba Shared Repository


More information about the samba-cvs mailing list