eap_register.c revision 8d520ff1dc2da35cdca849e982051b86468016d8
1/*
2 * EAP method registration
3 * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 *
9 * Alternatively, this software may be distributed under the terms of BSD
10 * license.
11 *
12 * See README and COPYING for more details.
13 */
14
15#include "includes.h"
16
17#include "common.h"
18#include "eap_peer/eap_methods.h"
19#include "eap_server/eap_methods.h"
20
21
22/**
23 * eap_register_methods - Register statically linked EAP methods
24 * Returns: 0 on success, -1 or -2 on failure
25 *
26 * This function is called at program initialization to register all EAP
27 * methods that were linked in statically.
28 */
29int eap_register_methods(void)
30{
31	int ret = 0;
32
33#ifdef EAP_MD5
34	if (ret == 0)
35		ret = eap_peer_md5_register();
36#endif /* EAP_MD5 */
37
38#ifdef EAP_TLS
39	if (ret == 0)
40		ret = eap_peer_tls_register();
41#endif /* EAP_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_MSCHAPV2
154	if (ret == 0)
155		ret = eap_server_mschapv2_register();
156#endif /* EAP_SERVER_MSCHAPV2 */
157
158#ifdef EAP_SERVER_PEAP
159	if (ret == 0)
160		ret = eap_server_peap_register();
161#endif /* EAP_SERVER_PEAP */
162
163#ifdef EAP_SERVER_TLV
164	if (ret == 0)
165		ret = eap_server_tlv_register();
166#endif /* EAP_SERVER_TLV */
167
168#ifdef EAP_SERVER_GTC
169	if (ret == 0)
170		ret = eap_server_gtc_register();
171#endif /* EAP_SERVER_GTC */
172
173#ifdef EAP_SERVER_TTLS
174	if (ret == 0)
175		ret = eap_server_ttls_register();
176#endif /* EAP_SERVER_TTLS */
177
178#ifdef EAP_SERVER_SIM
179	if (ret == 0)
180		ret = eap_server_sim_register();
181#endif /* EAP_SERVER_SIM */
182
183#ifdef EAP_SERVER_AKA
184	if (ret == 0)
185		ret = eap_server_aka_register();
186#endif /* EAP_SERVER_AKA */
187
188#ifdef EAP_SERVER_AKA_PRIME
189	if (ret == 0)
190		ret = eap_server_aka_prime_register();
191#endif /* EAP_SERVER_AKA_PRIME */
192
193#ifdef EAP_SERVER_PAX
194	if (ret == 0)
195		ret = eap_server_pax_register();
196#endif /* EAP_SERVER_PAX */
197
198#ifdef EAP_SERVER_PSK
199	if (ret == 0)
200		ret = eap_server_psk_register();
201#endif /* EAP_SERVER_PSK */
202
203#ifdef EAP_SERVER_SAKE
204	if (ret == 0)
205		ret = eap_server_sake_register();
206#endif /* EAP_SERVER_SAKE */
207
208#ifdef EAP_SERVER_GPSK
209	if (ret == 0)
210		ret = eap_server_gpsk_register();
211#endif /* EAP_SERVER_GPSK */
212
213#ifdef EAP_SERVER_VENDOR_TEST
214	if (ret == 0)
215		ret = eap_server_vendor_test_register();
216#endif /* EAP_SERVER_VENDOR_TEST */
217
218#ifdef EAP_SERVER_FAST
219	if (ret == 0)
220		ret = eap_server_fast_register();
221#endif /* EAP_SERVER_FAST */
222
223#ifdef EAP_SERVER_WSC
224	if (ret == 0)
225		ret = eap_server_wsc_register();
226#endif /* EAP_SERVER_WSC */
227
228#ifdef EAP_SERVER_IKEV2
229	if (ret == 0)
230		ret = eap_server_ikev2_register();
231#endif /* EAP_SERVER_IKEV2 */
232
233#ifdef EAP_SERVER_TNC
234	if (ret == 0)
235		ret = eap_server_tnc_register();
236#endif /* EAP_SERVER_TNC */
237
238#ifdef EAP_SERVER_PWD
239	if (ret == 0)
240		ret = eap_server_pwd_register();
241#endif /* EAP_SERVER_PWD */
242
243	return ret;
244}
245