Better error reporting through com_err
[mech_eap.git] / eap_mech.c
index 5cd5f6a..b6ef299 100644 (file)
@@ -141,149 +141,38 @@ eapPeerRegisterMethods(OM_uint32 *minor)
 }
 
 static OM_uint32
-eapServerRegisterMethods(OM_uint32 *minor)
-{
-    OM_uint32 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 */
-
-#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 ? GSS_S_FAILURE : GSS_S_COMPLETE;
-}
-
-static OM_uint32
 gssEapInitLibEap(OM_uint32 *minor)
 {
     return eapPeerRegisterMethods(minor);
 }
 
 static OM_uint32
-gssEapInitLibRadius(OM_uint32 *minor)
+gssEapInitLibRadsec(OM_uint32 *minor)
 {
     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)
 {
     OM_uint32 major, minor;
 
-    major = gssEapInitLibEap(&minor);
-    assert(major == GSS_S_COMPLETE);
+    initialize_eapg_error_table();
+    initialize_rse_error_table();
 
-    major = gssEapInitLibRadius(&minor);
-    assert(major == GSS_S_COMPLETE);
-
-    major = eapServerRegisterMethods(&minor);
-    assert(major == GSS_S_COMPLETE);
-
-    major = gssEapRadiusAttrProviderInit(&minor);
+    major = gssEapInitLibEap(&minor);
     assert(major == GSS_S_COMPLETE);
 
-    major = gssEapSamlAttrProvidersInit(&minor);
+    major = gssEapInitLibRadsec(&minor);
     assert(major == GSS_S_COMPLETE);
 
-    major = gssEapLocalAttrProviderInit(&minor);
+#ifdef GSSEAP_ENABLE_REAUTH
+    major = gssEapReauthInitialize(&minor);
     assert(major == GSS_S_COMPLETE);
+#endif
 }
 
 static void
@@ -291,10 +180,6 @@ gssEapFinalize(void)
 {
     OM_uint32 minor;
 
-    gssEapLocalAttrProviderFinalize(&minor);
-    gssEapSamlAttrProvidersFinalize(&minor);
-    gssEapRadiusAttrProviderFinalize(&minor);
-
+    gssEapAttrProvidersFinalize(&minor);
     eap_peer_unregister_methods();
-    eap_server_unregister_methods();
 }