aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2004-06-02 18:35:13 +0000
committerTom Yu <tlyu@mit.edu>2004-06-02 18:35:13 +0000
commit6c1c46f8276dcc7041c322f5d1a05625cfe9b774 (patch)
tree76db7cab37eaf14baa94d2db9723aae21b5e3404 /src
parentabe0c6150e1ad13ac75cb8a7b5a3016aebca3756 (diff)
downloadkrb5-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
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/os/ChangeLog5
-rw-r--r--src/lib/krb5/os/an_to_ln.c10
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