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