diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-11-04 10:48:22 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-11-04 10:48:32 +0100 |
commit | b39c3f9ca626cf8908f4f552d481dd3e9d162140 (patch) | |
tree | 857f95e44a75a19ebab90a98c4788d2511eac089 /src/auditor | |
parent | dce058af76abad983df4a671616fd76a11bd133f (diff) | |
download | exchange-b39c3f9ca626cf8908f4f552d481dd3e9d162140.tar.gz exchange-b39c3f9ca626cf8908f4f552d481dd3e9d162140.tar.bz2 exchange-b39c3f9ca626cf8908f4f552d481dd3e9d162140.zip |
add missing default configs for auditor-httpd, make -u not mandatory as it is not needed for -r and check URL is well-formed if given; fix auditordb exchange insertion/removal logic
Diffstat (limited to 'src/auditor')
-rw-r--r-- | src/auditor/auditor.conf | 13 | ||||
-rw-r--r-- | src/auditor/taler-auditor-exchange.c | 39 | ||||
-rw-r--r-- | src/auditor/taler-auditor-sign.c | 2 |
3 files changed, 46 insertions, 8 deletions
diff --git a/src/auditor/auditor.conf b/src/auditor/auditor.conf index 22395cc6..c3b9a00c 100644 --- a/src/auditor/auditor.conf +++ b/src/auditor/auditor.conf @@ -10,3 +10,16 @@ AUDITOR_PRIV_FILE = ${TALER_DATA_HOME}/auditor/offline-keys/auditor.priv # What is the Web site of the auditor (i.e. to file complaints about # a misbehaving exchange)? # AUDITOR_URL = https://auditor.taler.net/ + + +# Network configuration for the normal API/service HTTP server +# serve via tcp socket (on PORT) +SERVE = tcp + +# Unix domain socket to listen on, +# only effective with "SERVE = unix" +UNIXPATH = ${TALER_RUNTIME_DIR}/exchange.http +UNIXPATH_MODE = 660 + +# HTTP port the auditor listens to +PORT = 8082 diff --git a/src/auditor/taler-auditor-exchange.c b/src/auditor/taler-auditor-exchange.c index b316f602..64e12d0b 100644 --- a/src/auditor/taler-auditor-exchange.c +++ b/src/auditor/taler-auditor-exchange.c @@ -73,12 +73,11 @@ main (int argc, "KEY", "public key of the exchange (Crockford base32 encoded)", &master_public_key)), - GNUNET_GETOPT_option_mandatory - (GNUNET_GETOPT_option_string ('u', - "exchange-url", - "URL", - "base URL of the exchange", - &exchange_url)), + GNUNET_GETOPT_option_string ('u', + "exchange-url", + "URL", + "base URL of the exchange", + &exchange_url), GNUNET_GETOPT_option_flag ('r', "remove", "remove the exchange's key (default is to add)", @@ -93,7 +92,7 @@ main (int argc, NULL)); if (GNUNET_GETOPT_run ("taler-auditor-exchange", options, - argc, argv) < 0) + argc, argv) <= 0) return 1; cfg = GNUNET_CONFIGURATION_create (); if (GNUNET_SYSERR == @@ -108,6 +107,32 @@ main (int argc, } GNUNET_free_non_null (cfgfile); + if (! remove_flag) + { + if (NULL == exchange_url) + { + FPRINTF (stderr, + _("Missing either `%s' or `%s'.\n"), + "-u URL", + "--remove"); + return 1; + } + if ( (0 == strlen (exchange_url)) || + ( (0 != strncasecmp ("http://", + exchange_url, + strlen ("http://"))) && + (0 != strncasecmp ("https://", + exchange_url, + strlen ("https://"))) ) || + ('/' != exchange_url[strlen(exchange_url)-1]) ) + { + fprintf (stderr, + "Exchange URL must begin with `http://` or `https://` and end with `/'\n"); + return 3; + } + } + + if (NULL == (adb = TALER_AUDITORDB_plugin_load (cfg))) { diff --git a/src/auditor/taler-auditor-sign.c b/src/auditor/taler-auditor-sign.c index e3453713..90efbd0e 100644 --- a/src/auditor/taler-auditor-sign.c +++ b/src/auditor/taler-auditor-sign.c @@ -193,7 +193,7 @@ main (int argc, NULL)); if (GNUNET_GETOPT_run ("taler-auditor-sign", options, - argc, argv) < 0) + argc, argv) <= 0) return 1; cfg = GNUNET_CONFIGURATION_create (); if (GNUNET_SYSERR == |