[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-exchange] branch master updated: make -m option opti
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-exchange] branch master updated: make -m option optional for taler-auditor and taler-wire-auditor |
Date: |
Sun, 12 Nov 2017 14:11:13 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository exchange.
The following commit(s) were added to refs/heads/master by this push:
new f299130 make -m option optional for taler-auditor and
taler-wire-auditor
f299130 is described below
commit f299130c50ca79efbfc8daf7f73aaba7ffb3a258
Author: Christian Grothoff <address@hidden>
AuthorDate: Sun Nov 12 14:11:05 2017 +0100
make -m option optional for taler-auditor and taler-wire-auditor
---
doc/taler-auditor.1 | 2 +-
src/auditor/taler-auditor.c | 47 +++++++++++++++++++++++++++++++++++-----
src/auditor/taler-wire-auditor.c | 47 +++++++++++++++++++++++++++++++++++-----
3 files changed, 83 insertions(+), 13 deletions(-)
diff --git a/doc/taler-auditor.1 b/doc/taler-auditor.1
index 7682bf9..dc4da23 100644
--- a/doc/taler-auditor.1
+++ b/doc/taler-auditor.1
@@ -17,7 +17,7 @@ taler\-auditor \- Audit exchange.
Print short help on options.
.B
.IP "\-m KEY, \-\-exchange-key=KEY"
-Public master key of the exchange in Crockford base32 encoding, for example as
generated by gnunet\-ecc \-p.
+Public master key of the exchange in Crockford base32 encoding, for example as
generated by gnunet\-ecc \-p. If this option is missing, taler\-auditor will
use the MASTER_PUBLIC_KEY value from the "exchange" section of the
configuration.
.B
.IP "\-r, \-\-reset"
Reset the audit, starts everything from the beginning. Useful for testing and
required for the first audit to setup auditor's tables. Note that if (just) the
exchange key changes, the \-r option should not be used again.
diff --git a/src/auditor/taler-auditor.c b/src/auditor/taler-auditor.c
index d33b23d..faaf551 100644
--- a/src/auditor/taler-auditor.c
+++ b/src/auditor/taler-auditor.c
@@ -3901,12 +3901,48 @@ run (void *cls,
const char *cfgfile,
const struct GNUNET_CONFIGURATION_Handle *c)
{
+ static const struct TALER_MasterPublicKeyP zeromp;
struct TALER_Amount income_fee_total;
json_t *report;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Launching auditor\n");
cfg = c;
+ if (0 == memcmp (&zeromp,
+ &master_pub,
+ sizeof (struct TALER_MasterPublicKeyP)))
+ {
+ /* -m option not given, try configuration */
+ char *master_public_key_str;
+
+ if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_get_value_string (cfg,
+ "exchange",
+ "MASTER_PUBLIC_KEY",
+ &master_public_key_str))
+ {
+ fprintf (stderr,
+ "Pass option -m or set it in the configuration!\n");
+ GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
+ "exchange",
+ "MASTER_PUBLIC_KEY");
+ global_ret = 1;
+ return;
+ }
+ if (GNUNET_OK !=
+ GNUNET_CRYPTO_eddsa_public_key_from_string (master_public_key_str,
+ strlen
(master_public_key_str),
+ &master_pub.eddsa_pub))
+ {
+ fprintf (stderr,
+ "Invalid master public key given in configuration file.");
+ GNUNET_free (master_public_key_str);
+ global_ret = 1;
+ return;
+ }
+ GNUNET_free (master_public_key_str);
+ } /* end of -m not given */
+
if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_string (cfg,
"taler",
@@ -4163,12 +4199,11 @@ main (int argc,
char *const *argv)
{
const struct GNUNET_GETOPT_CommandLineOption options[] = {
- GNUNET_GETOPT_option_mandatory
- (GNUNET_GETOPT_option_base32_auto ('m',
- "exchange-key",
- "KEY",
- "public key of the exchange (Crockford
base32 encoded)",
- &master_pub)),
+ GNUNET_GETOPT_option_base32_auto ('m',
+ "exchange-key",
+ "KEY",
+ "public key of the exchange (Crockford
base32 encoded)",
+ &master_pub),
GNUNET_GETOPT_option_flag ('r',
"restart",
"restart audit from the beginning (required on
first run)",
diff --git a/src/auditor/taler-wire-auditor.c b/src/auditor/taler-wire-auditor.c
index f34fc7e..4ee9256 100644
--- a/src/auditor/taler-wire-auditor.c
+++ b/src/auditor/taler-wire-auditor.c
@@ -1091,12 +1091,48 @@ run (void *cls,
const char *cfgfile,
const struct GNUNET_CONFIGURATION_Handle *c)
{
+ static const struct TALER_MasterPublicKeyP zeromp;
enum GNUNET_DB_QueryStatus qs;
int ret;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Launching auditor\n");
cfg = c;
+ if (0 == memcmp (&zeromp,
+ &master_pub,
+ sizeof (struct TALER_MasterPublicKeyP)))
+ {
+ /* -m option not given, try configuration */
+ char *master_public_key_str;
+
+ if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_get_value_string (cfg,
+ "exchange",
+ "MASTER_PUBLIC_KEY",
+ &master_public_key_str))
+ {
+ fprintf (stderr,
+ "Pass option -m or set it in the configuration!\n");
+ GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
+ "exchange",
+ "MASTER_PUBLIC_KEY");
+ global_ret = 1;
+ return;
+ }
+ if (GNUNET_OK !=
+ GNUNET_CRYPTO_eddsa_public_key_from_string (master_public_key_str,
+ strlen
(master_public_key_str),
+ &master_pub.eddsa_pub))
+ {
+ fprintf (stderr,
+ "Invalid master public key given in configuration file.");
+ GNUNET_free (master_public_key_str);
+ global_ret = 1;
+ return;
+ }
+ GNUNET_free (master_public_key_str);
+ } /* end of -m not given */
+
if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_string (cfg,
"taler",
@@ -1305,12 +1341,11 @@ main (int argc,
char *const *argv)
{
const struct GNUNET_GETOPT_CommandLineOption options[] = {
- GNUNET_GETOPT_option_mandatory
- (GNUNET_GETOPT_option_base32_auto ('m',
- "exchange-key",
- "KEY",
- "public key of the exchange (Crockford
base32 encoded)",
- &master_pub)),
+ GNUNET_GETOPT_option_base32_auto ('m',
+ "exchange-key",
+ "KEY",
+ "public key of the exchange (Crockford
base32 encoded)",
+ &master_pub),
GNUNET_GETOPT_option_flag ('r',
"restart",
"restart audit from the beginning (required on
first run)",
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [taler-exchange] branch master updated: make -m option optional for taler-auditor and taler-wire-auditor,
gnunet <=