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