From 1743ff48ba3e0c738b5909206cfcbd2111221443 Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Mon, 18 Nov 2019 18:28:27 +0100 Subject: [PATCH] smbdotconf: mark "passwd program" with substitution="1" Signed-off-by: Ralph Boehme Reviewed-by: Stefan Metzmacher --- docs-xml/smbdotconf/security/passwdprogram.xml | 1 + source3/rpc_server/samr/srv_samr_chgpasswd.c | 2 +- source3/utils/testparm.c | 14 +++++++------- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs-xml/smbdotconf/security/passwdprogram.xml b/docs-xml/smbdotconf/security/passwdprogram.xml index 81410489b01..e12cc8e2d8c 100644 --- a/docs-xml/smbdotconf/security/passwdprogram.xml +++ b/docs-xml/smbdotconf/security/passwdprogram.xml @@ -1,6 +1,7 @@ The name of a program that can be used to set diff --git a/source3/rpc_server/samr/srv_samr_chgpasswd.c b/source3/rpc_server/samr/srv_samr_chgpasswd.c index 995b03c9983..37f6a837f95 100644 --- a/source3/rpc_server/samr/srv_samr_chgpasswd.c +++ b/source3/rpc_server/samr/srv_samr_chgpasswd.c @@ -594,7 +594,7 @@ bool chgpasswd(const char *name, const char *rhost, const struct passwd *pass, return false; } - passwordprogram = lp_passwd_program(ctx); + passwordprogram = lp_passwd_program(ctx, lp_sub); if (!passwordprogram || !*passwordprogram) { DEBUG(2, ("chgpasswd: Null password program - no password changing\n")); return false; diff --git a/source3/utils/testparm.c b/source3/utils/testparm.c index 42316e5b11d..264eea1916c 100644 --- a/source3/utils/testparm.c +++ b/source3/utils/testparm.c @@ -375,8 +375,8 @@ static int do_global_checks(void) if (!lp_pam_password_change()) { #endif - if((lp_passwd_program(talloc_tos()) == NULL) || - (strlen(lp_passwd_program(talloc_tos())) == 0)) + if((lp_passwd_program(talloc_tos(), lp_sub) == NULL) || + (strlen(lp_passwd_program(talloc_tos(), lp_sub)) == 0)) { fprintf(stderr, "ERROR: the 'unix password sync' " @@ -388,7 +388,7 @@ static int do_global_checks(void) char *truncated_prog = NULL; const char *p; - passwd_prog = lp_passwd_program(talloc_tos()); + passwd_prog = lp_passwd_program(talloc_tos(), lp_sub); p = passwd_prog; next_token_talloc(talloc_tos(), &p, @@ -417,15 +417,15 @@ static int do_global_checks(void) ret = 1; } - if ((lp_passwd_program(talloc_tos()) != NULL) && - (strlen(lp_passwd_program(talloc_tos())) > 0)) + if ((lp_passwd_program(talloc_tos(), lp_sub) != NULL) && + (strlen(lp_passwd_program(talloc_tos(), lp_sub)) > 0)) { /* check if there's a %u parameter present */ - if(strstr_m(lp_passwd_program(talloc_tos()), "%u") == NULL) { + if(strstr_m(lp_passwd_program(talloc_tos(), lp_sub), "%u") == NULL) { fprintf(stderr, "ERROR: the 'passwd program' (%s) " "requires a '%%u' parameter.\n\n", - lp_passwd_program(talloc_tos())); + lp_passwd_program(talloc_tos(), lp_sub)); ret = 1; } } -- 2.47.3