diff options
author | Sam Hartman <hartmans@mit.edu> | 2009-12-23 21:10:40 +0000 |
---|---|---|
committer | Sam Hartman <hartmans@mit.edu> | 2009-12-23 21:10:40 +0000 |
commit | d0e902edee6b0f615992a59a948df2300df751b0 (patch) | |
tree | 627415a32a19c3f3265e0730bfaf135301320eb7 | |
parent | bfb816826dfa74b424f7f9cc931774ba65c1558c (diff) | |
download | krb5-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.c | 6 |
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) { |