aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/ha/ha_ike.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-07-09 16:27:09 +0200
committerMartin Willi <martin@revosec.ch>2012-07-16 14:55:06 +0200
commite185612dd8011ca4f3de460640f74e6a652cbf32 (patch)
tree1b21138c50365e00e8705f32406cfe7bc8c672a2 /src/libcharon/plugins/ha/ha_ike.c
parent8bd6a30af1b745f65f60130d4735df05096e07ce (diff)
downloadstrongswan-e185612dd8011ca4f3de460640f74e6a652cbf32.tar.bz2
strongswan-e185612dd8011ca4f3de460640f74e6a652cbf32.tar.xz
Add a return value to keymat_v1_t.{get,update,confirm}_iv
Diffstat (limited to 'src/libcharon/plugins/ha/ha_ike.c')
-rw-r--r--src/libcharon/plugins/ha/ha_ike.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/libcharon/plugins/ha/ha_ike.c b/src/libcharon/plugins/ha/ha_ike.c
index 2819b9dd5..2d02917e5 100644
--- a/src/libcharon/plugins/ha/ha_ike.c
+++ b/src/libcharon/plugins/ha/ha_ike.c
@@ -302,13 +302,15 @@ METHOD(listener_t, message_hook, bool,
if (mid == 0)
{
keymat = (keymat_v1_t*)ike_sa->get_keymat(ike_sa);
- iv = keymat->get_iv(keymat, mid);
- m = ha_message_create(HA_IKE_IV);
- m->add_attribute(m, HA_IKE_ID, ike_sa->get_id(ike_sa));
- m->add_attribute(m, HA_IV, iv);
- free(iv.ptr);
- this->socket->push(this->socket, m);
- this->cache->cache(this->cache, ike_sa, m);
+ if (keymat->get_iv(keymat, mid, &iv))
+ {
+ m = ha_message_create(HA_IKE_IV);
+ m->add_attribute(m, HA_IKE_ID, ike_sa->get_id(ike_sa));
+ m->add_attribute(m, HA_IV, iv);
+ free(iv.ptr);
+ this->socket->push(this->socket, m);
+ this->cache->cache(this->cache, ike_sa, m);
+ }
}
if (!incoming && message->get_exchange_type(message) == TRANSACTION)
{