summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2005-03-22 22:49:11 +0000
committerTom Yu <tlyu@mit.edu>2005-03-22 22:49:11 +0000
commitf28c47c0e6d004b3a10aa93fe5a472a6b4a034b1 (patch)
tree398807ecf3082ad0abdea08862569e10c6a96220 /src/lib
parent2db4fa493a20807bab22bbd77708ef72daaba65a (diff)
downloadkrb5-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/ChangeLog8
-rw-r--r--src/lib/krb5/krb/gic_keytab.c4
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;