diff --git a/crypto/dist/heimdal/lib/krb5/krb5-protos.h b/crypto/dist/heimdal/lib/krb5/krb5-protos.h index 10a970036143..a3c827e53ea2 100644 --- a/crypto/dist/heimdal/lib/krb5/krb5-protos.h +++ b/crypto/dist/heimdal/lib/krb5/krb5-protos.h @@ -1766,6 +1766,11 @@ krb5_password_key_proc __P(( krb5_const_pointer keyseed, krb5_keyblock **key)); +NAME_TYPE +krb5_princ_type __P(( + krb5_context context, + krb5_principal principal)); + krb5_realm* krb5_princ_realm __P(( krb5_context context, @@ -1777,6 +1782,11 @@ krb5_princ_set_realm __P(( krb5_principal principal, krb5_realm *realm)); +unsigned int +krb5_princ_size __P(( + krb5_context context, + krb5_principal principal)); + krb5_error_code krb5_principal2principalname __P(( PrincipalName *p, diff --git a/crypto/dist/heimdal/lib/krb5/principal.c b/crypto/dist/heimdal/lib/krb5/principal.c index 5e999092ea60..2712ee246916 100644 --- a/crypto/dist/heimdal/lib/krb5/principal.c +++ b/crypto/dist/heimdal/lib/krb5/principal.c @@ -40,7 +40,7 @@ #endif #include "resolve.h" -RCSID("$Id: principal.c,v 1.1.1.2 2000/08/02 19:59:37 assar Exp $"); +RCSID("$Id: principal.c,v 1.2 2000/08/09 23:27:21 thorpej Exp $"); #define princ_num_comp(P) ((P)->name.name_string.len) #define princ_type(P) ((P)->name.name_type) @@ -330,6 +330,72 @@ krb5_princ_set_realm(krb5_context context, princ_realm(principal) = *realm; } +#if 0 +/* + * XXX Implemented in MIT Kerberos, but not here. MIT Kerberos + * XXX internally represents realms as krb5_data, whereas we + * XXX use C strings, so it's not particularly straightforward + * XXX for us. + */ +void +krb5_princ_set_realm_length(krb5_context context, + krb5_principal principal, + int length) +{ + + /* XXX XXX XXX */ +} + +void +krb5_princ_set_realm_data(krb5_context context, + krb5_principal principal, + char *data) +{ + + /* XXX XXX XXX */ +} +#endif + +unsigned int +krb5_princ_size(krb5_context context, + krb5_principal principal) +{ + + return (principal->name.name_string.len); +} + +NAME_TYPE +krb5_princ_type(krb5_context context, + krb5_principal principal) +{ + + return (principal->name.name_type); +} + +#if 0 +/* + * XXX Implemented in MIT Kerberos, but not here. MIT Kerberos + * XXX internally represents principal name components as krb5_data, + * XXX whereas we use C strings, so it's not particularly + * XXX straightforward for us. + */ +krb5_data * +krb5_princ_name(krb5_context context, + krb5_principal principal) +{ + + return (principal->name.name_string.val); +} + +krb5_data * +krb5_princ_component(krb5_context context, + krb5_principal principal, + int idx) +{ + + return (&principal->name.name_string.val[idx]); +} +#endif krb5_error_code krb5_build_principal(krb5_context context, diff --git a/lib/libkrb5/shlib_version b/lib/libkrb5/shlib_version index 56246d02b242..eb2c603aec01 100644 --- a/lib/libkrb5/shlib_version +++ b/lib/libkrb5/shlib_version @@ -1,2 +1,2 @@ major=12 -minor=0 +minor=1