diff options
author | Tom Yu <tlyu@mit.edu> | 2004-06-02 18:35:13 +0000 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 2004-06-02 18:35:13 +0000 |
commit | 6c1c46f8276dcc7041c322f5d1a05625cfe9b774 (patch) | |
tree | 76db7cab37eaf14baa94d2db9723aae21b5e3404 | |
parent | abe0c6150e1ad13ac75cb8a7b5a3016aebca3756 (diff) | |
download | krb5-6c1c46f8276dcc7041c322f5d1a05625cfe9b774.zip krb5-6c1c46f8276dcc7041c322f5d1a05625cfe9b774.tar.gz krb5-6c1c46f8276dcc7041c322f5d1a05625cfe9b774.tar.bz2 |
pullup from trunk
ticket: 957
version_fixed: 1.3.4
git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-3@16383 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r-- | src/lib/krb5/os/ChangeLog | 5 | ||||
-rw-r--r-- | src/lib/krb5/os/an_to_ln.c | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/lib/krb5/os/ChangeLog b/src/lib/krb5/os/ChangeLog index 6cf25c1..efab58f 100644 --- a/src/lib/krb5/os/ChangeLog +++ b/src/lib/krb5/os/ChangeLog @@ -5,6 +5,11 @@ (do_replacement): likewise (aname_replacer): Support error return from do_replacement +2004-05-07 Sam Hartman <hartmans@mit.edu> + + * an_to_ln.c: Patch from Matt Crawford to allow matching on + realms of cross-realm principals. + 2004-03-22 Ken Raeburn <raeburn@mit.edu> * sendto_kdc.c (get_so_error): New function. diff --git a/src/lib/krb5/os/an_to_ln.c b/src/lib/krb5/os/an_to_ln.c index b6ec47e..c134caf 100644 --- a/src/lib/krb5/os/an_to_ln.c +++ b/src/lib/krb5/os/an_to_ln.c @@ -488,7 +488,7 @@ rule_an_to_ln(krb5_context context, char *rule, krb5_const_principal aname, cons int num_comps, compind; size_t selstring_used; char *cout; - krb5_data *datap; + krb5_const krb5_data *datap; char *outstring; /* @@ -522,9 +522,11 @@ rule_an_to_ln(krb5_context context, char *rule, krb5_const_principal aname, cons if (*current == '$') { if ((sscanf(current+1, "%d", &compind) == 1) && (compind <= num_comps) && - (datap = krb5_princ_component(context, - aname, - compind-1)) + (datap = + (compind > 0) + ? krb5_princ_component(context, aname, + compind-1) + : krb5_princ_realm(context, aname)) ) { if ((datap->length < MAX_FORMAT_BUFFER) && (selstring_used+datap->length |