diff options
author | Greg Hudson <ghudson@mit.edu> | 2013-04-06 01:23:40 -0400 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2013-04-08 13:14:36 -0400 |
commit | caaf72893a5be61822763eb471f4d573992479ed (patch) | |
tree | 32ac388752173725b92540d9eae0ae2cabc633ac /src/lib/krb5/krb/princ_comp.c | |
parent | 2defbe8939c1c11a9f76334443c63603a8b749bf (diff) | |
download | krb5-caaf72893a5be61822763eb471f4d573992479ed.tar.gz krb5-caaf72893a5be61822763eb471f4d573992479ed.tar.xz krb5-caaf72893a5be61822763eb471f4d573992479ed.zip |
Simplify principal access within libkrb5
For conciseness, directly use fields of krb5_principal objects instead
of using the accessor macros.
Diffstat (limited to 'src/lib/krb5/krb/princ_comp.c')
-rw-r--r-- | src/lib/krb5/krb/princ_comp.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/lib/krb5/krb/princ_comp.c b/src/lib/krb5/krb/princ_comp.c index db0d3058c1..994f41d45c 100644 --- a/src/lib/krb5/krb/princ_comp.c +++ b/src/lib/krb5/krb/princ_comp.c @@ -33,8 +33,8 @@ realm_compare_flags(krb5_context context, krb5_const_principal princ2, int flags) { - const krb5_data *realm1 = krb5_princ_realm(context, princ1); - const krb5_data *realm2 = krb5_princ_realm(context, princ2); + const krb5_data *realm1 = &princ1->realm; + const krb5_data *realm2 = &princ2->realm; if (realm1->length != realm2->length) return FALSE; @@ -79,8 +79,7 @@ krb5_principal_compare_flags(krb5_context context, krb5_const_principal princ2, int flags) { - register int i; - krb5_int32 nelem; + krb5_int32 i; unsigned int utf8 = (flags & KRB5_PRINCIPAL_COMPARE_UTF8) != 0; unsigned int casefold = (flags & KRB5_PRINCIPAL_COMPARE_CASEFOLD) != 0; krb5_principal upn1 = NULL; @@ -89,27 +88,26 @@ krb5_principal_compare_flags(krb5_context context, if (flags & KRB5_PRINCIPAL_COMPARE_ENTERPRISE) { /* Treat UPNs as if they were real principals */ - if (krb5_princ_type(context, princ1) == KRB5_NT_ENTERPRISE_PRINCIPAL) { + if (princ1->type == KRB5_NT_ENTERPRISE_PRINCIPAL) { if (upn_to_principal(context, princ1, &upn1) == 0) princ1 = upn1; } - if (krb5_princ_type(context, princ2) == KRB5_NT_ENTERPRISE_PRINCIPAL) { + if (princ2->type == KRB5_NT_ENTERPRISE_PRINCIPAL) { if (upn_to_principal(context, princ2, &upn2) == 0) princ2 = upn2; } } - nelem = krb5_princ_size(context, princ1); - if (nelem != krb5_princ_size(context, princ2)) + if (princ1->length != princ2->length) goto out; if ((flags & KRB5_PRINCIPAL_COMPARE_IGNORE_REALM) == 0 && !realm_compare_flags(context, princ1, princ2, flags)) goto out; - for (i = 0; i < (int) nelem; i++) { - const krb5_data *p1 = krb5_princ_component(context, princ1, i); - const krb5_data *p2 = krb5_princ_component(context, princ2, i); + for (i = 0; i < princ1->length; i++) { + const krb5_data *p1 = &princ1->data[i]; + const krb5_data *p2 = &princ2->data[i]; krb5_boolean eq; if (casefold) { |