summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG4
-rw-r--r--modules/pam_unix/support.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 9d0d6a3c..a31f5760 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -66,8 +66,10 @@ BerliOS Bugs are marked with (BerliOS #XXXX).
authenticated by another module (t8m)
* configure: don't abort if no cracklib dictinaries were found, but
warn user that pam_cracklib will not be built (kukuk)
-* modules/pam_unix/support.c: Fix return value, if user aborts while
+* modules/pam_unix/support.c: Fix return value if user aborts while
changes the password (Bug 872945 - kukuk)
+* modules/pam_unix/support.c: Fix return value for an unknown user
+ (Bug 872943 - kukuk)
* pam_limits: support for new Linux kernel 2.6 limits (from toby cabot
- t8m)
* pam_tally: major rewrite of the module (t8m)
diff --git a/modules/pam_unix/support.c b/modules/pam_unix/support.c
index 84114884..a9df0c5f 100644
--- a/modules/pam_unix/support.c
+++ b/modules/pam_unix/support.c
@@ -699,7 +699,10 @@ int _unix_verify_password(pam_handle_t * pamh, const char *name
} else {
D(("user's record unavailable"));
p = NULL;
- retval = PAM_AUTHINFO_UNAVAIL;
+ if (pwd == NULL)
+ retval = PAM_USER_UNKNOWN;
+ else
+ retval = PAM_AUTHINFO_UNAVAIL;
if (on(UNIX_AUDIT, ctrl)) {
/* this might be a typo and the user has given a password
instead of a username. Careful with this. */