X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=gssapiP_eap.h;h=74fb52221c4dc68c1d94a0f8ddb9a0a8cde39a55;hb=4866125c4be79ec72fc388eabba01505786850b4;hp=b46c2bc0cfddaf36ad7ed780f52b7ab06170b070;hpb=646a981cdd5c439b4b4fa5dde8f742a1a2a05b43;p=mech_eap.orig diff --git a/gssapiP_eap.h b/gssapiP_eap.h index b46c2bc..74fb522 100644 --- a/gssapiP_eap.h +++ b/gssapiP_eap.h @@ -33,12 +33,14 @@ #ifndef _GSSAPIP_EAP_H_ #define _GSSAPIP_EAP_H_ 1 +#include "config.h" #include #include #include #include #include #include +#include /* GSS includes */ #include @@ -49,7 +51,7 @@ /* Kerberos includes */ #include -/* EAP includes */ +/* EAP includes (not C++ clean) */ #ifndef __cplusplus #include #include @@ -58,11 +60,25 @@ #include #endif -#include +/* Workaround for FreeRADIUS not being C++ clean */ +#ifdef __cplusplus +extern "C" { +#define operator fr_operator +#endif +#include #include +#include +#ifdef __cplusplus +#undef operator +} +#endif #include "util.h" +#ifdef __cplusplus +extern "C" { +#endif + /* These name flags are informative and not actually used by anything yet */ #define NAME_FLAG_NAI 0x00000001 #define NAME_FLAG_SERVICE 0x00000002 @@ -82,6 +98,7 @@ struct gss_name_struct { #define CRED_FLAG_ACCEPT 0x00020000 #define CRED_FLAG_DEFAULT_IDENTITY 0x00040000 #define CRED_FLAG_PASSWORD 0x00080000 +#define CRED_FLAG_DEFAULT_CCACHE 0x00100000 #define CRED_FLAG_PUBLIC_MASK 0x0000FFFF struct gss_cred_id_struct { @@ -129,6 +146,7 @@ enum gss_eap_state { #define CTX_FLAG_EAP_MASK 0xFFFF0000 struct gss_eap_initiator_ctx { + gss_cred_id_t defaultCred; unsigned int idleWhile; #ifndef __cplusplus struct eap_peer_config eapPeerConfig; @@ -138,10 +156,11 @@ struct gss_eap_initiator_ctx { }; struct gss_eap_acceptor_ctx { - rc_handle *radHandle; - int lastStatus; - VALUE_PAIR *avps; + struct rs_handle *radHandle; + struct rs_connection *radConn; + char *radServer; gss_buffer_desc state; + VALUE_PAIR *avps; }; struct gss_ctx_id_struct { @@ -219,4 +238,12 @@ gssEapWrap(OM_uint32 *minor, unsigned char rfc4121Flags(gss_ctx_id_t ctx, int receiving); +/* display_status.c */ +void +gssEapSaveStatusInfo(OM_uint32 minor, const char *format, ...); + +#ifdef __cplusplus +} +#endif + #endif /* _GSSAPIP_EAP_H_ */