Eap channel bindings cleanup
[mech_eap.git] / mech_eap / gssapiP_eap.h
index f42f7be..7fd55df 100644 (file)
@@ -193,6 +193,7 @@ struct gss_cred_id_struct
 #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_CHBIND_ACCEPT          0x02000000
 #define CTX_FLAG_EAP_MASK                   0xFFFF0000
 
 struct gss_eap_initiator_ctx {
@@ -200,6 +201,8 @@ struct gss_eap_initiator_ctx {
     struct eap_peer_config eapPeerConfig;
     struct eap_sm *eap;
     struct wpabuf reqData;
+    struct wpabuf *chbindData;
+    unsigned int chbindReqFlags;
 };
 
 #ifdef GSSEAP_ENABLE_ACCEPTOR
@@ -380,6 +383,12 @@ gssEapPseudoRandom(OM_uint32 *minor,
                    ssize_t desired_output_len,
                    gss_buffer_t prf_out);
 
+/* query_mechanism_info.c */
+OM_uint32
+gssQueryMechanismInfo(OM_uint32 *minor,
+                      gss_const_OID mech_oid,
+                      unsigned char auth_scheme[16]);
+
 /* query_meta_data.c */
 OM_uint32
 gssEapQueryMetaData(OM_uint32 *minor,