eap-radius: Add option to set interval for interim accounting updates
Any interval returned by the RADIUS server in the Access-Accept message overrides the configured interval. But it might be useful if RADIUS is only used for accounting.
This commit is contained in:
@@ -5,12 +5,16 @@ charon.plugins.eap-radius.accounting_close_on_timeout = yes
|
|||||||
Close the IKE_SA if there is a timeout during interim RADIUS accounting
|
Close the IKE_SA if there is a timeout during interim RADIUS accounting
|
||||||
updates.
|
updates.
|
||||||
|
|
||||||
|
charon.plugins.eap-radius.accounting_interval = 0
|
||||||
|
Interval for interim RADIUS accounting updates, if not specified by the
|
||||||
|
RADIUS server in the Access-Accept message.
|
||||||
|
|
||||||
charon.plugins.eap-radius.accounting_requires_vip = no
|
charon.plugins.eap-radius.accounting_requires_vip = no
|
||||||
If enabled, accounting is disabled unless an IKE_SA has at least one
|
If enabled, accounting is disabled unless an IKE_SA has at least one
|
||||||
virtual IP.
|
virtual IP.
|
||||||
|
|
||||||
charon.plugins.eap-radius.class_group = no
|
charon.plugins.eap-radius.class_group = no
|
||||||
Use class attributes in RADIUS-Accept messages as group membership
|
Use class attributes in Access-Accept messages as group membership
|
||||||
information.
|
information.
|
||||||
|
|
||||||
Use the _class_ attribute sent in the RADIUS-Accept message as group
|
Use the _class_ attribute sent in the RADIUS-Accept message as group
|
||||||
|
|||||||
@@ -488,6 +488,16 @@ static void send_start(private_eap_radius_accounting_t *this, ike_sa_t *ike_sa)
|
|||||||
message->add(message, RAT_ACCT_SESSION_ID,
|
message->add(message, RAT_ACCT_SESSION_ID,
|
||||||
chunk_create(entry->sid, strlen(entry->sid)));
|
chunk_create(entry->sid, strlen(entry->sid)));
|
||||||
|
|
||||||
|
if (!entry->interim.interval)
|
||||||
|
{
|
||||||
|
entry->interim.interval = lib->settings->get_time(lib->settings,
|
||||||
|
"%s.plugins.eap-radius.accounting_interval", 0, lib->ns);
|
||||||
|
if (entry->interim.interval)
|
||||||
|
{
|
||||||
|
DBG1(DBG_CFG, "scheduling RADIUS Interim-Updates every %us",
|
||||||
|
entry->interim.interval);
|
||||||
|
}
|
||||||
|
}
|
||||||
schedule_interim(this, entry);
|
schedule_interim(this, entry);
|
||||||
this->mutex->unlock(this->mutex);
|
this->mutex->unlock(this->mutex);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user