aboutsummaryrefslogtreecommitdiff
path: root/src/block/plugin_block_dht.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/block/plugin_block_dht.c')
-rw-r--r--src/block/plugin_block_dht.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/block/plugin_block_dht.c b/src/block/plugin_block_dht.c
index c58615b72..f574e6d06 100644
--- a/src/block/plugin_block_dht.c
+++ b/src/block/plugin_block_dht.c
@@ -77,19 +77,21 @@ block_plugin_dht_evaluate (void *cls, enum GNUNET_BLOCK_Type type,
77 if (GNUNET_OK != GNUNET_HELLO_get_id (hello, &pid)) 77 if (GNUNET_OK != GNUNET_HELLO_get_id (hello, &pid))
78 return GNUNET_BLOCK_EVALUATION_RESULT_INVALID; 78 return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
79 if (NULL != bf) 79 if (NULL != bf)
80 {
81 GNUNET_BLOCK_mingle_hash (&pid.hashPubKey, bf_mutator, &mhash);
82 if (NULL != *bf)
83 {
84 if (GNUNET_YES == GNUNET_CONTAINER_bloomfilter_test (*bf, &mhash))
85 return GNUNET_BLOCK_EVALUATION_OK_DUPLICATE;
86 }
87 else
80 { 88 {
81 GNUNET_BLOCK_mingle_hash (&pid.hashPubKey, bf_mutator, &mhash); 89 *bf =
82 if (NULL != *bf) 90 GNUNET_CONTAINER_bloomfilter_init (NULL, 8,
83 { 91 GNUNET_CONSTANTS_BLOOMFILTER_K);
84 if (GNUNET_YES == GNUNET_CONTAINER_bloomfilter_test (*bf, &mhash))
85 return GNUNET_BLOCK_EVALUATION_OK_DUPLICATE;
86 }
87 else
88 {
89 *bf = GNUNET_CONTAINER_bloomfilter_init (NULL, 8, GNUNET_CONSTANTS_BLOOMFILTER_K);
90 }
91 GNUNET_CONTAINER_bloomfilter_add (*bf, &mhash);
92 } 92 }
93 GNUNET_CONTAINER_bloomfilter_add (*bf, &mhash);
94 }
93 return GNUNET_BLOCK_EVALUATION_OK_MORE; 95 return GNUNET_BLOCK_EVALUATION_OK_MORE;
94} 96}
95 97