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_TLS 44#ifdef CONFIG_HS20 45 if (ret == 0) 46 ret = eap_peer_wfa_unauth_tls_register(); 47#endif /* CONFIG_HS20 */ 48#endif /* EAP_TLS */ 49 50#ifdef EAP_MSCHAPv2 51 if (ret == 0) 52 ret = eap_peer_mschapv2_register(); 53#endif /* EAP_MSCHAPv2 */ 54 55#ifdef EAP_PEAP 56 if (ret == 0) 57 ret = eap_peer_peap_register(); 58#endif /* EAP_PEAP */ 59 60#ifdef EAP_TTLS 61 if (ret == 0) 62 ret = eap_peer_ttls_register(); 63#endif /* EAP_TTLS */ 64 65#ifdef EAP_GTC 66 if (ret == 0) 67 ret = eap_peer_gtc_register(); 68#endif /* EAP_GTC */ 69 70#ifdef EAP_OTP 71 if (ret == 0) 72 ret = eap_peer_otp_register(); 73#endif /* EAP_OTP */ 74 75#ifdef EAP_SIM 76 if (ret == 0) 77 ret = eap_peer_sim_register(); 78#endif /* EAP_SIM */ 79 80#ifdef EAP_LEAP 81 if (ret == 0) 82 ret = eap_peer_leap_register(); 83#endif /* EAP_LEAP */ 84 85#ifdef EAP_PSK 86 if (ret == 0) 87 ret = eap_peer_psk_register(); 88#endif /* EAP_PSK */ 89 90#ifdef EAP_AKA 91 if (ret == 0) 92 ret = eap_peer_aka_register(); 93#endif /* EAP_AKA */ 94 95#ifdef EAP_AKA_PRIME 96 if (ret == 0) 97 ret = eap_peer_aka_prime_register(); 98#endif /* EAP_AKA_PRIME */ 99 100#ifdef EAP_FAST 101 if (ret == 0) 102 ret = eap_peer_fast_register(); 103#endif /* EAP_FAST */ 104 105#ifdef EAP_PAX 106 if (ret == 0) 107 ret = eap_peer_pax_register(); 108#endif /* EAP_PAX */ 109 110#ifdef EAP_SAKE 111 if (ret == 0) 112 ret = eap_peer_sake_register(); 113#endif /* EAP_SAKE */ 114 115#ifdef EAP_GPSK 116 if (ret == 0) 117 ret = eap_peer_gpsk_register(); 118#endif /* EAP_GPSK */ 119 120#ifdef EAP_WSC 121 if (ret == 0) 122 ret = eap_peer_wsc_register(); 123#endif /* EAP_WSC */ 124 125#ifdef EAP_IKEV2 126 if (ret == 0) 127 ret = eap_peer_ikev2_register(); 128#endif /* EAP_IKEV2 */ 129 130#ifdef EAP_VENDOR_TEST 131 if (ret == 0) 132 ret = eap_peer_vendor_test_register(); 133#endif /* EAP_VENDOR_TEST */ 134 135#ifdef EAP_TNC 136 if (ret == 0) 137 ret = eap_peer_tnc_register(); 138#endif /* EAP_TNC */ 139 140#ifdef EAP_PWD 141 if (ret == 0) 142 ret = eap_peer_pwd_register(); 143#endif /* EAP_PWD */ 144 145#ifdef EAP_EKE 146 if (ret == 0) 147 ret = eap_peer_eke_register(); 148#endif /* EAP_EKE */ 149 150#ifdef EAP_SERVER_IDENTITY 151 if (ret == 0) 152 ret = eap_server_identity_register(); 153#endif /* EAP_SERVER_IDENTITY */ 154 155#ifdef EAP_SERVER_MD5 156 if (ret == 0) 157 ret = eap_server_md5_register(); 158#endif /* EAP_SERVER_MD5 */ 159 160#ifdef EAP_SERVER_TLS 161 if (ret == 0) 162 ret = eap_server_tls_register(); 163#endif /* EAP_SERVER_TLS */ 164 165#ifdef EAP_SERVER_UNAUTH_TLS 166 if (ret == 0) 167 ret = eap_server_unauth_tls_register(); 168#endif /* EAP_SERVER_UNAUTH_TLS */ 169 170#ifdef EAP_SERVER_MSCHAPV2 171 if (ret == 0) 172 ret = eap_server_mschapv2_register(); 173#endif /* EAP_SERVER_MSCHAPV2 */ 174 175#ifdef EAP_SERVER_PEAP 176 if (ret == 0) 177 ret = eap_server_peap_register(); 178#endif /* EAP_SERVER_PEAP */ 179 180#ifdef EAP_SERVER_TLV 181 if (ret == 0) 182 ret = eap_server_tlv_register(); 183#endif /* EAP_SERVER_TLV */ 184 185#ifdef EAP_SERVER_GTC 186 if (ret == 0) 187 ret = eap_server_gtc_register(); 188#endif /* EAP_SERVER_GTC */ 189 190#ifdef EAP_SERVER_TTLS 191 if (ret == 0) 192 ret = eap_server_ttls_register(); 193#endif /* EAP_SERVER_TTLS */ 194 195#ifdef EAP_SERVER_SIM 196 if (ret == 0) 197 ret = eap_server_sim_register(); 198#endif /* EAP_SERVER_SIM */ 199 200#ifdef EAP_SERVER_AKA 201 if (ret == 0) 202 ret = eap_server_aka_register(); 203#endif /* EAP_SERVER_AKA */ 204 205#ifdef EAP_SERVER_AKA_PRIME 206 if (ret == 0) 207 ret = eap_server_aka_prime_register(); 208#endif /* EAP_SERVER_AKA_PRIME */ 209 210#ifdef EAP_SERVER_PAX 211 if (ret == 0) 212 ret = eap_server_pax_register(); 213#endif /* EAP_SERVER_PAX */ 214 215#ifdef EAP_SERVER_PSK 216 if (ret == 0) 217 ret = eap_server_psk_register(); 218#endif /* EAP_SERVER_PSK */ 219 220#ifdef EAP_SERVER_SAKE 221 if (ret == 0) 222 ret = eap_server_sake_register(); 223#endif /* EAP_SERVER_SAKE */ 224 225#ifdef EAP_SERVER_GPSK 226 if (ret == 0) 227 ret = eap_server_gpsk_register(); 228#endif /* EAP_SERVER_GPSK */ 229 230#ifdef EAP_SERVER_VENDOR_TEST 231 if (ret == 0) 232 ret = eap_server_vendor_test_register(); 233#endif /* EAP_SERVER_VENDOR_TEST */ 234 235#ifdef EAP_SERVER_FAST 236 if (ret == 0) 237 ret = eap_server_fast_register(); 238#endif /* EAP_SERVER_FAST */ 239 240#ifdef EAP_SERVER_WSC 241 if (ret == 0) 242 ret = eap_server_wsc_register(); 243#endif /* EAP_SERVER_WSC */ 244 245#ifdef EAP_SERVER_IKEV2 246 if (ret == 0) 247 ret = eap_server_ikev2_register(); 248#endif /* EAP_SERVER_IKEV2 */ 249 250#ifdef EAP_SERVER_TNC 251 if (ret == 0) 252 ret = eap_server_tnc_register(); 253#endif /* EAP_SERVER_TNC */ 254 255#ifdef EAP_SERVER_PWD 256 if (ret == 0) 257 ret = eap_server_pwd_register(); 258#endif /* EAP_SERVER_PWD */ 259 260 return ret; 261} 262