From: Martin Willi Date: Tue, 11 Sep 2012 13:21:25 +0000 (+0200) Subject: Support RADIUS accounting when using IKEv1 with xauth-eap and eap-radius X-Git-Tag: 5.0.1~127 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cf85ebbfecf506b227118f4f6b3b132cc10039b4;p=thirdparty%2Fstrongswan.git Support RADIUS accounting when using IKEv1 with xauth-eap and eap-radius --- diff --git a/src/libcharon/plugins/eap_radius/eap_radius_accounting.c b/src/libcharon/plugins/eap_radius/eap_radius_accounting.c index 33449d55f7..2d9a7555c5 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; }