gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]