[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r26286 - gnunet/src/core
From: |
gnunet |
Subject: |
[GNUnet-SVN] r26286 - gnunet/src/core |
Date: |
Mon, 4 Mar 2013 06:30:26 +0100 |
Author: grothoff
Date: 2013-03-04 06:30:26 +0100 (Mon, 04 Mar 2013)
New Revision: 26286
Modified:
gnunet/src/core/gnunet-service-core_kx.c
gnunet/src/core/gnunet-service-core_neighbours.c
Log:
-trying to fix rekeying (#2812)
Modified: gnunet/src/core/gnunet-service-core_kx.c
===================================================================
--- gnunet/src/core/gnunet-service-core_kx.c 2013-03-04 05:12:14 UTC (rev
26285)
+++ gnunet/src/core/gnunet-service-core_kx.c 2013-03-04 05:30:26 UTC (rev
26286)
@@ -693,6 +693,7 @@
void
GSC_KX_stop (struct GSC_KeyExchangeInfo *kx)
{
+ GSC_SESSIONS_end (&kx->peer);
GNUNET_STATISTICS_update (GSC_stats, gettext_noop ("# key exchanges
stopped"),
1, GNUNET_NO);
if (kx->retry_set_key_task != GNUNET_SCHEDULER_NO_TASK)
@@ -838,8 +839,7 @@
GNUNET_break_op (0);
break;
case KX_STATE_KEY_SENT:
- kx->status = KX_STATE_KEY_RECEIVED;
- send_key (kx);
+ /* fine, need to send our key after updating our status, see below */
break;
case KX_STATE_KEY_RECEIVED:
case KX_STATE_UP:
@@ -855,22 +855,31 @@
{
case KX_STATE_DOWN:
kx->status = KX_STATE_KEY_RECEIVED;
+ if (KX_STATE_KEY_SENT == sender_status)
+ send_key (kx);
send_ping (kx);
break;
case KX_STATE_KEY_SENT:
kx->status = KX_STATE_KEY_RECEIVED;
+ if (KX_STATE_KEY_SENT == sender_status)
+ send_key (kx);
send_ping (kx);
break;
case KX_STATE_KEY_RECEIVED:
+ if (KX_STATE_KEY_SENT == sender_status)
+ send_key (kx);
send_ping (kx);
break;
case KX_STATE_UP:
kx->status = KX_STATE_REKEY_SENT;
+ if (KX_STATE_KEY_SENT == sender_status)
+ send_key (kx);
/* we got a new key, need to reconfirm! */
send_ping (kx);
break;
case KX_STATE_REKEY_SENT:
- kx->status = KX_STATE_REKEY_SENT;
+ if (KX_STATE_KEY_SENT == sender_status)
+ send_key (kx);
/* we got a new key, need to reconfirm! */
send_ping (kx);
break;
Modified: gnunet/src/core/gnunet-service-core_neighbours.c
===================================================================
--- gnunet/src/core/gnunet-service-core_neighbours.c 2013-03-04 05:12:14 UTC
(rev 26285)
+++ gnunet/src/core/gnunet-service-core_neighbours.c 2013-03-04 05:30:26 UTC
(rev 26286)
@@ -162,7 +162,6 @@
gettext_noop
("# sessions terminated by transport disconnect"),
1, GNUNET_NO);
- GSC_SESSIONS_end (&n->peer);
if (NULL != n->kxinfo)
{
GSC_KX_stop (n->kxinfo);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r26286 - gnunet/src/core,
gnunet <=