[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r25547 - gnunet/src/mesh
From: |
gnunet |
Subject: |
[GNUnet-SVN] r25547 - gnunet/src/mesh |
Date: |
Wed, 19 Dec 2012 14:02:42 +0100 |
Author: bartpolot
Date: 2012-12-19 14:02:42 +0100 (Wed, 19 Dec 2012)
New Revision: 25547
Modified:
gnunet/src/mesh/plugin_block_mesh.c
Log:
-prevent looping of mesh messages in the DHT
Modified: gnunet/src/mesh/plugin_block_mesh.c
===================================================================
--- gnunet/src/mesh/plugin_block_mesh.c 2012-12-19 13:02:12 UTC (rev 25546)
+++ gnunet/src/mesh/plugin_block_mesh.c 2012-12-19 13:02:42 UTC (rev 25547)
@@ -77,6 +77,22 @@
return GNUNET_BLOCK_EVALUATION_REQUEST_VALID;
if (sizeof (struct PBlock) != reply_block_size)
return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
+ if (NULL != bf)
+ {
+ GNUNET_CRYPTO_hash (reply_block, reply_block_size, &chash);
+ GNUNET_BLOCK_mingle_hash (&chash, bf_mutator, &mhash);
+ if (NULL != *bf)
+ {
+ if (GNUNET_YES == GNUNET_CONTAINER_bloomfilter_test (*bf, &mhash))
+ return GNUNET_BLOCK_EVALUATION_OK_DUPLICATE;
+ }
+ else
+ {
+ *bf = GNUNET_CONTAINER_bloomfilter_init (NULL, 8, BLOOMFILTER_K);
+ }
+ GNUNET_CONTAINER_bloomfilter_add (*bf, &mhash);
+ }
+
return GNUNET_BLOCK_EVALUATION_OK_LAST;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r25547 - gnunet/src/mesh,
gnunet <=