gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r17609 - gnunet/src/fs


From: gnunet
Subject: [GNUnet-SVN] r17609 - gnunet/src/fs
Date: Wed, 19 Oct 2011 15:31:20 +0200

Author: grothoff
Date: 2011-10-19 15:31:20 +0200 (Wed, 19 Oct 2011)
New Revision: 17609

Modified:
   gnunet/src/fs/gnunet-service-fs.c
   gnunet/src/fs/gnunet-service-fs_pe.c
   gnunet/src/fs/gnunet-service-fs_pr.c
   gnunet/src/fs/gnunet-service-fs_pr.h
Log:
do not loop back

Modified: gnunet/src/fs/gnunet-service-fs.c
===================================================================
--- gnunet/src/fs/gnunet-service-fs.c   2011-10-19 13:13:38 UTC (rev 17608)
+++ gnunet/src/fs/gnunet-service-fs.c   2011-10-19 13:31:20 UTC (rev 17609)
@@ -424,7 +424,13 @@
                               struct GSF_PendingRequest *pr)
 {
   struct GSF_ConnectedPeer *cp = cls;
+  struct GNUNET_PeerIdentity pid;
 
+  GSF_connected_peer_get_identity_ (cp, &pid);
+  if (GNUNET_YES !=
+      GSF_pending_request_test_target_ (pr,
+                                       &pid))
+    return GNUNET_YES;
   GSF_plan_add_ (cp, pr);
   return GNUNET_YES;
 }

Modified: gnunet/src/fs/gnunet-service-fs_pe.c
===================================================================
--- gnunet/src/fs/gnunet-service-fs_pe.c        2011-10-19 13:13:38 UTC (rev 
17608)
+++ gnunet/src/fs/gnunet-service-fs_pe.c        2011-10-19 13:31:20 UTC (rev 
17609)
@@ -334,7 +334,7 @@
   plan (pp, rp);
   GNUNET_STATISTICS_update (GSF_stats,
                             gettext_noop
-                            ("# queries messages sent to other peers"), 1,
+                            ("# query messages sent to other peers"), 1,
                             GNUNET_NO);
   return msize;
 }

Modified: gnunet/src/fs/gnunet-service-fs_pr.c
===================================================================
--- gnunet/src/fs/gnunet-service-fs_pr.c        2011-10-19 13:13:38 UTC (rev 
17608)
+++ gnunet/src/fs/gnunet-service-fs_pr.c        2011-10-19 13:31:20 UTC (rev 
17609)
@@ -1337,6 +1337,26 @@
 
 
 /**
+ * Is the given target a legitimate peer for forwarding the given request?
+ * 
+ * @param pr request
+ * @param target
+ * @return GNUNET_YES if this request could be forwarded to the given peer
+ */
+int
+GSF_pending_request_test_target_ (struct GSF_PendingRequest *pr,
+                                 const struct GNUNET_PeerIdentity *target)
+{
+  struct GNUNET_PeerIdentity pi;
+  
+  if (0 == pr->sender_pid)
+    return GNUNET_YES;
+  GNUNET_PEER_resolve (pr->sender_pid, &pi);
+  return (0 == memcmp (&pi, target, sizeof (struct GNUNET_PeerIdentity))) ? 
GNUNET_NO :GNUNET_YES;
+}
+
+
+/**
  * Look up the request in the local datastore.
  *
  * @param pr the pending request to process

Modified: gnunet/src/fs/gnunet-service-fs_pr.h
===================================================================
--- gnunet/src/fs/gnunet-service-fs_pr.h        2011-10-19 13:13:38 UTC (rev 
17608)
+++ gnunet/src/fs/gnunet-service-fs_pr.h        2011-10-19 13:31:20 UTC (rev 
17609)
@@ -356,6 +356,19 @@
 
 
 /**
+ * Is the given target a legitimate peer for forwarding the given request?
+ * 
+ * @param pr request
+ * @param target
+ * @return GNUNET_YES if this request could be forwarded to the given peer
+ */
+int
+GSF_pending_request_test_target_ (struct GSF_PendingRequest *pr,
+                                 const struct GNUNET_PeerIdentity *target);
+
+
+
+/**
  * Setup the subsystem.
  */
 void




reply via email to

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