[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r32378 - gnunet/src/secretsharing
From: |
gnunet |
Subject: |
[GNUnet-SVN] r32378 - gnunet/src/secretsharing |
Date: |
Mon, 17 Feb 2014 16:54:59 +0100 |
Author: dold
Date: 2014-02-17 16:54:59 +0100 (Mon, 17 Feb 2014)
New Revision: 32378
Modified:
gnunet/src/secretsharing/gnunet-service-secretsharing.c
gnunet/src/secretsharing/secretsharing_api.c
gnunet/src/secretsharing/secretsharing_common.c
gnunet/src/secretsharing/test_secretsharing_api.c
Log:
- secretsharing api test for single peer
- fixed wrong endianess conversion
Modified: gnunet/src/secretsharing/gnunet-service-secretsharing.c
===================================================================
--- gnunet/src/secretsharing/gnunet-service-secretsharing.c 2014-02-17
15:26:25 UTC (rev 32377)
+++ gnunet/src/secretsharing/gnunet-service-secretsharing.c 2014-02-17
15:54:59 UTC (rev 32378)
@@ -786,6 +786,9 @@
GNUNET_assert (GNUNET_OK == GNUNET_SECRETSHARING_share_write (share, NULL,
0, &share_size));
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "writing share of size %u\n",
+ (unsigned int) share_size);
+
ev = GNUNET_MQ_msg_extra (m, share_size,
GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_SECRET_READY);
Modified: gnunet/src/secretsharing/secretsharing_api.c
===================================================================
--- gnunet/src/secretsharing/secretsharing_api.c 2014-02-17 15:26:25 UTC
(rev 32377)
+++ gnunet/src/secretsharing/secretsharing_api.c 2014-02-17 15:54:59 UTC
(rev 32378)
@@ -144,6 +144,9 @@
const struct GNUNET_SECRETSHARING_SecretReadyMessage *m = (const void *) msg;
size_t share_size;
+ LOG (GNUNET_ERROR_TYPE_DEBUG, "got secret ready message of size %u\n",
+ ntohs (m->header.size));
+
share_size = ntohs (m->header.size) - sizeof *m;
share = GNUNET_SECRETSHARING_share_read (&m[1], share_size, NULL);
Modified: gnunet/src/secretsharing/secretsharing_common.c
===================================================================
--- gnunet/src/secretsharing/secretsharing_common.c 2014-02-17 15:26:25 UTC
(rev 32377)
+++ gnunet/src/secretsharing/secretsharing_common.c 2014-02-17 15:54:59 UTC
(rev 32378)
@@ -62,7 +62,7 @@
p += n;
n = share->num_peers * sizeof (struct GNUNET_SECRETSHARING_FieldElement);
- share->sigmas= GNUNET_malloc (n);
+ share->sigmas = GNUNET_malloc (n);
memcpy (share->sigmas, p, n);
p += n;
@@ -94,7 +94,7 @@
char *p;
int n;
- payload_size = ntohs (share->num_peers) *
+ payload_size = share->num_peers *
(sizeof (uint16_t) + sizeof (struct GNUNET_SECRETSHARING_FieldElement) +
sizeof (struct GNUNET_PeerIdentity));
Modified: gnunet/src/secretsharing/test_secretsharing_api.c
===================================================================
--- gnunet/src/secretsharing/test_secretsharing_api.c 2014-02-17 15:26:25 UTC
(rev 32377)
+++ gnunet/src/secretsharing/test_secretsharing_api.c 2014-02-17 15:54:59 UTC
(rev 32378)
@@ -1,6 +1,6 @@
/*
This file is part of GNUnet.
- (C) 2013 Christian Grothoff (and other contributing authors)
+ (C) 2014 Christian Grothoff (and other contributing authors)
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -24,10 +24,80 @@
*/
#include "platform.h"
#include "gnunet_util_lib.h"
+#include "gnunet_testing_lib.h"
+#include "gnunet_secretsharing_service.h"
+
+static int success;
+
+static struct GNUNET_SECRETSHARING_Session *keygen;
+
+
+static void secret_ready_cb (void *cls,
+ struct GNUNET_SECRETSHARING_Share *my_share,
+ struct GNUNET_SECRETSHARING_PublicKey *public_key,
+ unsigned int num_ready_peers,
+ struct GNUNET_PeerIdentity *ready_peers)
+{
+ keygen = NULL;
+ if (num_ready_peers == 1)
+ success = 1;
+ // FIXME: check that our share is valid, which we can do as there's only
+ // one peer.
+ GNUNET_SCHEDULER_shutdown ();
+}
+
+static void
+handle_shutdown (void *cls,
+ const struct GNUNET_SCHEDULER_TaskContext * tc)
+{
+ if (NULL != keygen)
+ {
+ GNUNET_SECRETSHARING_session_destroy (keygen);
+ keygen = NULL;
+ }
+}
+
+static void
+run (void *cls,
+ const struct GNUNET_CONFIGURATION_Handle *cfg,
+ struct GNUNET_TESTING_Peer *peer)
+{
+ struct GNUNET_HashCode session_id;
+ struct GNUNET_TIME_Absolute start;
+ struct GNUNET_TIME_Absolute deadline;
+
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
+ handle_shutdown, NULL);
+
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO, "testing secretsharing api\n");
+
+ GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, &session_id);
+
+ start = GNUNET_TIME_absolute_get ();
+ deadline = GNUNET_TIME_absolute_add (start, GNUNET_TIME_UNIT_SECONDS);
+
+ keygen = GNUNET_SECRETSHARING_create_session (cfg,
+ 0, NULL, /* only the local
peer */
+ &session_id,
+ start, deadline,
+ 1,
+ secret_ready_cb, NULL);
+
+
+}
+
+
int
main (int argc, char **argv)
{
- return 0;
+
+ int ret;
+ ret = GNUNET_TESTING_peer_run ("test_secretsharing_api",
+ "test_secretsharing.conf",
+ &run, NULL);
+ if (0 != ret)
+ return ret;
+ return (GNUNET_YES == success) ? 0 : 1;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r32378 - gnunet/src/secretsharing,
gnunet <=