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 program is free software; you can redistribute it and/or modify
      6  * it under the terms of the GNU General Public License version 2 as
      7  * published by the Free Software Foundation.
      8  *
      9  * Alternatively, this software may be distributed under the terms of BSD
     10  * license.
     11  *
     12  * See README and COPYING for more details.
     13  */
     14 
     15 #include "includes.h"
     16 
     17 #include "common.h"
     18 #include "eap_peer/eap_methods.h"
     19 #include "eap_server/eap_methods.h"
     20 
     21 
     22 /**
     23  * eap_register_methods - Register statically linked EAP methods
     24  * Returns: 0 on success, -1 or -2 on failure
     25  *
     26  * This function is called at program initialization to register all EAP
     27  * methods that were linked in statically.
     28  */
     29 int eap_register_methods(void)
     30 {
     31 	int ret = 0;
     32 
     33 #ifdef EAP_MD5
     34 	if (ret == 0)
     35 		ret = eap_peer_md5_register();
     36 #endif /* EAP_MD5 */
     37 
     38 #ifdef EAP_TLS
     39 	if (ret == 0)
     40 		ret = eap_peer_tls_register();
     41 #endif /* EAP_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_MSCHAPV2
    154 	if (ret == 0)
    155 		ret = eap_server_mschapv2_register();
    156 #endif /* EAP_SERVER_MSCHAPV2 */
    157 
    158 #ifdef EAP_SERVER_PEAP
    159 	if (ret == 0)
    160 		ret = eap_server_peap_register();
    161 #endif /* EAP_SERVER_PEAP */
    162 
    163 #ifdef EAP_SERVER_TLV
    164 	if (ret == 0)
    165 		ret = eap_server_tlv_register();
    166 #endif /* EAP_SERVER_TLV */
    167 
    168 #ifdef EAP_SERVER_GTC
    169 	if (ret == 0)
    170 		ret = eap_server_gtc_register();
    171 #endif /* EAP_SERVER_GTC */
    172 
    173 #ifdef EAP_SERVER_TTLS
    174 	if (ret == 0)
    175 		ret = eap_server_ttls_register();
    176 #endif /* EAP_SERVER_TTLS */
    177 
    178 #ifdef EAP_SERVER_SIM
    179 	if (ret == 0)
    180 		ret = eap_server_sim_register();
    181 #endif /* EAP_SERVER_SIM */
    182 
    183 #ifdef EAP_SERVER_AKA
    184 	if (ret == 0)
    185 		ret = eap_server_aka_register();
    186 #endif /* EAP_SERVER_AKA */
    187 
    188 #ifdef EAP_SERVER_AKA_PRIME
    189 	if (ret == 0)
    190 		ret = eap_server_aka_prime_register();
    191 #endif /* EAP_SERVER_AKA_PRIME */
    192 
    193 #ifdef EAP_SERVER_PAX
    194 	if (ret == 0)
    195 		ret = eap_server_pax_register();
    196 #endif /* EAP_SERVER_PAX */
    197 
    198 #ifdef EAP_SERVER_PSK
    199 	if (ret == 0)
    200 		ret = eap_server_psk_register();
    201 #endif /* EAP_SERVER_PSK */
    202 
    203 #ifdef EAP_SERVER_SAKE
    204 	if (ret == 0)
    205 		ret = eap_server_sake_register();
    206 #endif /* EAP_SERVER_SAKE */
    207 
    208 #ifdef EAP_SERVER_GPSK
    209 	if (ret == 0)
    210 		ret = eap_server_gpsk_register();
    211 #endif /* EAP_SERVER_GPSK */
    212 
    213 #ifdef EAP_SERVER_VENDOR_TEST
    214 	if (ret == 0)
    215 		ret = eap_server_vendor_test_register();
    216 #endif /* EAP_SERVER_VENDOR_TEST */
    217 
    218 #ifdef EAP_SERVER_FAST
    219 	if (ret == 0)
    220 		ret = eap_server_fast_register();
    221 #endif /* EAP_SERVER_FAST */
    222 
    223 #ifdef EAP_SERVER_WSC
    224 	if (ret == 0)
    225 		ret = eap_server_wsc_register();
    226 #endif /* EAP_SERVER_WSC */
    227 
    228 #ifdef EAP_SERVER_IKEV2
    229 	if (ret == 0)
    230 		ret = eap_server_ikev2_register();
    231 #endif /* EAP_SERVER_IKEV2 */
    232 
    233 #ifdef EAP_SERVER_TNC
    234 	if (ret == 0)
    235 		ret = eap_server_tnc_register();
    236 #endif /* EAP_SERVER_TNC */
    237 
    238 #ifdef EAP_SERVER_PWD
    239 	if (ret == 0)
    240 		ret = eap_server_pwd_register();
    241 #endif /* EAP_SERVER_PWD */
    242 
    243 	return ret;
    244 }
    245