gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r19974 - gnunet/src/transport
Date: Thu, 23 Feb 2012 16:34:23 +0100

Author: wachs
Date: 2012-02-23 16:34:23 +0100 (Thu, 23 Feb 2012)
New Revision: 19974

Modified:
   gnunet/src/transport/gnunet-service-transport_neighbours.c
Log:
fix: ats suggested address for unknown plugin


Modified: gnunet/src/transport/gnunet-service-transport_neighbours.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_neighbours.c  2012-02-23 
15:03:53 UTC (rev 19973)
+++ gnunet/src/transport/gnunet-service-transport_neighbours.c  2012-02-23 
15:34:23 UTC (rev 19974)
@@ -1495,7 +1495,24 @@
   /* Obtain an session for this address from plugin */
   struct GNUNET_TRANSPORT_PluginFunctions *papi;
   papi = GST_plugins_find (address->transport_name);
-  GNUNET_assert (papi != NULL);
+
+  if (papi == NULL)
+  {
+    /* we don't have the plugin for this address */
+    GNUNET_ATS_address_destroyed (GST_ats, n->address, NULL);
+
+    if (n->ats_suggest != GNUNET_SCHEDULER_NO_TASK)
+      GNUNET_SCHEDULER_cancel (n->ats_suggest);
+    n->ats_suggest =  GNUNET_SCHEDULER_add_delayed (ATS_RESPONSE_TIMEOUT,
+                                      ats_suggest_cancel,
+                                      n);
+    GNUNET_ATS_suggest_address (GST_ats, &n->id);
+    GNUNET_HELLO_address_free (n->address);
+    n->address = NULL;
+    n->session = NULL;
+    return GNUNET_NO;
+  }
+
   if (session == NULL)
   {
     n->session = papi->get_session (papi->cls, address);




reply via email to

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