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
43f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidt#ifdef EAP_TLS
44f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidt#ifdef CONFIG_HS20
45f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidt	if (ret == 0)
46f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidt		ret = eap_peer_wfa_unauth_tls_register();
47f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidt#endif /* CONFIG_HS20 */
48f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidt#endif /* EAP_TLS */
49f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidt
508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_MSCHAPv2
518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_mschapv2_register();
538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_MSCHAPv2 */
548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_PEAP
568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_peap_register();
588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_PEAP */
598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_TTLS
618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_ttls_register();
638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_TTLS */
648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_GTC
668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_gtc_register();
688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_GTC */
698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_OTP
718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_otp_register();
738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_OTP */
748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SIM
768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_sim_register();
788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SIM */
798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_LEAP
818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_leap_register();
838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_LEAP */
848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_PSK
868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_psk_register();
888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_PSK */
898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_AKA
918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_aka_register();
938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_AKA */
948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_AKA_PRIME
968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_aka_prime_register();
988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_AKA_PRIME */
998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_FAST
1018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_fast_register();
1038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_FAST */
1048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_PAX
1068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_pax_register();
1088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_PAX */
1098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SAKE
1118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_sake_register();
1138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SAKE */
1148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_GPSK
1168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_gpsk_register();
1188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_GPSK */
1198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_WSC
1218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_wsc_register();
1238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_WSC */
1248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_IKEV2
1268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_ikev2_register();
1288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_IKEV2 */
1298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_VENDOR_TEST
1318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_vendor_test_register();
1338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_VENDOR_TEST */
1348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_TNC
1368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_tnc_register();
1388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_TNC */
1398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_PWD
1418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_peer_pwd_register();
1438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_PWD */
1448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
14534af306c42b7ccf956508e7cd23f0ba90606e360Dmitry Shmidt#ifdef EAP_EKE
14634af306c42b7ccf956508e7cd23f0ba90606e360Dmitry Shmidt	if (ret == 0)
14734af306c42b7ccf956508e7cd23f0ba90606e360Dmitry Shmidt		ret = eap_peer_eke_register();
14834af306c42b7ccf956508e7cd23f0ba90606e360Dmitry Shmidt#endif /* EAP_EKE */
14934af306c42b7ccf956508e7cd23f0ba90606e360Dmitry Shmidt
1508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_IDENTITY
1518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_identity_register();
1538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_IDENTITY */
1548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_MD5
1568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_md5_register();
1588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_MD5 */
1598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_TLS
1618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_tls_register();
1638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_TLS */
1648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
16561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#ifdef EAP_SERVER_UNAUTH_TLS
16661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt	if (ret == 0)
16761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt		ret = eap_server_unauth_tls_register();
16861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#endif /* EAP_SERVER_UNAUTH_TLS */
16961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
1708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_MSCHAPV2
1718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_mschapv2_register();
1738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_MSCHAPV2 */
1748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_PEAP
1768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_peap_register();
1788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_PEAP */
1798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_TLV
1818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_tlv_register();
1838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_TLV */
1848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_GTC
1868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_gtc_register();
1888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_GTC */
1898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_TTLS
1918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_ttls_register();
1938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_TTLS */
1948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_SIM
1968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
1978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_sim_register();
1988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_SIM */
1998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_AKA
2018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_aka_register();
2038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_AKA */
2048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_AKA_PRIME
2068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_aka_prime_register();
2088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_AKA_PRIME */
2098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_PAX
2118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_pax_register();
2138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_PAX */
2148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_PSK
2168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_psk_register();
2188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_PSK */
2198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_SAKE
2218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_sake_register();
2238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_SAKE */
2248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_GPSK
2268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_gpsk_register();
2288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_GPSK */
2298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_VENDOR_TEST
2318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_vendor_test_register();
2338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_VENDOR_TEST */
2348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_FAST
2368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_fast_register();
2388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_FAST */
2398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_WSC
2418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_wsc_register();
2438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_WSC */
2448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_IKEV2
2468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_ikev2_register();
2488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_IKEV2 */
2498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_TNC
2518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_tnc_register();
2538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_TNC */
2548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef EAP_SERVER_PWD
2568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if (ret == 0)
2578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		ret = eap_server_pwd_register();
2588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_SERVER_PWD */
2598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	return ret;
2618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}
262