better error code propagation when creating attr contexts
[mech_eap.orig] / gssapiP_eap.h
index de45508..ebfdcc6 100644 (file)
@@ -34,6 +34,7 @@
 #define _GSSAPIP_EAP_H_ 1
 
 #include "config.h"
+
 #include <assert.h>
 #include <string.h>
 #include <errno.h>
 #include <time.h>
 #include <sys/param.h>
 
-/* GSS includes */
+/* GSS headers */
 #include <gssapi/gssapi.h>
 #include <gssapi/gssapi_krb5.h>
 #include <gssapi/gssapi_ext.h>
 #include "gssapi_eap.h"
 
-/* Kerberos includes */
+/* Kerberos headers */
 #include <krb5.h>
 
-/* EAP includes (not C++ clean) */
-#ifndef __cplusplus
+/* EAP headers */
 #include <common.h>
 #include <eap_peer/eap.h>
 #include <eap_peer/eap_config.h>
-#include <crypto/tls.h>
+#include <eap_peer/eap_methods.h>
 #include <wpabuf.h>
-#endif
 
-/* Workaround for FreeRADIUS not being C++ clean */
+/* FreeRADIUS headers */
 #ifdef __cplusplus
 extern "C" {
 #define operator fr_operator
@@ -130,6 +129,7 @@ enum gss_eap_state {
     EAP_STATE_EXTENSIONS_REQ,
     EAP_STATE_EXTENSIONS_RESP,
     EAP_STATE_ESTABLISHED,
+    EAP_STATE_ERROR,
 #ifdef GSSEAP_ENABLE_REAUTH
     EAP_STATE_KRB_REAUTH_GSS
 #endif
@@ -160,7 +160,7 @@ struct gss_eap_initiator_ctx {
 };
 
 struct gss_eap_acceptor_ctx {
-    struct rs_handle *radHandle;
+    struct rs_context *radContext;
     struct rs_connection *radConn;
     char *radServer;
     gss_buffer_desc state;