From: dtucker Date: Wed, 28 Sep 2005 12:33:27 +0000 (+0000) Subject: - (dtucker) [auth-pam.c] Bug #1028: send final non-query messages from X-Git-Tag: V_4_3_P1~227 X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/commitdiff_plain/cafa6a8028de83f1732f1fee3eba09b100e97d4c - (dtucker) [auth-pam.c] Bug #1028: send final non-query messages from PAM via keyboard-interactive. Patch tested by the folks at Vintela. --- diff --git a/ChangeLog b/ChangeLog index 19e025a4..248af546 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 20050928 - (dtucker) [entropy.c] Use u_char for receiving RNG seed for consistency. + - (dtucker) [auth-pam.c] Bug #1028: send final non-query messages from + PAM via keyboard-interactive. Patch tested by the folks at Vintela. 20050927 - (dtucker) [entropy.c] Remove unnecessary tests for getuid and geteuid diff --git a/auth-pam.c b/auth-pam.c index 4cbde4ec..3defe585 100644 --- a/auth-pam.c +++ b/auth-pam.c @@ -716,8 +716,18 @@ sshpam_query(void *ctx, char **name, char **info, plen++; xfree(msg); break; - case PAM_SUCCESS: case PAM_AUTH_ERR: + debug3("PAM: PAM_AUTH_ERR"); + if (**prompts != NULL && strlen(**prompts) != 0) { + *info = **prompts; + **prompts = NULL; + *num = 0; + **echo_on = 0; + ctxt->pam_done = -1; + return 0; + } + /* FALLTHROUGH */ + case PAM_SUCCESS: if (**prompts != NULL) { /* drain any accumulated messages */ debug("PAM: %s", **prompts);