1214503Srpaulo/*
2214503Srpaulo * EAP method registration
3214503Srpaulo * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi>
4214503Srpaulo *
5252726Srpaulo * This software may be distributed under the terms of the BSD license.
6252726Srpaulo * See README for more details.
7214503Srpaulo */
8214503Srpaulo
9214503Srpaulo#include "includes.h"
10214503Srpaulo
11214503Srpaulo#include "common.h"
12214503Srpaulo#include "eap_server/eap_methods.h"
13214503Srpaulo#include "eap_register.h"
14214503Srpaulo
15214503Srpaulo
16214503Srpaulo/**
17214503Srpaulo * eap_server_register_methods - Register statically linked EAP server methods
18214503Srpaulo * Returns: 0 on success, -1 or -2 on failure
19214503Srpaulo *
20214503Srpaulo * This function is called at program initialization to register all EAP
21214503Srpaulo * methods that were linked in statically.
22214503Srpaulo */
23214503Srpauloint eap_server_register_methods(void)
24214503Srpaulo{
25214503Srpaulo	int ret = 0;
26214503Srpaulo
27214503Srpaulo#ifdef EAP_SERVER_IDENTITY
28214503Srpaulo	if (ret == 0)
29214503Srpaulo		ret = eap_server_identity_register();
30214503Srpaulo#endif /* EAP_SERVER_IDENTITY */
31214503Srpaulo
32214503Srpaulo#ifdef EAP_SERVER_MD5
33214503Srpaulo	if (ret == 0)
34214503Srpaulo		ret = eap_server_md5_register();
35214503Srpaulo#endif /* EAP_SERVER_MD5 */
36214503Srpaulo
37214503Srpaulo#ifdef EAP_SERVER_TLS
38214503Srpaulo	if (ret == 0)
39214503Srpaulo		ret = eap_server_tls_register();
40214503Srpaulo#endif /* EAP_SERVER_TLS */
41214503Srpaulo
42252726Srpaulo#ifdef EAP_SERVER_UNAUTH_TLS
43252726Srpaulo	if (ret == 0)
44252726Srpaulo		ret = eap_server_unauth_tls_register();
45252726Srpaulo#endif /* EAP_SERVER_TLS */
46252726Srpaulo
47214503Srpaulo#ifdef EAP_SERVER_MSCHAPV2
48214503Srpaulo	if (ret == 0)
49214503Srpaulo		ret = eap_server_mschapv2_register();
50214503Srpaulo#endif /* EAP_SERVER_MSCHAPV2 */
51214503Srpaulo
52214503Srpaulo#ifdef EAP_SERVER_PEAP
53214503Srpaulo	if (ret == 0)
54214503Srpaulo		ret = eap_server_peap_register();
55214503Srpaulo#endif /* EAP_SERVER_PEAP */
56214503Srpaulo
57214503Srpaulo#ifdef EAP_SERVER_TLV
58214503Srpaulo	if (ret == 0)
59214503Srpaulo		ret = eap_server_tlv_register();
60214503Srpaulo#endif /* EAP_SERVER_TLV */
61214503Srpaulo
62214503Srpaulo#ifdef EAP_SERVER_GTC
63214503Srpaulo	if (ret == 0)
64214503Srpaulo		ret = eap_server_gtc_register();
65214503Srpaulo#endif /* EAP_SERVER_GTC */
66214503Srpaulo
67214503Srpaulo#ifdef EAP_SERVER_TTLS
68214503Srpaulo	if (ret == 0)
69214503Srpaulo		ret = eap_server_ttls_register();
70214503Srpaulo#endif /* EAP_SERVER_TTLS */
71214503Srpaulo
72214503Srpaulo#ifdef EAP_SERVER_SIM
73214503Srpaulo	if (ret == 0)
74214503Srpaulo		ret = eap_server_sim_register();
75214503Srpaulo#endif /* EAP_SERVER_SIM */
76214503Srpaulo
77214503Srpaulo#ifdef EAP_SERVER_AKA
78214503Srpaulo	if (ret == 0)
79214503Srpaulo		ret = eap_server_aka_register();
80214503Srpaulo#endif /* EAP_SERVER_AKA */
81214503Srpaulo
82214503Srpaulo#ifdef EAP_SERVER_AKA_PRIME
83214503Srpaulo	if (ret == 0)
84214503Srpaulo		ret = eap_server_aka_prime_register();
85214503Srpaulo#endif /* EAP_SERVER_AKA_PRIME */
86214503Srpaulo
87214503Srpaulo#ifdef EAP_SERVER_PAX
88214503Srpaulo	if (ret == 0)
89214503Srpaulo		ret = eap_server_pax_register();
90214503Srpaulo#endif /* EAP_SERVER_PAX */
91214503Srpaulo
92214503Srpaulo#ifdef EAP_SERVER_PSK
93214503Srpaulo	if (ret == 0)
94214503Srpaulo		ret = eap_server_psk_register();
95214503Srpaulo#endif /* EAP_SERVER_PSK */
96214503Srpaulo
97214503Srpaulo#ifdef EAP_SERVER_SAKE
98214503Srpaulo	if (ret == 0)
99214503Srpaulo		ret = eap_server_sake_register();
100214503Srpaulo#endif /* EAP_SERVER_SAKE */
101214503Srpaulo
102214503Srpaulo#ifdef EAP_SERVER_GPSK
103214503Srpaulo	if (ret == 0)
104214503Srpaulo		ret = eap_server_gpsk_register();
105214503Srpaulo#endif /* EAP_SERVER_GPSK */
106214503Srpaulo
107214503Srpaulo#ifdef EAP_SERVER_VENDOR_TEST
108214503Srpaulo	if (ret == 0)
109214503Srpaulo		ret = eap_server_vendor_test_register();
110214503Srpaulo#endif /* EAP_SERVER_VENDOR_TEST */
111214503Srpaulo
112214503Srpaulo#ifdef EAP_SERVER_FAST
113214503Srpaulo	if (ret == 0)
114214503Srpaulo		ret = eap_server_fast_register();
115214503Srpaulo#endif /* EAP_SERVER_FAST */
116214503Srpaulo
117214503Srpaulo#ifdef EAP_SERVER_WSC
118214503Srpaulo	if (ret == 0)
119214503Srpaulo		ret = eap_server_wsc_register();
120214503Srpaulo#endif /* EAP_SERVER_WSC */
121214503Srpaulo
122214503Srpaulo#ifdef EAP_SERVER_IKEV2
123214503Srpaulo	if (ret == 0)
124214503Srpaulo		ret = eap_server_ikev2_register();
125214503Srpaulo#endif /* EAP_SERVER_IKEV2 */
126214503Srpaulo
127214503Srpaulo#ifdef EAP_SERVER_TNC
128214503Srpaulo	if (ret == 0)
129214503Srpaulo		ret = eap_server_tnc_register();
130214503Srpaulo#endif /* EAP_SERVER_TNC */
131214503Srpaulo
132252726Srpaulo#ifdef EAP_SERVER_PWD
133252726Srpaulo	if (ret == 0)
134252726Srpaulo		ret = eap_server_pwd_register();
135252726Srpaulo#endif /* EAP_SERVER_PWD */
136252726Srpaulo
137214503Srpaulo	return ret;
138214503Srpaulo}
139