154925bf6Swillf /* 2*2dd2efa5Swillf * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 354925bf6Swillf * Use is subject to license terms. 454925bf6Swillf */ 554925bf6Swillf 654925bf6Swillf #ifndef _PRINC_XDR_H 754925bf6Swillf #define _PRINC_XDR_H 1 854925bf6Swillf 954925bf6Swillf #include <sys/types.h> 1054925bf6Swillf #include <krb5.h> 1154925bf6Swillf #include <kdb.h> 1254925bf6Swillf /* Solaris Kerberos: gssrpc not supported */ 1354925bf6Swillf #if 0 /************** Begin IFDEF'ed OUT *******************************/ 1454925bf6Swillf #include <gssrpc/rpc.h> 1554925bf6Swillf #else 1654925bf6Swillf #include <rpc/rpc.h> 1754925bf6Swillf #endif /**************** END IFDEF'ed OUT *******************************/ 1854925bf6Swillf 1954925bf6Swillf #ifdef HAVE_MEMORY_H 2054925bf6Swillf #include <memory.h> 2154925bf6Swillf #endif 2254925bf6Swillf 2354925bf6Swillf #define OSA_ADB_PRINC_VERSION_1 0x12345C01 2454925bf6Swillf /* Solaris Kerberos: */ 2554925bf6Swillf #ifndef xdralloc_getdata 2654925bf6Swillf extern caddr_t xdralloc_getdata(XDR *xdrs); 2754925bf6Swillf #endif 2854925bf6Swillf #ifndef xdralloc_create 2954925bf6Swillf extern void xdralloc_create(XDR *xdrs, enum xdr_op op); 3054925bf6Swillf #endif 3154925bf6Swillf 3254925bf6Swillf typedef struct _osa_pw_hist_t { 3354925bf6Swillf int n_key_data; 3454925bf6Swillf krb5_key_data *key_data; 3554925bf6Swillf } osa_pw_hist_ent, *osa_pw_hist_t; 3654925bf6Swillf 3754925bf6Swillf typedef struct _osa_princ_ent_t { 3854925bf6Swillf int version; 3954925bf6Swillf char *policy; 4054925bf6Swillf long aux_attributes; 4154925bf6Swillf unsigned int old_key_len; 4254925bf6Swillf unsigned int old_key_next; 4354925bf6Swillf krb5_kvno admin_history_kvno; 4454925bf6Swillf osa_pw_hist_ent *old_keys; 4554925bf6Swillf } osa_princ_ent_rec, *osa_princ_ent_t; 4654925bf6Swillf 4754925bf6Swillf bool_t 4854925bf6Swillf ldap_xdr_krb5_ui_2(XDR *xdrs, krb5_ui_2 *objp); 4954925bf6Swillf 5054925bf6Swillf bool_t 5154925bf6Swillf ldap_xdr_krb5_int16(XDR *xdrs, krb5_int16 *objp); 5254925bf6Swillf 5354925bf6Swillf bool_t 5454925bf6Swillf ldap_xdr_nullstring(XDR *xdrs, char **objp); 5554925bf6Swillf 5654925bf6Swillf bool_t 5754925bf6Swillf ldap_xdr_krb5_kvno(XDR *xdrs, krb5_kvno *objp); 5854925bf6Swillf 5954925bf6Swillf bool_t 6054925bf6Swillf ldap_xdr_krb5_key_data(XDR *xdrs, krb5_key_data *objp); 6154925bf6Swillf 6254925bf6Swillf bool_t 6354925bf6Swillf ldap_xdr_osa_pw_hist_ent(XDR *xdrs, osa_pw_hist_ent *objp); 6454925bf6Swillf 6554925bf6Swillf bool_t 6654925bf6Swillf ldap_xdr_osa_princ_ent_rec(XDR *xdrs, osa_princ_ent_t objp); 6754925bf6Swillf 6854925bf6Swillf void 6954925bf6Swillf ldap_osa_free_princ_ent(osa_princ_ent_t val); 7054925bf6Swillf 7154925bf6Swillf krb5_error_code 7254925bf6Swillf krb5_lookup_tl_kadm_data(krb5_tl_data *tl_data, osa_princ_ent_rec *princ_entry); 7354925bf6Swillf 74*2dd2efa5Swillf /* Solaris Kerberos: adding support for key history in LDAP KDB */ 7554925bf6Swillf krb5_error_code 76*2dd2efa5Swillf krb5_update_tl_kadm_data(char *, krb5_tl_data *, krb5_tl_data *); 7754925bf6Swillf 7854925bf6Swillf #endif 79