diff options
Diffstat (limited to 'source3/passdb/machine_sid.c')
-rw-r--r-- | source3/passdb/machine_sid.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/source3/passdb/machine_sid.c b/source3/passdb/machine_sid.c index a578ecc711..071af50877 100644 --- a/source3/passdb/machine_sid.c +++ b/source3/passdb/machine_sid.c @@ -78,7 +78,6 @@ static void generate_random_sid(DOM_SID *sid) static BOOL pdb_generate_sam_sid(void) { - DOM_SID domain_sid; char *fname = NULL; BOOL is_dc = False; @@ -98,14 +97,8 @@ static BOOL pdb_generate_sam_sid(void) break; } - if (is_dc) { - if (secrets_fetch_domain_sid(lp_workgroup(), &domain_sid)) { - sid_copy(global_sam_sid, &domain_sid); - return True; - } - } - if (secrets_fetch_domain_sid(global_myname(), global_sam_sid)) { + DOM_SID domain_sid; /* We got our sid. If not a pdc/bdc, we're done. */ if (!is_dc) @@ -124,11 +117,11 @@ static BOOL pdb_generate_sam_sid(void) if (!sid_equal(&domain_sid, global_sam_sid)) { - /* Domain name sid doesn't match global sam sid. Re-store domain sid as 'local' sid. */ + /* Domain name sid doesn't match global sam sid. Re-store global sam sid as domain sid. */ DEBUG(0,("pdb_generate_sam_sid: Mismatched SIDs as a pdc/bdc.\n")); - if (!secrets_store_domain_sid(global_myname(), &domain_sid)) { - DEBUG(0,("pdb_generate_sam_sid: Can't re-store domain SID for local sid as PDC/BDC.\n")); + if (!secrets_store_domain_sid(lp_workgroup(), global_sam_sid)) { + DEBUG(0,("pdb_generate_sam_sid: Can't re-store domain SID as a pdc/bdc.\n")); return False; } return True; |