remove debugging statement
[moonshot.git] / mech_eap / eap_mech.c
index 5f977b6..fb827dd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, JANET(UK)
+ * Copyright (c) 2011, JANET(UK)
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * SUCH DAMAGE.
  */
 
+/*
+ * Initialisation and finalise functions.
+ */
+
 #include "gssapiP_eap.h"
 
-static int
-eapPeerRegisterMethods(void)
+static OM_uint32
+eapPeerRegisterMethods(OM_uint32 *minor)
 {
-    int ret = 0;
+    OM_uint32 ret = 0;
 
 #ifdef EAP_MD5
     if (ret == 0)
@@ -137,151 +141,58 @@ eapPeerRegisterMethods(void)
         ret = eap_peer_tnc_register();
 #endif /* EAP_TNC */
 
-    return ret;
-}
-
-static int
-eapServerRegisterMethods(void)
-{
-    int ret = 0;
-
-#ifdef EAP_SERVER_IDENTITY
-    if (ret == 0)
-        ret = eap_server_identity_register();
-#endif /* EAP_SERVER_IDENTITY */
-
-#ifdef EAP_SERVER_MD5
-    if (ret == 0)
-        ret = eap_server_md5_register();
-#endif /* EAP_SERVER_MD5 */
-
-#ifdef EAP_SERVER_TLS
-    if (ret == 0)
-        ret = eap_server_tls_register();
-#endif /* EAP_SERVER_TLS */
-
-#ifdef EAP_SERVER_MSCHAPV2
-    if (ret == 0)
-        ret = eap_server_mschapv2_register();
-#endif /* EAP_SERVER_MSCHAPV2 */
-
-#ifdef EAP_SERVER_PEAP
-    if (ret == 0)
-        ret = eap_server_peap_register();
-#endif /* EAP_SERVER_PEAP */
-
-#ifdef EAP_SERVER_TLV
-    if (ret == 0)
-        ret = eap_server_tlv_register();
-#endif /* EAP_SERVER_TLV */
-#ifdef EAP_SERVER_GTC
-    if (ret == 0)
-        ret = eap_server_gtc_register();
-#endif /* EAP_SERVER_GTC */
-
-#ifdef EAP_SERVER_TTLS
-    if (ret == 0)
-        ret = eap_server_ttls_register();
-#endif /* EAP_SERVER_TTLS */
-
-#ifdef EAP_SERVER_SIM
-    if (ret == 0)
-        ret = eap_server_sim_register();
-#endif /* EAP_SERVER_SIM */
-
-#ifdef EAP_SERVER_AKA
-    if (ret == 0)
-        ret = eap_server_aka_register();
-#endif /* EAP_SERVER_AKA */
-
-#ifdef EAP_SERVER_AKA_PRIME
     if (ret == 0)
-        ret = eap_server_aka_prime_register();
-#endif /* EAP_SERVER_AKA_PRIME */
+        return GSS_S_COMPLETE;
 
-#ifdef EAP_SERVER_PAX
-    if (ret == 0)
-        ret = eap_server_pax_register();
-#endif /* EAP_SERVER_PAX */
-
-#ifdef EAP_SERVER_PSK
-    if (ret == 0)
-        ret = eap_server_psk_register();
-#endif /* EAP_SERVER_PSK */
-
-#ifdef EAP_SERVER_SAKE
-    if (ret == 0)
-        ret = eap_server_sake_register();
-#endif /* EAP_SERVER_SAKE */
-
-#ifdef EAP_SERVER_GPSK
-    if (ret == 0)
-        ret = eap_server_gpsk_register();
-#endif /* EAP_SERVER_GPSK */
-
-#ifdef EAP_SERVER_VENDOR_TEST
-    if (ret == 0)
-        ret = eap_server_vendor_test_register();
-#endif /* EAP_SERVER_VENDOR_TEST */
-
-#ifdef EAP_SERVER_FAST
-    if (ret == 0)
-        ret = eap_server_fast_register();
-#endif /* EAP_SERVER_FAST */
-
-#ifdef EAP_SERVER_WSC
-    if (ret == 0)
-        ret = eap_server_wsc_register();
-#endif /* EAP_SERVER_WSC */
-
-#ifdef EAP_SERVER_IKEV2
-    if (ret == 0)
-        ret = eap_server_ikev2_register();
-#endif /* EAP_SERVER_IKEV2 */
-
-#ifdef EAP_SERVER_TNC
-    if (ret == 0)
-        ret = eap_server_tnc_register();
-#endif /* EAP_SERVER_TNC */
-
-    return ret;
+    *minor = GSSEAP_LIBEAP_INIT_FAILURE;
+    return GSS_S_FAILURE;
 }
 
-static int
-gssEapInitLibEap(void)
+static OM_uint32
+gssEapInitLibEap(OM_uint32 *minor)
 {
-    return eapPeerRegisterMethods();
+    return eapPeerRegisterMethods(minor);
 }
 
-static int
-gssEapInitLibRadSec(void)
+static OM_uint32
+gssEapInitLibRadsec(OM_uint32 *minor)
 {
-    return 0;
+    if (0) {
+        *minor = GSSEAP_RADSEC_INIT_FAILURE;
+        return GSS_S_FAILURE;
+    }
+
+    return GSS_S_COMPLETE;
 }
 
-static void gssEapInit(void) __attribute__((constructor));
+static void gssEapInitiatorInit(void) __attribute__((constructor));
 static void gssEapFinalize(void) __attribute__((destructor));
 
 static void
-gssEapInit(void)
+gssEapInitiatorInit(void)
 {
-    int ret;
+    OM_uint32 major, minor;
 
-    ret = gssEapInitLibEap();
-    if (ret == 0)
-#if 0
-        ret = gssEapInitLibRadSec();
-#else
-        ret = eapServerRegisterMethods();
+    initialize_eapg_error_table();
+    initialize_rse_error_table();
+
+    major = gssEapInitLibEap(&minor);
+    assert(major == GSS_S_COMPLETE);
+
+    major = gssEapInitLibRadsec(&minor);
+    assert(major == GSS_S_COMPLETE);
+
+#ifdef GSSEAP_ENABLE_REAUTH
+    major = gssEapReauthInitialize(&minor);
+    assert(major == GSS_S_COMPLETE);
 #endif
 }
 
 static void
 gssEapFinalize(void)
 {
+    OM_uint32 minor;
+
+    gssEapAttrProvidersFinalize(&minor);
     eap_peer_unregister_methods();
-#if 1
-    eap_server_unregister_methods();
-#endif
 }
-