summaryrefslogtreecommitdiffstats
path: root/source/smbd/server.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2006-04-18 09:02:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:16:24 -0500
commit6c65cccc83aa7b726e23684f979f1488bed3f751 (patch)
tree7b80e37585662162c2824ba68d557a48dbb43383 /source/smbd/server.c
parent853ebd6e84cf52a309945f39cdf188ca346da8eb (diff)
downloadsamba-6c65cccc83aa7b726e23684f979f1488bed3f751.tar.gz
samba-6c65cccc83aa7b726e23684f979f1488bed3f751.tar.xz
samba-6c65cccc83aa7b726e23684f979f1488bed3f751.zip
r15119: Initialize our global sam sid first, quite a lot of the other initialization
routines further down depend on it. Fix bug 3696. Volker
Diffstat (limited to 'source/smbd/server.c')
-rw-r--r--source/smbd/server.c33
1 files changed, 22 insertions, 11 deletions
diff --git a/source/smbd/server.c b/source/smbd/server.c
index d5a678b8508..a1466c408d2 100644
--- a/source/smbd/server.c
+++ b/source/smbd/server.c
@@ -912,6 +912,28 @@ void build_options(BOOL screen);
if (!message_init())
exit(1);
+ /* Initialize our global sam sid first -- quite a lot of the other
+ * initialization routines further down depend on it.
+ */
+
+ /* Initialise the password backed before the global_sam_sid
+ to ensure that we fetch from ldap before we make a domain sid up */
+
+ if(!initialize_password_db(False))
+ exit(1);
+
+ /* Fail gracefully if we can't open secrets.tdb */
+
+ if (!secrets_init()) {
+ DEBUG(0, ("ERROR: smbd can not open secrets.tdb\n"));
+ exit(1);
+ }
+
+ if(!get_global_sam_sid()) {
+ DEBUG(0,("ERROR: Samba cannot create a SAM SID.\n"));
+ exit(1);
+ }
+
if (!session_init())
exit(1);
@@ -965,17 +987,6 @@ void build_options(BOOL screen);
* everything after this point is run after the fork()
*/
- /* Initialise the password backed before the global_sam_sid
- to ensure that we fetch from ldap before we make a domain sid up */
-
- if(!initialize_password_db(False))
- exit(1);
-
- if(!get_global_sam_sid()) {
- DEBUG(0,("ERROR: Samba cannot create a SAM SID.\n"));
- exit(1);
- }
-
static_init_rpc;
init_modules();