1214503Srpaulo/* 2214503Srpaulo * EAP method registration 3214503Srpaulo * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> 4214503Srpaulo * 5252726Srpaulo * This software may be distributed under the terms of the BSD license. 6252726Srpaulo * See README for more details. 7214503Srpaulo */ 8214503Srpaulo 9214503Srpaulo#include "includes.h" 10214503Srpaulo 11214503Srpaulo#include "common.h" 12214503Srpaulo#include "eap_server/eap_methods.h" 13214503Srpaulo#include "eap_register.h" 14214503Srpaulo 15214503Srpaulo 16214503Srpaulo/** 17214503Srpaulo * eap_server_register_methods - Register statically linked EAP server methods 18214503Srpaulo * Returns: 0 on success, -1 or -2 on failure 19214503Srpaulo * 20214503Srpaulo * This function is called at program initialization to register all EAP 21214503Srpaulo * methods that were linked in statically. 22214503Srpaulo */ 23214503Srpauloint eap_server_register_methods(void) 24214503Srpaulo{ 25214503Srpaulo int ret = 0; 26214503Srpaulo 27214503Srpaulo#ifdef EAP_SERVER_IDENTITY 28214503Srpaulo if (ret == 0) 29214503Srpaulo ret = eap_server_identity_register(); 30214503Srpaulo#endif /* EAP_SERVER_IDENTITY */ 31214503Srpaulo 32214503Srpaulo#ifdef EAP_SERVER_MD5 33214503Srpaulo if (ret == 0) 34214503Srpaulo ret = eap_server_md5_register(); 35214503Srpaulo#endif /* EAP_SERVER_MD5 */ 36214503Srpaulo 37214503Srpaulo#ifdef EAP_SERVER_TLS 38214503Srpaulo if (ret == 0) 39214503Srpaulo ret = eap_server_tls_register(); 40214503Srpaulo#endif /* EAP_SERVER_TLS */ 41214503Srpaulo 42252726Srpaulo#ifdef EAP_SERVER_UNAUTH_TLS 43252726Srpaulo if (ret == 0) 44252726Srpaulo ret = eap_server_unauth_tls_register(); 45252726Srpaulo#endif /* EAP_SERVER_TLS */ 46252726Srpaulo 47281806Srpaulo#ifdef EAP_SERVER_TLS 48281806Srpaulo#ifdef CONFIG_HS20 49281806Srpaulo if (ret == 0) 50281806Srpaulo ret = eap_server_wfa_unauth_tls_register(); 51281806Srpaulo#endif /* CONFIG_HS20 */ 52281806Srpaulo#endif /* EAP_SERVER_TLS */ 53281806Srpaulo 54214503Srpaulo#ifdef EAP_SERVER_MSCHAPV2 55214503Srpaulo if (ret == 0) 56214503Srpaulo ret = eap_server_mschapv2_register(); 57214503Srpaulo#endif /* EAP_SERVER_MSCHAPV2 */ 58214503Srpaulo 59214503Srpaulo#ifdef EAP_SERVER_PEAP 60214503Srpaulo if (ret == 0) 61214503Srpaulo ret = eap_server_peap_register(); 62214503Srpaulo#endif /* EAP_SERVER_PEAP */ 63214503Srpaulo 64214503Srpaulo#ifdef EAP_SERVER_TLV 65214503Srpaulo if (ret == 0) 66214503Srpaulo ret = eap_server_tlv_register(); 67214503Srpaulo#endif /* EAP_SERVER_TLV */ 68214503Srpaulo 69214503Srpaulo#ifdef EAP_SERVER_GTC 70214503Srpaulo if (ret == 0) 71214503Srpaulo ret = eap_server_gtc_register(); 72214503Srpaulo#endif /* EAP_SERVER_GTC */ 73214503Srpaulo 74214503Srpaulo#ifdef EAP_SERVER_TTLS 75214503Srpaulo if (ret == 0) 76214503Srpaulo ret = eap_server_ttls_register(); 77214503Srpaulo#endif /* EAP_SERVER_TTLS */ 78214503Srpaulo 79214503Srpaulo#ifdef EAP_SERVER_SIM 80214503Srpaulo if (ret == 0) 81214503Srpaulo ret = eap_server_sim_register(); 82214503Srpaulo#endif /* EAP_SERVER_SIM */ 83214503Srpaulo 84214503Srpaulo#ifdef EAP_SERVER_AKA 85214503Srpaulo if (ret == 0) 86214503Srpaulo ret = eap_server_aka_register(); 87214503Srpaulo#endif /* EAP_SERVER_AKA */ 88214503Srpaulo 89214503Srpaulo#ifdef EAP_SERVER_AKA_PRIME 90214503Srpaulo if (ret == 0) 91214503Srpaulo ret = eap_server_aka_prime_register(); 92214503Srpaulo#endif /* EAP_SERVER_AKA_PRIME */ 93214503Srpaulo 94214503Srpaulo#ifdef EAP_SERVER_PAX 95214503Srpaulo if (ret == 0) 96214503Srpaulo ret = eap_server_pax_register(); 97214503Srpaulo#endif /* EAP_SERVER_PAX */ 98214503Srpaulo 99214503Srpaulo#ifdef EAP_SERVER_PSK 100214503Srpaulo if (ret == 0) 101214503Srpaulo ret = eap_server_psk_register(); 102214503Srpaulo#endif /* EAP_SERVER_PSK */ 103214503Srpaulo 104214503Srpaulo#ifdef EAP_SERVER_SAKE 105214503Srpaulo if (ret == 0) 106214503Srpaulo ret = eap_server_sake_register(); 107214503Srpaulo#endif /* EAP_SERVER_SAKE */ 108214503Srpaulo 109214503Srpaulo#ifdef EAP_SERVER_GPSK 110214503Srpaulo if (ret == 0) 111214503Srpaulo ret = eap_server_gpsk_register(); 112214503Srpaulo#endif /* EAP_SERVER_GPSK */ 113214503Srpaulo 114214503Srpaulo#ifdef EAP_SERVER_VENDOR_TEST 115214503Srpaulo if (ret == 0) 116214503Srpaulo ret = eap_server_vendor_test_register(); 117214503Srpaulo#endif /* EAP_SERVER_VENDOR_TEST */ 118214503Srpaulo 119214503Srpaulo#ifdef EAP_SERVER_FAST 120214503Srpaulo if (ret == 0) 121214503Srpaulo ret = eap_server_fast_register(); 122214503Srpaulo#endif /* EAP_SERVER_FAST */ 123214503Srpaulo 124351611Scy#ifdef EAP_SERVER_TEAP 125351611Scy if (ret == 0) 126351611Scy ret = eap_server_teap_register(); 127351611Scy#endif /* EAP_SERVER_TEAP */ 128351611Scy 129214503Srpaulo#ifdef EAP_SERVER_WSC 130214503Srpaulo if (ret == 0) 131214503Srpaulo ret = eap_server_wsc_register(); 132214503Srpaulo#endif /* EAP_SERVER_WSC */ 133214503Srpaulo 134214503Srpaulo#ifdef EAP_SERVER_IKEV2 135214503Srpaulo if (ret == 0) 136214503Srpaulo ret = eap_server_ikev2_register(); 137214503Srpaulo#endif /* EAP_SERVER_IKEV2 */ 138214503Srpaulo 139214503Srpaulo#ifdef EAP_SERVER_TNC 140214503Srpaulo if (ret == 0) 141214503Srpaulo ret = eap_server_tnc_register(); 142214503Srpaulo#endif /* EAP_SERVER_TNC */ 143214503Srpaulo 144252726Srpaulo#ifdef EAP_SERVER_PWD 145252726Srpaulo if (ret == 0) 146252726Srpaulo ret = eap_server_pwd_register(); 147252726Srpaulo#endif /* EAP_SERVER_PWD */ 148252726Srpaulo 149281806Srpaulo#ifdef EAP_SERVER_EKE 150281806Srpaulo if (ret == 0) 151281806Srpaulo ret = eap_server_eke_register(); 152281806Srpaulo#endif /* EAP_SERVER_EKE */ 153281806Srpaulo 154214503Srpaulo return ret; 155214503Srpaulo} 156