aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/eap_radius/eap_radius_dae.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-07-05 18:11:26 +0200
committerMartin Willi <martin@revosec.ch>2012-07-16 14:53:33 +0200
commit5fb719e0de156f6940b7475f444b2d36ebbf7c8d (patch)
tree05bd2e9c90b16e4b5706b501d781ab1b57e292cc /src/libcharon/plugins/eap_radius/eap_radius_dae.c
parent264e7021099f725a2d40fd754f9668da25960a26 (diff)
downloadstrongswan-5fb719e0de156f6940b7475f444b2d36ebbf7c8d.tar.bz2
strongswan-5fb719e0de156f6940b7475f444b2d36ebbf7c8d.tar.xz
Add a return value to radius_message_t.sign()
Diffstat (limited to 'src/libcharon/plugins/eap_radius/eap_radius_dae.c')
-rw-r--r--src/libcharon/plugins/eap_radius/eap_radius_dae.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/libcharon/plugins/eap_radius/eap_radius_dae.c b/src/libcharon/plugins/eap_radius/eap_radius_dae.c
index 80da99a0f..75b7b70a7 100644
--- a/src/libcharon/plugins/eap_radius/eap_radius_dae.c
+++ b/src/libcharon/plugins/eap_radius/eap_radius_dae.c
@@ -184,11 +184,16 @@ static void send_response(private_eap_radius_dae_t *this,
response = radius_message_create(code);
response->set_identifier(response, request->get_identifier(request));
- response->sign(response, request->get_authenticator(request),
- this->secret, this->hasher, this->signer, NULL, FALSE);
-
- send_message(this, response, client);
- save_retransmit(this, response, client);
+ if (response->sign(response, request->get_authenticator(request),
+ this->secret, this->hasher, this->signer, NULL, FALSE))
+ {
+ send_message(this, response, client);
+ save_retransmit(this, response, client);
+ }
+ else
+ {
+ response->destroy(response);
+ }
}
/**