Home | History | Annotate | Download | only in wpa_supplicant
      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