aboutsummaryrefslogtreecommitdiff
path: root/src/block
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-09-26 20:38:18 +0000
committerChristian Grothoff <christian@grothoff.org>2011-09-26 20:38:18 +0000
commitf6618c3d5bf77c8e642039233b44bb9be3177dcd (patch)
tree3c55bd6ff2c53f1f102abb7b3924cf489ae5be2f /src/block
parent20529268519852b226a629af74bf3ddb4b070490 (diff)
downloadgnunet-f6618c3d5bf77c8e642039233b44bb9be3177dcd.tar.gz
gnunet-f6618c3d5bf77c8e642039233b44bb9be3177dcd.zip
stuff
Diffstat (limited to 'src/block')
-rw-r--r--src/block/plugin_block_fs.c54
1 files changed, 30 insertions, 24 deletions
diff --git a/src/block/plugin_block_fs.c b/src/block/plugin_block_fs.c
index f9bf4e36e..28a56526b 100644
--- a/src/block/plugin_block_fs.c
+++ b/src/block/plugin_block_fs.c
@@ -90,18 +90,21 @@ block_plugin_fs_evaluate (void *cls, enum GNUNET_BLOCK_Type type,
90 } 90 }
91 if (reply_block == NULL) 91 if (reply_block == NULL)
92 return GNUNET_BLOCK_EVALUATION_REQUEST_VALID; 92 return GNUNET_BLOCK_EVALUATION_REQUEST_VALID;
93 GNUNET_CRYPTO_hash (reply_block, reply_block_size, &chash); 93 if (NULL != bf)
94 GNUNET_BLOCK_mingle_hash (&chash, bf_mutator, &mhash); 94 {
95 if (NULL != *bf) 95 GNUNET_CRYPTO_hash (reply_block, reply_block_size, &chash);
96 { 96 GNUNET_BLOCK_mingle_hash (&chash, bf_mutator, &mhash);
97 if (GNUNET_YES == GNUNET_CONTAINER_bloomfilter_test (*bf, &mhash)) 97 if (NULL != *bf)
98 return GNUNET_BLOCK_EVALUATION_OK_DUPLICATE; 98 {
99 } 99 if (GNUNET_YES == GNUNET_CONTAINER_bloomfilter_test (*bf, &mhash))
100 else 100 return GNUNET_BLOCK_EVALUATION_OK_DUPLICATE;
101 { 101 }
102 *bf = GNUNET_CONTAINER_bloomfilter_init (NULL, 8, BLOOMFILTER_K); 102 else
103 } 103 {
104 GNUNET_CONTAINER_bloomfilter_add (*bf, &mhash); 104 *bf = GNUNET_CONTAINER_bloomfilter_init (NULL, 8, BLOOMFILTER_K);
105 }
106 GNUNET_CONTAINER_bloomfilter_add (*bf, &mhash);
107 }
105 return GNUNET_BLOCK_EVALUATION_OK_MORE; 108 return GNUNET_BLOCK_EVALUATION_OK_MORE;
106 case GNUNET_BLOCK_TYPE_FS_SBLOCK: 109 case GNUNET_BLOCK_TYPE_FS_SBLOCK:
107 if (xquery_size != sizeof (GNUNET_HashCode)) 110 if (xquery_size != sizeof (GNUNET_HashCode))
@@ -128,18 +131,21 @@ block_plugin_fs_evaluate (void *cls, enum GNUNET_BLOCK_Type type,
128 ("Reply mismatched in terms of namespace. Discarded.\n")); 131 ("Reply mismatched in terms of namespace. Discarded.\n"));
129 return GNUNET_BLOCK_EVALUATION_RESULT_INVALID; 132 return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
130 } 133 }
131 GNUNET_CRYPTO_hash (reply_block, reply_block_size, &chash); 134 if (NULL != bf)
132 GNUNET_BLOCK_mingle_hash (&chash, bf_mutator, &mhash); 135 {
133 if (NULL != *bf) 136 GNUNET_CRYPTO_hash (reply_block, reply_block_size, &chash);
134 { 137 GNUNET_BLOCK_mingle_hash (&chash, bf_mutator, &mhash);
135 if (GNUNET_YES == GNUNET_CONTAINER_bloomfilter_test (*bf, &mhash)) 138 if (NULL != *bf)
136 return GNUNET_BLOCK_EVALUATION_OK_DUPLICATE; 139 {
137 } 140 if (GNUNET_YES == GNUNET_CONTAINER_bloomfilter_test (*bf, &mhash))
138 else 141 return GNUNET_BLOCK_EVALUATION_OK_DUPLICATE;
139 { 142 }
140 *bf = GNUNET_CONTAINER_bloomfilter_init (NULL, 8, BLOOMFILTER_K); 143 else
141 } 144 {
142 GNUNET_CONTAINER_bloomfilter_add (*bf, &mhash); 145 *bf = GNUNET_CONTAINER_bloomfilter_init (NULL, 8, BLOOMFILTER_K);
146 }
147 GNUNET_CONTAINER_bloomfilter_add (*bf, &mhash);
148 }
143 return GNUNET_BLOCK_EVALUATION_OK_MORE; 149 return GNUNET_BLOCK_EVALUATION_OK_MORE;
144 default: 150 default:
145 return GNUNET_BLOCK_EVALUATION_TYPE_NOT_SUPPORTED; 151 return GNUNET_BLOCK_EVALUATION_TYPE_NOT_SUPPORTED;