lastLogon: %d
lastLogoff: %d
unixName: %s
-name: %s
sAMAccountName: %s
cn: %s
description: %s
", ldb.dn_escape(acc.fullname), domaindn, acc.logon_time, acc.logoff_time, acc.username, acc.nt_username, acc.nt_username,
-acc.fullname, acc.acct_desc, acc.group_rid, acc.bad_password_count, acc.logon_count,
+acc.acct_desc, acc.group_rid, acc.bad_password_count, acc.logon_count,
acc.domain, acc.dir_drive, acc.munged_dial, acc.homedir, acc.logon_script,
acc.profile_path, acc.workstations, acc.kickoff_time, acc.bad_password_time,
acc.pass_last_set_time, acc.pass_can_change_time, acc.pass_must_change_time, domainsid, acc.user_rid,
nType = (sys.bitAND(e.nb_flags,0x60)>>5);
ldif = ldif + sprintf("
-dn: name:%s,type=0x%02X
+dn: name=%s,type=0x%02X
type: 0x%02X
name: %s
objectClass: winsRecord
}
if (oldconf.get("domain logons") == "True") {
- if (oldconf.get("domain master") == "True") {
- newconf.set("role", "pdc");
- } else {
- newconf.set("role", "bdc");
- }
+ newconf.set("server role", "domain controller");
} else {
- if (oldconf.get("domain master") == "True") {
- newconf.set("role", "standalone");
+ if (oldconf.get("security") == "user") {
+ newconf.set("server role", "standalone");
} else {
- newconf.set("role", "member server");
+ newconf.set("server role", "member server");
}
}
return newconf;
}
-function upgrade(subobj, samba3, message, paths)
+function upgrade(subobj, samba3, message, paths, session_info, credentials)
{
var ret = 0;
var lp = loadparm_init();
var samdb = ldb_init();
+ samdb.session_info = session_info;
+ samdb.credentials = credentials;
var ok = samdb.connect(paths.samdb);
- assert(ok);
+ if (!ok) {
+ info.message("samdb connect failed: " + samdb.errstring() + "\n");
+ assert(ok);
+ }
message("Writing configuration\n");
var newconf = upgrade_smbconf(samba3.configuration,true);
message("Importing account policies\n");
var ldif = upgrade_sam_policy(samba3,subobj.BASEDN);
ok = samdb.modify(ldif);
- assert(ok);
-
+ if (!ok) {
+ message("samdb load failed: " + samdb.errstring() + "\n");
+ assert(ok);
+ }
var regdb = ldb_init();
ok = regdb.connect(paths.hklm);
- assert(ok);
+ if (!ok) {
+ message("registry connect: " + regdb.errstring() + "\n");
+ assert(ok);
+ }
+
ok = regdb.modify(sprintf("
dn: value=RefusePasswordChange,key=Parameters,key=Netlogon,key=Services,key=CurrentControlSet,key=System,HIVE=NONE
replace: type
replace: data
data: %d
", samba3.policy.refuse_machine_password_change));
- assert(ok);
+ if (!ok) {
+ message("registry load failed: " + regdb.errstring() + "\n");
+ assert(ok);
+ }
message("Importing users\n");
for (var i in samba3.samaccounts) {