summaryrefslogtreecommitdiff
path: root/src/sss_client/pam_sss.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sss_client/pam_sss.c')
-rw-r--r--src/sss_client/pam_sss.c14
1 files changed, 13 insertions, 1 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));
}