r22895: Convert some more calls from message_send_buf to messaging_send_buf
authorVolker Lendecke <vlendec@samba.org>
Tue, 15 May 2007 10:50:44 +0000 (10:50 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:22:05 +0000 (12:22 -0500)
(This used to be commit c8b98273406242a89a7e5d1fb5d79120ebe5822a)

source3/nsswitch/winbindd.c
source3/nsswitch/winbindd_cm.c
source3/nsswitch/winbindd_dual.c
source3/printing/printing.c
source3/rpc_server/srv_spoolss_nt.c
source3/rpc_server/srv_srvsvc_nt.c

index 57591fb6c24f3d36a7c1b01e580bdc298108c2b3..ae1078fe02a67d12545d5da6677c2f1c04dd1949 100644 (file)
@@ -44,6 +44,17 @@ struct event_context *winbind_event_context(void)
        return ctx;
 }
 
+struct messaging_context *winbind_messaging_context(void)
+{
+       static struct messaging_context *ctx;
+
+       if (!ctx && !(ctx = messaging_init(NULL, server_id_self(),
+                                          winbind_event_context()))) {
+               smb_panic("Could not init winbind messaging context\n");
+       }
+       return ctx;
+}
+
 /* Reload configuration */
 
 static BOOL reload_services_file(void)
index a0d12ee62cd7657d1d1d50c6ed5b9845337b3e59..58e0ff9d0a3e01b0aead18cfa989ee61a8b253c5 100644 (file)
@@ -219,18 +219,22 @@ static BOOL fork_child_dc_connect(struct winbindd_domain *domain)
 
        if ((!get_dcs(mem_ctx, domain, &dcs, &num_dcs)) || (num_dcs == 0)) {
                /* Still offline ? Can't find DC's. */
-               message_send_pid(pid_to_procid(parent_pid), MSG_WINBIND_FAILED_TO_GO_ONLINE,
-                               domain->name,
-                               strlen(domain->name)+1, False);
+               messaging_send_buf(winbind_messaging_context(),
+                                  pid_to_procid(parent_pid),
+                                  MSG_WINBIND_FAILED_TO_GO_ONLINE,
+                                  (uint8 *)domain->name,
+                                  strlen(domain->name)+1);
                _exit(0);
        }
 
        /* We got a DC. Send a message to our parent to get it to
           try and do the same. */
 
-       message_send_pid(pid_to_procid(parent_pid), MSG_WINBIND_TRY_TO_GO_ONLINE,
-                               domain->name,
-                               strlen(domain->name)+1, False);
+       messaging_send_buf(winbind_messaging_context(),
+                          pid_to_procid(parent_pid),
+                          MSG_WINBIND_TRY_TO_GO_ONLINE,
+                          (uint8 *)domain->name,
+                          strlen(domain->name)+1);
        _exit(0);
 }
 
@@ -358,11 +362,11 @@ void set_domain_offline(struct winbindd_domain *domain)
                struct winbindd_child *idmap = idmap_child();
                
                if ( idmap->pid != 0 ) {
-                       message_send_pid(pid_to_procid(idmap->pid), 
-                                        MSG_WINBIND_OFFLINE
-                                        domain->name
-                                        strlen(domain->name)+1
-                                        False);
+                       messaging_send_buf(winbind_messaging_context(),
+                                          pid_to_procid(idmap->pid)
+                                          MSG_WINBIND_OFFLINE
+                                          (uint8 *)domain->name
+                                          strlen(domain->name)+1);
                }                       
        }
 
@@ -435,11 +439,11 @@ static void set_domain_online(struct winbindd_domain *domain)
                struct winbindd_child *idmap = idmap_child();
                
                if ( idmap->pid != 0 ) {
-                       message_send_pid(pid_to_procid(idmap->pid), 
-                                        MSG_WINBIND_ONLINE
-                                        domain->name
-                                        strlen(domain->name)+1
-                                        False);
+                       messaging_send_buf(winbind_messaging_context(),
+                                          pid_to_procid(idmap->pid)
+                                          MSG_WINBIND_ONLINE
+                                          (uint8 *)domain->name
+                                          strlen(domain->name)+1);
                }                       
        }
 
index fb335b56a511adfa823429b162e047d480ca6173..ec6a32c4453daad6d013d078b8f3327862466d3a 100644 (file)
@@ -524,8 +524,11 @@ void winbind_msg_offline(int msg_type, struct server_id src,
                DEBUG(10,("winbind_msg_offline: sending message to pid %u for domain %s.\n",
                        (unsigned int)child->pid, domain->name ));
 
-               message_send_pid(pid_to_procid(child->pid), MSG_WINBIND_OFFLINE, child->domain->name,
-                       strlen(child->domain->name)+1, False);
+               messaging_send_buf(winbind_messaging_context(),
+                                  pid_to_procid(child->pid),
+                                  MSG_WINBIND_OFFLINE,
+                                  (uint8 *)child->domain->name,
+                                  strlen(child->domain->name)+1);
        }
 }
 
@@ -567,11 +570,11 @@ void winbind_msg_online(int msg_type, struct server_id src,
                        struct winbindd_child *idmap = idmap_child();
                        
                        if ( idmap->pid != 0 ) {
-                               message_send_pid(pid_to_procid(idmap->pid), 
-                                                MSG_WINBIND_ONLINE,
-                                                domain->name,
-                                                strlen(domain->name)+1, 
-                                                False);
+                               messaging_send_buf(winbind_messaging_context(),
+                                                  pid_to_procid(idmap->pid), 
+                                                  MSG_WINBIND_ONLINE,
+                                                  (uint8 *)domain->name,
+                                                  strlen(domain->name)+1);
                        }
                        
                }
@@ -594,8 +597,11 @@ void winbind_msg_online(int msg_type, struct server_id src,
                DEBUG(10,("winbind_msg_online: sending message to pid %u for domain %s.\n",
                        (unsigned int)child->pid, child->domain->name ));
 
-               message_send_pid(pid_to_procid(child->pid), MSG_WINBIND_ONLINE, child->domain->name,
-                       strlen(child->domain->name)+1, False);
+               messaging_send_buf(winbind_messaging_context(),
+                                  pid_to_procid(child->pid),
+                                  MSG_WINBIND_ONLINE,
+                                  (uint8 *)child->domain->name,
+                                  strlen(child->domain->name)+1);
        }
 }
 
@@ -612,8 +618,10 @@ void winbind_msg_onlinestatus(int msg_type, struct server_id src,
                        DEBUG(10,("winbind_msg_onlinestatus: "
                                  "sending message to pid %u of primary domain.\n",
                                  (unsigned int)child->pid));
-                       message_send_pid(pid_to_procid(child->pid), 
-                                        MSG_WINBIND_ONLINESTATUS, buf, len, False);
+                       messaging_send_buf(winbind_messaging_context(),
+                                          pid_to_procid(child->pid), 
+                                          MSG_WINBIND_ONLINESTATUS,
+                                          (uint8 *)buf, len);
                        break;
                }
        }
@@ -791,8 +799,9 @@ static void child_msg_onlinestatus(int msg_type, struct server_id src,
                return;
        }
 
-       message_send_pid(*sender, MSG_WINBIND_ONLINESTATUS, 
-                        message, strlen(message) + 1, True);
+       messaging_send_buf(winbind_messaging_context(),
+                          *sender, MSG_WINBIND_ONLINESTATUS, 
+                          (uint8 *)message, strlen(message) + 1);
 
        talloc_destroy(mem_ctx);
 }
index fd1649737b630407e869854b967bd19abf43ceef..9bae768c1997aee255ed6a1fd845ce66f5775868 100644 (file)
@@ -1535,8 +1535,9 @@ static void print_queue_update(int snum, BOOL force)
 
        /* finally send the message */
        
-       message_send_pid(pid_to_procid(background_lpq_updater_pid),
-                MSG_PRINTER_UPDATE, buffer, len, False);
+       messaging_send_buf(smbd_messaging_context(),
+                          pid_to_procid(background_lpq_updater_pid),
+                          MSG_PRINTER_UPDATE, (uint8 *)buffer, len);
 
        SAFE_FREE( buffer );
 
index a4edeb2cfdd815cb717020c6100bf5af31a1b94a..cbc44a224a09c8400b5d715094804aeb272972ce 100644 (file)
@@ -1212,8 +1212,9 @@ static BOOL srv_spoolss_drv_upgrade_printer(char* drivername)
        DEBUG(10,("srv_spoolss_drv_upgrade_printer: Sending message about driver upgrade [%s]\n",
                drivername));
                
-       message_send_pid(pid_to_procid(sys_getpid()),
-                        MSG_PRINTER_DRVUPGRADE, drivername, len+1, False);
+       messaging_send_buf(smbd_messaging_context(), procid_self(),
+                          MSG_PRINTER_DRVUPGRADE,
+                          (uint8 *)drivername, len+1);
 
        return True;
 }
@@ -1310,8 +1311,9 @@ static BOOL srv_spoolss_reset_printerdata(char* drivername)
        DEBUG(10,("srv_spoolss_reset_printerdata: Sending message about resetting printerdata [%s]\n",
                drivername));
                
-       message_send_pid(pid_to_procid(sys_getpid()),
-                        MSG_PRINTERDATA_INIT_RESET, drivername, len+1, False);
+       messaging_send_buf(smbd_messaging_context(), procid_self(),
+                          MSG_PRINTERDATA_INIT_RESET,
+                          (uint8 *)drivername, len+1);
 
        return True;
 }
index d0f2aa500fc768770d152b7e2d89246667af070d..bb60f57a149b99c314a5b3e9b42f73f61870f4bb 100644 (file)
@@ -1231,8 +1231,13 @@ WERROR _srvsvc_NetSessDel(pipes_struct *p, struct srvsvc_NetSessDel *r)
 
                if ((strequal(session_list[snum].username, r->in.user) || r->in.user[0] == '\0' ) &&
                     strequal(session_list[snum].remote_machine, machine)) {
+                       NTSTATUS ntstat;
+
+                       ntstat = messaging_send(smbd_messaging_context(),
+                                               session_list[snum].pid,
+                                               MSG_SHUTDOWN, &data_blob_null);
                
-                       if (NT_STATUS_IS_OK(message_send_pid(session_list[snum].pid, MSG_SHUTDOWN, NULL, 0, False)))
+                       if (NT_STATUS_IS_OK(ntstat))
                                status = WERR_OK;
                }
        }