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:
parent
3357319620
commit
fb85977d7c
@ -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)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user