#include "eap_radius.h"
#include "eap_radius_accounting.h"
+#include "eap_radius_dae.h"
#include "radius_client.h"
#include "radius_server.h"
* RADIUS sessions for accounting
*/
eap_radius_accounting_t *accounting;
+
+ /**
+ * Dynamic authorization extensions
+ */
+ eap_radius_dae_t *dae;
};
/**
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);
{
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;
}