s3-smbd: Cleanup the order of the init functions.
[amitay/samba.git] / source3 / smbd / server.c
index 93d786146938efb47870a63495e03c7fdf13e5bd..c41ad6fbafd82979ef1badcfe40ea493de59bf52 100644 (file)
@@ -876,8 +876,6 @@ extern void build_options(bool screen);
        setluid(0);
 #endif
 
-       sec_init();
-
        set_remote_machine_name("smbd", False);
 
        if (interactive && (DEBUGLEVEL >= 9)) {
@@ -893,9 +891,11 @@ extern void build_options(bool screen);
            client problems at a later date. (tridge) */
        generate_random_buffer(NULL, 0);
 
+       /* get initial effective uid and gid */
+       sec_init();
+
        /* make absolutely sure we run as root - to handle cases where people
           are crazy enough to have it setuid */
-
        gain_root_privilege();
        gain_root_group_privilege();
 
@@ -930,8 +930,6 @@ extern void build_options(bool screen);
           so set our umask to 0 */
        umask(0);
 
-       init_sec_ctx();
-
        reopen_logs();
 
        DEBUG(0,("smbd version %s started.\n", samba_version_string()));
@@ -953,6 +951,9 @@ extern void build_options(bool screen);
                exit(1);
        }
 
+       /* Init the security context and global current_user */
+       init_sec_ctx();
+
        if (smbd_messaging_context() == NULL)
                exit(1);