]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
smbdotconf: mark "delete share command" with substitution="1"
authorRalph Boehme <slow@samba.org>
Mon, 4 Nov 2019 16:30:37 +0000 (17:30 +0100)
committerStefan Metzmacher <metze@samba.org>
Wed, 27 Nov 2019 10:25:34 +0000 (10:25 +0000)
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
docs-xml/smbdotconf/misc/deletesharecommand.xml
source3/rpc_server/srvsvc/srv_srvsvc_nt.c

index b5942b69e12092420273a9f7e779d6f19c41c33b..f569cd2eac47544317d8166c7fbf31efa784f0b1 100644 (file)
@@ -1,6 +1,7 @@
 <samba:parameter name="delete share command"
                  context="G"
                  type="string"
+                 substitution="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
        <para>
index dbb5a2ef991dfcb6b68830c7c63fe2de9938af30..7679685b3af9f422125e55c0ede9433b5d4801a7 100644 (file)
@@ -2187,6 +2187,8 @@ WERROR _srvsvc_NetShareDel(struct pipes_struct *p,
        int snum;
        bool is_disk_op;
        TALLOC_CTX *ctx = p->mem_ctx;
+       const struct loadparm_substitution *lp_sub =
+               loadparm_s3_global_substitution();
 
        DEBUG(5,("_srvsvc_NetShareDel: %d\n", __LINE__));
 
@@ -2219,14 +2221,14 @@ WERROR _srvsvc_NetShareDel(struct pipes_struct *p,
        if (p->session_info->unix_token->uid != sec_initial_uid()  && !is_disk_op )
                return WERR_ACCESS_DENIED;
 
-       if (!lp_delete_share_command(talloc_tos()) || !*lp_delete_share_command(talloc_tos())) {
+       if (!lp_delete_share_command(talloc_tos(), lp_sub) || !*lp_delete_share_command(talloc_tos(), lp_sub)) {
                DBG_WARNING("_srvsvc_NetShareDel: No \"delete share command\" parameter set in smb.conf.\n");
                return WERR_ACCESS_DENIED;
        }
 
        command = talloc_asprintf(ctx,
                        "%s \"%s\" \"%s\"",
-                       lp_delete_share_command(talloc_tos()),
+                       lp_delete_share_command(talloc_tos(), lp_sub),
                        get_dyn_CONFIGFILE(),
                        share_name);
        if (!command) {