[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r15843 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r15843 - gnunet/src/transport |
Date: |
Mon, 4 Jul 2011 15:48:08 +0200 |
Author: wachs
Date: 2011-07-04 15:48:08 +0200 (Mon, 04 Jul 2011)
New Revision: 15843
Modified:
gnunet/src/transport/gnunet-service-transport.c
Log:
fixed: do not disconnect from neighbour if an address validations fails but
other validations are still pending
Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c 2011-07-04 12:13:59 UTC
(rev 15842)
+++ gnunet/src/transport/gnunet-service-transport.c 2011-07-04 13:48:08 UTC
(rev 15843)
@@ -2708,11 +2708,25 @@
"Session was never marked as ready for peer `%4s'\n",
GNUNET_i2s(peer));
#endif
+
+ int validations_pending = GNUNET_CONTAINER_multihashmap_contains
(validation_map, &peer->hashPubKey);
+
+ /* No session was marked as ready, but we have pending validations so do
not disconnect from neighbour */
+ if (validations_pending ==GNUNET_YES)
+ {
+#if DEBUG_TRANSPORT
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Not disconnecting from peer `%4s due to pending address
validations\n", GNUNET_i2s(peer));
+#endif
+ return;
+ }
+
//FIXME: This conflicts with inbound tcp connections and tcp nat ...
debugging in progress
GNUNET_STATISTICS_update (stats,
gettext_noop ("# disconnects due to unready
session"),
1,
GNUNET_NO);
+
disconnect_neighbour (nl, GNUNET_YES);
return; /* was never marked as connected */
}
@@ -5110,6 +5124,7 @@
"Disconnecting from `%4s'\n",
GNUNET_i2s (&n->id));
#endif
+
/* remove n from neighbours list */
nprev = NULL;
npos = neighbours;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r15843 - gnunet/src/transport,
gnunet <=