diff options
-rw-r--r-- | src/core/gnunet-service-core_kx.c | 11 |
1 files 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, | |||
1559 | sign_ephemeral_key (); | 1559 | sign_ephemeral_key (); |
1560 | for (pos = kx_head; NULL != pos; pos = pos->next) | 1560 | for (pos = kx_head; NULL != pos; pos = pos->next) |
1561 | { | 1561 | { |
1562 | pos->status = KX_STATE_REKEY_SENT; | 1562 | if (KX_STATE_UP == pos->status) |
1563 | derive_session_keys (pos); | 1563 | { |
1564 | pos->status = KX_STATE_REKEY_SENT; | ||
1565 | derive_session_keys (pos); | ||
1566 | } | ||
1567 | if (KX_STATE_DOWN == pos->status) | ||
1568 | { | ||
1569 | pos->status = KX_STATE_KEY_SENT; | ||
1570 | } | ||
1564 | send_key (pos); | 1571 | send_key (pos); |
1565 | } | 1572 | } |
1566 | } | 1573 | } |