18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/*
28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * EAP method registration
38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi>
48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt *
5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license.
6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details.
78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */
88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "includes.h"
108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "common.h"
128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "eap_peer/eap_methods.h"
138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "eap_server/eap_methods.h"
141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#include "wpa_supplicant_i.h"
158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/**
188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * eap_register_methods - Register statically linked EAP methods
198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Returns: 0 on success, -1 or -2 on failure
208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt *
218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This function is called at program initialization to register all EAP
228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * methods that were linked in statically.
238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */
248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint eap_register_methods(void)
258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{
268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	int ret = 0;
278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_MD5
298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_md5_register();
318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_MD5 */
328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_TLS
348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_tls_register();
368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_TLS */
378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#ifdef EAP_UNAUTH_TLS
3961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt	if (ret == 0)
4061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt		ret = eap_peer_unauth_tls_register();
4161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#endif /* EAP_UNAUTH_TLS */
4261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_MSCHAPv2
448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_mschapv2_register();
468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_MSCHAPv2 */
478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_PEAP
498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_peap_register();
518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_PEAP */
528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_TTLS
548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_ttls_register();
568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_TTLS */
578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_GTC
598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_gtc_register();
618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_GTC */
628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_OTP
648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_otp_register();
668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_OTP */
678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SIM
698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_sim_register();
718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SIM */
728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_LEAP
748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_leap_register();
768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_LEAP */
778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_PSK
798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_psk_register();
818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_PSK */
828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_AKA
848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_aka_register();
868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_AKA */
878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_AKA_PRIME
898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_aka_prime_register();
918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_AKA_PRIME */
928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_FAST
948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_fast_register();
968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_FAST */
978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_PAX
998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_pax_register();
1018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_PAX */
1028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SAKE
1048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_sake_register();
1068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SAKE */
1078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_GPSK
1098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_gpsk_register();
1118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_GPSK */
1128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_WSC
1148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_wsc_register();
1168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_WSC */
1178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_IKEV2
1198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_ikev2_register();
1218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_IKEV2 */
1228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_VENDOR_TEST
1248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_vendor_test_register();
1268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_VENDOR_TEST */
1278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_TNC
1298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_tnc_register();
1318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_TNC */
1328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_PWD
1348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_pwd_register();
1368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_PWD */
1378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_IDENTITY
1398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_identity_register();
1418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_IDENTITY */
1428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_MD5
1448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_md5_register();
1468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_MD5 */
1478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_TLS
1498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_tls_register();
1518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_TLS */
1528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
15361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#ifdef EAP_SERVER_UNAUTH_TLS
15461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt	if (ret == 0)
15561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt		ret = eap_server_unauth_tls_register();
15661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#endif /* EAP_SERVER_UNAUTH_TLS */
15761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
1588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_MSCHAPV2
1598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_mschapv2_register();
1618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_MSCHAPV2 */
1628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_PEAP
1648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_peap_register();
1668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_PEAP */
1678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_TLV
1698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_tlv_register();
1718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_TLV */
1728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_GTC
1748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_gtc_register();
1768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_GTC */
1778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_TTLS
1798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_ttls_register();
1818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_TTLS */
1828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_SIM
1848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_sim_register();
1868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_SIM */
1878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_AKA
1898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_aka_register();
1918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_AKA */
1928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_AKA_PRIME
1948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_aka_prime_register();
1968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_AKA_PRIME */
1978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_PAX
1998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_pax_register();
2018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_PAX */
2028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_PSK
2048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_psk_register();
2068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_PSK */
2078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_SAKE
2098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_sake_register();
2118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_SAKE */
2128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_GPSK
2148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_gpsk_register();
2168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_GPSK */
2178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_VENDOR_TEST
2198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_vendor_test_register();
2218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_VENDOR_TEST */
2228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_FAST
2248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_fast_register();
2268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_FAST */
2278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_WSC
2298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_wsc_register();
2318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_WSC */
2328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_IKEV2
2348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_ikev2_register();
2368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_IKEV2 */
2378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_TNC
2398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_tnc_register();
2418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_TNC */
2428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_PWD
2448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_pwd_register();
2468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_PWD */
2478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	return ret;
2498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}
250