1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-28 01:58:17 +03:00

s4-s3upgrade: Ignore (with warning) groups that are listed but we cannot list members for

This commit is contained in:
Andrew Bartlett 2012-04-19 09:59:40 +10:00
parent 916297e045
commit a5905bfb39

View File

@ -534,11 +534,18 @@ def upgrade_from_samba3(samba3, logger, targetdir, session_info=None, useeadb=Fa
# Get members for each group/alias
if group.sid_name_use == lsa.SID_NAME_ALIAS:
members = s3db.enum_aliasmem(group.sid)
try:
members = s3db.enum_aliasmem(group.sid)
except passdb.error:
logger.warn("Ignoring group '%s' %s listed but then not found: %s",
group.nt_name, group.sid, passdb.error)
continue
elif group.sid_name_use == lsa.SID_NAME_DOM_GRP:
try:
members = s3db.enum_group_members(group.sid)
except passdb.error:
logger.warn("Ignoring group '%s' %s listed but then not found: %s",
group.nt_name, group.sid, passdb.error)
continue
groupmembers[group.nt_name] = members
elif group.sid_name_use == lsa.SID_NAME_WKN_GRP:
@ -548,7 +555,12 @@ def upgrade_from_samba3(samba3, logger, targetdir, session_info=None, useeadb=Fa
group.nt_name)
continue
# A number of buggy databases mix up well known groups and aliases.
members = s3db.enum_aliasmem(group.sid)
try:
members = s3db.enum_aliasmem(group.sid)
except passdb.error:
logger.warn("Ignoring group '%s' %s listed but then not found: %s",
group.nt_name, group.sid, passdb.error)
continue
else:
logger.warn("Ignoring group '%s' with sid_name_use=%d",
group.nt_name, group.sid_name_use)