Home | History | Annotate | Line # | Download | only in wpa_supplicant
eap_register.c revision 1.1.1.1.16.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.1.16.1       snj  * This software may be distributed under the terms of the BSD license.
      6  1.1.1.1.16.1       snj  * 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.1.16.1       snj #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.1.16.1       snj #ifdef EAP_UNAUTH_TLS
     39  1.1.1.1.16.1       snj 	if (ret == 0)
     40  1.1.1.1.16.1       snj 		ret = eap_peer_unauth_tls_register();
     41  1.1.1.1.16.1       snj #endif /* EAP_UNAUTH_TLS */
     42  1.1.1.1.16.1       snj 
     43  1.1.1.1.16.1       snj #ifdef EAP_TLS
     44  1.1.1.1.16.1       snj #ifdef CONFIG_HS20
     45  1.1.1.1.16.1       snj 	if (ret == 0)
     46  1.1.1.1.16.1       snj 		ret = eap_peer_wfa_unauth_tls_register();
     47  1.1.1.1.16.1       snj #endif /* CONFIG_HS20 */
     48  1.1.1.1.16.1       snj #endif /* EAP_TLS */
     49  1.1.1.1.16.1       snj 
     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  christos #ifdef EAP_PAX
    106           1.1  christos 	if (ret == 0)
    107           1.1  christos 		ret = eap_peer_pax_register();
    108           1.1  christos #endif /* EAP_PAX */
    109           1.1  christos 
    110           1.1  christos #ifdef EAP_SAKE
    111           1.1  christos 	if (ret == 0)
    112           1.1  christos 		ret = eap_peer_sake_register();
    113           1.1  christos #endif /* EAP_SAKE */
    114           1.1  christos 
    115           1.1  christos #ifdef EAP_GPSK
    116           1.1  christos 	if (ret == 0)
    117           1.1  christos 		ret = eap_peer_gpsk_register();
    118           1.1  christos #endif /* EAP_GPSK */
    119           1.1  christos 
    120           1.1  christos #ifdef EAP_WSC
    121           1.1  christos 	if (ret == 0)
    122           1.1  christos 		ret = eap_peer_wsc_register();
    123           1.1  christos #endif /* EAP_WSC */
    124           1.1  christos 
    125           1.1  christos #ifdef EAP_IKEV2
    126           1.1  christos 	if (ret == 0)
    127           1.1  christos 		ret = eap_peer_ikev2_register();
    128           1.1  christos #endif /* EAP_IKEV2 */
    129           1.1  christos 
    130           1.1  christos #ifdef EAP_VENDOR_TEST
    131           1.1  christos 	if (ret == 0)
    132           1.1  christos 		ret = eap_peer_vendor_test_register();
    133           1.1  christos #endif /* EAP_VENDOR_TEST */
    134           1.1  christos 
    135           1.1  christos #ifdef EAP_TNC
    136           1.1  christos 	if (ret == 0)
    137           1.1  christos 		ret = eap_peer_tnc_register();
    138           1.1  christos #endif /* EAP_TNC */
    139           1.1  christos 
    140  1.1.1.1.16.1       snj #ifdef EAP_PWD
    141  1.1.1.1.16.1       snj 	if (ret == 0)
    142  1.1.1.1.16.1       snj 		ret = eap_peer_pwd_register();
    143  1.1.1.1.16.1       snj #endif /* EAP_PWD */
    144  1.1.1.1.16.1       snj 
    145  1.1.1.1.16.1       snj #ifdef EAP_EKE
    146  1.1.1.1.16.1       snj 	if (ret == 0)
    147  1.1.1.1.16.1       snj 		ret = eap_peer_eke_register();
    148  1.1.1.1.16.1       snj #endif /* EAP_EKE */
    149           1.1  christos 
    150           1.1  christos #ifdef EAP_SERVER_IDENTITY
    151           1.1  christos 	if (ret == 0)
    152           1.1  christos 		ret = eap_server_identity_register();
    153           1.1  christos #endif /* EAP_SERVER_IDENTITY */
    154           1.1  christos 
    155           1.1  christos #ifdef EAP_SERVER_MD5
    156           1.1  christos 	if (ret == 0)
    157           1.1  christos 		ret = eap_server_md5_register();
    158           1.1  christos #endif /* EAP_SERVER_MD5 */
    159           1.1  christos 
    160           1.1  christos #ifdef EAP_SERVER_TLS
    161           1.1  christos 	if (ret == 0)
    162           1.1  christos 		ret = eap_server_tls_register();
    163           1.1  christos #endif /* EAP_SERVER_TLS */
    164           1.1  christos 
    165  1.1.1.1.16.1       snj #ifdef EAP_SERVER_UNAUTH_TLS
    166  1.1.1.1.16.1       snj 	if (ret == 0)
    167  1.1.1.1.16.1       snj 		ret = eap_server_unauth_tls_register();
    168  1.1.1.1.16.1       snj #endif /* EAP_SERVER_UNAUTH_TLS */
    169  1.1.1.1.16.1       snj 
    170           1.1  christos #ifdef EAP_SERVER_MSCHAPV2
    171           1.1  christos 	if (ret == 0)
    172           1.1  christos 		ret = eap_server_mschapv2_register();
    173           1.1  christos #endif /* EAP_SERVER_MSCHAPV2 */
    174           1.1  christos 
    175           1.1  christos #ifdef EAP_SERVER_PEAP
    176           1.1  christos 	if (ret == 0)
    177           1.1  christos 		ret = eap_server_peap_register();
    178           1.1  christos #endif /* EAP_SERVER_PEAP */
    179           1.1  christos 
    180           1.1  christos #ifdef EAP_SERVER_TLV
    181           1.1  christos 	if (ret == 0)
    182           1.1  christos 		ret = eap_server_tlv_register();
    183           1.1  christos #endif /* EAP_SERVER_TLV */
    184           1.1  christos 
    185           1.1  christos #ifdef EAP_SERVER_GTC
    186           1.1  christos 	if (ret == 0)
    187           1.1  christos 		ret = eap_server_gtc_register();
    188           1.1  christos #endif /* EAP_SERVER_GTC */
    189           1.1  christos 
    190           1.1  christos #ifdef EAP_SERVER_TTLS
    191           1.1  christos 	if (ret == 0)
    192           1.1  christos 		ret = eap_server_ttls_register();
    193           1.1  christos #endif /* EAP_SERVER_TTLS */
    194           1.1  christos 
    195           1.1  christos #ifdef EAP_SERVER_SIM
    196           1.1  christos 	if (ret == 0)
    197           1.1  christos 		ret = eap_server_sim_register();
    198           1.1  christos #endif /* EAP_SERVER_SIM */
    199           1.1  christos 
    200           1.1  christos #ifdef EAP_SERVER_AKA
    201           1.1  christos 	if (ret == 0)
    202           1.1  christos 		ret = eap_server_aka_register();
    203           1.1  christos #endif /* EAP_SERVER_AKA */
    204           1.1  christos 
    205           1.1  christos #ifdef EAP_SERVER_AKA_PRIME
    206           1.1  christos 	if (ret == 0)
    207           1.1  christos 		ret = eap_server_aka_prime_register();
    208           1.1  christos #endif /* EAP_SERVER_AKA_PRIME */
    209           1.1  christos 
    210           1.1  christos #ifdef EAP_SERVER_PAX
    211           1.1  christos 	if (ret == 0)
    212           1.1  christos 		ret = eap_server_pax_register();
    213           1.1  christos #endif /* EAP_SERVER_PAX */
    214           1.1  christos 
    215           1.1  christos #ifdef EAP_SERVER_PSK
    216           1.1  christos 	if (ret == 0)
    217           1.1  christos 		ret = eap_server_psk_register();
    218           1.1  christos #endif /* EAP_SERVER_PSK */
    219           1.1  christos 
    220           1.1  christos #ifdef EAP_SERVER_SAKE
    221           1.1  christos 	if (ret == 0)
    222           1.1  christos 		ret = eap_server_sake_register();
    223           1.1  christos #endif /* EAP_SERVER_SAKE */
    224           1.1  christos 
    225           1.1  christos #ifdef EAP_SERVER_GPSK
    226           1.1  christos 	if (ret == 0)
    227           1.1  christos 		ret = eap_server_gpsk_register();
    228           1.1  christos #endif /* EAP_SERVER_GPSK */
    229           1.1  christos 
    230           1.1  christos #ifdef EAP_SERVER_VENDOR_TEST
    231           1.1  christos 	if (ret == 0)
    232           1.1  christos 		ret = eap_server_vendor_test_register();
    233           1.1  christos #endif /* EAP_SERVER_VENDOR_TEST */
    234           1.1  christos 
    235           1.1  christos #ifdef EAP_SERVER_FAST
    236           1.1  christos 	if (ret == 0)
    237           1.1  christos 		ret = eap_server_fast_register();
    238           1.1  christos #endif /* EAP_SERVER_FAST */
    239           1.1  christos 
    240           1.1  christos #ifdef EAP_SERVER_WSC
    241           1.1  christos 	if (ret == 0)
    242           1.1  christos 		ret = eap_server_wsc_register();
    243           1.1  christos #endif /* EAP_SERVER_WSC */
    244           1.1  christos 
    245           1.1  christos #ifdef EAP_SERVER_IKEV2
    246           1.1  christos 	if (ret == 0)
    247           1.1  christos 		ret = eap_server_ikev2_register();
    248           1.1  christos #endif /* EAP_SERVER_IKEV2 */
    249           1.1  christos 
    250           1.1  christos #ifdef EAP_SERVER_TNC
    251           1.1  christos 	if (ret == 0)
    252           1.1  christos 		ret = eap_server_tnc_register();
    253           1.1  christos #endif /* EAP_SERVER_TNC */
    254           1.1  christos 
    255  1.1.1.1.16.1       snj #ifdef EAP_SERVER_PWD
    256  1.1.1.1.16.1       snj 	if (ret == 0)
    257  1.1.1.1.16.1       snj 		ret = eap_server_pwd_register();
    258  1.1.1.1.16.1       snj #endif /* EAP_SERVER_PWD */
    259  1.1.1.1.16.1       snj 
    260           1.1  christos 	return ret;
    261           1.1  christos }
    262