diff options
author | Andrew Bartlett <abartlet@samba.org> | 2015-09-24 07:41:22 +1200 |
---|---|---|
committer | Garming Sam <garming@samba.org> | 2016-05-11 03:47:04 +0200 |
commit | ac1ed18f8d396c431d381f511a21d6fd4f008c24 (patch) | |
tree | 5ac80d0bb8fbbba26bbff86f2d0187d561a5bbc7 /python/samba/upgrade.py | |
parent | e0acee02233d56392b99607bbd6afae6ff3da71f (diff) | |
download | samba-ac1ed18f8d396c431d381f511a21d6fd4f008c24.tar.gz |
classicupgrade: Avoid needing to quote CN values in an DN, use dn.set_component()
While invalid for samAccountName values, when also used for
samAccountName we should be dealing with this at the samldb layer, not
here.
This comes from unvalidated Samba3 data that can contain a , or =
without a problem in that codebase.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Diffstat (limited to 'python/samba/upgrade.py')
-rw-r--r-- | python/samba/upgrade.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/python/samba/upgrade.py b/python/samba/upgrade.py index 215ccd39164..38563235841 100644 --- a/python/samba/upgrade.py +++ b/python/samba/upgrade.py @@ -272,8 +272,10 @@ def add_group_from_mapping_entry(samdb, groupmap, logger): return m = ldb.Message() - m.dn = ldb.Dn(samdb, "CN=%s,CN=Users,%s" % (groupmap.nt_name, samdb.get_default_basedn())) - m['cn'] = ldb.MessageElement(groupmap.nt_name, ldb.FLAG_MOD_ADD, 'cn') + # We avoid using the format string to avoid needing to escape the CN values + m.dn = ldb.Dn(samdb, "CN=X,CN=Users") + m.dn.set_component(0, "CN", groupmap.nt_name) + m.dn.add_base(samdb.get_default_basedn()) m['objectClass'] = ldb.MessageElement('group', ldb.FLAG_MOD_ADD, 'objectClass') m['objectSid'] = ldb.MessageElement(ndr_pack(groupmap.sid), ldb.FLAG_MOD_ADD, 'objectSid') |