diff options
author | Martin Willi <martin@revosec.ch> | 2011-09-13 15:55:59 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2011-10-14 10:05:44 +0200 |
commit | 36b4f05b14d5dec89bab9be5ada86dea5b4d07e0 (patch) | |
tree | 3e5957bd8eaefb9a1e000bf302f07b0a24fbf076 /src/libcharon/sa/authenticators/eap/eap_method.c | |
parent | 62b9e2f9384d973f14098126944b09fa56d61d95 (diff) | |
download | strongswan-36b4f05b14d5dec89bab9be5ada86dea5b4d07e0.tar.bz2 strongswan-36b4f05b14d5dec89bab9be5ada86dea5b4d07e0.tar.xz |
Added a generic callback to register EAP methods using plugin features
Diffstat (limited to 'src/libcharon/sa/authenticators/eap/eap_method.c')
-rw-r--r-- | src/libcharon/sa/authenticators/eap/eap_method.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/libcharon/sa/authenticators/eap/eap_method.c b/src/libcharon/sa/authenticators/eap/eap_method.c index 0fa4a00c5..536dab708 100644 --- a/src/libcharon/sa/authenticators/eap/eap_method.c +++ b/src/libcharon/sa/authenticators/eap/eap_method.c @@ -15,8 +15,28 @@ #include "eap_method.h" +#include <daemon.h> + ENUM(eap_role_names, EAP_SERVER, EAP_PEER, "EAP_SERVER", "EAP_PEER", ); +/** + * See header + */ +bool eap_method_register(plugin_t *plugin, plugin_feature_t *feature, + bool reg, void *data) +{ + if (reg) + { + charon->eap->add_method(charon->eap, feature->eap, 0, + feature->type == FEATURE_EAP_SERVER ? EAP_SERVER : EAP_PEER, + (eap_constructor_t)data); + } + else + { + charon->eap->remove_method(charon->eap, (eap_constructor_t)data); + } + return TRUE; +} |