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