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