mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
Don't check for passwd program if using pam change password.
Original patch from Andrew Bartlett. Jeremy.
This commit is contained in:
parent
dd0c7a8a02
commit
aae779d0a3
@ -93,29 +93,37 @@ to a valid password server.\n", sec_setting );
|
|||||||
if(lp_security() == SEC_USER && lp_unix_password_sync()) {
|
if(lp_security() == SEC_USER && lp_unix_password_sync()) {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check that we have a valid lp_passwd_program().
|
* Check that we have a valid lp_passwd_program() if not using pam.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(lp_passwd_program() == NULL) {
|
#ifdef WITH_PAM
|
||||||
printf("ERROR: the 'unix password sync' parameter is set and there is no valid 'passwd program' \
|
if (!lp_pam_password_change()) {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if(lp_passwd_program() == NULL) {
|
||||||
|
printf("ERROR: the 'unix password sync' parameter is set and there is no valid 'passwd program' \
|
||||||
parameter.\n" );
|
parameter.\n" );
|
||||||
ret = 1;
|
|
||||||
} else {
|
|
||||||
pstring passwd_prog;
|
|
||||||
pstring truncated_prog;
|
|
||||||
char *p;
|
|
||||||
|
|
||||||
pstrcpy( passwd_prog, lp_passwd_program());
|
|
||||||
p = passwd_prog;
|
|
||||||
*truncated_prog = '\0';
|
|
||||||
next_token(&p, truncated_prog, NULL, sizeof(pstring));
|
|
||||||
|
|
||||||
if(access(truncated_prog, F_OK) == -1) {
|
|
||||||
printf("ERROR: the 'unix password sync' parameter is set and the 'passwd program' (%s) \
|
|
||||||
cannot be executed (error was %s).\n", truncated_prog, strerror(errno) );
|
|
||||||
ret = 1;
|
ret = 1;
|
||||||
|
} else {
|
||||||
|
pstring passwd_prog;
|
||||||
|
pstring truncated_prog;
|
||||||
|
char *p;
|
||||||
|
|
||||||
|
pstrcpy( passwd_prog, lp_passwd_program());
|
||||||
|
p = passwd_prog;
|
||||||
|
*truncated_prog = '\0';
|
||||||
|
next_token(&p, truncated_prog, NULL, sizeof(pstring));
|
||||||
|
|
||||||
|
if(access(truncated_prog, F_OK) == -1) {
|
||||||
|
printf("ERROR: the 'unix password sync' parameter is set and the 'passwd program' (%s) \
|
||||||
|
cannot be executed (error was %s).\n", truncated_prog, strerror(errno) );
|
||||||
|
ret = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef WITH_PAM
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if(lp_passwd_chat() == NULL) {
|
if(lp_passwd_chat() == NULL) {
|
||||||
printf("ERROR: the 'unix password sync' parameter is set and there is no valid 'passwd chat' \
|
printf("ERROR: the 'unix password sync' parameter is set and there is no valid 'passwd chat' \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user