aboutsummaryrefslogtreecommitdiff
path: root/src/fs/gnunet-service-fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fs/gnunet-service-fs.c')
-rw-r--r--src/fs/gnunet-service-fs.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/fs/gnunet-service-fs.c b/src/fs/gnunet-service-fs.c
index 41be75e98..84a4f1d65 100644
--- a/src/fs/gnunet-service-fs.c
+++ b/src/fs/gnunet-service-fs.c
@@ -545,7 +545,12 @@ struct PendingRequest
545 /** 545 /**
546 * Remove this request after transmission of the current response. 546 * Remove this request after transmission of the current response.
547 */ 547 */
548 int do_remove; 548 int16_t do_remove;
549
550 /**
551 * GNUNET_YES if we should not forward this request to other peers.
552 */
553 int16_t local_only;
549 554
550}; 555};
551 556
@@ -1600,6 +1605,8 @@ forward_request_task (void *cls,
1600#endif 1605#endif
1601 return; /* already pending */ 1606 return; /* already pending */
1602 } 1607 }
1608 if (GNUNET_YES == pr->local_only)
1609 return; /* configured to not do P2P search */
1603 /* (1) select target */ 1610 /* (1) select target */
1604 psc.pr = pr; 1611 psc.pr = pr;
1605 psc.target_score = DBL_MIN; 1612 psc.target_score = DBL_MIN;
@@ -2783,6 +2790,10 @@ handle_start_search (void *cls,
2783 pr->anonymity_level = ntohl (sm->anonymity_level); 2790 pr->anonymity_level = ntohl (sm->anonymity_level);
2784 refresh_bloomfilter (pr); 2791 refresh_bloomfilter (pr);
2785 pr->query = sm->query; 2792 pr->query = sm->query;
2793 if (0 == (1 & ntohl (sm->options)))
2794 pr->local_only = GNUNET_NO;
2795 else
2796 pr->local_only = GNUNET_YES;
2786 switch (type) 2797 switch (type)
2787 { 2798 {
2788 case GNUNET_BLOCK_TYPE_DBLOCK: 2799 case GNUNET_BLOCK_TYPE_DBLOCK: