From: Tobias Brunner Date: Tue, 2 Jun 2015 13:18:52 +0000 (+0200) Subject: eap-radius: Don't send RADIUS Accounting Start messages twice X-Git-Tag: 5.3.3dr4~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d04b09337481c29ea28c6e0d7b89f03cec7e40e5;p=thirdparty%2Fstrongswan.git eap-radius: Don't send RADIUS Accounting Start messages twice If a client does Mode Config during reauthentication the assign_vips() event might be triggered twice, we should not send another Start message in that case. Fixes #937. --- diff --git a/src/libcharon/plugins/eap_radius/eap_radius_accounting.c b/src/libcharon/plugins/eap_radius/eap_radius_accounting.c index 7a76fdd073..c6bbb737b6 100644 --- a/src/libcharon/plugins/eap_radius/eap_radius_accounting.c +++ b/src/libcharon/plugins/eap_radius/eap_radius_accounting.c @@ -694,6 +694,11 @@ static void send_start(private_eap_radius_accounting_t *this, ike_sa_t *ike_sa) entry = get_or_create_entry(this, ike_sa->get_id(ike_sa), ike_sa->get_unique_id(ike_sa)); + if (entry->start_sent) + { + this->mutex->unlock(this->mutex); + return; + } entry->start_sent = TRUE; message = radius_message_create(RMC_ACCOUNTING_REQUEST);