summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
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 431bbd475..59c24dc0d 100644
--- a/src/lib/krb5/os/ChangeLog
+++ b/src/lib/krb5/os/ChangeLog
@@ -1,3 +1,8 @@
+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-05-05 Ken Raeburn <raeburn@mit.edu>
* localaddr.c: Incorporate foreach_localaddr implementation.
diff --git a/src/lib/krb5/os/an_to_ln.c b/src/lib/krb5/os/an_to_ln.c
index c42b82142..41a5bde31 100644
--- a/src/lib/krb5/os/an_to_ln.c
+++ b/src/lib/krb5/os/an_to_ln.c
@@ -460,7 +460,7 @@ rule_an_to_ln(krb5_context context, char *rule, krb5_const_principal aname, cons
char *selstring = 0;
int num_comps, compind;
char *cout;
- krb5_data *datap;
+ krb5_const krb5_data *datap;
char *outstring;
/*
@@ -493,9 +493,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))
) {
strncpy(cout,
datap->data,