[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Sat Sep 3 22:35:02 MDT 2011


The branch, master has been updated
       via  389cb93 s4-provision Allow a missing idmap DB in upgrade.py
       via  329ec81 s4-provision cope with SID_NAME_WKN_GRP mappings in upgrade.py
      from  3167a2b s3:smb2cli: ask for a session key in smb2cli_sesssetup_send()

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


- Log -----------------------------------------------------------------
commit 389cb93450b191f1ac1442f4f28e3919de38c5c5
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sun Sep 4 12:10:36 2011 +1000

    s4-provision Allow a missing idmap DB in upgrade.py
    
    Autobuild-User: Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date: Sun Sep  4 06:34:16 CEST 2011 on sn-devel-104

commit 329ec81288451a0110a755aeb61d4f910c393b09
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sun Sep 4 11:58:34 2011 +1000

    s4-provision cope with SID_NAME_WKN_GRP mappings in upgrade.py
    
    Some incorrect LDAP backends have entries with this group type, but
    due to the pdb_ldap code, we cannot read the group members, and we
    already skip them in add_group_from_mapping_entry().
    
    Andrew Bartlett

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

Summary of changes:
 source4/scripting/python/samba/upgrade.py |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/scripting/python/samba/upgrade.py b/source4/scripting/python/samba/upgrade.py
index 7386d0b..09a66db 100644
--- a/source4/scripting/python/samba/upgrade.py
+++ b/source4/scripting/python/samba/upgrade.py
@@ -109,13 +109,20 @@ def add_idmap_entry(idmapdb, sid, xid, xid_type, logger):
                             str(sid), str(xid), xid_type, str(e))
 
 
-def import_idmap(idmapdb, samba3_idmap, logger):
+def import_idmap(idmapdb, samba3, logger):
     """Import idmap data.
 
     :param idmapdb: Samba4 IDMAP database
     :param samba3_idmap: Samba3 IDMAP database to import from
     :param logger: Logger object
     """
+
+    try:
+        samba3_idmap = samba3.get_idmap_db()
+    except IOError as (errno, strerror):
+        logger.warn('Cannot open idmap database, Ignoring: ({0}): {1}'.format(errno, strerror))
+        return
+
     currentxid = max(samba3_idmap.get_user_hwm(), samba3_idmap.get_group_hwm())
     lowerbound = currentxid
     # FIXME: upperbound
@@ -491,13 +498,17 @@ def upgrade_from_samba3(samba3, logger, targetdir, session_info=None):
                next_rid = rid + 1
 
         # Get members for each group/alias
-        if group.sid_name_use == lsa.SID_NAME_ALIAS or group.sid_name_use == lsa.SID_NAME_WKN_GRP:
+        if group.sid_name_use == lsa.SID_NAME_ALIAS:
             members = s3db.enum_aliasmem(group.sid)
         elif group.sid_name_use == lsa.SID_NAME_DOM_GRP:
             try:
                 members = s3db.enum_group_members(group.sid)
             except:
                 continue
+        elif group.sid_name_use == lsa.SID_NAME_WKN_GRP:
+            logger.warn("Ignoring 'well known' group '%s' (should already be in AD, and have no members)",
+                        group.nt_name, group.sid_name_use)
+            continue
         else:
             logger.warn("Ignoring group '%s' with sid_name_use=%d",
                         group.nt_name, group.sid_name_use)
@@ -555,7 +566,7 @@ def upgrade_from_samba3(samba3, logger, targetdir, session_info=None):
 
     # Migrate IDMAP database
     logger.info("Importing idmap database")
-    import_idmap(result.idmap, samba3.get_idmap_db(), logger)
+    import_idmap(result.idmap, samba3, logger)
 
     # Set the s3 context for samba4 configuration
     new_lp_ctx = s3param.get_context()


-- 
Samba Shared Repository


More information about the samba-cvs mailing list