fstrcpy(domain, full_name);
fstrcpy(name, p+1);
} else {
+ if(!lp_domain_logons()) {
+ fstrcpy(domain, global_myname());
+ fstrcpy(name, full_name);
+ } else {
+ fstrcpy(domain, lp_workgroup());
+ fstrcpy(name, full_name);
+ }
fstrcpy(domain, global_myname());
fstrcpy(name, full_name);
}
status = lookup_name(dom_name, user, &sid, &name_type);
+ if((name_type == SID_NAME_UNKNOWN) && (lp_server_role() == ROLE_DOMAIN_MEMBER) && (strncmp(dom_name, full_name, strlen(dom_name)) != 0)) {
+ DEBUG(5, ("init_lsa_rid2s: domain name not provided and local account not found, using member domain\n"));
+ fstrcpy(dom_name, lp_workgroup());
+ status = lookup_name(dom_name, user, &sid, &name_type);
+ }
+
DEBUG(5, ("init_lsa_rid2s: %s\n", status ? "found" :
"not found"));