aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/ha
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-01-19 15:55:29 +0100
committerMartin Willi <martin@revosec.ch>2012-03-20 17:31:37 +0100
commitae92641806c1b45d266487590f13f622c0478d1d (patch)
tree79dd328e3eea37a20a4c0ac184a50620d6ecfdb8 /src/libcharon/plugins/ha
parenta0fa7a7f64e17482f81b1e803a3d2af9408ce8c5 (diff)
downloadstrongswan-ae92641806c1b45d266487590f13f622c0478d1d.tar.bz2
strongswan-ae92641806c1b45d266487590f13f622c0478d1d.tar.xz
Create IKEv1 keymat hasher explicitly on sync
Diffstat (limited to 'src/libcharon/plugins/ha')
-rw-r--r--src/libcharon/plugins/ha/ha_dispatcher.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libcharon/plugins/ha/ha_dispatcher.c b/src/libcharon/plugins/ha/ha_dispatcher.c
index b20ced473..e3080c449 100644
--- a/src/libcharon/plugins/ha/ha_dispatcher.c
+++ b/src/libcharon/plugins/ha/ha_dispatcher.c
@@ -236,9 +236,12 @@ static void process_ike_add(private_ha_dispatcher_t *this, ha_message_t *message
method = AUTH_PSK;
shared = shared_key_create(SHARED_IKE, chunk_clone(psk));
}
- ok = keymat_v1->derive_ike_keys(keymat_v1, proposal,
- dh, dh_remote, nonce_i, nonce_r,
- ike_sa->get_id(ike_sa), method, shared);
+ if (keymat_v1->create_hasher(keymat_v1, proposal))
+ {
+ ok = keymat_v1->derive_ike_keys(keymat_v1, proposal,
+ dh, dh_remote, nonce_i, nonce_r,
+ ike_sa->get_id(ike_sa), method, shared);
+ }
DESTROY_IF(shared);
}
dh->destroy(dh);