gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-donau] branch master updated: [lib] revise key decode and encode


From: gnunet
Subject: [taler-donau] branch master updated: [lib] revise key decode and encode
Date: Thu, 11 Jan 2024 16:54:40 +0100

This is an automated email from the git hooks/post-receive script.

lukas-matyja pushed a commit to branch master
in repository donau.

The following commit(s) were added to refs/heads/master by this push:
     new 3395dca  [lib] revise key decode and encode
3395dca is described below

commit 3395dca930d297b1949c71e28ac696bc8e9164f5
Author: Matyja Lukas Adam <lukas.matyja@students.bfh.ch>
AuthorDate: Thu Jan 11 16:55:24 2024 +0100

    [lib] revise key decode and encode
---
 src/include/donau_crypto_lib.h     |  11 -
 src/include/donau_json_lib.h       |  12 +
 src/json/donau_json.c              |  15 +
 src/lib/donau_api_handle.c         |  44 +-
 src/testing/Makefile.am            |   3 -
 src/testing/donau-unified-setup.sh | 871 -------------------------------------
 src/util/donau_crypto.c            |   2 +-
 7 files changed, 46 insertions(+), 912 deletions(-)

diff --git a/src/include/donau_crypto_lib.h b/src/include/donau_crypto_lib.h
index e8219ee..d543287 100644
--- a/src/include/donau_crypto_lib.h
+++ b/src/include/donau_crypto_lib.h
@@ -368,16 +368,5 @@ struct TALER_DonauBatchIssueValues
   struct GNUNET_CRYPTO_BlindingInputValues *blinding_inputs;
 };
 
-/**
- * Compute a unique key for the meta data of a donation unit group.
- *
- * @param dg donation unit group to evaluate
- * @param[out] key key to set
- */
-void
-TALER_donation_unit_group_get_key (
-  const struct DONAU_DonationUnitGroup *dg,
-  struct GNUNET_HashCode *key);
-
 
 #endif
diff --git a/src/include/donau_json_lib.h b/src/include/donau_json_lib.h
index 2a1c67b..51b1d3a 100644
--- a/src/include/donau_json_lib.h
+++ b/src/include/donau_json_lib.h
@@ -59,4 +59,16 @@ DONAU_JSON_spec_donation_unit_group (const char *field,
                                     const char *currency,
                                     struct DONAU_DonationUnitGroup *group);
 
+/**
+ * Generate packer instruction for a JSON field of type
+ * unsigned integer.
+ *
+ * @param name name of the field to add to the object
+ * @param num numeric value
+ * @return json pack specification
+ */
+struct GNUNET_JSON_PackSpec
+DONAU_JSON_pack_uint32 (const char *name,
+                         uint64_t num);
+
 #endif
\ No newline at end of file
diff --git a/src/json/donau_json.c b/src/json/donau_json.c
index 6aebb67..86303f8 100644
--- a/src/json/donau_json.c
+++ b/src/json/donau_json.c
@@ -24,6 +24,7 @@
 #include "taler/taler_json_lib.h"
 #include <unistr.h>
 #include "donau_json_lib.h"
+#
 
 /**
  * Parse given JSON object partially into a donation unit public key.
@@ -212,4 +213,18 @@ DONAU_JSON_spec_donation_unit_group (const char *name,
   };
 
   return ret;
+}
+
+struct GNUNET_JSON_PackSpec
+DONAU_JSON_pack_uint32 (const char *name,
+                         uint32_t num)
+{
+  struct GNUNET_JSON_PackSpec ps = {
+    .field_name = name,
+    .object = json_integer ((json_int_t) num)
+  };
+
+  GNUNET_assert (num <= ULONG_MAX);
+
+  return ps;
 }
\ No newline at end of file
diff --git a/src/lib/donau_api_handle.c b/src/lib/donau_api_handle.c
index 42a1623..ebf87d8 100644
--- a/src/lib/donau_api_handle.c
+++ b/src/lib/donau_api_handle.c
@@ -24,18 +24,11 @@
  * @author Christian Grothoff
  * @author Lukas Matyja
  */
-#include "taler/platform.h"
-#include <microhttpd.h>
 #include <gnunet/gnunet_curl_lib.h>
 #include "taler/taler_json_lib.h"
 #include "donau_service.h"
-#include "taler/taler_signatures.h"
 #include "donau_api_curl_defaults.h"
-#include "taler/taler_curl_lib.h"
-#include <gnunet/gnunet_util_lib.h>
 #include "donau_json_lib.h"
-#include "taler/taler_util.h"
-#include "taler/taler_curl_lib.h"
 
 /**
  * Which version of the Donau protocol is implemented
@@ -144,7 +137,7 @@ parse_json_signkey (struct 
DONAU_SigningPublicKeyAndValidity *sign_key,
   struct GNUNET_JSON_Specification spec[] = {
     GNUNET_JSON_spec_fixed_auto ("key",
                                  &sign_key->key),
-    GNUNET_JSON_spec_uint32 ("year_of_validity",
+    GNUNET_JSON_spec_uint32 ("year",
                                 &sign_key->year),
     GNUNET_JSON_spec_end ()
   };
@@ -206,7 +199,6 @@ decode_keys_json (const json_t *resp_obj,
                   struct DONAU_Keys *key_data,
                   enum DONAU_VersionCompatibility *vc)
 {
-  //struct DONAU_SigningPublicKeyAndValidity donau_pub;
   const json_t *sign_keys_array;
   const json_t *donation_units_by_group;
 
@@ -270,17 +262,14 @@ decode_keys_json (const json_t *resp_obj,
   {
     const char *currency;
     struct GNUNET_JSON_Specification mspec[] = {
-      // GNUNET_JSON_spec_fixed_auto ( // already in signkeys?
-      //   "donau_pub",
-      //   &donau_pub),
       GNUNET_JSON_spec_array_const (
-        "signkeys", // naming convention?
+        "sign_keys", // naming convention?
         &sign_keys_array),
       GNUNET_JSON_spec_string (
         "currency",
         &currency), //&key_data->currency instead?
       GNUNET_JSON_spec_array_const (
-        "donation_units",
+        "donation_units_group",
         &donation_units_by_group),
       GNUNET_JSON_spec_end ()
     };
@@ -336,8 +325,7 @@ decode_keys_json (const json_t *resp_obj,
   }
 
   /*
-   * Parse the donation unit keys, merging with the
-   * possibly EXISTING array as required (/keys cherry picking).
+   * Parse the donation unit keys
    *
    * The donation units are grouped by common values of
    *    {cipher, value}.
@@ -349,7 +337,7 @@ decode_keys_json (const json_t *resp_obj,
     json_array_foreach (donation_units_by_group, 
                         group_idx, group_obj)
     {
-      /* First, parse { cipher, value, hash } of the current
+      /* First, parse { cipher, value} of the current
          group. */
       struct DONAU_DonationUnitGroup group = {0}; // what must be given to be 
a part of a group?
       const json_t *donation_unit_keys_array;
@@ -385,6 +373,7 @@ decode_keys_json (const json_t *resp_obj,
         bool found = false;
 
         struct GNUNET_JSON_Specification kspec[] = {
+          GNUNET_JSON_spec_uint32("year", &dk.year),
           // DONAU_JSON_spec_donation_unit_pub_cipher (NULL,
           //                                           group.cipher,
           //                                           &dk->key),
@@ -414,7 +403,6 @@ decode_keys_json (const json_t *resp_obj,
 
         if (found)
         {
-          /* 0:0:0 did not support /keys cherry picking */
           TALER_LOG_DEBUG ("Skipping donation unit key: already know it\n");
           DONAU_donation_unit_pub_free (&dk.key);
           continue;
@@ -426,7 +414,6 @@ decode_keys_json (const json_t *resp_obj,
                              key_data->donation_unit_keys_size * 2 + 2);
         key_data->donation_unit_keys[key_data->num_donation_unit_keys++] = dk;
 
-        /* Update "last_denom_issue_date" */
         TALER_LOG_DEBUG ("Adding donation unit key that is valid for the year 
%d\n",
                          dk.year);
 
@@ -864,9 +851,9 @@ DONAU_keys_to_json (const struct DONAU_Keys *kd)
 
     signkey = GNUNET_JSON_PACK (
       GNUNET_JSON_pack_data_auto ("key",
-                                  &sk->key));
-      // GNUNET_JSON_pack_uint32 ("year",
-      //                             &sk->year));
+                                  &sk->key),
+      GNUNET_JSON_pack_uint64 ("year",
+                                  sk->year));
     GNUNET_assert (NULL != signkey);
     GNUNET_assert (0 ==
                    json_array_append_new (signkeys,
@@ -878,7 +865,7 @@ DONAU_keys_to_json (const struct DONAU_Keys *kd)
   {
     struct GNUNET_CONTAINER_MultiHashMap *dbg;
 
-    dbg = GNUNET_CONTAINER_multihashmap_create (128, // why 128 and why do we 
need a multihashmap (remove doubles?), why are the timestamps not included?
+    dbg = GNUNET_CONTAINER_multihashmap_create (128, // why 128??
                                                 false);
     for (unsigned int i = 0; i<kd->num_donation_unit_keys; i++)
     {
@@ -886,17 +873,20 @@ DONAU_keys_to_json (const struct DONAU_Keys *kd)
       struct DONAU_DonationUnitGroup meta = {
         .cipher = dk->key.bsign_pub_key->cipher,
         .value = dk->value
-        //.year = dk->year ??
       };
       struct GNUNET_HashCode key;
       struct GroupData *gd;
       json_t *donation_unit;
       struct GNUNET_JSON_PackSpec key_spec;
 
+      // get hash of meta data
       DONAU_donation_unit_group_get_key (&meta,
                                         &key);
       gd = GNUNET_CONTAINER_multihashmap_get (dbg,
                                               &key);
+
+      // If group (differentiated in value and cipher) does not exist
+      // add a new one to the map.
       if (NULL == gd)
       {
         gd = GNUNET_new (struct GroupData);
@@ -935,10 +925,12 @@ DONAU_keys_to_json (const struct DONAU_Keys *kd)
                                        dk->year),
         key_spec
         );
+      // add entry into the donation unit group
       GNUNET_assert (0 ==
                      json_array_append_new (gd->json,
                                             donation_unit));
     }
+    // every donation unit group of the map is added to the array 
donation_units_by_group
     GNUNET_CONTAINER_multihashmap_iterate (dbg,
                                            &add_grp,
                                            donation_units_by_group);
@@ -953,9 +945,9 @@ DONAU_keys_to_json (const struct DONAU_Keys *kd)
     GNUNET_JSON_pack_object_steal ("currency_specification",
                                    TALER_CONFIG_currency_specs_to_json (
                                      &kd->currency_specification)),
-    GNUNET_JSON_pack_array_steal ("signkeys",
+    GNUNET_JSON_pack_array_steal ("sign_keys",
                                   signkeys),
-    GNUNET_JSON_pack_array_steal ("donation_units",
+    GNUNET_JSON_pack_array_steal ("donation_units_group",
                                   donation_units_by_group)
     );
   return GNUNET_JSON_PACK (
diff --git a/src/testing/Makefile.am b/src/testing/Makefile.am
index d331f77..bdb21b5 100644
--- a/src/testing/Makefile.am
+++ b/src/testing/Makefile.am
@@ -13,9 +13,6 @@ endif
 clean-local:
        rm -rf report*
 
-bin_SCRIPTS = \
-  donau-unified-setup.sh
-
 lib_LTLIBRARIES = \
   libdonautesting.la
 
diff --git a/src/testing/donau-unified-setup.sh 
b/src/testing/donau-unified-setup.sh
deleted file mode 100755
index 8094192..0000000
--- a/src/testing/donau-unified-setup.sh
+++ /dev/null
@@ -1,871 +0,0 @@
-#!/bin/bash
-#
-# This file is part of TALER
-# Copyright (C) 2023 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/>
-#
-# Author: Christian Grothoff
-#
-# This script configures and launches various GNU Taler services.
-# Which ones depend on command-line options. Use "-h" to find out.
-# Prints "<<READY>>" on a separate line once all requested services
-# are running. Close STDIN (or input 'NEWLINE') to stop all started
-# services again.
-#
-# shellcheck disable=SC2317
-
-set -eu
-
-EXIT_STATUS=2
-
-# Exit, with status code "skip" (no 'real' failure)
-function exit_skip() {
-    echo " SKIP: " "$@" >&2
-    EXIT_STATUS=77
-    exit "$EXIT_STATUS"
-}
-
-# Exit, with error message (hard failure)
-function exit_fail() {
-    echo " FAIL: " "$@" >&2
-    EXIT_STATUS=1
-    exit "$EXIT_STATUS"
-}
-
-# Cleanup to run whenever we exit
-function cleanup()
-{
-    echo "Taler unified setup terminating!" >&2
-
-    for n in $(jobs -p)
-    do
-        kill "$n" 2> /dev/null || true
-    done
-    wait
-    rm -f libeufin-nexus.pid libeufin-sandbox.pid
-    exit "$EXIT_STATUS"
-}
-
-# Install cleanup handler (except for kill -9)
-trap cleanup EXIT
-
-WAIT_FOR_SIGNAL=0
-START_AUDITOR=0
-START_BACKUP=0
-START_EXCHANGE=0
-START_FAKEBANK=0
-START_DONAU=0
-START_CHALLENGER=0
-START_AGGREGATOR=0
-START_MERCHANT=0
-START_NEXUS=0
-START_BANK=0
-START_TRANSFER=0
-START_WIREWATCH=0
-USE_ACCOUNT="exchange-account-1"
-USE_VALGRIND=""
-WIRE_DOMAIN="x-taler-bank"
-CONF_ORIG="$HOME/.config/donau.conf"
-LOGLEVEL="DEBUG"
-DEFAULT_SLEEP="0.2"
-
-# Parse command-line options
-while getopts ':abc:d:efghkL:mnr:stu:vwWD' OPTION; do
-    case "$OPTION" in
-        a)
-            START_AUDITOR="1"
-            ;;
-        b)
-            START_BANK="1"
-            ;;
-        c)
-            CONF_ORIG="$OPTARG"
-            ;;
-        d)
-            WIRE_DOMAIN="$OPTARG"
-            ;;
-        D)  
-            START_DONAU="1"
-            ;;
-        e)
-            START_EXCHANGE="1"
-            ;;
-        f)
-            START_FAKEBANK="1"
-            ;;
-        h)
-            echo 'Supported options:'
-            echo '  -a           -- start auditor'
-            echo '  -b           -- start bank'
-            # shellcheck disable=SC2016
-            echo '  -c $CONF     -- set configuration'
-            # shellcheck disable=SC2016
-            echo '  -d $METHOD   -- use wire method (default: x-taler-bank)'
-            echo '  -D           -- start donau'
-            echo '  -e           -- start exchange'
-            echo '  -f           -- start fakebank'
-            echo '  -g           -- start aggregator'
-            echo '  -h           -- print this help'
-            # shellcheck disable=SC2016
-            echo '  -L $LOGLEVEL -- set log level'
-            echo '  -m           -- start merchant'
-            echo '  -n           -- start nexus'
-            # shellcheck disable=SC2016
-            echo '  -r $MEX      -- which exchange to use at the merchant 
(optional)'
-            echo '  -s           -- start backup/sync'
-            echo '  -t           -- start transfer'
-            # shellcheck disable=SC2016
-            echo '  -u $SECTION  -- exchange account to use'
-            echo '  -v           -- use valgrind'
-            echo '  -w           -- start wirewatch'
-            exit 0
-            ;;
-        g)
-            START_AGGREGATOR="1"
-            ;;
-        k)
-            START_CHALLENGER="1"
-            ;;
-        L)
-            LOGLEVEL="$OPTARG"
-            ;;
-        m)
-            START_MERCHANT="1"
-            ;;
-        n)
-            START_NEXUS="1"
-            ;;
-        r)
-            USE_MERCHANT_EXCHANGE="$OPTARG"
-            ;;
-        s)
-            START_BACKUP="1"
-            ;;
-        t)
-            START_TRANSFER="1"
-            ;;
-        u)
-            USE_ACCOUNT="$OPTARG"
-            ;;
-        v)
-            USE_VALGRIND="valgrind --leak-check=yes"
-            DEFAULT_SLEEP="2"
-            ;;
-        w)
-            START_WIREWATCH="1"
-            ;;
-        W)
-            WAIT_FOR_SIGNAL="1"
-            ;;
-        ?)
-        exit_fail "Unrecognized command line option"
-        ;;
-    esac
-done
-
-echo "Starting with configuration file at: $CONF_ORIG"
-CONF="$CONF_ORIG.edited"
-cp "${CONF_ORIG}" "${CONF}"
-
-echo -n "Testing for jq"
-jq -h > /dev/null || exit_skip " jq required"
-echo " FOUND"
-
-if [ "1" = "$START_EXCHANGE" ]
-then
-    echo -n "Testing for Taler exchange"
-    taler-exchange-httpd -h > /dev/null || exit_skip " taler-exchange-httpd 
required"
-    echo " FOUND"
-fi
-
-if [ "1" = "$START_DONAU" ]
-then
-    echo -n "Testing for Donau"
-    donau-httpd -h > /dev/null || exit_skip " donau-httpd required"
-    echo " FOUND"
-fi
-
-if [ "1" = "$START_MERCHANT" ]
-then
-    echo -n "Testing for Taler merchant"
-    taler-merchant-httpd -h > /dev/null || exit_skip " taler-merchant-httpd 
required"
-    echo " FOUND"
-fi
-
-if [ "1" = "$START_CHALLENGER" ]
-then
-    echo -n "Testing for Taler challenger"
-    challenger-httpd -h > /dev/null || exit_skip " challenger-httpd required"
-    echo " FOUND"
-fi
-
-if [ "1" = "$START_BACKUP" ]
-then
-    echo -n "Testing for sync-httpd"
-    sync-httpd -h > /dev/null || exit_skip " sync-httpd required"
-    echo " FOUND"
-fi
-
-if [ "1" = "$START_NEXUS" ]
-then
-    echo -n "Testing for libeufin-cli"
-    libeufin-cli --help >/dev/null </dev/null || exit_skip " MISSING"
-    echo " FOUND"
-fi
-
-DONAU_URL=$(donau-config -c "$CONF" -s "DONAU" -o "BASE_URL")
-EXCHANGE_URL=$(taler-config -c "$CONF" -s "EXCHANGE" -o "BASE_URL")
-CURRENCY=$(taler-config -c "$CONF" -s "TALER" -o "CURRENCY")
-
-echo "Setting up for $CURRENCY at $EXCHANGE_URL"
-
-register_bank_account() {
-    wget \
-        --http-user="$AUSER" \
-        --http-password="$APASS" \
-        --method=DELETE \
-        -o /dev/null \
-        -O /dev/null \
-        -a wget-delete-account.log \
-        "http://localhost:${BANK_PORT}/accounts/$1"; \
-        || true # deletion may fail, that's OK!
-    if [ "$1" = "exchange" ] || [ "$1" = "Exchange" ]
-    then
-        IS_EXCHANGE="true"
-    else
-        IS_EXCHANGE="false"
-    fi
-    MAYBE_IBAN="${4:-}"
-    if test -n "$MAYBE_IBAN";
-    then
-        # shellcheck disable=SC2001
-        ENAME=$(echo "$3" | sed -e "s/ /+/g")
-        # Note: this assumes that $3 has no spaces. Should probably escape in 
the future..
-        PAYTO="payto://iban/SANDBOXX/${MAYBE_IBAN}?receiver-name=$ENAME"
-        
BODY='{"username":"'"$1"'","password":"'"$2"'","is_taler_exchange":'"$IS_EXCHANGE"',"name":"'"$3"'","internal_payto_uri":"'"$PAYTO"'"}'
-    else
-        
BODY='{"username":"'"$1"'","password":"'"$2"'","is_taler_exchange":'"$IS_EXCHANGE"',"name":"'"$3"'"}'
-    fi
-    wget \
-        --http-user="$AUSER" \
-        --http-password="$APASS" \
-        --method=POST \
-        --header='Content-type: application/json' \
-        --body-data="${BODY}" \
-        --content-on-error \
-        -a wget-register-account.log \
-        -o /dev/null \
-        -O /dev/null \
-        "http://localhost:${BANK_PORT}/accounts";
-}
-
-register_fakebank_account() {
-    if [ "$1" = "exchange" ] || [ "$1" = "Exchange" ]
-    then
-        IS_EXCHANGE="true"
-    else
-        IS_EXCHANGE="false"
-    fi
-    
BODY='{"username":"'"$1"'","password":"'"$2"'","name":"'"$1"'","is_taler_exchange":'"$IS_EXCHANGE"'}'
-    wget \
-        --post-data="$BODY" \
-        --header='Content-type: application/json' \
-        --tries=3 \
-        --waitretry=1 \
-        --timeout=30 \
-        "http://localhost:$BANK_PORT/accounts"; \
-        -a wget-register-account.log \
-        -o /dev/null \
-        -O /dev/null \
-        >/dev/null
-}
-
-
-if [[ "1" = "$START_BANK" || "1" = "$START_FAKEBANK" ]]
-then
-    BANK_PORT=$(taler-config -c "$CONF" -s "BANK" -o "HTTP_PORT")
-    BANK_URL="http://localhost:${BANK_PORT}/";
-fi
-
-if [ "1" = "$START_BANK" ]
-then
-    echo -n "Setting up bank database ... "
-    libeufin-bank dbinit \
-        -r \
-        -c "$CONF" \
-        &> libeufin-bank-reset.log
-    echo "DONE"
-    echo -n "Launching bank ... "
-    libeufin-bank serve \
-      -c "$CONF" \
-      > libeufin-bank-stdout.log \
-      2> libeufin-bank-stderr.log &
-    echo $! > libeufin-bank.pid
-    echo "DONE"
-    echo -n "Waiting for Bank ..."
-    OK="0"
-    for n in $(seq 1 100); do
-        echo -n "."
-        sleep "$DEFAULT_SLEEP"
-        wget --timeout=1 \
-             --tries=3 \
-             --waitretry=0 \
-             -o /dev/null \
-             -O /dev/null \
-             "$BANK_URL/config" || continue
-        OK="1"
-        break
-    done
-    if [ "1" != "$OK" ]
-    then
-        exit_skip "Failed to launch services (bank)"
-    fi
-    echo "OK"
-    echo -n "Set admin password..."
-    AUSER="admin"
-    APASS="secret"
-    libeufin-bank \
-      passwd \
-      -c "$CONF" \
-      "$AUSER" "$APASS" \
-      &> libeufin-bank-passwd.log
-    libeufin-bank \
-      edit-account \
-      -c "$CONF" \
-      --debit_threshold="$CURRENCY:1000000" \
-      "$AUSER" \
-      &> libeufin-bank-debit-threshold.log
-    echo " OK"
-fi
-
-if [ "1" = "$START_NEXUS" ]
-then
-    echo "Nexus currently not supported ..."
-fi
-
-if [ "1" = "$START_FAKEBANK" ]
-then
-    echo -n "Setting up fakebank ..."
-    $USE_VALGRIND taler-fakebank-run \
-                  -c "$CONF" \
-                  -L "$LOGLEVEL" \
-                  -n 4 \
-                  2> taler-fakebank-run.log &
-    echo " OK"
-fi
-
-if [[ "1" = "$START_NEXUS" || "1" = "$START_FAKEBANK" ]]
-then
-    echo -n "Waiting for the bank"
-    # Wait for bank to be available (usually the slowest)
-    OK="0"
-    for n in $(seq 1 300)
-    do
-        echo -n "."
-        sleep "$DEFAULT_SLEEP"
-        # bank
-        wget --tries=1 \
-             --waitretry=0 \
-             --timeout=1 \
-             --user admin \
-             --password secret \
-             "http://localhost:${BANK_PORT}/"; \
-             -o /dev/null \
-             -O /dev/null >/dev/null || continue
-        OK="1"
-        break
-    done
-    if [ "1" != "$OK" ]
-    then
-        exit_skip "Failed to launch services (bank)"
-    fi
-    echo " OK"
-fi
-
-if [ "1" = "$START_FAKEBANK" ]
-then
-    echo -n "Register Fakebank users ..."
-    register_fakebank_account fortytwo x
-    register_fakebank_account fortythree x
-    register_fakebank_account exchange x
-    register_fakebank_account tor x
-    register_fakebank_account gnunet x
-    register_fakebank_account tutorial x
-    register_fakebank_account survey x
-    echo " DONE"
-fi
-
-if [ "1" = "$START_BANK" ]
-then
-    echo -n "Register bank users ..."
-    # The specified IBAN and name must match the ones hard-coded into
-    # the C helper for the add-incoming call.  Without this value,
-    # libeufin-bank  won't find the target account to debit along a 
/add-incoming
-    # call.
-    register_bank_account fortytwo x "User42" FR7630006000011234567890189
-    register_bank_account fortythree x "Forty Three"
-    register_bank_account exchange x "Exchange Company" DE989651
-    register_bank_account tor x "Tor Project"
-    register_bank_account gnunet x "GNUnet"
-    register_bank_account tutorial x "Tutorial"
-    register_bank_account survey x "Survey"
-    echo " DONE"
-fi
-
-if [ "1" = "$START_EXCHANGE" ]
-then
-    echo -n "Starting exchange ..."
-    EXCHANGE_PORT=$(taler-config -c "$CONF" -s EXCHANGE -o PORT)
-    SERVE=$(taler-config -c "$CONF" -s EXCHANGE -o SERVE)
-    if [ "${SERVE}" = "unix" ]
-    then
-        EXCHANGE_URL=$(taler-config -c "$CONF" -s EXCHANGE -o BASE_URL)
-    else
-        EXCHANGE_URL="http://localhost:${EXCHANGE_PORT}/";
-    fi
-    MASTER_PRIV_FILE=$(taler-config -f -c "${CONF}" -s "EXCHANGE-OFFLINE" -o 
"MASTER_PRIV_FILE")
-    MASTER_PRIV_DIR=$(dirname "$MASTER_PRIV_FILE")
-    mkdir -p "${MASTER_PRIV_DIR}"
-    if [ ! -e "$MASTER_PRIV_FILE" ]
-    then
-        gnunet-ecc -g1 "$MASTER_PRIV_FILE" > /dev/null 2> /dev/null
-        echo -n "."
-    fi
-    MASTER_PUB=$(gnunet-ecc -p "${MASTER_PRIV_FILE}")
-    MPUB=$(taler-config -c "$CONF" -s exchange -o MASTER_PUBLIC_KEY)
-    if [ "$MPUB" != "$MASTER_PUB" ]
-    then
-        echo -n " patching master_pub ($MASTER_PUB)..."
-        taler-config -c "$CONF" -s exchange -o MASTER_PUBLIC_KEY -V 
"$MASTER_PUB"
-    fi
-    taler-exchange-dbinit -c "$CONF" --reset
-    $USE_VALGRIND taler-exchange-secmod-eddsa -c "$CONF" -L "$LOGLEVEL" 2> 
taler-exchange-secmod-eddsa.log &
-    $USE_VALGRIND taler-exchange-secmod-rsa -c "$CONF" -L "$LOGLEVEL" 2> 
taler-exchange-secmod-rsa.log &
-    $USE_VALGRIND taler-exchange-secmod-cs -c "$CONF" -L "$LOGLEVEL" 2> 
taler-exchange-secmod-cs.log &
-    $USE_VALGRIND taler-exchange-httpd -c "$CONF" -L "$LOGLEVEL" 2> 
taler-exchange-httpd.log &
-    echo " DONE"
-fi
-
-if [ "1" = "$START_DONAU" ]
-then
-    echo -n "Starting Donau ..."
-    DONAU_PORT=$(donau-config -c "$CONF" -s DONAU -o PORT)
-    SERVE=$(donau-config -c "$CONF" -s DONAU -o SERVE)
-    if [ "${SERVE}" = "unix" ]
-    then
-        DONAU_URL=$(donau-config -c "$CONF" -s DONAU -o BASE_URL)
-    else
-        DONAU_URL="http://localhost:${DONAU_PORT}/";
-    fi
-    donau-dbinit -c "$CONF" --reset
-    $USE_VALGRIND taler-secmod-eddsa -c "$CONF" -L "$LOGLEVEL" -s donau 2> 
donau-secmod-eddsa.log &
-    $USE_VALGRIND taler-secmod-rsa -c "$CONF" -L "$LOGLEVEL" -s donau 2> 
donau-secmod-rsa.log &
-    $USE_VALGRIND taler-secmod-cs -c "$CONF" -L "$LOGLEVEL" -s donau 2> 
donau-secmod-cs.log &
-    $USE_VALGRIND donau-httpd -c "$CONF" -L "$LOGLEVEL" 2> donau-httpd.log &
-    echo " DONE"
-fi
-
-if [ "1" = "$START_WIREWATCH" ]
-then
-    echo -n "Starting wirewatch ..."
-    $USE_VALGRIND taler-exchange-wirewatch \
-                  --account="$USE_ACCOUNT" \
-                  -c "$CONF" \
-                  --longpoll-timeout="1 s" \
-                  2> taler-exchange-wirewatch.log &
-    echo " DONE"
-fi
-
-if [ "1" = "$START_AGGREGATOR" ]
-then
-    echo -n "Starting aggregator ..."
-    $USE_VALGRIND taler-exchange-aggregator -c "$CONF" 2> 
taler-exchange-aggregator.log &
-    echo " DONE"
-fi
-
-if [ "1" = "$START_TRANSFER" ]
-then
-    echo -n "Starting transfer ..."
-    $USE_VALGRIND taler-exchange-transfer -c "$CONF" 2> 
taler-exchange-transfer.log &
-    echo " DONE"
-fi
-
-if [ "1" = "$START_MERCHANT" ]
-then
-    echo -n "Starting merchant ..."
-    if [ -n "${USE_MERCHANT_EXCHANGE+x}" ]
-    then
-        MEPUB=$(taler-config -c "$CONF" -s "${USE_MERCHANT_EXCHANGE}" -o 
MASTER_KEY)
-        MXPUB=${MASTER_PUB:-$(taler-config -c "$CONF" -s exchange -o 
MASTER_PUBLIC_KEY)}
-        if [ "$MEPUB" != "$MXPUB" ]
-        then
-            echo -n " patching master_pub ($MXPUB)..."
-            taler-config -c "$CONF" -s "${USE_MERCHANT_EXCHANGE}" -o 
MASTER_KEY -V "$MXPUB"
-        fi
-    fi
-    MERCHANT_TYPE=$(taler-config -c "$CONF" -s MERCHANT -o SERVE)
-    if [ "unix" = "$MERCHANT_TYPE" ]
-    then
-        MERCHANT_URL="$(taler-config -c "$CONF" -s MERCHANT -o BASE_URL)"
-    else
-        MERCHANT_PORT="$(taler-config -c "$CONF" -s MERCHANT -o PORT)"
-        MERCHANT_URL="http://localhost:${MERCHANT_PORT}/";
-    fi
-    taler-merchant-dbinit -c "$CONF" -L "$LOGLEVEL" --reset &> 
taler-merchant-dbinit.log
-    $USE_VALGRIND taler-merchant-httpd -c "$CONF" -L "$LOGLEVEL" 2> 
taler-merchant-httpd.log &
-    $USE_VALGRIND taler-merchant-webhook -c "$CONF" -L "$LOGLEVEL" 2> 
taler-merchant-webhook.log &
-    echo " DONE"
-fi
-
-if [ "1" = "$START_BACKUP" ]
-then
-    echo -n "Starting sync ..."
-    SYNC_PORT=$(taler-config -c "$CONF" -s SYNC -o PORT)
-    SERVE=$(taler-config -c "$CONF" -s SYNC -o SERVE)
-    if [ "${SERVE}" = "unix" ]
-    then
-        SYNC_URL=$(taler-config -c "$CONF" -s SYNC -o BASE_URL)
-    else
-        SYNC_URL="http://localhost:${SYNC_PORT}/";
-    fi
-    sync-dbinit -c "$CONF" --reset
-    $USE_VALGRIND sync-httpd -c "$CONF" -L "$LOGLEVEL" 2> sync-httpd.log &
-    echo " DONE"
-fi
-
-if [ "1" = "$START_CHALLENGER" ]
-then
-    echo -n "Starting challenger ..."
-    CHALLENGER_PORT=$(challenger-config -c "$CONF" -s CHALLENGER -o PORT)
-    SERVE=$(taler-config -c "$CONF" -s CHALLENGER -o SERVE)
-    if [ "${SERVE}" = "unix" ]
-    then
-        CHALLENGER_URL=$(taler-config -c "$CONF" -s CHALLENGER -o BASE_URL)
-    else
-        CHALLENGER_URL="http://localhost:${CHALLENGER_PORT}/";
-    fi
-    challenger-dbinit -c "$CONF" --reset
-    $USE_VALGRIND challenger-httpd -c "$CONF" -L "$LOGLEVEL" 2> 
challenger-httpd.log &
-    echo " DONE"
-    for SECTION in $(taler-config -c "$CONF" -S | grep kyc-provider)
-    do
-        LOGIC=$(taler-config -c "$CONF" -s "$SECTION" -o "LOGIC")
-        if [ "${LOGIC}" = "oauth2" ]
-        then
-            INFO=$(taler-config -c "$CONF" -s "$SECTION" -o 
"KYC_OAUTH2_INFO_URL")
-            if [ "${CHALLENGER_URL}info" = "$INFO" ]
-            then
-                echo -n "Enabling Challenger client for $SECTION"
-                CLIENT_SECRET=$(taler-config -c "$CONF" -s "$SECTION" -o 
"KYC_OAUTH2_CLIENT_SECRET")
-                RFC_8959_PREFIX="secret-token:"
-                if ! echo "${CLIENT_SECRET}" | grep ^${RFC_8959_PREFIX} > 
/dev/null
-                then
-                    exit_fail "Client secret does not begin with 
'${RFC_8959_PREFIX}'"
-                fi
-                
REDIRECT_URI="${EXCHANGE_URL}kyc-proof/kyc-provider-example-challeger"
-                CLIENT_ID=$(challenger-admin --add="${CLIENT_SECRET}" --quiet 
"${REDIRECT_URI}")
-                taler-config -c "$CONF" -s "$SECTION" -o KYC_OAUTH2_CLIENT_ID 
-V "$CLIENT_ID"
-                echo " DONE"
-            fi
-        fi
-    done
-fi
-
-
-if [ "1" = "$START_AUDITOR" ]
-then
-    echo -n "Starting auditor ..."
-    AUDITOR_URL=$(taler-config -c "$CONF" -s AUDITOR -o BASE_URL)
-    AUDITOR_PRIV_FILE=$(taler-config -f -c "$CONF" -s AUDITOR -o 
AUDITOR_PRIV_FILE)
-    AUDITOR_PRIV_DIR=$(dirname "$AUDITOR_PRIV_FILE")
-    mkdir -p "$AUDITOR_PRIV_DIR"
-    if [ ! -e "$AUDITOR_PRIV_FILE" ]
-    then
-        gnunet-ecc -g1 "$AUDITOR_PRIV_FILE" > /dev/null 2> /dev/null
-        echo -n "."
-    fi
-    AUDITOR_PUB=$(gnunet-ecc -p "${AUDITOR_PRIV_FILE}")
-    MAPUB=${MASTER_PUB:-$(taler-config -c "$CONF" -s exchange -o 
MASTER_PUBLIC_KEY)}
-    taler-auditor-dbinit -c "$CONF" --reset
-    taler-auditor-exchange -c "$CONF" -m "$MAPUB" -u "$EXCHANGE_URL"
-    $USE_VALGRIND taler-auditor-httpd -L "$LOGLEVEL" -c "$CONF" 2> 
taler-auditor-httpd.log &
-    echo " DONE"
-fi
-
-
-echo -n "Waiting for Taler services ..."
-# Wait for all other taler services to be available
-E_DONE=0
-D_DONE=0
-M_DONE=0
-S_DONE=0
-K_DONE=0
-A_DONE=0
-for n in $(seq 1 20)
-do
-    sleep "$DEFAULT_SLEEP"
-    OK="0"
-    if [ "0" = "$E_DONE" ] && [ "1" = "$START_EXCHANGE" ]
-    then
-        echo -n "E"
-        wget \
-            --tries=1 \
-            --timeout=1 \
-            "${EXCHANGE_URL}config" \
-            -o /dev/null \
-            -O /dev/null >/dev/null || continue
-        E_DONE=1
-    fi
-    if [ "0" = "$D_DONE" ] && [ "1" = "$START_DONAU" ]
-    then
-        echo -n "D"
-        wget \
-            --tries=1 \
-            --timeout=1 \
-            "${DONAU_URL}config" \
-            -o /dev/null \
-            -O /dev/null >/dev/null || continue
-        D_DONE=1
-    fi
-    if [ "0" = "$M_DONE" ] && [ "1" = "$START_MERCHANT" ]
-    then
-        echo -n "M"
-        wget \
-            --tries=1 \
-            --timeout=1 \
-            "${MERCHANT_URL}config" \
-            -o /dev/null \
-            -O /dev/null >/dev/null || continue
-        M_DONE=1
-    fi
-    if [ "0" = "$S_DONE" ] && [ "1" = "$START_BACKUP" ]
-    then
-        echo -n "S"
-        wget \
-            --tries=1 \
-            --timeout=1 \
-            "${SYNC_URL}config" \
-            -o /dev/null \
-            -O /dev/null >/dev/null || continue
-        S_DONE=1
-    fi
-    if [ "0" = "$K_DONE" ] && [ "1" = "$START_CHALLENGER" ]
-    then
-        echo -n "K"
-        wget \
-            --tries=1 \
-            --timeout=1 \
-            "${CHALLENGER_URL}config" \
-            -o /dev/null \
-            -O /dev/null >/dev/null || continue
-        K_DONE=1
-    fi
-    if [ "0" = "$A_DONE" ] && [ "1" = "$START_AUDITOR" ]
-    then
-        echo -n "A"
-        wget \
-            --tries=1 \
-            --timeout=1 \
-            "${AUDITOR_URL}config" \
-            -o /dev/null \
-            -O /dev/null >/dev/null || continue
-        A_DONE=1
-    fi
-    OK="1"
-    break
-done
-if [ 1 != "$OK" ]
-then
-    exit_skip "Failed to launch (some) Taler services"
-fi
-echo " OK"
-
-if [ "1" = "$START_EXCHANGE" ]
-then
-    echo -n "Wait for exchange /management/keys to be ready "
-    OK="0"
-    LAST_RESPONSE=$(mktemp tmp-last-response.XXXXXXXX)
-    for n in $(seq 1 10)
-    do
-        echo -n "."
-        sleep "$DEFAULT_SLEEP"
-        # exchange
-        wget \
-            --tries=3 \
-            --waitretry=0 \
-            --timeout=30 \
-            "${EXCHANGE_URL}management/keys"\
-            -o /dev/null \
-            -O "$LAST_RESPONSE" \
-            >/dev/null || continue
-        OK="1"
-        break;
-    done
-    if [ "1" != "$OK" ]
-    then
-        cat "$LAST_RESPONSE"
-        exit_fail "Failed to setup exchange keys, check secmod logs"
-    fi
-    rm "$LAST_RESPONSE"
-    echo " OK"
-
-    echo -n "Setting up exchange keys ..."
-    taler-exchange-offline -c "$CONF" \
-      download \
-      sign \
-      wire-fee now "$WIRE_DOMAIN" "$CURRENCY:0.01" "$CURRENCY:0.01" \
-      global-fee now "$CURRENCY:0.01" "$CURRENCY:0.01" "$CURRENCY:0.01" 1h 
1year 5 \
-      upload &> taler-exchange-offline.log
-    echo "OK"
-    ENABLED=$(taler-config -c "$CONF" -s "$USE_ACCOUNT" -o "ENABLE_CREDIT")
-    if [ "YES" = "$ENABLED" ]
-    then
-        echo -n "Configuring bank account $USE_ACCOUNT ..."
-        EXCHANGE_PAYTO_URI=$(taler-config -c "$CONF" -s "$USE_ACCOUNT" -o 
"PAYTO_URI")
-        taler-exchange-offline -c "$CONF" \
-          enable-account "$EXCHANGE_PAYTO_URI" \
-          upload &> "taler-exchange-offline-account.log"
-        echo " OK"
-    else
-        echo "WARNING: Account ${USE_ACCOUNT} not enabled (set to: '$ENABLED')"
-    fi
-    if [ "1" = "$START_AUDITOR" ]
-    then
-        echo -n "Enabling auditor ..."
-        taler-exchange-offline -c "$CONF" \
-          enable-auditor "$AUDITOR_PUB" "$AUDITOR_URL" "$CURRENCY Auditor" \
-          upload &> taler-exchange-offline-auditor.log
-        echo "OK"
-    fi
-
-    echo -n "Checking /keys "
-    OK="0"
-    LAST_RESPONSE=$(mktemp tmp-last-response.XXXXXXXX)
-    for n in $(seq 1 10)
-    do
-        echo -n "."
-        sleep "$DEFAULT_SLEEP"
-        wget \
-            --tries=1 \
-            --timeout=5 \
-            "${EXCHANGE_URL}keys" \
-            -a wget-keys-check.log \
-            -o /dev/null \
-            -O "$LAST_RESPONSE" \
-            >/dev/null || continue
-        OK="1"
-        break
-    done
-    if [ "1" != "$OK" ]
-    then
-        cat "$LAST_RESPONSE"
-        exit_fail " Failed to fetch ${EXCHANGE_URL}keys"
-    fi
-    rm "$LAST_RESPONSE"
-    echo " OK"
-fi
-
-if [ "1" = "$START_DONAU" ]
-then
-    echo -n "Wait for donau /keys to be ready "
-    OK="0"
-    LAST_RESPONSE=$(mktemp tmp-last-response.XXXXXXXX)
-    for n in $(seq 1 10)
-    do
-        echo -n "."
-        sleep "$DEFAULT_SLEEP"
-        # donau
-        wget \
-            --tries=3 \
-            --waitretry=0 \
-            --timeout=30 \
-            "${DONAU_URL}keys"\
-            -o /dev/null \
-            -O "$LAST_RESPONSE" \
-            >/dev/null || continue
-        OK="1"
-        break;
-    done
-    if [ "1" != "$OK" ]
-    then
-        cat "$LAST_RESPONSE"
-        exit_fail "Failed to setup donau keys, check secmod logs"
-    fi
-    rm "$LAST_RESPONSE"
-    echo " OK"
-
-    echo -n "Setting up donau keys ..."
-    donau-offline -c "$CONF" \
-      download \
-      sign \
-      upload &> donau-offline.log
-    echo "OK"
-
-    echo -n "Checking /keys "
-    OK="0"
-    LAST_RESPONSE=$(mktemp tmp-last-response.XXXXXXXX)
-    for n in $(seq 1 10)
-    do
-        echo -n "."
-        sleep "$DEFAULT_SLEEP"
-        wget \
-            --tries=1 \
-            --timeout=5 \
-            "${DONAU_URL}keys" \
-            -a wget-keys-check.log \
-            -o /dev/null \
-            -O "$LAST_RESPONSE" \
-            >/dev/null || continue
-        OK="1"
-        break
-    done
-    if [ "1" != "$OK" ]
-    then
-        cat "$LAST_RESPONSE"
-        exit_fail " Failed to fetch ${DONAU_URL}keys"
-    fi
-    rm "$LAST_RESPONSE"
-    echo " OK"
-fi
-
-if [ "1" = "$START_AUDITOR" ]
-then
-    echo -n "Setting up auditor signatures ..."
-    timeout 15 taler-auditor-offline -c "$CONF" \
-      download \
-      sign \
-      upload &> taler-auditor-offline.log
-    echo " OK"
-fi
-
-# Signal caller that we are ready.
-echo "<<READY>>"
-
-if [ "1" = "$WAIT_FOR_SIGNAL" ]
-then
-    while true
-    do
-        sleep 0.1
-    done
-else
-    # Wait until caller stops us.
-    # shellcheck disable=SC2162
-    read
-fi
-
-echo "Taler unified setup terminating!" >&2
-EXIT_STATUS=0
-exit "$EXIT_STATUS"
diff --git a/src/util/donau_crypto.c b/src/util/donau_crypto.c
index 8afd373..9960016 100644
--- a/src/util/donau_crypto.c
+++ b/src/util/donau_crypto.c
@@ -45,7 +45,7 @@ GNUNET_NETWORK_STRUCT_END
 
 
 void
-TALER_donation_unit_group_get_key (
+DONAU_donation_unit_group_get_key (
   const struct DONAU_DonationUnitGroup *dg,
   struct GNUNET_HashCode *key)
 {

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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