summaryrefslogtreecommitdiff
path: root/source3/rpc_server/srv_spoolss_nt.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-01-19 21:10:56 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:54:00 -0500
commit372440f207d88e058af76cf7ce4c5901ba7a7547 (patch)
tree18ffc8ffb2567fe275273a0697eaa120e196eab5 /source3/rpc_server/srv_spoolss_nt.c
parent704862b6870bc72dd6d7bf64d2d3788101b39de1 (diff)
downloadsamba-372440f207d88e058af76cf7ce4c5901ba7a7547.tar.gz
samba-372440f207d88e058af76cf7ce4c5901ba7a7547.tar.bz2
samba-372440f207d88e058af76cf7ce4c5901ba7a7547.zip
r4856: after testing a simple add printer script, i realized that you still have to be root to send the message to all smbds that the config file has been updated
(This used to be commit 6409de1a1ef34bb41c3efeebfabdf13be5e08613)
Diffstat (limited to 'source3/rpc_server/srv_spoolss_nt.c')
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index 31e1e4a3bf..ed7a544d72 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -409,21 +409,21 @@ static WERROR delete_printer_handle(pipes_struct *p, POLICY_HND *hnd)
if ( is_print_op )
become_root();
- ret = smbrun(command, NULL);
+ if ( (ret = smbrun(command, NULL)) == 0 ) {
+ /* Tell everyone we updated smb.conf. */
+ message_send_all(conn_tdb_ctx(), MSG_SMB_CONF_UPDATED, NULL, 0, False, NULL);
+ }
if ( is_print_op )
unbecome_root();
- /********** BEGIN SePrintOperatorPrivlege BLOCK **********/
+ /********** END SePrintOperatorPrivlege BLOCK **********/
DEBUGADD(10,("returned [%d]\n", ret));
if (ret != 0)
return WERR_BADFID; /* What to return here? */
- /* Tell everyone we updated smb.conf. */
- message_send_all(conn_tdb_ctx(), MSG_SMB_CONF_UPDATED, NULL, 0, False, NULL);
-
/* go ahead and re-read the services immediately */
reload_services( False );
@@ -6034,7 +6034,10 @@ static BOOL add_printer_hook(NT_USER_TOKEN *token, NT_PRINTER_INFO_LEVEL *printe
if ( is_print_op )
become_root();
- ret = smbrun(command, &fd);
+ if ( (ret = smbrun(command, &fd)) == 0 ) {
+ /* Tell everyone we updated smb.conf. */
+ message_send_all(conn_tdb_ctx(), MSG_SMB_CONF_UPDATED, NULL, 0, False, NULL);
+ }
if ( is_print_op )
unbecome_root();
@@ -6049,9 +6052,6 @@ static BOOL add_printer_hook(NT_USER_TOKEN *token, NT_PRINTER_INFO_LEVEL *printe
return False;
}
- /* Tell everyone we updated smb.conf. */
- message_send_all(conn_tdb_ctx(), MSG_SMB_CONF_UPDATED, NULL, 0, False, NULL);
-
/* reload our services immediately */
reload_services( False );