[krbdev.mit.edu #1324] client failures upgrading from 1.2.3 to 1.2.7
Jered Floyd via RT
rt-comment at krbdev.mit.edu
Thu Jan 16 00:34:50 EST 2003
Somewhere between krb5-1.2.3 and krb5-1.2.7, Cyrus saslauthd using
Kerberos 5 for password verification (yes, I know the reasons that I
shouldn't do this; it's a fallback for SSL users). The kdc logs
the following:
Jan 16 00:25:38 noisybox krb5kdc[16932]: AS_REQ (3 etypes {16 1 3}) 140.239.226.142(88): NEEDED_PREAUTH: jered at CONVIVIAN.COM for krbtgt/CONVIVIAN.COM at CONVIVIAN.COM, Additional pre-authentication required
Jan 16 00:25:38 noisybox krb5kdc[16932]: preauth (timestamp) verify failure: No matching key in entry
Jan 16 00:25:38 noisybox krb5kdc[16932]: AS_REQ (3 etypes {16 1 3}) 140.239.226.142(88): PREAUTH_FAILED: jered at CONVIVIAN.COM for krbtgt/CONVIVIAN.COM at CONVIVIAN.COM, Preauthentication failed
Jan 16 00:25:38 noisybox krb5kdc[16932]: DISPATCH: repeated (retransmitted?) request from 140.239.226.142 port 88, resending previous response
Jan 16 00:25:38 noisybox krb5kdc[16932]: preauth (timestamp) verify failure: No matching key in entry
Jan 16 00:25:38 noisybox krb5kdc[16932]: AS_REQ (3 etypes {16 1 3}) 140.239.226.142(88): PREAUTH_FAILED: jered at CONVIVIAN.COM for krbtgt/CONVIVIAN.COM at CONVIVIAN.COM, Preauthentication failed
Jan 16 00:25:38 noisybox saslauthd[13564]: auth_krb5: krb5_get_init_creds_password
This appears to be identical to newly-occuring problems for Windows client
users (currently unresolved?) as documented at:
http://mailman.mit.edu.ezproxyberklee.flo.org/pipermail/kerberos/2002-April/000617.html
http://www.mail-archive.com/kerberos@mit.edu/msg02724.html
http://www.mail-archive.com/kerberos@mit.edu/msg02783.html
kinit functions normally. kinit and saslauthd use nearly identical
calls to krb5_get_init_creds_password:
kinit:
code = krb5_get_init_creds_password(k5->ctx, &my_creds, k5->me,
0, kinit_prompter, 0,
opts->starttime,
opts->service_name,
&options);
saslauthd:
if (krb5_get_init_creds_password(context, &creds,
auth_user, password, NULL, NULL,
0, NULL, &opts)) {
I see a potential culprit. Between 1.2.3 and 1.2.7, there is a
single change to kdc_preauth.c:
--- krb5-1.2.3/src/kdc/kdc_preauth.c Wed Jan 9 17:27:28 2002
+++ krb5-1.2.7/src/kdc/kdc_preauth.c Mon Aug 12 18:50:02 2002
@@ -533,7 +533,7 @@
while (1) {
retval = krb5_dbe_search_enctype(context, client, &start, -1,
-1, 0, &client_key);
- if (retval == ENOENT)
+ if (retval == KRB5_KDB_NO_MATCHING_KEY)
break;
if (retval)
goto cleanup;
with the ChangeLog:
2002-08-12 Sam Hartman <hartmans at mit.edu>
* kdc_preauth.c (get_etype_info): We get KRB5_KDB_NO_MATCHING_KEY
not ENOENT; per 5.27 of kdb_xdr.c.
[pullup from trunk]
HOWEVER, between the two releases, the only change in kdb_xdr.c is:
--- krb5-1.2.3/src/lib/kdb/kdb_xdr.c Wed Jan 9 17:27:49 2002
+++ krb5-1.2.7/src/lib/kdb/kdb_xdr.c Mon Aug 12 18:48:35 2002
@@ -726,6 +726,7 @@
krb5_key_data *datap;
krb5_error_code ret;
+ ret = 0;
if (kvno == -1 && stype == -1 && ktype == -1)
kvno = 0;
2002-08-12 Sam Hartman <hartmans at mit.edu>
* kdb_xdr.c (krb5_dbe_search_enctype): Initialize ret to 0; thanks
to Lubos Kejzlar <kejzlar at civ.zcu.cz>
[pullup from trunk]
This patch does not seem to correspond to the change in kdc_preauth.c.
I am unable to usefully debug this further. What was the purpose of the
above change to kdc_preauth?
--Jered
More information about the krb5-bugs
mailing list