From: Matthieu Patou Date: Fri, 12 Nov 2010 17:45:07 +0000 (+0300) Subject: python: use the ldbMessage + modify notation instead of modify_ldif that we try to... X-Git-Tag: release-4-0-0alpha14~1080 X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=e0f64b77ebb5ecbd1bdabe9f2b3cf368421b34e6;p=ddiss%2Fsamba.git python: use the ldbMessage + modify notation instead of modify_ldif that we try to avoid --- diff --git a/source4/scripting/python/samba/upgradehelpers.py b/source4/scripting/python/samba/upgradehelpers.py index b2bb66c5ea3..e8f14719a58 100755 --- a/source4/scripting/python/samba/upgradehelpers.py +++ b/source4/scripting/python/samba/upgradehelpers.py @@ -835,14 +835,13 @@ def update_machine_account_password(samdb, secrets_ldb, names): res = samdb.search(expression=expression, attrs=[]) assert(len(res) == 1) + msg = ldb.Message(res[0].dn) machinepass = samba.generate_random_password(128, 255) - - samdb.modify_ldif(""" -dn: """ + str(res[0].dn) + """ -changetype: modify -replace: clearTextPassword -clearTextPassword:: """ + base64.b64encode(machinepass.encode('utf-16-le')) + """ -""") + mputf16 = machinepass.encode('utf-16-le') + msg["clearTextPassword"] = ldb.MessageElement(mputf16, + ldb.FLAG_MOD_REPLACE, + "clearTextPassword") + samdb.modify(msg) res = samdb.search(expression=("samAccountName=%s$" % names.netbiosname), attrs=["msDs-keyVersionNumber"])