summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/lib/util_pwdb.c15
-rw-r--r--source3/nmbd/nmbd.c5
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))