From 4195efabbf904a32039936b4711abef0575e7556 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 24 Dec 2013 15:42:46 +0000 Subject: -fix possible assertion failure if rekeying is triggered on session that is not yet up --- src/core/gnunet-service-core_kx.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/core/gnunet-service-core_kx.c b/src/core/gnunet-service-core_kx.c index e5e8d54aa..e899b6ded 100644 --- a/src/core/gnunet-service-core_kx.c +++ b/src/core/gnunet-service-core_kx.c @@ -1559,8 +1559,15 @@ do_rekey (void *cls, sign_ephemeral_key (); for (pos = kx_head; NULL != pos; pos = pos->next) { - pos->status = KX_STATE_REKEY_SENT; - derive_session_keys (pos); + if (KX_STATE_UP == pos->status) + { + pos->status = KX_STATE_REKEY_SENT; + derive_session_keys (pos); + } + if (KX_STATE_DOWN == pos->status) + { + pos->status = KX_STATE_KEY_SENT; + } send_key (pos); } } -- cgit v1.2.3