donau

Donation authority for GNU Taler (experimental)
Log | Files | Refs | Submodules | README | LICENSE

commit 97d6e3b8579c4585b6e937930b3933a388ebd0d9
parent 7519e053e5c09b6b5b146481480b242bf20dc23e
Author: Matyja Lukas Adam <lukas.matyja@students.bfh.ch>
Date:   Tue, 19 Dec 2023 11:06:43 +0100

[testing] add donau config

Diffstat:
Msrc/testing/donau-unified-setup.sh | 5+++--
Asrc/testing/test_donau_api_home/.local/share/taler/exchange-offline/master.priv | 2++
Msrc/util/Makefile.am | 14++++++++++++++
Asrc/util/donau-config.c | 73+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 92 insertions(+), 2 deletions(-)

diff --git a/src/testing/donau-unified-setup.sh b/src/testing/donau-unified-setup.sh @@ -76,7 +76,7 @@ START_BANK=0 START_TRANSFER=0 START_WIREWATCH=0 USE_ACCOUNT="exchange-account-1" -USE_VALGRIND="" +USE_VALGRIN="" WIRE_DOMAIN="x-taler-bank" CONF_ORIG="$HOME/.config/taler.conf" LOGLEVEL="DEBUG" @@ -194,7 +194,7 @@ fi if [ "1" = "$START_DONAU" ] then echo -n "Testing for Donau" - donau-httpd -h > /dev/null || exit_skip " donau-httpd required" + donau-httpd -h > /dev/null || ext_skip " donau-httpd required" echo " FOUND" fi @@ -227,6 +227,7 @@ then fi EXCHANGE_URL=$(taler-config -c "$CONF" -s "EXCHANGE" -o "BASE_URL") +DONAU_URL=$(donau-config -c "$CONF" -s "DONAU" -o "BASE_URL") CURRENCY=$(taler-config -c "$CONF" -s "TALER" -o "CURRENCY") echo "Setting up for $CURRENCY at $EXCHANGE_URL" diff --git a/src/testing/test_donau_api_home/.local/share/taler/exchange-offline/master.priv b/src/testing/test_donau_api_home/.local/share/taler/exchange-offline/master.priv @@ -0,0 +1 @@ +0`c_73V^ʺ=MPa)홨BH +\ No newline at end of file diff --git a/src/util/Makefile.am b/src/util/Makefile.am @@ -34,6 +34,20 @@ libdonauutil_la_LDFLAGS = \ AM_TESTS_ENVIRONMENT=export TALER_PREFIX=$${TALER_PREFIX:-@libdir@};export PATH=$${TALER_PREFIX:-@prefix@}/bin:$$PATH; +bin_SCRIPTS = \ + donau-config + +edit_script = $(SED) -e 's,%libdir%,$(libdir),'g $(NULL) + +donau-config: donau-config.in + rm -f $@ $@.tmp && \ + $(edit_script) $< >$@.tmp && \ + chmod a-w+x $@.tmp && \ + mv $@.tmp $@ + +CLEANFILES = \ + donau-config + check_PROGRAMS = \ test_crypto diff --git a/src/util/donau-config.c b/src/util/donau-config.c @@ -0,0 +1,73 @@ +/* + This file is part of Taler. + Copyright (C) 2012-2021 Taler Systems SA + + Taler is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, + 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 + Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + SPDX-License-Identifier: AGPL3.0-or-later + */ + +/** + * @file util/donau-config.c + * @brief tool to access and manipulate Taler configuration files + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler/taler_util_lib.h" + + +/** + * Program to manipulate configuration files. + * + * @param argc number of arguments from the command line + * @param argv command line arguments + * @return 0 ok, 1 on error + */ +int +main (int argc, + char *const *argv) +{ + struct GNUNET_CONFIGURATION_ConfigSettings cs = { + .api_version = GNUNET_UTIL_VERSION, + .global_ret = EXIT_SUCCESS + }; + struct GNUNET_GETOPT_CommandLineOption options[] = { + GNUNET_GETOPT_OPTION_END + }; + enum GNUNET_GenericReturnValue ret; + + if (GNUNET_OK != + GNUNET_STRINGS_get_utf8_args (argc, argv, + &argc, &argv)) + return EXIT_FAILURE; + TALER_OS_init (); + ret = GNUNET_PROGRAM_run (argc, + argv, + "donau-config [OPTIONS]", + gettext_noop ( + "Manipulate Taler configuration files"), + options, + &GNUNET_CONFIGURATION_config_tool_run, + &cs); + GNUNET_free_nz ((void *) argv); + GNUNET_CONFIGURATION_config_settings_free (&cs); + if (GNUNET_NO == ret) + return 0; + if (GNUNET_SYSERR == ret) + return EXIT_INVALIDARGUMENT; + return cs.global_ret; +} + + +/* end of donau-config.c */