diff options
author | Sumit Bose <sbose@redhat.com> | 2010-04-23 13:37:22 +0200 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-05-26 15:14:40 -0400 |
commit | 06c03627c81a5252420931383a68eb67ba551667 (patch) | |
tree | 54e61a39077a8ae4dc9dd55fa6ac1fd589216805 /src/sss_client | |
parent | ef3dc7ce13049e6c344850bec1241af69735bfe9 (diff) | |
download | sssd-06c03627c81a5252420931383a68eb67ba551667.tar.gz sssd-06c03627c81a5252420931383a68eb67ba551667.tar.bz2 sssd-06c03627c81a5252420931383a68eb67ba551667.zip |
Handle Krb5 password expiration warning
Diffstat (limited to 'src/sss_client')
-rw-r--r-- | src/sss_client/pam_sss.c | 14 | ||||
-rw-r--r-- | src/sss_client/sss_cli.h | 6 |
2 files changed, 18 insertions, 2 deletions
diff --git a/src/sss_client/pam_sss.c b/src/sss_client/pam_sss.c index 1b98cf01..d2758004 100644 --- a/src/sss_client/pam_sss.c +++ b/src/sss_client/pam_sss.c @@ -894,7 +894,7 @@ static int eval_response(pam_handle_t *pamh, size_t buflen, uint8_t *buf, switch(type) { case SSS_PAM_SYSTEM_INFO: if (buf[p + (len -1)] != '\0') { - D(("user info does not end with \\0.")); + D(("system info does not end with \\0.")); break; } logger(pamh, LOG_INFO, "system info: [%s]", &buf[p]); @@ -946,6 +946,18 @@ static int eval_response(pam_handle_t *pamh, size_t buflen, uint8_t *buf, D(("eval_user_info_response failed")); } break; + case SSS_PAM_TEXT_MSG: + if (buf[p + (len -1)] != '\0') { + D(("system info does not end with \\0.")); + break; + } + + ret = do_pam_conversation(pamh, PAM_TEXT_INFO, (char *) &buf[p], + NULL, NULL); + if (ret != PAM_SUCCESS) { + D(("do_pam_conversation failed.")); + } + break; default: D(("Unknown response type [%d]", type)); } diff --git a/src/sss_client/sss_cli.h b/src/sss_client/sss_cli.h index f7e58fe9..8712a6f9 100644 --- a/src/sss_client/sss_cli.h +++ b/src/sss_client/sss_cli.h @@ -316,9 +316,13 @@ enum response_type { * @param String, zero terminated, of the form * name=value. See putenv(3) and pam_putenv(3) for * details. */ - SSS_PAM_USER_INFO /**< A message which should be displayed to the user. + SSS_PAM_USER_INFO, /**< A message which should be displayed to the user. * @param User info message, see #user_info_type * for details. */ + SSS_PAM_TEXT_MSG, /**< A plain text message which should be displayed to + * the user.This should only be used in the case where + * it is not possile to use SSS_PAM_USER_INFO. + * @param A zero terminated string. */ }; /** |