1 /* 2 * EAP method registration 3 * Copyright (c) 2004-2009, Jouni Malinen <j (at) 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 */ 24 int 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