gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r25350 - gnunet/src/mesh


From: gnunet
Subject: [GNUnet-SVN] r25350 - gnunet/src/mesh
Date: Mon, 10 Dec 2012 13:50:48 +0100

Author: bartpolot
Date: 2012-12-10 13:50:48 +0100 (Mon, 10 Dec 2012)
New Revision: 25350

Modified:
   gnunet/src/mesh/gnunet-service-mesh.c
Log:
- handle errors more gracefully, be more verbose for debug

Modified: gnunet/src/mesh/gnunet-service-mesh.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh.c       2012-12-10 12:41:05 UTC (rev 
25349)
+++ gnunet/src/mesh/gnunet-service-mesh.c       2012-12-10 12:50:48 UTC (rev 
25350)
@@ -5955,6 +5955,7 @@
   struct MeshPeerInfo *peer_info;
   struct MeshTunnel *t;
   struct MeshTunnelChildInfo *cinfo;
+  GNUNET_PEER_Id predecessor;
   size_t size;
   uint32_t pid;
 
@@ -6034,7 +6035,24 @@
     GNUNET_break (0);
     return GNUNET_OK;
   }
-  GNUNET_PEER_resolve (tree_get_predecessor (t->tree), &id);
+  predecessor = tree_get_predecessor (t->tree);
+  if (0 == predecessor)
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 
+                "unknown to origin at %s\n",
+                GNUNET_i2s (&my_full_id));
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 
+                "from peer %s\n",
+                GNUNET_i2s (peer));
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 
+                "for tunnel %s [%X]\n",
+                GNUNET_i2s (&msg->oid), ntohl(msg->tid));
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 
+                "current tree:\n");
+    tree_debug (t->tree);
+    return GNUNET_OK;
+  }
+  GNUNET_PEER_resolve (predecessor, &id);
   send_prebuilt_message (message, &id, t);
   GNUNET_STATISTICS_update (stats, "# to origin forwarded", 1, GNUNET_NO);
 




reply via email to

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