s3-smbd: Cleanup the order of the init functions.
authorAndreas Schneider <asn@samba.org>
Mon, 9 Aug 2010 12:49:08 +0000 (14:49 +0200)
committerSimo Sorce <idra@samba.org>
Fri, 13 Aug 2010 16:20:10 +0000 (12:20 -0400)
Signed-off-by: Simo Sorce <idra@samba.org>
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);