1*e28a4053SRui Paulo /* 2*e28a4053SRui Paulo * EAP method registration 3*e28a4053SRui Paulo * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> 4*e28a4053SRui Paulo * 5*e28a4053SRui Paulo * This program is free software; you can redistribute it and/or modify 6*e28a4053SRui Paulo * it under the terms of the GNU General Public License version 2 as 7*e28a4053SRui Paulo * published by the Free Software Foundation. 8*e28a4053SRui Paulo * 9*e28a4053SRui Paulo * Alternatively, this software may be distributed under the terms of BSD 10*e28a4053SRui Paulo * license. 11*e28a4053SRui Paulo * 12*e28a4053SRui Paulo * See README and COPYING for more details. 13*e28a4053SRui Paulo */ 14*e28a4053SRui Paulo 15*e28a4053SRui Paulo #include "includes.h" 16*e28a4053SRui Paulo 17*e28a4053SRui Paulo #include "common.h" 18*e28a4053SRui Paulo #include "eap_peer/eap_methods.h" 19*e28a4053SRui Paulo #include "eap_server/eap_methods.h" 20*e28a4053SRui Paulo 21*e28a4053SRui Paulo 22*e28a4053SRui Paulo /** 23*e28a4053SRui Paulo * eap_register_methods - Register statically linked EAP methods 24*e28a4053SRui Paulo * Returns: 0 on success, -1 or -2 on failure 25*e28a4053SRui Paulo * 26*e28a4053SRui Paulo * This function is called at program initialization to register all EAP 27*e28a4053SRui Paulo * methods that were linked in statically. 28*e28a4053SRui Paulo */ 29*e28a4053SRui Paulo int eap_register_methods(void) 30*e28a4053SRui Paulo { 31*e28a4053SRui Paulo int ret = 0; 32*e28a4053SRui Paulo 33*e28a4053SRui Paulo #ifdef EAP_MD5 34*e28a4053SRui Paulo if (ret == 0) 35*e28a4053SRui Paulo ret = eap_peer_md5_register(); 36*e28a4053SRui Paulo #endif /* EAP_MD5 */ 37*e28a4053SRui Paulo 38*e28a4053SRui Paulo #ifdef EAP_TLS 39*e28a4053SRui Paulo if (ret == 0) 40*e28a4053SRui Paulo ret = eap_peer_tls_register(); 41*e28a4053SRui Paulo #endif /* EAP_TLS */ 42*e28a4053SRui Paulo 43*e28a4053SRui Paulo #ifdef EAP_MSCHAPv2 44*e28a4053SRui Paulo if (ret == 0) 45*e28a4053SRui Paulo ret = eap_peer_mschapv2_register(); 46*e28a4053SRui Paulo #endif /* EAP_MSCHAPv2 */ 47*e28a4053SRui Paulo 48*e28a4053SRui Paulo #ifdef EAP_PEAP 49*e28a4053SRui Paulo if (ret == 0) 50*e28a4053SRui Paulo ret = eap_peer_peap_register(); 51*e28a4053SRui Paulo #endif /* EAP_PEAP */ 52*e28a4053SRui Paulo 53*e28a4053SRui Paulo #ifdef EAP_TTLS 54*e28a4053SRui Paulo if (ret == 0) 55*e28a4053SRui Paulo ret = eap_peer_ttls_register(); 56*e28a4053SRui Paulo #endif /* EAP_TTLS */ 57*e28a4053SRui Paulo 58*e28a4053SRui Paulo #ifdef EAP_GTC 59*e28a4053SRui Paulo if (ret == 0) 60*e28a4053SRui Paulo ret = eap_peer_gtc_register(); 61*e28a4053SRui Paulo #endif /* EAP_GTC */ 62*e28a4053SRui Paulo 63*e28a4053SRui Paulo #ifdef EAP_OTP 64*e28a4053SRui Paulo if (ret == 0) 65*e28a4053SRui Paulo ret = eap_peer_otp_register(); 66*e28a4053SRui Paulo #endif /* EAP_OTP */ 67*e28a4053SRui Paulo 68*e28a4053SRui Paulo #ifdef EAP_SIM 69*e28a4053SRui Paulo if (ret == 0) 70*e28a4053SRui Paulo ret = eap_peer_sim_register(); 71*e28a4053SRui Paulo #endif /* EAP_SIM */ 72*e28a4053SRui Paulo 73*e28a4053SRui Paulo #ifdef EAP_LEAP 74*e28a4053SRui Paulo if (ret == 0) 75*e28a4053SRui Paulo ret = eap_peer_leap_register(); 76*e28a4053SRui Paulo #endif /* EAP_LEAP */ 77*e28a4053SRui Paulo 78*e28a4053SRui Paulo #ifdef EAP_PSK 79*e28a4053SRui Paulo if (ret == 0) 80*e28a4053SRui Paulo ret = eap_peer_psk_register(); 81*e28a4053SRui Paulo #endif /* EAP_PSK */ 82*e28a4053SRui Paulo 83*e28a4053SRui Paulo #ifdef EAP_AKA 84*e28a4053SRui Paulo if (ret == 0) 85*e28a4053SRui Paulo ret = eap_peer_aka_register(); 86*e28a4053SRui Paulo #endif /* EAP_AKA */ 87*e28a4053SRui Paulo 88*e28a4053SRui Paulo #ifdef EAP_AKA_PRIME 89*e28a4053SRui Paulo if (ret == 0) 90*e28a4053SRui Paulo ret = eap_peer_aka_prime_register(); 91*e28a4053SRui Paulo #endif /* EAP_AKA_PRIME */ 92*e28a4053SRui Paulo 93*e28a4053SRui Paulo #ifdef EAP_FAST 94*e28a4053SRui Paulo if (ret == 0) 95*e28a4053SRui Paulo ret = eap_peer_fast_register(); 96*e28a4053SRui Paulo #endif /* EAP_FAST */ 97*e28a4053SRui Paulo 98*e28a4053SRui Paulo #ifdef EAP_PAX 99*e28a4053SRui Paulo if (ret == 0) 100*e28a4053SRui Paulo ret = eap_peer_pax_register(); 101*e28a4053SRui Paulo #endif /* EAP_PAX */ 102*e28a4053SRui Paulo 103*e28a4053SRui Paulo #ifdef EAP_SAKE 104*e28a4053SRui Paulo if (ret == 0) 105*e28a4053SRui Paulo ret = eap_peer_sake_register(); 106*e28a4053SRui Paulo #endif /* EAP_SAKE */ 107*e28a4053SRui Paulo 108*e28a4053SRui Paulo #ifdef EAP_GPSK 109*e28a4053SRui Paulo if (ret == 0) 110*e28a4053SRui Paulo ret = eap_peer_gpsk_register(); 111*e28a4053SRui Paulo #endif /* EAP_GPSK */ 112*e28a4053SRui Paulo 113*e28a4053SRui Paulo #ifdef EAP_WSC 114*e28a4053SRui Paulo if (ret == 0) 115*e28a4053SRui Paulo ret = eap_peer_wsc_register(); 116*e28a4053SRui Paulo #endif /* EAP_WSC */ 117*e28a4053SRui Paulo 118*e28a4053SRui Paulo #ifdef EAP_IKEV2 119*e28a4053SRui Paulo if (ret == 0) 120*e28a4053SRui Paulo ret = eap_peer_ikev2_register(); 121*e28a4053SRui Paulo #endif /* EAP_IKEV2 */ 122*e28a4053SRui Paulo 123*e28a4053SRui Paulo #ifdef EAP_VENDOR_TEST 124*e28a4053SRui Paulo if (ret == 0) 125*e28a4053SRui Paulo ret = eap_peer_vendor_test_register(); 126*e28a4053SRui Paulo #endif /* EAP_VENDOR_TEST */ 127*e28a4053SRui Paulo 128*e28a4053SRui Paulo #ifdef EAP_TNC 129*e28a4053SRui Paulo if (ret == 0) 130*e28a4053SRui Paulo ret = eap_peer_tnc_register(); 131*e28a4053SRui Paulo #endif /* EAP_TNC */ 132*e28a4053SRui Paulo 133*e28a4053SRui Paulo 134*e28a4053SRui Paulo #ifdef EAP_SERVER_IDENTITY 135*e28a4053SRui Paulo if (ret == 0) 136*e28a4053SRui Paulo ret = eap_server_identity_register(); 137*e28a4053SRui Paulo #endif /* EAP_SERVER_IDENTITY */ 138*e28a4053SRui Paulo 139*e28a4053SRui Paulo #ifdef EAP_SERVER_MD5 140*e28a4053SRui Paulo if (ret == 0) 141*e28a4053SRui Paulo ret = eap_server_md5_register(); 142*e28a4053SRui Paulo #endif /* EAP_SERVER_MD5 */ 143*e28a4053SRui Paulo 144*e28a4053SRui Paulo #ifdef EAP_SERVER_TLS 145*e28a4053SRui Paulo if (ret == 0) 146*e28a4053SRui Paulo ret = eap_server_tls_register(); 147*e28a4053SRui Paulo #endif /* EAP_SERVER_TLS */ 148*e28a4053SRui Paulo 149*e28a4053SRui Paulo #ifdef EAP_SERVER_MSCHAPV2 150*e28a4053SRui Paulo if (ret == 0) 151*e28a4053SRui Paulo ret = eap_server_mschapv2_register(); 152*e28a4053SRui Paulo #endif /* EAP_SERVER_MSCHAPV2 */ 153*e28a4053SRui Paulo 154*e28a4053SRui Paulo #ifdef EAP_SERVER_PEAP 155*e28a4053SRui Paulo if (ret == 0) 156*e28a4053SRui Paulo ret = eap_server_peap_register(); 157*e28a4053SRui Paulo #endif /* EAP_SERVER_PEAP */ 158*e28a4053SRui Paulo 159*e28a4053SRui Paulo #ifdef EAP_SERVER_TLV 160*e28a4053SRui Paulo if (ret == 0) 161*e28a4053SRui Paulo ret = eap_server_tlv_register(); 162*e28a4053SRui Paulo #endif /* EAP_SERVER_TLV */ 163*e28a4053SRui Paulo 164*e28a4053SRui Paulo #ifdef EAP_SERVER_GTC 165*e28a4053SRui Paulo if (ret == 0) 166*e28a4053SRui Paulo ret = eap_server_gtc_register(); 167*e28a4053SRui Paulo #endif /* EAP_SERVER_GTC */ 168*e28a4053SRui Paulo 169*e28a4053SRui Paulo #ifdef EAP_SERVER_TTLS 170*e28a4053SRui Paulo if (ret == 0) 171*e28a4053SRui Paulo ret = eap_server_ttls_register(); 172*e28a4053SRui Paulo #endif /* EAP_SERVER_TTLS */ 173*e28a4053SRui Paulo 174*e28a4053SRui Paulo #ifdef EAP_SERVER_SIM 175*e28a4053SRui Paulo if (ret == 0) 176*e28a4053SRui Paulo ret = eap_server_sim_register(); 177*e28a4053SRui Paulo #endif /* EAP_SERVER_SIM */ 178*e28a4053SRui Paulo 179*e28a4053SRui Paulo #ifdef EAP_SERVER_AKA 180*e28a4053SRui Paulo if (ret == 0) 181*e28a4053SRui Paulo ret = eap_server_aka_register(); 182*e28a4053SRui Paulo #endif /* EAP_SERVER_AKA */ 183*e28a4053SRui Paulo 184*e28a4053SRui Paulo #ifdef EAP_SERVER_AKA_PRIME 185*e28a4053SRui Paulo if (ret == 0) 186*e28a4053SRui Paulo ret = eap_server_aka_prime_register(); 187*e28a4053SRui Paulo #endif /* EAP_SERVER_AKA_PRIME */ 188*e28a4053SRui Paulo 189*e28a4053SRui Paulo #ifdef EAP_SERVER_PAX 190*e28a4053SRui Paulo if (ret == 0) 191*e28a4053SRui Paulo ret = eap_server_pax_register(); 192*e28a4053SRui Paulo #endif /* EAP_SERVER_PAX */ 193*e28a4053SRui Paulo 194*e28a4053SRui Paulo #ifdef EAP_SERVER_PSK 195*e28a4053SRui Paulo if (ret == 0) 196*e28a4053SRui Paulo ret = eap_server_psk_register(); 197*e28a4053SRui Paulo #endif /* EAP_SERVER_PSK */ 198*e28a4053SRui Paulo 199*e28a4053SRui Paulo #ifdef EAP_SERVER_SAKE 200*e28a4053SRui Paulo if (ret == 0) 201*e28a4053SRui Paulo ret = eap_server_sake_register(); 202*e28a4053SRui Paulo #endif /* EAP_SERVER_SAKE */ 203*e28a4053SRui Paulo 204*e28a4053SRui Paulo #ifdef EAP_SERVER_GPSK 205*e28a4053SRui Paulo if (ret == 0) 206*e28a4053SRui Paulo ret = eap_server_gpsk_register(); 207*e28a4053SRui Paulo #endif /* EAP_SERVER_GPSK */ 208*e28a4053SRui Paulo 209*e28a4053SRui Paulo #ifdef EAP_SERVER_VENDOR_TEST 210*e28a4053SRui Paulo if (ret == 0) 211*e28a4053SRui Paulo ret = eap_server_vendor_test_register(); 212*e28a4053SRui Paulo #endif /* EAP_SERVER_VENDOR_TEST */ 213*e28a4053SRui Paulo 214*e28a4053SRui Paulo #ifdef EAP_SERVER_FAST 215*e28a4053SRui Paulo if (ret == 0) 216*e28a4053SRui Paulo ret = eap_server_fast_register(); 217*e28a4053SRui Paulo #endif /* EAP_SERVER_FAST */ 218*e28a4053SRui Paulo 219*e28a4053SRui Paulo #ifdef EAP_SERVER_WSC 220*e28a4053SRui Paulo if (ret == 0) 221*e28a4053SRui Paulo ret = eap_server_wsc_register(); 222*e28a4053SRui Paulo #endif /* EAP_SERVER_WSC */ 223*e28a4053SRui Paulo 224*e28a4053SRui Paulo #ifdef EAP_SERVER_IKEV2 225*e28a4053SRui Paulo if (ret == 0) 226*e28a4053SRui Paulo ret = eap_server_ikev2_register(); 227*e28a4053SRui Paulo #endif /* EAP_SERVER_IKEV2 */ 228*e28a4053SRui Paulo 229*e28a4053SRui Paulo #ifdef EAP_SERVER_TNC 230*e28a4053SRui Paulo if (ret == 0) 231*e28a4053SRui Paulo ret = eap_server_tnc_register(); 232*e28a4053SRui Paulo #endif /* EAP_SERVER_TNC */ 233*e28a4053SRui Paulo 234*e28a4053SRui Paulo return ret; 235*e28a4053SRui Paulo } 236