[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis] 03/03: core secret trait
From: |
gnunet |
Subject: |
[taler-anastasis] 03/03: core secret trait |
Date: |
Thu, 07 May 2020 19:10:08 +0200 |
This is an automated email from the git hooks/post-receive script.
dennis-neufeld pushed a commit to branch master
in repository anastasis.
commit b759cff348a45c9fc35fb43181180da80a070e46
Author: Dennis Neufeld <address@hidden>
AuthorDate: Thu May 7 17:09:52 2020 +0000
core secret trait
---
src/include/anastasis_testing_lib.h | 26 +++++++++++++
src/lib/Makefile.am | 1 +
src/lib/anastasis.c | 2 +
src/lib/testing_cmd_secret_share.c | 3 +-
src/lib/testing_trait_core_secret.c | 74 +++++++++++++++++++++++++++++++++++++
5 files changed, 105 insertions(+), 1 deletion(-)
diff --git a/src/include/anastasis_testing_lib.h
b/src/include/anastasis_testing_lib.h
index d91e662..acc4d05 100644
--- a/src/include/anastasis_testing_lib.h
+++ b/src/include/anastasis_testing_lib.h
@@ -567,6 +567,32 @@ ANASTASIS_TESTING_cmd_policy_create (const char *label,
/* ********************* test secret share ********************* */
+/**
+ * Obtain the core secret from @a cmd.
+ *
+ * @param cmd command to extract the core secret from.
+ * @param index the index of the core secret (usually 0)
+ * @param s[out] set to the core secret coming from @a cmd.
+ * @return #GNUNET_OK on success.
+ */
+int
+ANASTASIS_TESTING_get_trait_core_secret (const struct
+ TALER_TESTING_Command *cmd,
+ unsigned int index,
+ const void **s);
+
+
+/**
+ * Offer the core secret.
+ *
+ * @param index the core secret's index number (usually 0).
+ * @param s the core secret to offer.
+ * @return #GNUNET_OK on success.
+ */
+struct TALER_TESTING_Trait
+ANASTASIS_TESTING_make_trait_core_secret (unsigned int index,
+ const void *s);
+
/**
* Types of options for performing the secret sharing. Used as a bitmask.
*/
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index adccffd..a800bfb 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -75,6 +75,7 @@ libanastasistesting_la_SOURCES = \
testing_cmd_challenge_answer.c \
testing_trait_truth.c \
testing_trait_policy.c \
+ testing_trait_core_secret.c \
testing_trait_recovery.c \
testing_trait_challenge.c
libanastasistesting_la_LIBADD = \
diff --git a/src/lib/anastasis.c b/src/lib/anastasis.c
index 0bf6b81..6b67fdd 100644
--- a/src/lib/anastasis.c
+++ b/src/lib/anastasis.c
@@ -1558,6 +1558,8 @@ ANASTASIS_secret_share (const json_t *id_data,
index_pss++;
}
}
+ GNUNET_free (policy->uuids);
+ GNUNET_free (policy->truths);
}
recovery_document = json_pack (
diff --git a/src/lib/testing_cmd_secret_share.c
b/src/lib/testing_cmd_secret_share.c
index 6a97520..4ec5f81 100644
--- a/src/lib/testing_cmd_secret_share.c
+++ b/src/lib/testing_cmd_secret_share.c
@@ -262,7 +262,8 @@ secret_share_traits (void *cls,
{
struct SecretShareState *sss = cls;
struct TALER_TESTING_Trait traits[] = {
- // FIXME: What traits are usefull?
+ ANASTASIS_TESTING_make_trait_core_secret (0,
+ sss->core_secret),
TALER_TESTING_trait_end ()
};
diff --git a/src/lib/testing_trait_core_secret.c
b/src/lib/testing_trait_core_secret.c
new file mode 100644
index 0000000..100a249
--- /dev/null
+++ b/src/lib/testing_trait_core_secret.c
@@ -0,0 +1,74 @@
+/*
+ This file is part of TALER
+ Copyright (C) 2020 Taler Systems SA
+
+ TALER is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version.
+
+ TALER is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with TALER; see the file COPYING. If not, see
+ <http://www.gnu.org/licenses/>
+*/
+/**
+ * @file lib/testing_trait_core_secret.c
+ * @brief traits to offer the core secret
+ * @author Christian Grothoff
+ * @author Dominik Meister
+ * @author Dennis Neufeld
+ */
+#include "platform.h"
+#include "anastasis_testing_lib.h"
+
+#define ANASTASIS_TESTING_TRAIT_CORE_SECRET "anastasis-core-secret"
+
+
+/**
+ * Obtain the core secret from @a cmd.
+ *
+ * @param cmd command to extract the core secret from.
+ * @param index the index of the core secret (usually 0)
+ * @param s[out] set to the core secret coming from @a cmd.
+ * @return #GNUNET_OK on success.
+ */
+int
+ANASTASIS_TESTING_get_trait_core_secret (const struct
+ TALER_TESTING_Command *cmd,
+ unsigned int index,
+ const void **s)
+{
+ return cmd->traits (cmd->cls,
+ s,
+ ANASTASIS_TESTING_TRAIT_CORE_SECRET,
+ index);
+}
+
+
+/**
+ * Offer the core secret.
+ *
+ * @param index the core secret's index number (usually 0).
+ * @param s the core secret to offer.
+ * @return #GNUNET_OK on success.
+ */
+struct TALER_TESTING_Trait
+ANASTASIS_TESTING_make_trait_core_secret
+ (unsigned int index,
+ const void *s)
+{
+ struct TALER_TESTING_Trait ret = {
+ .index = index,
+ .trait_name = ANASTASIS_TESTING_TRAIT_CORE_SECRET,
+ .ptr = s
+ };
+ return ret;
+}
+
+
+/* end of testing_trait_core_secret.c */
--
To stop receiving notification emails like this one, please contact
address@hidden.