diff options
author | Martin Willi <martin@revosec.ch> | 2012-02-22 10:37:13 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2012-03-05 18:06:13 +0100 |
commit | 6319ce63cfefce4ae322ec5c8d475dc0716a8428 (patch) | |
tree | d60c8371015bf17e1cd0b484543b8d51b31694af /src | |
parent | 85932ad24e30c0016c48d9dfbf7858e204e2c58a (diff) | |
download | strongswan-6319ce63cfefce4ae322ec5c8d475dc0716a8428.tar.bz2 strongswan-6319ce63cfefce4ae322ec5c8d475dc0716a8428.tar.xz |
Enable RADIUS DAE listening if configured
Diffstat (limited to 'src')
-rw-r--r-- | src/libcharon/plugins/eap_radius/eap_radius_plugin.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libcharon/plugins/eap_radius/eap_radius_plugin.c b/src/libcharon/plugins/eap_radius/eap_radius_plugin.c index 546736c94..62b53e5ac 100644 --- a/src/libcharon/plugins/eap_radius/eap_radius_plugin.c +++ b/src/libcharon/plugins/eap_radius/eap_radius_plugin.c @@ -17,6 +17,7 @@ #include "eap_radius.h" #include "eap_radius_accounting.h" +#include "eap_radius_dae.h" #include "radius_client.h" #include "radius_server.h" @@ -59,6 +60,11 @@ struct private_eap_radius_plugin_t { * RADIUS sessions for accounting */ eap_radius_accounting_t *accounting; + + /** + * Dynamic authorization extensions + */ + eap_radius_dae_t *dae; }; /** @@ -188,6 +194,7 @@ METHOD(plugin_t, reload, bool, METHOD(plugin_t, destroy, void, private_eap_radius_plugin_t *this) { + DESTROY_IF(this->dae); this->servers->destroy_offset(this->servers, offsetof(radius_server_t, destroy)); this->lock->destroy(this->lock); @@ -226,6 +233,12 @@ plugin_t *eap_radius_plugin_create() { charon->bus->add_listener(charon->bus, &this->accounting->listener); } + if (lib->settings->get_bool(lib->settings, + "charon.plugins.eap-radius.dae.enable", FALSE)) + { + this->dae = eap_radius_dae_create(this->accounting); + } + return &this->public.plugin; } |