aboutsummaryrefslogtreecommitdiff
path: root/src/scalarproduct/gnunet-service-scalarproduct_alice.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2014-12-11 21:55:36 +0000
committerChristian Grothoff <christian@grothoff.org>2014-12-11 21:55:36 +0000
commitaddd20663f6f7ccdd666af0bc07b41c384e956a2 (patch)
tree699b69ec8adde0972ef57b3e7b6737b7ee66ad92 /src/scalarproduct/gnunet-service-scalarproduct_alice.c
parentdcc098d1fdefcb74bed0a6ff6f81347500367ab6 (diff)
downloadgnunet-addd20663f6f7ccdd666af0bc07b41c384e956a2.tar.gz
gnunet-addd20663f6f7ccdd666af0bc07b41c384e956a2.zip
-fix bugs
Diffstat (limited to 'src/scalarproduct/gnunet-service-scalarproduct_alice.c')
-rw-r--r--src/scalarproduct/gnunet-service-scalarproduct_alice.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/scalarproduct/gnunet-service-scalarproduct_alice.c b/src/scalarproduct/gnunet-service-scalarproduct_alice.c
index be5ae1e13..3642ff09c 100644
--- a/src/scalarproduct/gnunet-service-scalarproduct_alice.c
+++ b/src/scalarproduct/gnunet-service-scalarproduct_alice.c
@@ -861,7 +861,7 @@ element_cmp (const void *a,
861 * Maximum number of elements we can put into a single cryptodata 861 * Maximum number of elements we can put into a single cryptodata
862 * message 862 * message
863 */ 863 */
864#define ELEMENT_CAPACITY ((GNUNET_CONSTANTS_MAX_CADET_MESSAGE_SIZE - sizeof (struct AliceCryptodataMessage)) / sizeof (struct GNUNET_CRYPTO_PaillierCiphertext)) 864#define ELEMENT_CAPACITY ((GNUNET_CONSTANTS_MAX_CADET_MESSAGE_SIZE - 1 - sizeof (struct AliceCryptodataMessage)) / sizeof (struct GNUNET_CRYPTO_PaillierCiphertext))
865 865
866 866
867/** 867/**
@@ -911,15 +911,16 @@ send_alices_cryptodata_message (struct AliceServiceSession *s)
911 msg->contained_element_count = htonl (todo_count); 911 msg->contained_element_count = htonl (todo_count);
912 payload = (struct GNUNET_CRYPTO_PaillierCiphertext *) &msg[1]; 912 payload = (struct GNUNET_CRYPTO_PaillierCiphertext *) &msg[1];
913 a = gcry_mpi_new (0); 913 a = gcry_mpi_new (0);
914 for (i = off; i < todo_count; i++) 914 for (i = off; i < off + todo_count; i++)
915 { 915 {
916 gcry_mpi_add (a, 916 gcry_mpi_add (a,
917 s->sorted_elements[i].value, 917 s->sorted_elements[i].value,
918 my_offset); 918 my_offset);
919 GNUNET_CRYPTO_paillier_encrypt (&my_pubkey, 919 GNUNET_assert (3 ==
920 a, 920 GNUNET_CRYPTO_paillier_encrypt (&my_pubkey,
921 3, 921 a,
922 &payload[i - off]); 922 3,
923 &payload[i - off]));
923 } 924 }
924 gcry_mpi_release (a); 925 gcry_mpi_release (a);
925 off += todo_count; 926 off += todo_count;
@@ -1321,6 +1322,7 @@ shutdown_task (void *cls,
1321{ 1322{
1322 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1323 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1323 "Shutting down, initiating cleanup.\n"); 1324 "Shutting down, initiating cleanup.\n");
1325 // FIXME: we have to cut our connections to CADET first!
1324 if (NULL != my_cadet) 1326 if (NULL != my_cadet)
1325 { 1327 {
1326 GNUNET_CADET_disconnect (my_cadet); 1328 GNUNET_CADET_disconnect (my_cadet);