1 |
diff -up sudo-1.8.6p3/plugins/sudoers/auth/pam.c.authinterrupt sudo-1.8.6p3/plugins/sudoers/auth/pam.c |
2 |
--- sudo-1.8.6p3/plugins/sudoers/auth/pam.c.authinterrupt 2014-05-22 13:46:31.204706184 +0200 |
3 |
+++ sudo-1.8.6p3/plugins/sudoers/auth/pam.c 2014-05-22 13:47:06.729830043 +0200 |
4 |
@@ -167,13 +167,13 @@ sudo_pam_verify(struct passwd *pw, char |
5 |
/* FALLTHROUGH */ |
6 |
case PAM_AUTH_ERR: |
7 |
case PAM_AUTHINFO_UNAVAIL: |
8 |
+ case PAM_PERM_DENIED: |
9 |
if (getpass_error) { |
10 |
/* error or ^C from tgetpass() */ |
11 |
debug_return_int(AUTH_INTR); |
12 |
} |
13 |
/* FALLTHROUGH */ |
14 |
case PAM_MAXTRIES: |
15 |
- case PAM_PERM_DENIED: |
16 |
debug_return_int(AUTH_FAILURE); |
17 |
default: |
18 |
if ((s = pam_strerror(pamh, *pam_status))) |
19 |
@@ -343,6 +343,7 @@ converse(int num_msg, PAM_CONST struct p |
20 |
if (pass == NULL) { |
21 |
/* Error (or ^C) reading password, don't try again. */ |
22 |
getpass_error = 1; |
23 |
+ ret = PAM_CONV_ERR; |
24 |
#if (defined(__darwin__) || defined(__APPLE__)) && !defined(OPENPAM_VERSION) |
25 |
pass = ""; |
26 |
#else |