/* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #ifndef _PRINC_XDR_H #define _PRINC_XDR_H 1 #include #include #include /* Solaris Kerberos: gssrpc not supported */ #if 0 /************** Begin IFDEF'ed OUT *******************************/ #include #else #include #endif /**************** END IFDEF'ed OUT *******************************/ #ifdef HAVE_MEMORY_H #include #endif #define OSA_ADB_PRINC_VERSION_1 0x12345C01 /* Solaris Kerberos: */ #ifndef xdralloc_getdata extern caddr_t xdralloc_getdata(XDR *xdrs); #endif #ifndef xdralloc_create extern void xdralloc_create(XDR *xdrs, enum xdr_op op); #endif typedef struct _osa_pw_hist_t { int n_key_data; krb5_key_data *key_data; } osa_pw_hist_ent, *osa_pw_hist_t; typedef struct _osa_princ_ent_t { int version; char *policy; long aux_attributes; unsigned int old_key_len; unsigned int old_key_next; krb5_kvno admin_history_kvno; osa_pw_hist_ent *old_keys; } osa_princ_ent_rec, *osa_princ_ent_t; bool_t ldap_xdr_krb5_ui_2(XDR *xdrs, krb5_ui_2 *objp); bool_t ldap_xdr_krb5_int16(XDR *xdrs, krb5_int16 *objp); bool_t ldap_xdr_nullstring(XDR *xdrs, char **objp); bool_t ldap_xdr_krb5_kvno(XDR *xdrs, krb5_kvno *objp); bool_t ldap_xdr_krb5_key_data(XDR *xdrs, krb5_key_data *objp); bool_t ldap_xdr_osa_pw_hist_ent(XDR *xdrs, osa_pw_hist_ent *objp); bool_t ldap_xdr_osa_princ_ent_rec(XDR *xdrs, osa_princ_ent_t objp); void ldap_osa_free_princ_ent(osa_princ_ent_t val); krb5_error_code krb5_lookup_tl_kadm_data(krb5_tl_data *tl_data, osa_princ_ent_rec *princ_entry); /* Solaris Kerberos: adding support for key history in LDAP KDB */ krb5_error_code krb5_update_tl_kadm_data(char *, krb5_tl_data *, krb5_tl_data *); #endif