[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
heimdal 0.6.4 KDC v4 support broken?
Found in kdc/kerberos4.c near line 390 (and this time it's not a local
hack...):
snprintf (client_name, sizeof(client_name),
"%s.%s@%s",
ad.pname, ad.pinst, ad.prealm);
ret = db_fetch4(ad.pname, ad.pinst, ad.prealm, &client);
if(ret != HDB_ERR_NOENTRY ||
(ret == HDB_ERR_NOENTRY && strcmp(ad.prealm, v4_realm) == 0)) {
char *s;
s = kdc_log_msg(0, "Client not found in database: (krb4) "
"%s.%s@%s: %s",
ad.pname, ad.pinst, ad.prealm,
krb5_get_err_text(context, ret));
make_err_reply(reply, KERB_ERR_PRINCIPAL_UNKNOWN, s);
free(s);
goto out2;
}
This seems a bit wrong; it loses with "Client not found in database:
(krb4) ... : Error 0" for valid clients. (And the second condition
seems even more wrong.)
I note that 0.6.3 had similar code with a simpler condition... wrapped
in "#if 0".
--
brandon s. allbery [linux,solaris,freebsd,perl] allbery@kf8nh.com
system administrator [WAY too many hats] allbery@ece.cmu.edu
electrical and computer engineering, carnegie mellon univ. KF8NH