aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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);