diff options
-rw-r--r-- | source3/lib/util_pwdb.c | 15 | ||||
-rw-r--r-- | source3/nmbd/nmbd.c | 5 |
2 files changed, 19 insertions, 1 deletions
diff --git a/source3/lib/util_pwdb.c b/source3/lib/util_pwdb.c index 7e7eb0da8b..03ccdd475f 100644 --- a/source3/lib/util_pwdb.c +++ b/source3/lib/util_pwdb.c @@ -418,10 +418,11 @@ BOOL pwdb_gethexpwd(const char *p, char *pwd) return strhex_to_str(pwd, 32, p) == 16; } + /************************************************************* initialise password databases, domain names, domain sid. **************************************************************/ -BOOL pwdb_initialise(BOOL is_server) +BOOL pwdb_init_myworkgroup(void) { fstrcpy(global_myworkgroup, lp_workgroup()); @@ -430,9 +431,21 @@ BOOL pwdb_initialise(BOOL is_server) DEBUG(0,("ERROR: a workgroup name of * is no longer supported\n")); return False; } + return True; +} +/************************************************************* + initialise password databases, domain names, domain sid. +**************************************************************/ +BOOL pwdb_initialise(BOOL is_server) +{ get_sam_domain_name(); + if (!pwdb_init_myworkgroup()) + { + return False; + } + generate_wellknown_sids(); if (is_server) diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c index d44fe5507c..c266043c2c 100644 --- a/source3/nmbd/nmbd.c +++ b/source3/nmbd/nmbd.c @@ -677,6 +677,11 @@ static void usage(char *pname) reload_services( True ); + if (!pwdb_init_myworkgroup()) + { + exit(1); + } + set_samba_nb_type(); if (!is_daemon && !is_a_socket(0)) |