As discussed on the krbdev mailing list, krb5_get_init_creds_password()
authorJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 27 Feb 2004 05:24:39 +0000 (05:24 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 27 Feb 2004 05:24:39 +0000 (05:24 +0000)
commit9cd5e4909839ba4871484372e8f89cba95c14a45
tree511a311a5bc81336bca168b6826eb59080d9435d
parenta5e807d666326c64985dfa1dd58d7a37c907846c
As discussed on the krbdev mailing list, krb5_get_init_creds_password()
suffered from a behavior in which it would unintentionally query a master
KDC twice if in fact the KDC queried when krb5int_sendto() was called
with use_master = 0 was in fact the master.  This resulted in more than
an additional protocol operation.  There were two negative side effects.
First, in the case of an incorrect password there would be two counts
against the max retry attempts.  Second, in the case of hardware pre-auth
and an expired password, the user would be asked to enter their expired
password twice before being told it was expired.

This has been fixed by changing the use_master parameter into an in/out
parameter and modifying krb5int_sendto() to indicate which KDC it received
the response from.  This allows the use_master parameter to be set to
indicate whether or not the response came from a master KDC regardless
of whether a master KDC was requested.

ticket: new
target_version: next
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16137 dc483132-0cff-0310-8789-dd5450dbe970
12 files changed:
src/include/ChangeLog
src/include/k5-int.h
src/lib/krb4/ChangeLog
src/lib/krb4/send_to_kdc.c
src/lib/krb5/krb/ChangeLog
src/lib/krb5/krb/get_in_tkt.c
src/lib/krb5/krb/gic_keytab.c
src/lib/krb5/krb/gic_pwd.c
src/lib/krb5/krb/send_tgs.c
src/lib/krb5/os/ChangeLog
src/lib/krb5/os/send524.c
src/lib/krb5/os/sendto_kdc.c