Jonathan Guthrie <[email protected]> writes:

> I will do what I can to get you the information that you need.  I don't
> know how to get a backtrace from the login segfault, so I downloaded and
> built V0.1.2 of pamtester, and it dumps a core file that has this as a
> backtrace:

That works even better.

> #0  0xb7f22f1e in ?? () from /lib/security/pam_krb5.so
> #1  0xb7f21da6 in pam_sm_authenticate () from /lib/security/pam_krb5.so

Thanks, that ended up being enough information.  Could you try this patch
and see if it fixes your problem?  It works for me.

diff --git a/auth.c b/auth.c
index 4e60bd7..5cb7ed3 100644
--- a/auth.c
+++ b/auth.c
@@ -637,10 +637,12 @@ pamk5_password_auth(struct pam_args *args, const char 
*service,
     retry = args->try_first_pass ? 1 : 0;
     if (args->try_first_pass || args->use_first_pass || args->use_authtok)
         retval = pam_get_item(args->pamh, authtok, (void *) &pass);
-    if ((args->use_first_pass || args->use_authtok) && *pass == '\0') {
-        pamk5_debug(args, "rejecting empty password");
-        retval = PAM_AUTH_ERR;
-        goto done;
+    if (args->use_first_pass || args->use_authtok) {
+        if (pass != NULL && *pass == '\0') {
+            pamk5_debug(args, "rejecting empty password");
+            retval = PAM_AUTH_ERR;
+            goto done;
+        }
     }
     if (args->use_authtok && (retval != PAM_SUCCESS || pass == NULL)) {
         pamk5_debug_pam(args, "no stored password", retval);

-- 
Russ Allbery ([email protected])               <http://www.eyrie.org/~eagle/>



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to