diff options
author | Jouni Malinen <j@w1.fi> | 2009-11-29 18:57:15 +0200 |
---|---|---|
committer | Jouni Malinen <j@w1.fi> | 2009-11-29 18:57:15 +0200 |
commit | 2773ca093ee5fe3deda261110381196163edea49 (patch) | |
tree | fa2b0073f2885f66b95b0019cf26810ad1c593da /src/eap_server | |
parent | 4dbfe5c58afa4b0318d27a18c877338b81a5375e (diff) | |
download | external_wpa_supplicant_8_ti-2773ca093ee5fe3deda261110381196163edea49.zip external_wpa_supplicant_8_ti-2773ca093ee5fe3deda261110381196163edea49.tar.gz external_wpa_supplicant_8_ti-2773ca093ee5fe3deda261110381196163edea49.tar.bz2 |
Replace eap_type_text() with EAP server methods function
While this may not include knowledge of all EAP methods since this
depends on build configuration, it is better to not have to include
ieee802_1x.h into eapol_sm.c.
Diffstat (limited to 'src/eap_server')
-rw-r--r-- | src/eap_server/eap_methods.c | 24 | ||||
-rw-r--r-- | src/eap_server/eap_methods.h | 5 |
2 files changed, 25 insertions, 4 deletions
diff --git a/src/eap_server/eap_methods.c b/src/eap_server/eap_methods.c index dc9a278..a14e622 100644 --- a/src/eap_server/eap_methods.c +++ b/src/eap_server/eap_methods.c @@ -1,6 +1,6 @@ /* - * hostapd / EAP method registration - * Copyright (c) 2004-2006, Jouni Malinen <j@w1.fi> + * EAP server method registration + * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -306,3 +306,23 @@ void eap_server_unregister_methods(void) eap_server_method_free(m); } } + + +/** + * eap_server_get_name - Get EAP method name for the given EAP type + * @vendor: EAP Vendor-Id (0 = IETF) + * @type: EAP method type + * Returns: EAP method name, e.g., TLS, or %NULL if not found + * + * This function maps EAP type numbers into EAP type names based on the list of + * EAP methods included in the build. + */ +const char * eap_server_get_name(int vendor, EapType type) +{ + struct eap_method *m; + for (m = eap_methods; m; m = m->next) { + if (m->vendor == vendor && m->method == type) + return m->name; + } + return NULL; +} diff --git a/src/eap_server/eap_methods.h b/src/eap_server/eap_methods.h index 4b19e68..8d2b430 100644 --- a/src/eap_server/eap_methods.h +++ b/src/eap_server/eap_methods.h @@ -1,6 +1,6 @@ /* - * hostapd / EAP method registration - * Copyright (c) 2004-2006, Jouni Malinen <j@w1.fi> + * EAP server method registration + * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -25,5 +25,6 @@ int eap_server_method_register(struct eap_method *method); EapType eap_server_get_type(const char *name, int *vendor); int eap_server_register_methods(void); void eap_server_unregister_methods(void); +const char * eap_server_get_name(int vendor, EapType type); #endif /* EAP_SERVER_METHODS_H */ |