diff options
| author | Tom Yu <tlyu@mit.edu> | 2005-03-22 22:49:11 +0000 |
|---|---|---|
| committer | Tom Yu <tlyu@mit.edu> | 2005-03-22 22:49:11 +0000 |
| commit | f28c47c0e6d004b3a10aa93fe5a472a6b4a034b1 (patch) | |
| tree | 398807ecf3082ad0abdea08862569e10c6a96220 /src/lib | |
| parent | 2db4fa493a20807bab22bbd77708ef72daaba65a (diff) | |
| download | krb5-f28c47c0e6d004b3a10aa93fe5a472a6b4a034b1.tar.gz krb5-f28c47c0e6d004b3a10aa93fe5a472a6b4a034b1.tar.xz krb5-f28c47c0e6d004b3a10aa93fe5a472a6b4a034b1.zip | |
* gic_keytab.c (krb5_get_init_creds_keytab): When calling
krb5_get_init_creds() for the second time (with use_master=1),
also accept KRB5_REALM_UNKNOWN as a soft error, and use the result
from the first call to krb5_get_init_creds(). This can happen
when no master KDC is configured.
ticket: 2974
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17132 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb5/krb/ChangeLog | 8 | ||||
| -rw-r--r-- | src/lib/krb5/krb/gic_keytab.c | 4 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/krb5/krb/ChangeLog b/src/lib/krb5/krb/ChangeLog index f5cbe7b64..00196d676 100644 --- a/src/lib/krb5/krb/ChangeLog +++ b/src/lib/krb5/krb/ChangeLog @@ -1,3 +1,11 @@ +2005-03-22 Tom Yu <tlyu@mit.edu> + + * gic_keytab.c (krb5_get_init_creds_keytab): When calling + krb5_get_init_creds() for the second time (with use_master=1), + also accept KRB5_REALM_UNKNOWN as a soft error, and use the result + from the first call to krb5_get_init_creds(). This can happen + when no master KDC is configured. + 2005-03-14 Jeffrey Altman <jaltman@mit.edu> * Makefile.in: fix maintainer mode since it is not supported on diff --git a/src/lib/krb5/krb/gic_keytab.c b/src/lib/krb5/krb/gic_keytab.c index a3cd443b1..ba704e6be 100644 --- a/src/lib/krb5/krb/gic_keytab.c +++ b/src/lib/krb5/krb/gic_keytab.c @@ -127,7 +127,9 @@ krb5_get_init_creds_keytab(krb5_context context, krb5_creds *creds, krb5_princip /* if the master is unreachable, return the error from the slave we were able to contact */ - if ((ret2 == KRB5_KDC_UNREACH) || (ret2 == KRB5_REALM_CANT_RESOLVE)) + if ((ret2 == KRB5_KDC_UNREACH) || + (ret2 == KRB5_REALM_CANT_RESOLVE) || + (ret2 == KRB5_REALM_UNKNOWN)) goto cleanup; ret = ret2; |
