s4-provision UTF16 encode the password in sam.ldb, not secrets.ldb
authorAndrew Bartlett <abartlet@samba.org>
Thu, 11 Nov 2010 08:55:26 +0000 (19:55 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 11 Nov 2010 09:55:06 +0000 (09:55 +0000)
The password in secrets.ldb is UTF8, while clearTextPassword in
sam.ldb is UTF16.

This corrects commit bd5039546e520b6d6897a658bc0a358f0511f7c7, which
had these the wrong way around.

Andrew Bartlett

source4/scripting/python/samba/provision.py

index 42c0345ea684c2d02989d63a9d2d6207d3269ec9..420dd144689b4b8264d6d3db056134e563774172 100644 (file)
@@ -830,7 +830,7 @@ def secretsdb_setup_dns(secretsdb, setup_path, names, private_dir,
             "REALM": realm,
             "DNSDOMAIN": dnsdomain,
             "DNS_KEYTAB": dns_keytab_path,
-            "DNSPASS_B64": b64encode(dnspass.encode('utf-16-le')),
+            "DNSPASS_B64": b64encode(dnspass),
             "HOSTNAME": names.hostname,
             "DNSNAME" : '%s.%s' % (names.netbiosname.lower(), names.dnsdomain.lower())
             })
@@ -1015,7 +1015,7 @@ def setup_self_join(samdb, names,
     setup_add_ldif(samdb, setup_path("provision_dns_add.ldif"), {
               "DNSDOMAIN": names.dnsdomain,
               "DOMAINDN": names.domaindn,
-              "DNSPASS_B64": b64encode(dnspass),
+              "DNSPASS_B64": b64encode(dnspass.encode('utf-16-le')),
               "HOSTNAME" : names.hostname,
               "DNSNAME" : '%s.%s' % (names.netbiosname.lower(), names.dnsdomain.lower())
               })