[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