aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>2009-12-23 21:10:40 +0000
committerSam Hartman <hartmans@mit.edu>2009-12-23 21:10:40 +0000
commitd0e902edee6b0f615992a59a948df2300df751b0 (patch)
tree627415a32a19c3f3265e0730bfaf135301320eb7
parentbfb816826dfa74b424f7f9cc931774ba65c1558c (diff)
downloadkrb5-d0e902edee6b0f615992a59a948df2300df751b0.zip
krb5-d0e902edee6b0f615992a59a948df2300df751b0.tar.gz
krb5-d0e902edee6b0f615992a59a948df2300df751b0.tar.bz2
Ignore transited realm checking for anonymous realm
git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23507 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/lib/krb5/krb/chk_trans.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/krb5/krb/chk_trans.c b/src/lib/krb5/krb/chk_trans.c
index 3c01481..def5088 100644
--- a/src/lib/krb5/krb/chk_trans.c
+++ b/src/lib/krb5/krb/chk_trans.c
@@ -315,6 +315,7 @@ krb5_check_transited_list (krb5_context ctx, const krb5_data *trans_in,
krb5_data trans;
struct check_data cdata;
krb5_error_code r;
+ const krb5_data *anonymous;
trans.length = trans_in->length;
trans.data = (char *) trans_in->data;
@@ -327,6 +328,11 @@ krb5_check_transited_list (krb5_context ctx, const krb5_data *trans_in,
(int) srealm->length, srealm->data));
if (trans.length == 0)
return 0;
+ anonymous = krb5_anonymous_realm();
+ if (crealm->length == anonymous->length
+ && (memcmp(crealm->data, anonymous->data, anonymous->length) == 0))
+ return 0; /*Nothing to check for anonymous*/
+
r = krb5_walk_realm_tree (ctx, crealm, srealm, &cdata.tgs,
KRB5_REALM_BRANCH_CHAR);
if (r) {