X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=gssapiP_eap.h;h=eef420601963975e10d11c5c387b81e7105cb500;hb=cff9dae64ddb2ead188889c9164961bd364e8cd2;hp=35cc154bad19d28d32c832a012521e90886585cd;hpb=1f273eda615c04331df6849cfbf3cfad069ea8b0;p=mech_eap.orig diff --git a/gssapiP_eap.h b/gssapiP_eap.h index 35cc154..eef4206 100644 --- a/gssapiP_eap.h +++ b/gssapiP_eap.h @@ -33,8 +33,6 @@ #ifndef _GSSAPIP_EAP_H_ #define _GSSAPIP_EAP_H_ 1 -#define BUILTIN_EAP 1 - #include #include #include @@ -56,27 +54,34 @@ #include #include #include -#include /* XXX testing implementation only */ +#include #include #endif +#ifdef __cplusplus +struct rc_conf; +typedef struct rc_conf rc_handle; + +struct value_pair; +typedef struct value_pair VALUE_PAIR; +#else +#include +#include +#endif + +/* These name flags are informative and not actually used by anything yet */ #define NAME_FLAG_NAI 0x00000001 #define NAME_FLAG_SERVICE 0x00000002 -#define NAME_FLAG_RADIUS_ATTRIBUTES 0x00000004 -#define NAME_FLAG_SAML_ATTRIBUTES 0x00000008 - -#define NAME_HAS_ATTRIBUTES(name) \ - (((name)->flags & (NAME_FLAG_RADIUS_ATTRIBUTES | \ - NAME_FLAG_SAML_ATTRIBUTES)) != 0) +#define NAME_FLAG_COMPOSITE 0x00000004 struct gss_eap_saml_attr_ctx; +struct gss_eap_attr_ctx; struct gss_name_struct { - GSSEAP_MUTEX mutex; /* mutex protecting attributes */ + GSSEAP_MUTEX mutex; /* mutex protects attrCtx */ OM_uint32 flags; krb5_principal krbPrincipal; /* this is immutable */ - struct gss_eap_radius_attr_ctx *radiusCtx; - struct gss_eap_saml_attr_ctx *samlCtx; + struct gss_eap_attr_ctx *attrCtx; }; #define CRED_FLAG_INITIATE 0x00000001 @@ -119,6 +124,7 @@ enum gss_eap_state { #define CTX_FLAG_EAP_PORT_ENABLED 0x00400000 #define CTX_FLAG_EAP_ALT_ACCEPT 0x00800000 #define CTX_FLAG_EAP_ALT_REJECT 0x01000000 +#define CTX_FLAG_EAP_MASK 0xFFFF0000 struct gss_eap_initiator_ctx { unsigned int idleWhile; @@ -130,11 +136,8 @@ struct gss_eap_initiator_ctx { }; struct gss_eap_acceptor_ctx { -#if defined(BUILTIN_EAP) && !defined(__cplusplus) - struct eap_eapol_interface *eapPolInterface; - void *tlsContext; - struct eap_sm *eap; -#endif + rc_handle *radHandle; + VALUE_PAIR *avps; }; struct gss_ctx_id_struct {