18dbcf02cSchristos /* 28dbcf02cSchristos * EAP method registration 38dbcf02cSchristos * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> 48dbcf02cSchristos * 5e604d861Schristos * This software may be distributed under the terms of the BSD license. 6e604d861Schristos * See README for more details. 78dbcf02cSchristos */ 88dbcf02cSchristos 98dbcf02cSchristos #include "includes.h" 108dbcf02cSchristos 118dbcf02cSchristos #include "common.h" 128dbcf02cSchristos #include "eap_server/eap_methods.h" 138dbcf02cSchristos #include "eap_register.h" 148dbcf02cSchristos 158dbcf02cSchristos 168dbcf02cSchristos /** 178dbcf02cSchristos * eap_server_register_methods - Register statically linked EAP server methods 188dbcf02cSchristos * Returns: 0 on success, -1 or -2 on failure 198dbcf02cSchristos * 208dbcf02cSchristos * This function is called at program initialization to register all EAP 218dbcf02cSchristos * methods that were linked in statically. 228dbcf02cSchristos */ eap_server_register_methods(void)238dbcf02cSchristosint eap_server_register_methods(void) 248dbcf02cSchristos { 258dbcf02cSchristos int ret = 0; 268dbcf02cSchristos 278dbcf02cSchristos #ifdef EAP_SERVER_IDENTITY 288dbcf02cSchristos if (ret == 0) 298dbcf02cSchristos ret = eap_server_identity_register(); 308dbcf02cSchristos #endif /* EAP_SERVER_IDENTITY */ 318dbcf02cSchristos 328dbcf02cSchristos #ifdef EAP_SERVER_MD5 338dbcf02cSchristos if (ret == 0) 348dbcf02cSchristos ret = eap_server_md5_register(); 358dbcf02cSchristos #endif /* EAP_SERVER_MD5 */ 368dbcf02cSchristos 378dbcf02cSchristos #ifdef EAP_SERVER_TLS 388dbcf02cSchristos if (ret == 0) 398dbcf02cSchristos ret = eap_server_tls_register(); 408dbcf02cSchristos #endif /* EAP_SERVER_TLS */ 418dbcf02cSchristos 42e604d861Schristos #ifdef EAP_SERVER_UNAUTH_TLS 43e604d861Schristos if (ret == 0) 44e604d861Schristos ret = eap_server_unauth_tls_register(); 45e604d861Schristos #endif /* EAP_SERVER_TLS */ 46e604d861Schristos 473c260e60Schristos #ifdef EAP_SERVER_TLS 483c260e60Schristos #ifdef CONFIG_HS20 493c260e60Schristos if (ret == 0) 503c260e60Schristos ret = eap_server_wfa_unauth_tls_register(); 513c260e60Schristos #endif /* CONFIG_HS20 */ 523c260e60Schristos #endif /* EAP_SERVER_TLS */ 533c260e60Schristos 548dbcf02cSchristos #ifdef EAP_SERVER_MSCHAPV2 558dbcf02cSchristos if (ret == 0) 568dbcf02cSchristos ret = eap_server_mschapv2_register(); 578dbcf02cSchristos #endif /* EAP_SERVER_MSCHAPV2 */ 588dbcf02cSchristos 598dbcf02cSchristos #ifdef EAP_SERVER_PEAP 608dbcf02cSchristos if (ret == 0) 618dbcf02cSchristos ret = eap_server_peap_register(); 628dbcf02cSchristos #endif /* EAP_SERVER_PEAP */ 638dbcf02cSchristos 648dbcf02cSchristos #ifdef EAP_SERVER_TLV 658dbcf02cSchristos if (ret == 0) 668dbcf02cSchristos ret = eap_server_tlv_register(); 678dbcf02cSchristos #endif /* EAP_SERVER_TLV */ 688dbcf02cSchristos 698dbcf02cSchristos #ifdef EAP_SERVER_GTC 708dbcf02cSchristos if (ret == 0) 718dbcf02cSchristos ret = eap_server_gtc_register(); 728dbcf02cSchristos #endif /* EAP_SERVER_GTC */ 738dbcf02cSchristos 748dbcf02cSchristos #ifdef EAP_SERVER_TTLS 758dbcf02cSchristos if (ret == 0) 768dbcf02cSchristos ret = eap_server_ttls_register(); 778dbcf02cSchristos #endif /* EAP_SERVER_TTLS */ 788dbcf02cSchristos 798dbcf02cSchristos #ifdef EAP_SERVER_SIM 808dbcf02cSchristos if (ret == 0) 818dbcf02cSchristos ret = eap_server_sim_register(); 828dbcf02cSchristos #endif /* EAP_SERVER_SIM */ 838dbcf02cSchristos 848dbcf02cSchristos #ifdef EAP_SERVER_AKA 858dbcf02cSchristos if (ret == 0) 868dbcf02cSchristos ret = eap_server_aka_register(); 878dbcf02cSchristos #endif /* EAP_SERVER_AKA */ 888dbcf02cSchristos 898dbcf02cSchristos #ifdef EAP_SERVER_AKA_PRIME 908dbcf02cSchristos if (ret == 0) 918dbcf02cSchristos ret = eap_server_aka_prime_register(); 928dbcf02cSchristos #endif /* EAP_SERVER_AKA_PRIME */ 938dbcf02cSchristos 948dbcf02cSchristos #ifdef EAP_SERVER_PAX 958dbcf02cSchristos if (ret == 0) 968dbcf02cSchristos ret = eap_server_pax_register(); 978dbcf02cSchristos #endif /* EAP_SERVER_PAX */ 988dbcf02cSchristos 998dbcf02cSchristos #ifdef EAP_SERVER_PSK 1008dbcf02cSchristos if (ret == 0) 1018dbcf02cSchristos ret = eap_server_psk_register(); 1028dbcf02cSchristos #endif /* EAP_SERVER_PSK */ 1038dbcf02cSchristos 1048dbcf02cSchristos #ifdef EAP_SERVER_SAKE 1058dbcf02cSchristos if (ret == 0) 1068dbcf02cSchristos ret = eap_server_sake_register(); 1078dbcf02cSchristos #endif /* EAP_SERVER_SAKE */ 1088dbcf02cSchristos 1098dbcf02cSchristos #ifdef EAP_SERVER_GPSK 1108dbcf02cSchristos if (ret == 0) 1118dbcf02cSchristos ret = eap_server_gpsk_register(); 1128dbcf02cSchristos #endif /* EAP_SERVER_GPSK */ 1138dbcf02cSchristos 1148dbcf02cSchristos #ifdef EAP_SERVER_VENDOR_TEST 1158dbcf02cSchristos if (ret == 0) 1168dbcf02cSchristos ret = eap_server_vendor_test_register(); 1178dbcf02cSchristos #endif /* EAP_SERVER_VENDOR_TEST */ 1188dbcf02cSchristos 1198dbcf02cSchristos #ifdef EAP_SERVER_FAST 1208dbcf02cSchristos if (ret == 0) 1218dbcf02cSchristos ret = eap_server_fast_register(); 1228dbcf02cSchristos #endif /* EAP_SERVER_FAST */ 1238dbcf02cSchristos 124*3d6c0713Schristos #ifdef EAP_SERVER_TEAP 125*3d6c0713Schristos if (ret == 0) 126*3d6c0713Schristos ret = eap_server_teap_register(); 127*3d6c0713Schristos #endif /* EAP_SERVER_TEAP */ 128*3d6c0713Schristos 1298dbcf02cSchristos #ifdef EAP_SERVER_WSC 1308dbcf02cSchristos if (ret == 0) 1318dbcf02cSchristos ret = eap_server_wsc_register(); 1328dbcf02cSchristos #endif /* EAP_SERVER_WSC */ 1338dbcf02cSchristos 1348dbcf02cSchristos #ifdef EAP_SERVER_IKEV2 1358dbcf02cSchristos if (ret == 0) 1368dbcf02cSchristos ret = eap_server_ikev2_register(); 1378dbcf02cSchristos #endif /* EAP_SERVER_IKEV2 */ 1388dbcf02cSchristos 1398dbcf02cSchristos #ifdef EAP_SERVER_TNC 1408dbcf02cSchristos if (ret == 0) 1418dbcf02cSchristos ret = eap_server_tnc_register(); 1428dbcf02cSchristos #endif /* EAP_SERVER_TNC */ 1438dbcf02cSchristos 144111b9fd8Schristos #ifdef EAP_SERVER_PWD 145111b9fd8Schristos if (ret == 0) 146111b9fd8Schristos ret = eap_server_pwd_register(); 147111b9fd8Schristos #endif /* EAP_SERVER_PWD */ 148111b9fd8Schristos 1493c260e60Schristos #ifdef EAP_SERVER_EKE 1503c260e60Schristos if (ret == 0) 1513c260e60Schristos ret = eap_server_eke_register(); 1523c260e60Schristos #endif /* EAP_SERVER_EKE */ 1533c260e60Schristos 1548dbcf02cSchristos return ret; 1558dbcf02cSchristos } 156