s3: Lift the smbd_messaging_context from reload_services
authorVolker Lendecke <vl@samba.org>
Sun, 8 Aug 2010 13:09:47 +0000 (15:09 +0200)
committerVolker Lendecke <vl@samba.org>
Sun, 8 Aug 2010 16:09:33 +0000 (18:09 +0200)
source3/auth/auth_ntlmssp.c
source3/include/proto.h
source3/rpc_server/srv_spoolss_nt.c
source3/smbd/negprot.c
source3/smbd/process.c
source3/smbd/reply.c
source3/smbd/server.c
source3/smbd/server_reload.c
source3/smbd/sesssetup.c
source3/smbd/smb2_sesssetup.c
source3/torture/vfstest.c

index c212bb39d403a41538c3a0c269303cec3aefd185..bc0e9d276a990189c6a1b81d64578035361feb49 100644 (file)
@@ -122,7 +122,7 @@ static NTSTATUS auth_ntlmssp_check_password(struct ntlmssp_state *ntlmssp_state,
        /* sub_set_smb_name checks for weird internally */
        sub_set_smb_name(auth_ntlmssp_state->ntlmssp_state->user);
 
-       reload_services(True);
+       reload_services(smbd_messaging_context(), True);
 
        nt_status = make_user_info_map(&user_info, 
                                       auth_ntlmssp_state->ntlmssp_state->user, 
index 85ade8f8003c12f300debc48d00518d0dcbf5cd0..83bc6525aa93a64f88461bd90656685fd054e9a8 100644 (file)
@@ -5756,7 +5756,7 @@ struct event_context *smbd_event_context(void);
 struct messaging_context *smbd_messaging_context(void);
 struct memcache *smbd_memcache(void);
 void reload_printers(struct messaging_context *msg_ctx);
-bool reload_services(bool test);
+bool reload_services(struct messaging_context *msg_ctx, bool test);
 void exit_server(const char *const explanation);
 void exit_server_cleanly(const char *const explanation);
 void exit_server_fault(void);
index ac95486d562969ddfa86f9d10c10574035bb9f2c..a58786ce61421c6c66734241b7d1fab0aa049d81 100644 (file)
@@ -341,7 +341,7 @@ static WERROR delete_printer_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token,
 
        /* go ahead and re-read the services immediately */
        become_root();
-       reload_services(false);
+       reload_services(msg_ctx, false);
        unbecome_root();
 
        if ( lp_servicenumber( sharename )  > 0 )
@@ -5682,7 +5682,7 @@ static bool add_printer_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token,
 
        /* reload our services immediately */
        become_root();
-       reload_services(false);
+       reload_services(msg_ctx, false);
        unbecome_root();
 
        numlines = 0;
index e61d5198ac5f93afa5c3f67bb55d1f9e6f4aac37..9151d1baf1a392a5248aaf6da051caab17f858f9 100644 (file)
@@ -667,7 +667,7 @@ void reply_negprot(struct smb_request *req)
        }
  
        /* possibly reload - change of architecture */
-       reload_services(True);      
+       reload_services(sconn->msg_ctx, True);
        
        /* moved from the netbios session setup code since we don't have that 
           when the client connects to port 445.  Of course there is a small
@@ -693,7 +693,7 @@ void reply_negprot(struct smb_request *req)
   
        if(choice != -1) {
                fstrcpy(remote_proto,supported_protocols[protocol].short_name);
-               reload_services(True);          
+               reload_services(sconn->msg_ctx, True);
                supported_protocols[protocol].proto_reply_fn(req, choice);
                DEBUG(3,("Selected protocol %s\n",supported_protocols[protocol].proto_name));
        } else {
index 2715c676e6710226d5ed96f019c39fdf031adca7..8e97d4086ff1bfa233003d14f425995561fa4c67 100644 (file)
@@ -912,7 +912,7 @@ static void smbd_sig_hup_handler(struct tevent_context *ev,
 {
        change_to_root_user();
        DEBUG(1,("Reloading services after SIGHUP\n"));
-       reload_services(False);
+       reload_services(smbd_messaging_context(), False);
 }
 
 void smbd_setup_sig_hup_handler(void)
@@ -2223,7 +2223,7 @@ void check_reload(time_t t)
        }
 
        if (t >= last_smb_conf_reload_time+SMBD_RELOAD_CHECK) {
-               reload_services(True);
+               reload_services(smbd_messaging_context(), True);
                last_smb_conf_reload_time = t;
        }
 
@@ -2949,7 +2949,7 @@ void smbd_process(void)
        /* this is needed so that we get decent entries
           in smbstatus for port 445 connects */
        set_remote_machine_name(remaddr, false);
-       reload_services(true);
+       reload_services(smbd_server_conn->msg_ctx, true);
 
        /*
         * Before the first packet, check the global hosts allow/ hosts deny
index ba4c90d55299dce791712866a87c508706659f96..ed6d3bc9021484ed92aff356b22d0e433156bb67 100644 (file)
@@ -547,7 +547,7 @@ void reply_special(struct smbd_server_connection *sconn, char *inbuf)
                        add_session_user(sconn, get_remote_machine_name());
                }
 
-               reload_services(True);
+               reload_services(sconn->msg_ctx, True);
                reopen_logs();
 
                sconn->nbt.got_session = true;
index 1b7059c2aafc8260d76f73cdfca6e432dea63214..d6877444fdc55ae96400f0fcf4c37b16f32035cb 100644 (file)
@@ -68,7 +68,7 @@ static void smb_conf_updated(struct messaging_context *msg,
        DEBUG(10,("smb_conf_updated: Got message saying smb.conf was "
                  "updated. Reloading.\n"));
        change_to_root_user();
-       reload_services(False);
+       reload_services(smbd_messaging_context(), False);
 }
 
 
@@ -952,7 +952,7 @@ extern void build_options(bool screen);
        if (smbd_messaging_context() == NULL)
                exit(1);
 
-       if (!reload_services(False))
+       if (!reload_services(smbd_messaging_context(), False))
                return(-1);     
 
        init_structs();
index b2b296454b194ca8a9bea1c32798746291981142..80e30c04b61afdf4d95c9a0ec98b4b532fb0068b 100644 (file)
@@ -88,7 +88,7 @@ void reload_printers(struct messaging_context *msg_ctx)
  Reload the services file.
 **************************************************************************/
 
-bool reload_services(bool test)
+bool reload_services(struct messaging_context *msg_ctx, bool test)
 {
        bool ret;
 
@@ -110,11 +110,11 @@ bool reload_services(bool test)
 
        ret = lp_load(get_dyn_CONFIGFILE(), False, False, True, True);
 
-       reload_printers(smbd_messaging_context());
+       reload_printers(msg_ctx);
 
        /* perhaps the config filename is now set */
        if (!test)
-               reload_services(True);
+               reload_services(msg_ctx, True);
 
        reopen_logs();
 
index 35b8c04747d4bf6e9f7d84dbd79aacfb700c8c71..41fdc7d22f59bd8e505b64ee344e2971d4799cef 100644 (file)
@@ -468,7 +468,7 @@ static void reply_spnego_kerberos(struct smb_request *req,
        /* setup the string used by %U */
 
        sub_set_smb_name( real_username );
-       reload_services(True);
+       reload_services(sconn->msg_ctx, True);
 
        if ( map_domainuser_to_guest ) {
                make_server_info_guest(NULL, &server_info);
@@ -589,7 +589,7 @@ static void reply_spnego_kerberos(struct smb_request *req,
                ret = NT_STATUS_LOGON_FAILURE;
        } else {
                /* current_user_info is changed on new vuid */
-               reload_services( True );
+               reload_services(sconn->msg_ctx, True);
 
                SSVAL(req->outbuf, smb_vwv3, 0);
 
@@ -683,7 +683,7 @@ static void reply_spnego_ntlmssp(struct smb_request *req,
                }
 
                /* current_user_info is changed on new vuid */
-               reload_services( True );
+               reload_services(sconn->msg_ctx, True);
 
                SSVAL(req->outbuf, smb_vwv3, 0);
 
@@ -1695,7 +1695,7 @@ void reply_sesssetup_and_X(struct smb_request *req)
 
        sub_set_smb_name(sub_user);
 
-       reload_services(True);
+       reload_services(sconn->msg_ctx, True);
 
        if (lp_security() == SEC_SHARE) {
                /* In share level we should ignore any passwords */
@@ -1848,7 +1848,7 @@ void reply_sesssetup_and_X(struct smb_request *req)
                }
 
                /* current_user_info is changed on new vuid */
-               reload_services( True );
+               reload_services(sconn->msg_ctx, True);
        }
 
        data_blob_free(&nt_resp);
index 8e8e26c2a3a33276b4c8a87df164b26350a26436..3ca7ae7638070195c7896c83bd0b51eb70ae93b5 100644 (file)
@@ -327,7 +327,7 @@ static NTSTATUS smbd_smb2_session_setup_krb5(struct smbd_smb2_session *session,
        /* setup the string used by %U */
 
        sub_set_smb_name(real_username);
-       reload_services(true);
+       reload_services(smb2req->sconn->msg_ctx, true);
 
        if (map_domainuser_to_guest) {
                make_server_info_guest(session, &session->server_info);
index 75feff83c3f4634a653f8f2ee18e1b4ff7b8db96..99358de29b4853f40727a70a432ffe9404dcebaa 100644 (file)
@@ -468,7 +468,7 @@ int main(int argc, char *argv[])
        poptFreeContext(pc);
 
        /* TODO: check output */
-       reload_services(False);
+       reload_services(smbd_messaging_context(), False);
 
        /* the following functions are part of the Samba debugging
           facilities.  See lib/debug.c */