summaryrefslogtreecommitdiffstats
path: root/sss_client
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2009-12-16 12:53:55 +0100
committerStephen Gallagher <sgallagh@redhat.com>2009-12-18 09:46:25 -0500
commit23dc20cd69cfbb2731c36e1610536ba190bbd459 (patch)
tree106d84e5d8f6a2eef8861a07fa662666ca5ab90f /sss_client
parent66e4134d8be0eb42c645e9730d46bb2c7f561e81 (diff)
downloadsssd-23dc20cd69cfbb2731c36e1610536ba190bbd459.tar.gz
sssd-23dc20cd69cfbb2731c36e1610536ba190bbd459.tar.xz
sssd-23dc20cd69cfbb2731c36e1610536ba190bbd459.zip
Handle chauthtok with PAM_PRELIM_CHECK separately
If pam_sm_chauthtok is called with the flag PAM_PRELIM_CHECK set we generate a separate call to the sssd to validate the old password before asking for a new password and sending the change password request.
Diffstat (limited to 'sss_client')
-rw-r--r--sss_client/pam_sss.c2
-rw-r--r--sss_client/sss_cli.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/sss_client/pam_sss.c b/sss_client/pam_sss.c
index 1c4aed04e..951a1dcef 100644
--- a/sss_client/pam_sss.c
+++ b/sss_client/pam_sss.c
@@ -814,7 +814,7 @@ static int pam_sss(enum sss_cli_command task, pam_handle_t *pamh,
return ret;
}
if (pam_flags & PAM_PRELIM_CHECK) {
- return ret;
+ task = SSS_PAM_CHAUTHTOK_PRELIM;
}
break;
case SSS_PAM_ACCT_MGMT:
diff --git a/sss_client/sss_cli.h b/sss_client/sss_cli.h
index b036aec31..7c18e1cf8 100644
--- a/sss_client/sss_cli.h
+++ b/sss_client/sss_cli.h
@@ -128,7 +128,7 @@ enum sss_cli_command {
SSS_PAM_OPEN_SESSION = 0x00F4,
SSS_PAM_CLOSE_SESSION = 0x00F5,
SSS_PAM_CHAUTHTOK = 0x00F6,
- SSS_PAM_CHAUTHTOK_PRELIM = 0x00F6,
+ SSS_PAM_CHAUTHTOK_PRELIM = 0x00F7,
};