+ /* FIXME: verify payload is OK!? */
+ return GNUNET_OK;
+}
+
+
+/**
+ * Handle a `struct TrailRouteMessage`.
+ *
+ * @param cls closure
+ * @param trm the finger destroy message
+ */
+static void
+handle_dht_p2p_trail_route (void *cls,
+ const struct TrailRouteMessage *trm)
+{
+ static const struct TrailHandler handlers[] = {
+ { &handle_dht_p2p_successor_find, NULL,
+ GNUNET_MESSAGE_TYPE_WDHT_SUCCESSOR_FIND,
+ sizeof (struct FindSuccessorMessage) },
+ { &handle_dht_p2p_peer_get, NULL,
+ GNUNET_MESSAGE_TYPE_WDHT_GET,
+ 0 },
+ { &handle_dht_p2p_peer_get_result, NULL,
+ GNUNET_MESSAGE_TYPE_WDHT_GET_RESULT,
+ 0 },
+ { &handle_dht_p2p_peer_put, NULL,
+ GNUNET_MESSAGE_TYPE_WDHT_PUT,
+ 0 },
+ { NULL, NULL, 0, 0 }
+ };
+ struct FriendInfo *sender = cls;
+ unsigned int i;
+ const struct GNUNET_PeerIdentity *path;
+ uint16_t path_length;
+ const struct GNUNET_MessageHeader *payload;
+ const struct TrailHandler *th;
+ struct Trail *trail;