diff options
author | Gerald Carter <jerry@samba.org> | 2005-01-19 21:10:56 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 10:54:00 -0500 |
commit | 372440f207d88e058af76cf7ce4c5901ba7a7547 (patch) | |
tree | 18ffc8ffb2567fe275273a0697eaa120e196eab5 /source3/rpc_server/srv_srvsvc_nt.c | |
parent | 704862b6870bc72dd6d7bf64d2d3788101b39de1 (diff) | |
download | samba-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_srvsvc_nt.c')
-rw-r--r-- | source3/rpc_server/srv_srvsvc_nt.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/source3/rpc_server/srv_srvsvc_nt.c b/source3/rpc_server/srv_srvsvc_nt.c index 529b4c198d..13e1971925 100644 --- a/source3/rpc_server/srv_srvsvc_nt.c +++ b/source3/rpc_server/srv_srvsvc_nt.c @@ -1580,7 +1580,10 @@ WERROR _srv_net_share_set_info(pipes_struct *p, SRV_Q_NET_SHARE_SET_INFO *q_u, S if ( is_disk_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_disk_op ) unbecome_root(); @@ -1591,9 +1594,6 @@ WERROR _srv_net_share_set_info(pipes_struct *p, SRV_Q_NET_SHARE_SET_INFO *q_u, S if ( ret != 0 ) return WERR_ACCESS_DENIED; - - /* Tell everyone we updated smb.conf. */ - message_send_all(conn_tdb_ctx(), MSG_SMB_CONF_UPDATED, NULL, 0, False, NULL); } else { DEBUG(10,("_srv_net_share_set_info: No change to share name (%s)\n", share_name )); } @@ -1725,7 +1725,10 @@ WERROR _srv_net_share_add(pipes_struct *p, SRV_Q_NET_SHARE_ADD *q_u, SRV_R_NET_S if ( is_disk_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_disk_op ) unbecome_root(); @@ -1737,9 +1740,6 @@ WERROR _srv_net_share_add(pipes_struct *p, SRV_Q_NET_SHARE_ADD *q_u, SRV_R_NET_S if ( ret != 0 ) return WERR_ACCESS_DENIED; - /* Tell everyone we updated smb.conf. */ - message_send_all(conn_tdb_ctx(), MSG_SMB_CONF_UPDATED, NULL, 0, False, NULL); - if (psd) { if (!set_share_security(p->mem_ctx, share_name, psd)) { DEBUG(0,("_srv_net_share_add: Failed to add security info to share %s.\n", share_name )); @@ -1808,7 +1808,10 @@ WERROR _srv_net_share_del(pipes_struct *p, SRV_Q_NET_SHARE_DEL *q_u, SRV_R_NET_S if ( is_disk_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_disk_op ) unbecome_root(); @@ -1820,9 +1823,6 @@ WERROR _srv_net_share_del(pipes_struct *p, SRV_Q_NET_SHARE_DEL *q_u, SRV_R_NET_S if ( ret != 0 ) return WERR_ACCESS_DENIED; - /* Tell everyone we updated smb.conf. */ - message_send_all(conn_tdb_ctx(), MSG_SMB_CONF_UPDATED, NULL, 0, False, NULL); - /* Delete the SD in the database. */ delete_share_security(snum); |