1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-23 06:50:21 +03:00

s4: upgradeprovision rename also when there is a mismatch on the case of name attribute

Renaming not only helps when name attribute is not here
  it also helps when the case is not the good one. So
  in order to avoid problem and have as much as possible similar provision
  we should use the rename whenever a name difference appear.
This commit is contained in:
Matthieu Patou 2009-12-12 18:33:53 +03:00 committed by Andrew Bartlett
parent 3357319620
commit fb85977d7c

View File

@ -140,6 +140,12 @@ if setup_dir is None:
session = system_session()
# simple helper to allow back and forth rename
def identic_rename(ldb,dn):
(before,sep,after)=str(dn).partition('=')
ldb.rename(dn,ldb.Dn(ldb,"%s=foo%s"%(before,after)))
ldb.rename(ldb.Dn(ldb,"%s=foo%s"%(before,after)),dn)
# Create an array of backlinked attributes
def populate_backlink(newpaths,creds,session,schemadn):
newsam_ldb = Ldb(newpaths.samdb, session_info=session, credentials=creds,lp=lp)
@ -458,8 +464,7 @@ def update_secrets(newpaths,paths,creds,session):
if att == "name":
message(CHANGE,"Found attribute name on %s, must rename the DN "%(res2[0].dn))
secrets_ldb.rename(res2[0].dn,ldb.Dn(secrets_ldb,"%sfoo"%str(res2[0].dn)))
secrets_ldb.rename(ldb.Dn(secrets_ldb,"%sfoo"%str(res2[0].dn)),res2[0].dn)
identic_rename(secrets_ldb,res[0].dn)
else:
delta.remove(att)