From 4f2ee224ce8a518ae0328e152addd2a1cdcca298 Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Mon, 4 Nov 2019 11:23:18 +0100 Subject: [PATCH] smbdotconf: mark "postexec" with substitution="1" Signed-off-by: Ralph Boehme Reviewed-by: Stefan Metzmacher --- docs-xml/smbdotconf/misc/postexec.xml | 1 + source3/smbd/service.c | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/docs-xml/smbdotconf/misc/postexec.xml b/docs-xml/smbdotconf/misc/postexec.xml index c65ee1b2bca..ca1522123ce 100644 --- a/docs-xml/smbdotconf/misc/postexec.xml +++ b/docs-xml/smbdotconf/misc/postexec.xml @@ -1,6 +1,7 @@ This option specifies a command to be run diff --git a/source3/smbd/service.c b/source3/smbd/service.c index 0d220903dec..10a215e999e 100644 --- a/source3/smbd/service.c +++ b/source3/smbd/service.c @@ -1151,6 +1151,8 @@ void close_cnum(connection_struct *conn, uint64_t vuid) { char rootpath[2] = { '/', '\0'}; struct smb_filename root_fname = { .base_name = rootpath }; + const struct loadparm_substitution *lp_sub = + loadparm_s3_global_substitution(); file_close_conn(conn); @@ -1169,7 +1171,7 @@ void close_cnum(connection_struct *conn, uint64_t vuid) SMB_VFS_DISCONNECT(conn); /* execute any "postexec = " line */ - if (*lp_postexec(talloc_tos(), SNUM(conn)) && + if (*lp_postexec(talloc_tos(), lp_sub, SNUM(conn)) && change_to_user_and_service(conn, vuid)) { char *cmd = talloc_sub_full(talloc_tos(), lp_const_servicename(SNUM(conn)), @@ -1178,7 +1180,7 @@ void close_cnum(connection_struct *conn, uint64_t vuid) conn->session_info->unix_token->gid, conn->session_info->unix_info->sanitized_username, conn->session_info->info->domain_name, - lp_postexec(talloc_tos(), SNUM(conn))); + lp_postexec(talloc_tos(), lp_sub, SNUM(conn))); smbrun(cmd, NULL, NULL); TALLOC_FREE(cmd); change_to_root_user();