gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r31346 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r31346 - gnunet/src/transport
Date: Fri, 13 Dec 2013 11:42:41 +0100

Author: wachs
Date: 2013-12-13 11:42:41 +0100 (Fri, 13 Dec 2013)
New Revision: 31346

Modified:
   gnunet/src/transport/gnunet-service-transport_neighbours.c
Log:
Destroy address and session if blacklist denies connection
Address suggestion requests are not need, if a request was scheduled before...


Modified: gnunet/src/transport/gnunet-service-transport_neighbours.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_neighbours.c  2013-12-13 
09:05:33 UTC (rev 31345)
+++ gnunet/src/transport/gnunet-service-transport_neighbours.c  2013-12-13 
10:42:41 UTC (rev 31346)
@@ -1817,6 +1817,15 @@
               (GNUNET_OK == result) ? "allowed" : "FORBIDDEN");
   if (GNUNET_OK == result)
     GST_ats_add_address (bcc->na.address, bcc->na.session);
+  else
+  {
+    /* Blacklist disagreed on connecting to a peer with this address
+     * Destroy address because we are not allowed to use it
+     */
+    if (NULL != bcc->na.session)
+      GNUNET_ATS_address_destroyed (GST_ats, bcc->na.address, bcc->na.session);
+    GNUNET_ATS_address_destroyed (GST_ats, bcc->na.address, NULL);
+  }
   if (NULL == (n = lookup_neighbour (peer)))
     goto cleanup; /* nobody left to care about new address */
   switch (n->state)
@@ -1851,15 +1860,9 @@
     }
     else
     {
-      // FIXME: should also possibly destroy session with plugin!?
-      GNUNET_ATS_address_destroyed (GST_ats,
-                                   bcc->na.address,
-                                   NULL);
       free_address (&n->primary_address);
       n->state = S_INIT_ATS;
       n->timeout = GNUNET_TIME_relative_to_absolute (ATS_RESPONSE_TIMEOUT);
-      // FIXME: do we need to ask ATS again for suggestions?
-      n->suggest_handle = GNUNET_ATS_suggest_address (GST_ats, &n->id);
     }
     break;
   case S_CONNECT_SENT:
@@ -1912,15 +1915,10 @@
         break;
       }
       GNUNET_break (NULL != plugin);
-      GNUNET_ATS_address_destroyed (GST_ats,
-                                    bcc->na.address,
-                                    NULL);
       free_address (&n->primary_address);
       n->state = S_INIT_ATS;
       n->timeout = GNUNET_TIME_relative_to_absolute (ATS_RESPONSE_TIMEOUT);
-      // FIXME: do we need to ask ATS again for suggestions?
       GNUNET_ATS_reset_backoff (GST_ats, peer);
-      n->suggest_handle = GNUNET_ATS_suggest_address (GST_ats, &n->id);
     }
     break;
   case S_CONNECT_RECV_ACK:
@@ -1959,13 +1957,8 @@
     }
     else
     {
-      GNUNET_ATS_address_destroyed (GST_ats,
-                                   bcc->na.address,
-                                   NULL);
       n->state = S_RECONNECT_ATS;
       n->timeout = GNUNET_TIME_relative_to_absolute (ATS_RESPONSE_TIMEOUT);
-      // FIXME: do we need to ask ATS again for suggestions?
-      n->suggest_handle = GNUNET_ATS_suggest_address (GST_ats, &n->id);
     }
     break;
   case S_RECONNECT_SENT:
@@ -1989,9 +1982,6 @@
     }
     else
     {
-      GNUNET_ATS_address_destroyed (GST_ats,
-                                   bcc->na.address,
-                                   NULL);
       free_address (&n->alternative_address);
       n->state = S_CONNECTED;
     }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]