aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-09-11 15:21:25 +0200
committerMartin Willi <martin@revosec.ch>2012-09-11 15:22:22 +0200
commitcf85ebbfecf506b227118f4f6b3b132cc10039b4 (patch)
tree9bfb25f7451940c64e3e215c3e3b7fb1e1ee8a98 /src
parent37095ce1c1f86de9a2e83a7030c6d0d48c4d5f98 (diff)
downloadstrongswan-cf85ebbfecf506b227118f4f6b3b132cc10039b4.tar.bz2
strongswan-cf85ebbfecf506b227118f4f6b3b132cc10039b4.tar.xz
Support RADIUS accounting when using IKEv1 with xauth-eap and eap-radius
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/plugins/eap_radius/eap_radius_accounting.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libcharon/plugins/eap_radius/eap_radius_accounting.c b/src/libcharon/plugins/eap_radius/eap_radius_accounting.c
index 33449d55f..2d9a7555c 100644
--- a/src/libcharon/plugins/eap_radius/eap_radius_accounting.c
+++ b/src/libcharon/plugins/eap_radius/eap_radius_accounting.c
@@ -285,10 +285,18 @@ METHOD(listener_t, message_hook, bool,
{
/* start accounting here, virtual IP now is set */
if (plain && ike_sa->get_state(ike_sa) == IKE_ESTABLISHED &&
- message->get_exchange_type(message) == IKE_AUTH &&
!incoming && !message->get_request(message))
{
- send_start(this, ike_sa);
+ if (ike_sa->get_version(ike_sa) == IKEV1 &&
+ message->get_exchange_type(message) == TRANSACTION)
+ {
+ send_start(this, ike_sa);
+ }
+ if (ike_sa->get_version(ike_sa) == IKEV2 &&
+ message->get_exchange_type(message) == IKE_AUTH)
+ {
+ send_start(this, ike_sa);
+ }
}
return TRUE;
}