xref: /freebsd/contrib/wpa/hostapd/eap_register.c (revision e28a4053)
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_server/eap_methods.h"
19 #include "eap_register.h"
20 
21 
22 /**
23  * eap_server_register_methods - Register statically linked EAP server 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  */
29 int eap_server_register_methods(void)
30 {
31 	int ret = 0;
32 
33 #ifdef EAP_SERVER_IDENTITY
34 	if (ret == 0)
35 		ret = eap_server_identity_register();
36 #endif /* EAP_SERVER_IDENTITY */
37 
38 #ifdef EAP_SERVER_MD5
39 	if (ret == 0)
40 		ret = eap_server_md5_register();
41 #endif /* EAP_SERVER_MD5 */
42 
43 #ifdef EAP_SERVER_TLS
44 	if (ret == 0)
45 		ret = eap_server_tls_register();
46 #endif /* EAP_SERVER_TLS */
47 
48 #ifdef EAP_SERVER_MSCHAPV2
49 	if (ret == 0)
50 		ret = eap_server_mschapv2_register();
51 #endif /* EAP_SERVER_MSCHAPV2 */
52 
53 #ifdef EAP_SERVER_PEAP
54 	if (ret == 0)
55 		ret = eap_server_peap_register();
56 #endif /* EAP_SERVER_PEAP */
57 
58 #ifdef EAP_SERVER_TLV
59 	if (ret == 0)
60 		ret = eap_server_tlv_register();
61 #endif /* EAP_SERVER_TLV */
62 
63 #ifdef EAP_SERVER_GTC
64 	if (ret == 0)
65 		ret = eap_server_gtc_register();
66 #endif /* EAP_SERVER_GTC */
67 
68 #ifdef EAP_SERVER_TTLS
69 	if (ret == 0)
70 		ret = eap_server_ttls_register();
71 #endif /* EAP_SERVER_TTLS */
72 
73 #ifdef EAP_SERVER_SIM
74 	if (ret == 0)
75 		ret = eap_server_sim_register();
76 #endif /* EAP_SERVER_SIM */
77 
78 #ifdef EAP_SERVER_AKA
79 	if (ret == 0)
80 		ret = eap_server_aka_register();
81 #endif /* EAP_SERVER_AKA */
82 
83 #ifdef EAP_SERVER_AKA_PRIME
84 	if (ret == 0)
85 		ret = eap_server_aka_prime_register();
86 #endif /* EAP_SERVER_AKA_PRIME */
87 
88 #ifdef EAP_SERVER_PAX
89 	if (ret == 0)
90 		ret = eap_server_pax_register();
91 #endif /* EAP_SERVER_PAX */
92 
93 #ifdef EAP_SERVER_PSK
94 	if (ret == 0)
95 		ret = eap_server_psk_register();
96 #endif /* EAP_SERVER_PSK */
97 
98 #ifdef EAP_SERVER_SAKE
99 	if (ret == 0)
100 		ret = eap_server_sake_register();
101 #endif /* EAP_SERVER_SAKE */
102 
103 #ifdef EAP_SERVER_GPSK
104 	if (ret == 0)
105 		ret = eap_server_gpsk_register();
106 #endif /* EAP_SERVER_GPSK */
107 
108 #ifdef EAP_SERVER_VENDOR_TEST
109 	if (ret == 0)
110 		ret = eap_server_vendor_test_register();
111 #endif /* EAP_SERVER_VENDOR_TEST */
112 
113 #ifdef EAP_SERVER_FAST
114 	if (ret == 0)
115 		ret = eap_server_fast_register();
116 #endif /* EAP_SERVER_FAST */
117 
118 #ifdef EAP_SERVER_WSC
119 	if (ret == 0)
120 		ret = eap_server_wsc_register();
121 #endif /* EAP_SERVER_WSC */
122 
123 #ifdef EAP_SERVER_IKEV2
124 	if (ret == 0)
125 		ret = eap_server_ikev2_register();
126 #endif /* EAP_SERVER_IKEV2 */
127 
128 #ifdef EAP_SERVER_TNC
129 	if (ret == 0)
130 		ret = eap_server_tnc_register();
131 #endif /* EAP_SERVER_TNC */
132 
133 	return ret;
134 }
135