summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2023-11-27 19:51:37 +0100
committerFlorian Dold <florian@dold.me>2023-11-27 19:51:37 +0100
commit5e47a72e8a2b5086dfdae4078f695155f5ed7af8 (patch)
tree4122bf9be89bae8d44a579768f5f26721ea902c0
parent09a33a50d9b3b400f8a515082c888918cbf4e1b5 (diff)
downloaddocs-5e47a72e8a2b5086dfdae4078f695155f5ed7af8.tar.gz
docs-5e47a72e8a2b5086dfdae4078f695155f5ed7af8.tar.bz2
docs-5e47a72e8a2b5086dfdae4078f695155f5ed7af8.zip
update prebuilt
-rw-r--r--man/challenger-admin.111
-rw-r--r--man/challenger-config.12
-rw-r--r--man/challenger-dbconfig.12
-rw-r--r--man/challenger-dbinit.12
-rw-r--r--man/challenger-httpd.12
-rw-r--r--man/challenger.conf.54
-rw-r--r--man/libeufin-nexus.1185
-rw-r--r--man/libeufin-nexus.conf.5236
-rw-r--r--man/libeufin-sandbox.12
-rw-r--r--man/sync-config.12
-rw-r--r--man/sync-dbconfig.12
-rw-r--r--man/sync-dbinit.12
-rw-r--r--man/sync-httpd.12
-rw-r--r--man/sync.conf.54
-rw-r--r--man/taler-aggregator-benchmark.12
-rw-r--r--man/taler-auditor-dbconfig.12
-rw-r--r--man/taler-auditor-dbinit.12
-rw-r--r--man/taler-auditor-exchange.12
-rw-r--r--man/taler-auditor-httpd.12
-rw-r--r--man/taler-auditor-offline.12
-rw-r--r--man/taler-auditor-sync.12
-rw-r--r--man/taler-auditor.12
-rw-r--r--man/taler-bank-benchmark.12
-rw-r--r--man/taler-config.12
-rw-r--r--man/taler-exchange-aggregator.12
-rw-r--r--man/taler-exchange-benchmark.12
-rw-r--r--man/taler-exchange-closer.12
-rw-r--r--man/taler-exchange-dbconfig.12
-rw-r--r--man/taler-exchange-dbinit.12
-rw-r--r--man/taler-exchange-drain.12
-rw-r--r--man/taler-exchange-expire.12
-rw-r--r--man/taler-exchange-httpd.12
-rw-r--r--man/taler-exchange-kyc-aml-pep-trigger.12
-rw-r--r--man/taler-exchange-kyc-tester.12
-rw-r--r--man/taler-exchange-offline.16
-rw-r--r--man/taler-exchange-router.12
-rw-r--r--man/taler-exchange-secmod-cs.12
-rw-r--r--man/taler-exchange-secmod-eddsa.12
-rw-r--r--man/taler-exchange-secmod-rsa.12
-rw-r--r--man/taler-exchange-transfer.12
-rw-r--r--man/taler-exchange-wire-gateway-client.12
-rw-r--r--man/taler-exchange-wirewatch.12
-rw-r--r--man/taler-helper-auditor-aggregation.12
-rw-r--r--man/taler-helper-auditor-coins.12
-rw-r--r--man/taler-helper-auditor-deposits.12
-rw-r--r--man/taler-helper-auditor-purses.12
-rw-r--r--man/taler-helper-auditor-reserves.12
-rw-r--r--man/taler-helper-auditor-wire.12
-rw-r--r--man/taler-merchant-benchmark.12
-rw-r--r--man/taler-merchant-dbconfig.12
-rw-r--r--man/taler-merchant-dbinit.12
-rw-r--r--man/taler-merchant-httpd.12
-rw-r--r--man/taler-merchant-passwd.126
-rw-r--r--man/taler-merchant-setup-reserve.12
-rw-r--r--man/taler-merchant-webhook.12
-rw-r--r--man/taler-merchant-wirewatch.12
-rw-r--r--man/taler-terms-generator.18
-rw-r--r--man/taler-unified-setup.18
-rw-r--r--man/taler.conf.597
59 files changed, 493 insertions, 190 deletions
diff --git a/man/challenger-admin.1 b/man/challenger-admin.1
index 7347ff9c..899c7cc6 100644
--- a/man/challenger-admin.1
+++ b/man/challenger-admin.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "CHALLENGER-ADMIN" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "CHALLENGER-ADMIN" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
challenger-admin \- manipulate list of authorized Challenger clients
.SH SYNOPSIS
@@ -39,7 +39,9 @@ challenger-admin \- manipulate list of authorized Challenger clients
[\fB\-h\fP\ |\ \fB–help\fP]
[\fB\-L\fP\ \fILOGLEVEL\fP\ |\ \fB–log=\fP\fILOGLEVEL\fP]
[\fB\-l\fP\ \fIFILENAME\fP\ |\ \fB–logfile=\fP\fIFILENAME\fP]
-[\fB\-v\fP\ |\ \fB–version\fP] CLIENT_URL
+[\fB\-q\fP\ |\ \fB–quiet\fP]
+[\fB\-v\fP\ |\ \fB–version\fP]
+CLIENT_URL
.SH DESCRIPTION
.sp
\fBchallenger\-admin\fP is a command\-line tool to add or delete clients from the Challenger database.
@@ -66,7 +68,10 @@ Configure logging to use \fILOGLEVEL\fP\&.
\fB\-l\fP \fIFILENAME\fP | \fB–logfile=\fP\fIFILENAME\fP
Configure logging to write logs to \fIFILENAME\fP\&.
.TP
-\fB\-v\fP | \fB–version\fP
+\fB\-q\fP | \fB–\-quiet\fP
+Be less verbose in the output. Useful in shell scripts.
+.TP
+\fB\-v\fP | \fB–\-version\fP
Print version information.
.UNINDENT
.SH SEE ALSO
diff --git a/man/challenger-config.1 b/man/challenger-config.1
index 48d7c215..1d3d442e 100644
--- a/man/challenger-config.1
+++ b/man/challenger-config.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "CHALLENGER-CONFIG" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "CHALLENGER-CONFIG" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
challenger-config \- manipulate Challenger configuration files
.SH SYNOPSIS
diff --git a/man/challenger-dbconfig.1 b/man/challenger-dbconfig.1
index 4d6c1cbd..6cba91b0 100644
--- a/man/challenger-dbconfig.1
+++ b/man/challenger-dbconfig.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "CHALLENGER-DBCONFIG" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "CHALLENGER-DBCONFIG" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
challenger-dbconfig \- configure challenger database
.SH SYNOPSIS
diff --git a/man/challenger-dbinit.1 b/man/challenger-dbinit.1
index aee5632d..a03a92e9 100644
--- a/man/challenger-dbinit.1
+++ b/man/challenger-dbinit.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "CHALLENGER-DBINIT" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "CHALLENGER-DBINIT" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
challenger-dbinit \- initialize the Challenger database
.SH SYNOPSIS
diff --git a/man/challenger-httpd.1 b/man/challenger-httpd.1
index 265447ed..fcf4a099 100644
--- a/man/challenger-httpd.1
+++ b/man/challenger-httpd.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "CHALLENGER-HTTPD" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "CHALLENGER-HTTPD" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
challenger-httpd \- provide the Challenger HTTP interface
.SH SYNOPSIS
diff --git a/man/challenger.conf.5 b/man/challenger.conf.5
index 5afe3706..fb3e9562 100644
--- a/man/challenger.conf.5
+++ b/man/challenger.conf.5
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "CHALLENGER.CONF" "5" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "CHALLENGER.CONF" "5" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
challenger.conf \- Challenger configuration file
.SH DESCRIPTION
@@ -44,7 +44,7 @@ whitespace around the \fB=\fP (equal sign). Section names and options are
.sp
The values, however, are \fIcase\-sensitive\fP\&. In particular, boolean values are
one of \fBYES\fP or \fBNO\fP\&. Values can include whitespace by surrounding the
-entire value with \fB\(dq\fP (double quote). Note, however, that there are no
+entire value with \fB"\fP (double quote). Note, however, that there are no
escape characters in such strings; all characters between the double quotes
(including other double quotes) are taken verbatim.
.sp
diff --git a/man/libeufin-nexus.1 b/man/libeufin-nexus.1
index dd8b58cc..1203126a 100644
--- a/man/libeufin-nexus.1
+++ b/man/libeufin-nexus.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "LIBEUFIN-NEXUS" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "LIBEUFIN-NEXUS" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
libeufin-nexus \- service to interface to various bank access APIs
.SH SYNOPSIS
@@ -37,18 +37,11 @@ libeufin-nexus \- service to interface to various bank access APIs
[\fB–version\fP]
COMMAND [ARGS…]
.sp
-Commands: serve, superuser, parse\-camt, reset\-tables
+Subcommands: \fBdbinit\fP, \fBebics\-setup\fP, \fBebics\-submit\fP, \fBebics\-fetch\fP
.SH DESCRIPTION
.sp
\fBlibeufin\-nexus\fP is a program that provides a service to interface to
-various bank access APIs, using JSON as the response format.
-It maintains state in its own private database.
-You interact with it through HTTP
-requests either over the network or via a Unix domain socket.
-Related program \fBlibeufin\-cli\fP is the preferred front end
-for that mode of operation.
-There is also a mode where \fBlibeufin\-nexus\fP accepts commands directly,
-useful for doing administrative tasks.
+various bank access APIs
.sp
Its options are as follows:
.INDENT 0.0
@@ -61,111 +54,111 @@ Print version information.
.UNINDENT
.sp
The interaction model is as follows:
-.INDENT 0.0
-.IP \(bu 2
-Configure the nexus with command \fBsuperuser\fP\&.
-.IP \(bu 2
-Start the HTTP server with command \fBserve\fP\&.
-Let this run in a shell, writing logs to stderr.
-.IP \(bu 2
-Interact with \fBlibeufin\-nexus\fP\&.
-.IP \(bu 2
-When finished, interrupt the \fBserve\fP process and clean up with command
-\fBreset\-tables\fP\&.
-.UNINDENT
+.sp
+In order to operate any EBICS communication with \fBlibeufin\-nexus\fP, it is necessary to setup EBICS access via the \fBebics\-setup\fP subcommand. Setting the access means to share the client keys with the bank and downloading the bank keys. After a successful setup, the subcommands \fBebics\-submit\fP and \fBebics\-fetch\fP can be run to respectively send payments and download the bank account history.
.sp
The following sections describe each command in detail.
-.SS superuser
+.SS ebics\-setup
.sp
-This command adds a superuser, or changes the password.
-It takes argument \fBUSERNAME\fP\&.
-Option \fB\-\-password TEXT\fP specifies the password.
-If omitted, \fBlibeufin\-nexus\fP will query interactively for it.
+This command creates the client keys, if they aren’t found already on the disk, and sends them to the bank if they were not sent yet. In case of sending, it ejects the PDF document that contains the keys fingerprints, so that the user can send it to the bank to confirm their keys. The process continues by checking if the bank keys exist already on disk, and proceeds with downloading them in case they are not. It checks then if the bank keys were accepted by the user; if yes, the setup terminates, otherwise it interactively asks the user to mark the keys as accepted. By accepting the bank keys, the setup terminates successfully.
.sp
-For example:
+Its options are as follows:
.INDENT 0.0
-.INDENT 3.5
-.sp
-.nf
-.ft C
-$ libeufin\-nexus superuser joe
-.ft P
-.fi
-.UNINDENT
+.TP
+\fB\-h\fP | \fB–help\fP
+Prints short help on options.
+.TP
+\fB\-c\fP | \fB–config\fP ‌\fIFILENAME\fP
+Specifies the configuration file.
+.TP
+\fB–check\-full\-config\fP
+Checks the configuration of all the three subcommands and returns.
+.TP
+\fB–force\-keys\-resubmission\fP
+Resubmits the client keys. If no keys were found, it creates and submits them.
+.TP
+\fB–auto\-accept\-keys\fP
+Accepts the bank keys without interactively asking the user.
+.TP
+\fB–generate\-registration\-pdf\fP
+Generates the PDF with the client keys fingerprints, if the keys have the submitted state. That’s useful in case the PDF went lost after the first submission and the user needs a new PDF.
.UNINDENT
+.SS dbinit
.sp
-This creates superuser \fBjoe\fP and interactively queries for the password.
-.SS parse\-camt
-.sp
-This command parses a camt file and displays the result to stdout.
-It takes argument \fBFILENAME\fP, which names a file in CAMT format.
-Parsing may also display log information to stderr.
-The normal log level is \fBDEBUG\fP\&.
-To change it, use \fB\-\-log\-level LEVEL\fP, where \fBLEVEL\fP is one of:
-\fBERROR\fP, \fBWARN\fP, \fBINFO\fP, \fBDEBUG\fP, \fBTRACE\fP\&.
+This subcommand defines the database schema for Nexus. It is mandatory to run this command before invoking the \fBebics\-submit\fP or \fBebics\-fetch\fP subcommands.
.sp
-For example:
+Its options are as follows:
.INDENT 0.0
-.INDENT 3.5
-.sp
-.nf
-.ft C
-$ libeufin\-nexus parse\-camt camt53\-gls\-style\-0.xml
-{
- \(dqtransactions\(dq : [ {
- \(dqamount\(dq : \(dqEUR:2.35\(dq,
- \(dqcreditDebitIndicator\(dq : \(dqDBIT\(dq,
- ...
- } ]
-}
-.ft P
-.fi
-.UNINDENT
+.TP
+\fB\-h\fP | \fB–help\fP
+Print short help on options.
+.TP
+\fB\-c\fP | \fB–config\fP ‌\fIFILENAME\fP
+Specifies the configuration file.
+.TP
+\fB\-r\fP | \fB–reset\fP
+If present, deletes any database table (WARNING: potential data loss)
.UNINDENT
-.SS serve
+.SS ebics\-submit
.sp
-This command starts the HTTP server, listening on port 5001.
-To use a different port, use option \fB\-\-port INT\fP\&.
-To listen, instead, on a Unix domain socket,
-use option \fB\-\-with\-unix\-socket PATH\fP\&.
-When both \fB\-\-port\fP and \fB\-\-with\-unix\-socket\fP are given,
-\fB\-\-with\-unix\-socket\fP takes precedence.
+This subcommand submits any initiated payment that was not already sent to the bank. In the current version, initiated payments may come from a cash\-out operation or from a bounced incoming payment. ebics\-submit is Taler friendly, therefore bounced payments are those that do not contain a valid subject to start a Taler withdrawal. Cash\-out operations come from a tightly integrated bank that offers their customers to convert their currency to the currency whose the EBICS subscriber bank account is tied to.
.sp
-The process runs in the foreground, writing its logs to standard error.
-The normal log level is \fBDEBUG\fP\&.
-To change it, use \fB\-\-log\-level LEVEL\fP, where \fBLEVEL\fP is one of:
-\fBERROR\fP, \fBWARN\fP, \fBINFO\fP, \fBDEBUG\fP, \fBTRACE\fP\&.
-.sp
-Before invoking \fBserve\fP, the following environment variable needs to be set:
+Its options are as follows:
.INDENT 0.0
.TP
-.B \fBLIBEUFIN_NEXUS_DB_CONNECTION\fP
-This specifies the database \fBlibeufin\-nexus\fP uses to maintain state.
-Currently, both Sqlite and PostgreSQL are supported.
-(Only one needs to be specified.)
-Examples:
-.INDENT 7.0
-.IP \(bu 2
-\fBjdbc:sqlite:/tmp/libeufin\-nexus.db\fP
-.IP \(bu 2
-\fBjdbc:postgresql://localhost:5432/libeufindb?user=Foo&password=secret\fP
-.UNINDENT
+\fB\-h\fP | \fB–help\fP
+Print short help on options.
+.TP
+\fB\-c\fP | \fB–config\fP ‌\fIFILENAME\fP
+Specifies the configuration file.
+.TP
+\fB–transient\fP
+This flag, enabled by default, causes the command to check the database and submit only once, and then return.
+.TP
+\fB–debug\fP
+With this flag, it is possible to pass via STDIN a raw pain.001 document to be submitted to the bank. This method turns ebics\-submit to run in transient mode and it does NOT affect the database.
+.TP
+\fB–ebics\-extra\-log\fP
+Enables (verbose) logging of EBICS 3 messages to STDERR. It logs only EBICS 3 messages from the initialisation phase of an upload order.
.UNINDENT
+.SS ebics\-fetch
.sp
-Normally, the \fBserve\fP command runs until interrupted.
-When run in a shell, you can use \fBControl\-C\fP for that.
-.SS reset\-tables
-.sp
-This command drops all the tables in the internal database.
-(The next time the tables are needed, \fBlibeufin\-nexus\fP creates them
-again, automatically.)
-.sp
-It should only be used when the nexus is quiescent.
+This subcommand downloads banking records via EBICS and stores them into the database. By default, it downloads \fBcamt.054\fP notifications. Along the download, ebics\-fetch would bounce incoming payments that do not have a valid Taler subject, or as well those with an already existing valid subject. Valid incoming payments are then stored in the database so that they can trigger Taler withdrawals. Along this process, ebics\-submit would as well reconcile initiated outgoing payments with any outgoing transactions that shows up in the downloaded records. Any option starting with \fB\-\-only\fP would only be useful with a defined log directory (STATEMENTS_LOG_DIRECTORY) in the configuration.
+.INDENT 0.0
+.TP
+\fB\-h\fP | \fB–help\fP
+Print short help on options.
+.TP
+\fB\-c\fP | \fB–config\fP ‌\fIFILENAME\fP
+Specifies the configuration file.
+.TP
+\fB–transient\fP
+This flag, enabled by default, causes the command to perform one download and return.
+.TP
+\fB–only\-statements\fP
+It downloads statements (instead of notifications) in the form of camt.053 documents. It does NOT affect the database.
+.TP
+\fB–only\-ack\fP
+It downloads payment submissions acknowledgements (instead of notifications) in the form of pain.002 documents. It MAY affect the database by setting the state of submitted payments.
+.TP
+\fB–only\-reports\fP
+It downloads only intraday reports (instead of notifications) in the form of camt.052 documents. It does NOT affect the database.
+.TP
+\fB–only\-logs\fP
+It downloads the subscriber activity via EBICS HAC in the form of pain.002 documents. It does NOT affect the database.
+.TP
+\fB–pinned\-start\fP
+Only supported in –transient mode, this option lets specify the earliest timestamp of the downloaded documents. The latest timestamp is always the current time.
+.TP
+\fB–debug\fP
+With this flag, ebics\-fetch accepts XML documents from STDIN. In this case, it prints on the console the result and exits, without affecting the database. The results are the stringified objects that the application itself uses to represent the business details.
+.UNINDENT
.SH SEE ALSO
+.sp
+libeufin\-nexus.conf(5)
.SH BUGS
.sp
-Report bugs by using \fI\%https://bugs.taler.net\fP or by sending electronic
-mail to <\fI\%taler@gnu.org\fP>.
+Report bugs by using \fI\%https://bugs.taler.net\fP or by sending electronic mail to <\fI\%taler@gnu.org\fP>.
.SH AUTHOR
GNU Taler contributors
.SH COPYRIGHT
diff --git a/man/libeufin-nexus.conf.5 b/man/libeufin-nexus.conf.5
new file mode 100644
index 00000000..954fee77
--- /dev/null
+++ b/man/libeufin-nexus.conf.5
@@ -0,0 +1,236 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "LIBEUFIN-NEXUS.CONF" "5" "Nov 27, 2023" "0.9" "GNU Taler"
+.SH NAME
+libeufin-nexus.conf \- LibEuFin Nexus configuration file
+.SH DESCRIPTION
+.sp
+The configuration file is line\-oriented. Blank lines and whitespace at the
+beginning and end of a line are ignored. Comments start with \fB#\fP or \fB%\fP
+in the first column (after any beginning\-of\-line whitespace) and go to the end
+of the line.
+.sp
+The file is split into sections. Every section begins with \fB[SECTIONNAME]\fP
+and contains a number of options of the form \fBOPTION=VALUE\fP\&. There may be
+whitespace around the \fB=\fP (equal sign). Section names and options are
+\fIcase\-insensitive\fP\&.
+.sp
+The values, however, are \fIcase\-sensitive\fP\&. In particular, boolean values are
+one of \fBYES\fP or \fBNO\fP\&. Values can include whitespace by surrounding the
+entire value with \fB"\fP (double quote). Note, however, that there are no
+escape characters in such strings; all characters between the double quotes
+(including other double quotes) are taken verbatim.
+.sp
+Durations must be expressed with a number followed by the time unit. The following
+time units are supported: \(aqs\(aq (seconds), \(aqm\(aq (minutes), \(aqh\(aq (hours). For example,
+the value \fI5m\fP denotes a duration of \fIfive minutes\fP\&.
+.sp
+Values that represent filenames can begin with a \fB/bin/sh\fP\-like variable
+reference. This can be simple, such as \fB$TMPDIR/foo\fP, or complex, such as
+\fB${TMPDIR:\-${TMP:\-/tmp}}/foo\fP\&. The variables are expanded either using
+key\-values from the \fB[PATHS]\fP section (see below) or from the environment
+(\fBgetenv()\fP). The values from \fB[PATHS]\fP take precedence over those from
+the environment. If the variable name is found in neither \fB[PATHS]\fP nor the
+environment, a warning is printed and the value is left unchanged. Variables (including those from the environment) are expanded recursively, so if \fBFOO=$BAR\fP and \fBBAR=buzz\fP then the result is \fBFOO=buzz\fP\&. Recursion is bounded to at most 128 levels to avoid undefined behavior for mutually recursive expansions like if \fBBAR=$FOO\fP in the example above.
+.sp
+The \fB[PATHS]\fP section is special in that it contains paths that can be
+referenced using \fB$\fP in other configuration values that specify
+\fIfilenames\fP\&. Note that configuration options that are not specifically
+retrieved by the application as \fIfilenames\fP will not see “$”\-expressions
+expanded. To expand \fB$\fP\-expressions when using \fBtaler\-config\fP, you must pass
+the \fB\-f\fP command\-line option.
+.sp
+The system automatically pre\-populates the \fB[PATHS]\fP section with a few values
+at run\-time (in addition to the values that are in the actual configuration
+file and automatically overwriting those values if they are present).
+These automatically generated values refer to installation properties
+from \fI\%GNU autoconf\fP\&. The
+values are usually dependent on an \fBINSTALL_PREFIX\fP which is determined by
+the \fB\-\-prefix\fP option given to configure. The canonical values are:
+.INDENT 0.0
+.INDENT 3.5
+.INDENT 0.0
+.IP \(bu 2
+LIBEXECDIR = $INSTALL_PREFIX/taler/libexec/
+.IP \(bu 2
+DOCDIR = $INSTALL_PREFIX/share/doc/taler/
+.IP \(bu 2
+ICONDIR = $INSTALL_PREFIX/share/icons/
+.IP \(bu 2
+LOCALEDIR = $INSTALL_PREFIX/share/locale/
+.IP \(bu 2
+PREFIX = $INSTALL_PREFIX/
+.IP \(bu 2
+BINDIR = $INSTALL_PREFIX/bin/
+.IP \(bu 2
+LIBDIR = $INSTALL_PREFIX/lib/taler/
+.IP \(bu 2
+DATADIR = $INSTALL_PREFIX/share/taler/
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+Note that on some platforms, the given paths may differ depending
+on how the system was compiled or installed, the above are just the
+canonical locations of the various resources. These
+automatically generated values are never written to disk.
+.sp
+Files containing default values for many of the options described below
+are installed under \fB$TALER_PREFIX/share/libeufin\-nexus/config.d/\fP\&.
+The configuration file given with \fB\-c\fP to Taler binaries
+overrides these defaults.
+.sp
+A configuration file may include another, by using the \fB@INLINE@\fP directive,
+for example, in \fBmain.conf\fP, you could write \fB@INLINE@ sub.conf\fP to
+include the entirety of \fBsub.conf\fP at that point in \fBmain.conf\fP\&.
+.sp
+Be extra careful when using \fBtaler\-config \-V VALUE\fP to change configuration
+values: it will destroy all uses of \fB@INLINE@\fP and furthermore remove all
+comments from the configuration file!
+.SS GLOBAL OPTIONS
+.sp
+Setting the database belongs to the “[nexus\-postgres]” section and the
+following value.
+.INDENT 0.0
+.TP
+.B CONFIG
+PostgreSQL connection string. Note: this option is NOT used by the
+ebics\-setup subcommand, as it stores the key files directly on the
+filesystem.
+.UNINDENT
+.sp
+The “[paths]” section is special in that it contains paths that can be
+referenced using “$” in other configuration values that specify
+filenames. For Taler, it commonly contains the following paths:
+.INDENT 0.0
+.TP
+.B LIBEUFIN_HOME
+Home directory of the user, usually “${HOME}”. Can be overwritten by
+testcases by setting ${LIBEUFIN_TEST_HOME}.
+.UNINDENT
+.SS EBICS SETUP OPTIONS
+.sp
+The following options are from the “[nexus\-ebics]” section and used by
+the \fBlibeufin\-nexus ebics\-setup\fP command.
+.INDENT 0.0
+.TP
+.B CURRENCY
+Name of the currency, e.g.\ “EUR” for Euro.
+.TP
+.B HOST_BASE_URL = \fI\%http://bank.example.com/\fP
+URL of the EBICS server
+.TP
+.B BANK_DIALECT
+Name of the following combination: EBICS version and ISO20022 recommendations
+that Nexus would honor in the communication with the bank. Currently only the
+\(aqpostfinance\(aq value is supported.
+.TP
+.B HOST_ID
+EBICS specific: name of the EBICS host
+.TP
+.B USER_ID
+EBICS specific: user ID of the EBICS subscriber. This value must be assigned
+by the bank after having activated a new EBICS subscriber.
+.TP
+.B PARTNER_ID
+EBICS specific: partner ID of the EBICS subscriber. This value must be assigned
+by the bank after having activated a new EBICS subscriber.
+.TP
+.B BANK_PUBLIC_KEYS_FILE
+Filesystem location where Nexus should store the bank public keys.
+.TP
+.B CLIENT_PRIVATE_KEYS_FILE
+Filesystem location where Nexus should store the subscriber private keys.
+.TP
+.B IBAN
+IBAN of the bank account that is associated with the EBICS subscriber.
+.TP
+.B BIC
+BIC of the bank account that is associated with the EBICS subscriber.
+.TP
+.B NAME
+Legal entity that is associated with the EBICS subscriber.
+.UNINDENT
+.SS EBICS SUBMIT OPTIONS
+.sp
+The following configuration value(s) belong to the “[nexus\-submit]” section.
+.INDENT 0.0
+.TP
+.B FREQUENCY
+Duration value to instruct the \fBebics\-submit\fP subcommand how much to wait
+before checking the database again to find new unsubmitted payments.
+.TP
+.B SUBMISSIONS_LOG_DIRECTORY
+Optional value to define the path where the pain.001 documents gets stored \fIbefore\fP
+being submitted to the bank. This directory would contain several directories,
+each named after the YYYY\-MM\-DD format. The pain.001 file would then be named in
+the following schema: \fB$submissionTimestampMicroseconds_requestUid_$requestUid_pain.001.xml\fP\&.
+\fB$requestUid\fP is the same value that constitutes the pain.001 \fBMsgIg\fP element.
+In the event that one log file would be overridden, \fBebics\-submit\fP fails without
+overriding it.
+.UNINDENT
+.SS EBICS FETCH OPTIONS
+.sp
+The following configuration value(s) belong to the “[nexus\-fetch]” section.
+.INDENT 0.0
+.TP
+.B FREQUENCY
+Duration value to instruct the \fBebics\-fetch\fP subcommand how often it should
+download from the bank.
+.TP
+.B STATEMENT_LOG_DIRECTORY
+Optional value to define the path where the downloaded documents would be stored
+\fIbefore\fP being ingested in the database. This directory would contain several
+directories, each named after the YYYY\-MM\-DD format. The stored files would then
+be named after the following schema:
+\fB$downloadTimestampMicroseconds_$filenameAsGivenByTheBank\fP\&. In case one log file
+would be overridden, \fBebics\-fetch\fP fails without overriding it.
+Exception to this naming scheme are the HAC responses, since they do not get any
+filename assigned by the ZIP archive (they are sent unzipped). Their naming scheme
+is: \fB$downloadTimestampMicroseconds_HAC_response.pain.002.xml\fP
+.TP
+.B MINIMUM_AMOUNT
+Optional value to indicate the minumum amount that users should wire to the watched
+bank account. It takes only the number part \fIwithout the currency\fP, where at most two
+fractional digits are allowed.
+.UNINDENT
+.SH SEE ALSO
+.sp
+libeufin\-nexus(1)
+.SH BUGS
+.sp
+Report bugs by using \fI\%https://bugs.taler.net/\fP or by sending electronic
+mail to <\fI\%taler@gnu.org\fP>.
+.SH AUTHOR
+GNU Taler contributors
+.SH COPYRIGHT
+2014-2022 Taler Systems SA (GPLv3+ or GFDL 1.3+)
+.\" Generated by docutils manpage writer.
+.
diff --git a/man/libeufin-sandbox.1 b/man/libeufin-sandbox.1
index ffb76fd8..fc572b10 100644
--- a/man/libeufin-sandbox.1
+++ b/man/libeufin-sandbox.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "LIBEUFIN-SANDBOX" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "LIBEUFIN-SANDBOX" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
libeufin-sandbox \- simulate core banking system with EBICS access to bank accounts
.SH SYNOPSIS
diff --git a/man/sync-config.1 b/man/sync-config.1
index 420b0934..348663aa 100644
--- a/man/sync-config.1
+++ b/man/sync-config.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "SYNC-CONFIG" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "SYNC-CONFIG" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
sync-config \- manipulate Sync configuration files
.SH SYNOPSIS
diff --git a/man/sync-dbconfig.1 b/man/sync-dbconfig.1
index cff3641f..39c687b3 100644
--- a/man/sync-dbconfig.1
+++ b/man/sync-dbconfig.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "SYNC-DBCONFIG" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "SYNC-DBCONFIG" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
sync-dbconfig \- configure sync database
.SH SYNOPSIS
diff --git a/man/sync-dbinit.1 b/man/sync-dbinit.1
index 72a84dcf..5b638458 100644
--- a/man/sync-dbinit.1
+++ b/man/sync-dbinit.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "SYNC-DBINIT" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "SYNC-DBINIT" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
sync-dbinit \- initialize the Sync database
.SH SYNOPSIS
diff --git a/man/sync-httpd.1 b/man/sync-httpd.1
index 75742634..cbac0b2e 100644
--- a/man/sync-httpd.1
+++ b/man/sync-httpd.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "SYNC-HTTPD" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "SYNC-HTTPD" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
sync-httpd \- provide the Sync HTTP interface
.SH SYNOPSIS
diff --git a/man/sync.conf.5 b/man/sync.conf.5
index 03e231e0..29c1ac4e 100644
--- a/man/sync.conf.5
+++ b/man/sync.conf.5
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "SYNC.CONF" "5" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "SYNC.CONF" "5" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
sync.conf \- Sync configuration file
.SH DESCRIPTION
@@ -44,7 +44,7 @@ whitespace around the \fB=\fP (equal sign). Section names and options are
.sp
The values, however, are \fIcase\-sensitive\fP\&. In particular, boolean values are
one of \fBYES\fP or \fBNO\fP\&. Values can include whitespace by surrounding the
-entire value with \fB\(dq\fP (double quote). Note, however, that there are no
+entire value with \fB"\fP (double quote). Note, however, that there are no
escape characters in such strings; all characters between the double quotes
(including other double quotes) are taken verbatim.
.sp
diff --git a/man/taler-aggregator-benchmark.1 b/man/taler-aggregator-benchmark.1
index afca6062..9a17c0c1 100644
--- a/man/taler-aggregator-benchmark.1
+++ b/man/taler-aggregator-benchmark.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-AGGREGATOR-BENCHMARK" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-AGGREGATOR-BENCHMARK" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-aggregator-benchmark \- generate database to measure aggregator performance
.SH SYNOPSIS
diff --git a/man/taler-auditor-dbconfig.1 b/man/taler-auditor-dbconfig.1
index fad98b31..819bcc35 100644
--- a/man/taler-auditor-dbconfig.1
+++ b/man/taler-auditor-dbconfig.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-AUDITOR-DBCONFIG" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-AUDITOR-DBCONFIG" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-auditor-dbconfig \- configure Taler auditor database
.SH SYNOPSIS
diff --git a/man/taler-auditor-dbinit.1 b/man/taler-auditor-dbinit.1
index 28d99947..dd4d9fbf 100644
--- a/man/taler-auditor-dbinit.1
+++ b/man/taler-auditor-dbinit.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-AUDITOR-DBINIT" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-AUDITOR-DBINIT" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-auditor-dbinit \- setup auditor database
.SH SYNOPSIS
diff --git a/man/taler-auditor-exchange.1 b/man/taler-auditor-exchange.1
index a9851b10..3bb53f0e 100644
--- a/man/taler-auditor-exchange.1
+++ b/man/taler-auditor-exchange.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-AUDITOR-EXCHANGE" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-AUDITOR-EXCHANGE" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-auditor-exchange \- add or remove exchange from auditor’s list
.SH SYNOPSIS
diff --git a/man/taler-auditor-httpd.1 b/man/taler-auditor-httpd.1
index 106aa510..4c1d0e17 100644
--- a/man/taler-auditor-httpd.1
+++ b/man/taler-auditor-httpd.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-AUDITOR-HTTPD" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-AUDITOR-HTTPD" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-auditor-httpd \- HTTP server providing a RESTful API to access a Taler auditor
.SH SYNOPSIS
diff --git a/man/taler-auditor-offline.1 b/man/taler-auditor-offline.1
index 3b593fdd..de445c4a 100644
--- a/man/taler-auditor-offline.1
+++ b/man/taler-auditor-offline.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-AUDITOR-OFFLINE" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-AUDITOR-OFFLINE" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-auditor-offline \- Taler auditor certifies that it audits a Taler exchange
.SH SYNOPSIS
diff --git a/man/taler-auditor-sync.1 b/man/taler-auditor-sync.1
index 129a3e03..fd928473 100644
--- a/man/taler-auditor-sync.1
+++ b/man/taler-auditor-sync.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-AUDITOR-SYNC" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-AUDITOR-SYNC" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-auditor-sync \- tool to safely synchronize auditor database
.SH SYNOPSIS
diff --git a/man/taler-auditor.1 b/man/taler-auditor.1
index cb0f4f6a..28f608cd 100644
--- a/man/taler-auditor.1
+++ b/man/taler-auditor.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-AUDITOR" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-AUDITOR" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-auditor \- audit exchange
.SH SYNOPSIS
diff --git a/man/taler-bank-benchmark.1 b/man/taler-bank-benchmark.1
index ee1c9706..b1a89c48 100644
--- a/man/taler-bank-benchmark.1
+++ b/man/taler-bank-benchmark.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-BANK-BENCHMARK" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-BANK-BENCHMARK" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-bank-benchmark \- measure bank performance
.SH SYNOPSIS
diff --git a/man/taler-config.1 b/man/taler-config.1
index b790bdc2..b10c95c1 100644
--- a/man/taler-config.1
+++ b/man/taler-config.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-CONFIG" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-CONFIG" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-config \- Taler configuration inspection and editing
.SH SYNOPSIS
diff --git a/man/taler-exchange-aggregator.1 b/man/taler-exchange-aggregator.1
index 9367bd8b..e173224c 100644
--- a/man/taler-exchange-aggregator.1
+++ b/man/taler-exchange-aggregator.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-AGGREGATOR" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-AGGREGATOR" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-aggregator \- aggregate deposits into wire transfers
.SH SYNOPSIS
diff --git a/man/taler-exchange-benchmark.1 b/man/taler-exchange-benchmark.1
index 6b3e885c..5af844da 100644
--- a/man/taler-exchange-benchmark.1
+++ b/man/taler-exchange-benchmark.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-BENCHMARK" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-BENCHMARK" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-benchmark \- measure exchange performance
.SH SYNOPSIS
diff --git a/man/taler-exchange-closer.1 b/man/taler-exchange-closer.1
index 98a12c05..9eaa265f 100644
--- a/man/taler-exchange-closer.1
+++ b/man/taler-exchange-closer.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-CLOSER" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-CLOSER" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-closer \- close idle reserves
.SH SYNOPSIS
diff --git a/man/taler-exchange-dbconfig.1 b/man/taler-exchange-dbconfig.1
index 40460d42..381fad24 100644
--- a/man/taler-exchange-dbconfig.1
+++ b/man/taler-exchange-dbconfig.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-DBCONFIG" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-DBCONFIG" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-dbconfig \- configure Taler exchange database
.SH SYNOPSIS
diff --git a/man/taler-exchange-dbinit.1 b/man/taler-exchange-dbinit.1
index 73785391..aaf7ed96 100644
--- a/man/taler-exchange-dbinit.1
+++ b/man/taler-exchange-dbinit.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-DBINIT" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-DBINIT" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-dbinit \- initialize Taler exchange database
.SH SYNOPSIS
diff --git a/man/taler-exchange-drain.1 b/man/taler-exchange-drain.1
index 6ea62735..def0f870 100644
--- a/man/taler-exchange-drain.1
+++ b/man/taler-exchange-drain.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-DRAIN" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-DRAIN" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-drain \- drain profits from exchange
.SH SYNOPSIS
diff --git a/man/taler-exchange-expire.1 b/man/taler-exchange-expire.1
index 03a01728..647b06a0 100644
--- a/man/taler-exchange-expire.1
+++ b/man/taler-exchange-expire.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-EXPIRE" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-EXPIRE" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-expire \- refund expired purses
.SH SYNOPSIS
diff --git a/man/taler-exchange-httpd.1 b/man/taler-exchange-httpd.1
index cd2defa7..1d0dfc71 100644
--- a/man/taler-exchange-httpd.1
+++ b/man/taler-exchange-httpd.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-HTTPD" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-HTTPD" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-httpd \- run Taler exchange (with RESTful API)
.SH SYNOPSIS
diff --git a/man/taler-exchange-kyc-aml-pep-trigger.1 b/man/taler-exchange-kyc-aml-pep-trigger.1
index bf60a2f3..bfe110ae 100644
--- a/man/taler-exchange-kyc-aml-pep-trigger.1
+++ b/man/taler-exchange-kyc-aml-pep-trigger.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-KYC-AML-PEP-TRIGGER" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-KYC-AML-PEP-TRIGGER" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-kyc-aml-pep-trigger \- Taler KYC_AML_TRIGGER example
.SH SYNOPSIS
diff --git a/man/taler-exchange-kyc-tester.1 b/man/taler-exchange-kyc-tester.1
index f22b7789..9d27d461 100644
--- a/man/taler-exchange-kyc-tester.1
+++ b/man/taler-exchange-kyc-tester.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-KYC-TESTER" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-KYC-TESTER" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-kyc-tester \- test KYC service integration
.SH SYNOPSIS
diff --git a/man/taler-exchange-offline.1 b/man/taler-exchange-offline.1
index 4a32db6a..51230354 100644
--- a/man/taler-exchange-offline.1
+++ b/man/taler-exchange-offline.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-OFFLINE" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-OFFLINE" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-offline \- operations using the offline key of a Taler exchange
.SH SYNOPSIS
@@ -587,8 +587,8 @@ $ taler\-exchange\-offline \e
regex \e
\(aqpayto://iban/.*/CH.*?receiver\-name=.*\(aq \e
\(aqSwiss only\(aq \e
- \(aq{ \(dqde\(dq : \(dqnur Schweiz\(dq, \e
- \(dqfr\(dq : \(dqSuisse uniquement\(dq }\(aq
+ \(aq{ "de" : "nur Schweiz", \e
+ "fr" : "Suisse uniquement" }\(aq
.ft P
.fi
.UNINDENT
diff --git a/man/taler-exchange-router.1 b/man/taler-exchange-router.1
index 7432bf2d..0f1d4352 100644
--- a/man/taler-exchange-router.1
+++ b/man/taler-exchange-router.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-ROUTER" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-ROUTER" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-router \- route payments to partner exchanges
.SH SYNOPSIS
diff --git a/man/taler-exchange-secmod-cs.1 b/man/taler-exchange-secmod-cs.1
index bbed30dc..90495ec9 100644
--- a/man/taler-exchange-secmod-cs.1
+++ b/man/taler-exchange-secmod-cs.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-SECMOD-CS" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-SECMOD-CS" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-secmod-cs \- handle private CS key operations for a Taler exchange
.SH SYNOPSIS
diff --git a/man/taler-exchange-secmod-eddsa.1 b/man/taler-exchange-secmod-eddsa.1
index a30524b4..6a9ae413 100644
--- a/man/taler-exchange-secmod-eddsa.1
+++ b/man/taler-exchange-secmod-eddsa.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-SECMOD-EDDSA" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-SECMOD-EDDSA" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-secmod-eddsa \- handle private EDDSA key operations for a Taler exchange
.SH SYNOPSIS
diff --git a/man/taler-exchange-secmod-rsa.1 b/man/taler-exchange-secmod-rsa.1
index 99ecf430..61942149 100644
--- a/man/taler-exchange-secmod-rsa.1
+++ b/man/taler-exchange-secmod-rsa.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-SECMOD-RSA" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-SECMOD-RSA" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-secmod-rsa \- handle private RSA key operations for a Taler exchange
.SH SYNOPSIS
diff --git a/man/taler-exchange-transfer.1 b/man/taler-exchange-transfer.1
index c05cb4f2..c8b584f2 100644
--- a/man/taler-exchange-transfer.1
+++ b/man/taler-exchange-transfer.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-TRANSFER" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-TRANSFER" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-transfer \- execute wire transfers
.SH SYNOPSIS
diff --git a/man/taler-exchange-wire-gateway-client.1 b/man/taler-exchange-wire-gateway-client.1
index e11f0cfe..59a5e9d6 100644
--- a/man/taler-exchange-wire-gateway-client.1
+++ b/man/taler-exchange-wire-gateway-client.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-WIRE-GATEWAY-CLIENT" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-WIRE-GATEWAY-CLIENT" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-wire-gateway-client \- trigger a transfer at the bank
.SH SYNOPSIS
diff --git a/man/taler-exchange-wirewatch.1 b/man/taler-exchange-wirewatch.1
index 743609e9..a4328b94 100644
--- a/man/taler-exchange-wirewatch.1
+++ b/man/taler-exchange-wirewatch.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-EXCHANGE-WIREWATCH" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-EXCHANGE-WIREWATCH" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-wirewatch \- watch for incoming wire transfers
.SH SYNOPSIS
diff --git a/man/taler-helper-auditor-aggregation.1 b/man/taler-helper-auditor-aggregation.1
index a81f6bcd..2e5dc3a8 100644
--- a/man/taler-helper-auditor-aggregation.1
+++ b/man/taler-helper-auditor-aggregation.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-HELPER-AUDITOR-AGGREGATION" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-HELPER-AUDITOR-AGGREGATION" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-helper-auditor-aggregation \- audit Taler exchange aggregation activity
.SH SYNOPSIS
diff --git a/man/taler-helper-auditor-coins.1 b/man/taler-helper-auditor-coins.1
index ae982ea9..6beebd66 100644
--- a/man/taler-helper-auditor-coins.1
+++ b/man/taler-helper-auditor-coins.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-HELPER-AUDITOR-COINS" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-HELPER-AUDITOR-COINS" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-helper-auditor-coins \- audit Taler coin processing
.SH SYNOPSIS
diff --git a/man/taler-helper-auditor-deposits.1 b/man/taler-helper-auditor-deposits.1
index 35a0e3d3..ba06bccb 100644
--- a/man/taler-helper-auditor-deposits.1
+++ b/man/taler-helper-auditor-deposits.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-HELPER-AUDITOR-DEPOSITS" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-HELPER-AUDITOR-DEPOSITS" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-helper-auditor-deposits \- audit Taler exchange database for deposit confirmation consistency
.SH SYNOPSIS
diff --git a/man/taler-helper-auditor-purses.1 b/man/taler-helper-auditor-purses.1
index 6beb71b5..d34884a5 100644
--- a/man/taler-helper-auditor-purses.1
+++ b/man/taler-helper-auditor-purses.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-HELPER-AUDITOR-PURSES" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-HELPER-AUDITOR-PURSES" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-helper-auditor-purses \- audit Taler exchange purse handling
.SH SYNOPSIS
diff --git a/man/taler-helper-auditor-reserves.1 b/man/taler-helper-auditor-reserves.1
index 34a9e34b..0e5db288 100644
--- a/man/taler-helper-auditor-reserves.1
+++ b/man/taler-helper-auditor-reserves.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-HELPER-AUDITOR-RESERVES" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-HELPER-AUDITOR-RESERVES" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-helper-auditor-reserves \- audit Taler exchange reserve handling
.SH SYNOPSIS
diff --git a/man/taler-helper-auditor-wire.1 b/man/taler-helper-auditor-wire.1
index bb8275a2..e4b41759 100644
--- a/man/taler-helper-auditor-wire.1
+++ b/man/taler-helper-auditor-wire.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-HELPER-AUDITOR-WIRE" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-HELPER-AUDITOR-WIRE" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-helper-auditor-wire \- audit exchange database for consistency with the bank's wire transfers
.SH SYNOPSIS
diff --git a/man/taler-merchant-benchmark.1 b/man/taler-merchant-benchmark.1
index 5ee8b721..440b63ad 100644
--- a/man/taler-merchant-benchmark.1
+++ b/man/taler-merchant-benchmark.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-MERCHANT-BENCHMARK" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-MERCHANT-BENCHMARK" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-merchant-benchmark \- generate Taler-style benchmarking payments
.SH SYNOPSIS
diff --git a/man/taler-merchant-dbconfig.1 b/man/taler-merchant-dbconfig.1
index 4e15e4db..cbc9005a 100644
--- a/man/taler-merchant-dbconfig.1
+++ b/man/taler-merchant-dbconfig.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-MERCHANT-DBCONFIG" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-MERCHANT-DBCONFIG" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-merchant-dbconfig \- configure Taler merchant database
.SH SYNOPSIS
diff --git a/man/taler-merchant-dbinit.1 b/man/taler-merchant-dbinit.1
index b29c1847..65c2dded 100644
--- a/man/taler-merchant-dbinit.1
+++ b/man/taler-merchant-dbinit.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-MERCHANT-DBINIT" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-MERCHANT-DBINIT" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-merchant-dbinit \- initialize Taler merchant database
.SH SYNOPSIS
diff --git a/man/taler-merchant-httpd.1 b/man/taler-merchant-httpd.1
index 6b34de2d..d5e4a156 100644
--- a/man/taler-merchant-httpd.1
+++ b/man/taler-merchant-httpd.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-MERCHANT-HTTPD" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-MERCHANT-HTTPD" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-merchant-httpd \- run Taler merchant backend (with RESTful API)
.SH SYNOPSIS
diff --git a/man/taler-merchant-passwd.1 b/man/taler-merchant-passwd.1
index 23c0f9e8..acd8071b 100644
--- a/man/taler-merchant-passwd.1
+++ b/man/taler-merchant-passwd.1
@@ -27,18 +27,18 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-MERCHANT-PASSWD" "1" "Oct 05, 2023" "0.9" "GNU Taler"
+.TH "TALER-MERCHANT-PASSWD" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-merchant-passwd \- change Taler merchant instance password
.SH SYNOPSIS
.sp
\fBtaler\-merchant\-passwd\fP
-[\fB\-c\fP\ \fIFILENAME\fP\ |\ \fB\-\-config=\fP‌\fIFILENAME\fP]
-[\fB\-h\fP\ |\ \fB\-\-help\fP]
-[\fB\-L\fP\ \fILOGLEVEL\fP\ |\ \fB\-\-loglevel=\fP‌\fILOGLEVEL\fP]
-[\fB\-l\fP\ \fIFILENAME\fP\ |\ \fB\-\-logfile=\fP‌\fIFILENAME\fP]
-[\fB\-i**_*NAME*\ |\ **\-\-instance\fP\fINAME\fP]
-[\fB\-v\fP\ |\ \fB\-\-version\fP]
+[\fB\-c\fP\ \fIFILENAME\fP\ |\ \fB–config=\fP‌\fIFILENAME\fP]
+[\fB\-h\fP\ |\ \fB–help\fP]
+[\fB\-L\fP\ \fILOGLEVEL\fP\ |\ \fB–loglevel=\fP‌\fILOGLEVEL\fP]
+[\fB\-l\fP\ \fIFILENAME\fP\ |\ \fB–logfile=\fP‌\fIFILENAME\fP]
+[\fB\-i**_*NAME*\ |\ **–instance\fP\fINAME\fP]
+[\fB\-v\fP\ |\ \fB–version\fP]
[PASSWORD]
.SH DESCRIPTION
.sp
@@ -50,22 +50,22 @@ environment variable.
Its options are as follows:
.INDENT 0.0
.TP
-\fB\-c\fP \fIFILENAME\fP | \fB\-\-config=\fP‌\fIFILENAME\fP
+\fB\-c\fP \fIFILENAME\fP | \fB–config=\fP‌\fIFILENAME\fP
Use the configuration and other resources for the merchant to operate
from \fIFILENAME\fP\&.
.TP
-\fB\-h\fP | \fB\-\-help\fP
+\fB\-h\fP | \fB–help\fP
Print short help on options.
.TP
-\fB\-i\fP \fINAME\fP | \fB\-\-instance\fP\fINAME\fP
+\fB\-i\fP \fINAME\fP | \fB–instance\fP\fINAME\fP
Specifies the name of the instance for which the password should be
-updated. If not given, the \(dqdefault\(dq instance is modified.
+updated. If not given, the “default” instance is modified.
.TP
-\fB\-L\fP \fILOGLEVEL\fP | \fB\-\-loglevel=\fP‌\fILOGLEVEL\fP
+\fB\-L\fP \fILOGLEVEL\fP | \fB–loglevel=\fP‌\fILOGLEVEL\fP
Specifies the log level to use. Accepted values are: \fBDEBUG\fP, \fBINFO\fP,
\fBWARNING\fP, \fBERROR\fP\&.
.TP
-\fB\-l\fP \fIFILENAME\fP | \fB\-\-logfile=\fP‌\fIFILENAME\fP
+\fB\-l\fP \fIFILENAME\fP | \fB–logfile=\fP‌\fIFILENAME\fP
Send logging output to \fIFILENAME\fP\&.
.TP
\fB\-v\fP | \fB–version\fP
diff --git a/man/taler-merchant-setup-reserve.1 b/man/taler-merchant-setup-reserve.1
index eeff17b3..29185ae1 100644
--- a/man/taler-merchant-setup-reserve.1
+++ b/man/taler-merchant-setup-reserve.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-MERCHANT-SETUP-RESERVE" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-MERCHANT-SETUP-RESERVE" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-merchant-setup-reserve \- setup reserve for rewards at a Taler merchant backend
.SH SYNOPSIS
diff --git a/man/taler-merchant-webhook.1 b/man/taler-merchant-webhook.1
index 0e6eec71..8a3f12a2 100644
--- a/man/taler-merchant-webhook.1
+++ b/man/taler-merchant-webhook.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-MERCHANT-WEBHOOK" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-MERCHANT-WEBHOOK" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-merchant-webhook \- execute webhooks of the Taler merchant backend (optional service)
.SH SYNOPSIS
diff --git a/man/taler-merchant-wirewatch.1 b/man/taler-merchant-wirewatch.1
index aa1c2dc3..32aa4fbd 100644
--- a/man/taler-merchant-wirewatch.1
+++ b/man/taler-merchant-wirewatch.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-MERCHANT-WIREWATCH" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-MERCHANT-WIREWATCH" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-merchant-wirewatch \- import credit transactions from a merchant bank account into merchant backend (optional)
.SH SYNOPSIS
diff --git a/man/taler-terms-generator.1 b/man/taler-terms-generator.1
index a1e5e63f..759e6710 100644
--- a/man/taler-terms-generator.1
+++ b/man/taler-terms-generator.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-TERMS-GENERATOR" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-TERMS-GENERATOR" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-terms-generator \- create legal policy documents for services
.SH SYNOPSIS
@@ -58,9 +58,15 @@ set the copyright information to the given COPYRIGHT in the meta\-data of variou
\fB\-h\fP | \fB–help\fP
Prints a compiled\-in help text.
.TP
+\fB\-i\fP \fIINPUT\fP
+Name of the input (.rst) file with the terms of service or privacy policy to convert.
+.TP
\fB\-l\fP \fILANGUAGE\fP
Add the given \fILANGUAGE\fP to the list of translations for the current \fIINPUT\fP\&. \fILANGUAGE\fP must be a two\-letter language code (like “de” or “it”). This will generate or update the respective “.po” files to translate the \fIINPUT\fP terms to this \fILANGUAGE\fP\&.
.TP
+\fB\-L\fP \fILOCALE_DIR\fP
+Specify locale/ directory where GNU gettext resources for translating the input are located. If “\-l” is given, this directory is where fresh or updated “.po” files will be placed, and otherwise this directory will be scanned for translations of the “.rst” input file.
+.TP
\fB\-o\fP \fIOUTPUT\fP
Specifies where to write the output. This should be the directory where the service expects to find the generated resources. Unless you changed the default configuration, you probably do not have to specify this value.
.TP
diff --git a/man/taler-unified-setup.1 b/man/taler-unified-setup.1
index 4cdff356..91f8a841 100644
--- a/man/taler-unified-setup.1
+++ b/man/taler-unified-setup.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER-UNIFIED-SETUP" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER-UNIFIED-SETUP" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler-unified-setup \- conveniently start and stop various GNU Taler services
.SH SYNOPSIS
@@ -40,6 +40,7 @@ taler-unified-setup \- conveniently start and stop various GNU Taler services
[\fB\-e\fP]
[\fB\-f\fP]
[\fB\-h\fP]
+[\fB\-k\fP]
[\fB\-l\fP\ \fIFILENAME\fP]
[\fB\-m\fP]
[\fB\-n\fP]
@@ -81,6 +82,9 @@ Start aggregator
\fB\-h\fP | \fB–help\fP
Prints a compiled\-in help text.
.TP
+\fB\-k\fP
+Start challenger (KYC service)
+.TP
\fB\-L\fP \fILOGLEVEL\fP
Specifies the log level to use. Accepted values are: \fBDEBUG\fP, \fBINFO\fP,
\fBWARNING\fP, \fBERROR\fP\&.
@@ -112,7 +116,7 @@ Start taler\-exchange\-wirewatch
.SH SEE ALSO
.sp
taler\-exchange\-dbinit(1), taler\-exchange\-offline(1), taler\-merchant\-benchmark(1),
-taler\-exchange\-httpd(1), taler\-unified\-setup(1), taler.conf(5)
+taler\-exchange\-httpd(1), taler.conf(5)
.SH BUGS
.sp
Report bugs by using \fI\%https://bugs.taler.net/\fP or by sending electronic
diff --git a/man/taler.conf.5 b/man/taler.conf.5
index eb541d7f..12a4e553 100644
--- a/man/taler.conf.5
+++ b/man/taler.conf.5
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "TALER.CONF" "5" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "TALER.CONF" "5" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
taler.conf \- Taler configuration file
.SH DESCRIPTION
@@ -44,7 +44,7 @@ whitespace around the \fB=\fP (equal sign). Section names and options are
.sp
The values, however, are \fIcase\-sensitive\fP\&. In particular, boolean values are
one of \fBYES\fP or \fBNO\fP\&. Values can include whitespace by surrounding the
-entire value with \fB\(dq\fP (double quote). Note, however, that there are no
+entire value with \fB"\fP (double quote). Note, however, that there are no
escape characters in such strings; all characters between the double quotes
(including other double quotes) are taken verbatim.
.sp
@@ -121,7 +121,8 @@ comments from the configuration file!
.SS GLOBAL OPTIONS
.sp
The following options are from the “[taler]” section and used by
-virtually all Taler components.
+virtually all Taler components. Note: work is ongoing to obsolete
+these options, but for now they are in use.
.INDENT 0.0
.TP
.B CURRENCY
@@ -157,6 +158,60 @@ Usually “${TALER_HOME}/.cache/taler/”.
Where should Taler store system runtime data (like UNIX domain
sockets). Usually “${TMP}/taler\-system\-runtime”.
.UNINDENT
+.SS CURRENCY SPECIFICATIONS
+.sp
+Sections with a name of the form “[currency\-$NAME]” (where “$NAME” could
+be any unique string) are used to specify details about how currencies
+should be handled (and in particularly rendered) by the user interface.
+A detailed motivation for this section can be found in DD51.
+Different components can have different rules for the same currency. For
+example, a bank or merchant may decide to render Euros or Dollars with
+always exactly two fractional decimals, while an Exchange for the same
+currency may support additional decimals. The required options in each
+currency specification section are:
+.INDENT 0.0
+.TP
+.B ENABLED
+Set to YES or NO. If set to NO, the currency specification
+section is ignored. Can be used to disable currencies or
+select alternative sections for the same CODE with different
+choices.
+.TP
+.B CODE
+Code name for the currency. Can be at most 11 characters,
+only the letters A\-Z are allowed. Primary way to identify
+the currency in the protocol.
+.TP
+.B NAME
+Long human\-readable name for the currency. No restrictions,
+but should match the official name in English.
+.TP
+.B FRACTIONAL_INPUT_DIGITS
+Number of fractional digits that users are allowed to enter
+manually in the user interface.
+.TP
+.B FRACTIONAL_NORMAL_DIGITS
+Number of fractional digits that will be rendered normally
+(in terms of size and placement). Digits shown beyond this
+number will typically be rendered smaller and raised (if
+possible).
+.TP
+.B FRACTIONAL_TRAILING_ZERO_DIGITS
+Number of fractional digits to pad rendered amounts with
+even if these digits are all zero. For example, use 2 to
+render 1 USD as $1.00.
+.TP
+.B ALT_UNIT_NAMES
+JSON map determining how to encode very large or very tiny
+amounts in this currency. Maps a base10 logarithm to the
+respective currency symbol. Must include at least an
+entry for 0 (currency unit). For example, use
+{“0”:”€”} for Euros or “{“0”:”$”} for Dollars. You could
+additionally use {“0”:”€”,”3”:”k€”} to render 3000 EUR
+as 3k€. For BTC a typical map would be
+{“0”:”BTC”,”\-3”:”mBTC”}, informing the UI to render small
+amounts in milli\-Bitcoin (mBTC).
+.UNINDENT
.SS EXCHANGE OPTIONS
.sp
The following options are from the “[exchange]” section and used by most
@@ -199,25 +254,20 @@ that rewards are allowed. The option merely announces that
rewards is enabled or disabled, and protocol\-compliant merchant
backends will then enable or disable the feature accordingly.
.TP
-.B CURRENCY_FRACTION_DIGITS
-How many digits should amounts be rendered
-with by default. Small capitals should
-be used to render fractions beyond the number
-given here (like on gas stations). Defaults to 0.
-For EUR and USD, the value would be 2, while for
-JPY it would be 0.
-.TP
.B STEFAN_ABS
-Absolte amount to use in the STEFAN fee approximation
-curve (see DD47). Defaults to 0 if not specified.
+Absolte amount to add as an offset in the STEFAN fee approximation
+curve (see DD47). Defaults to CURRENCY:0 if not specified.
.TP
.B STEFAN_LOG
-Logarithmic factor to use in the STEFAN fee approximation
-curve (see DD47). Defaults to 0 if not specified.
+Amount to multiply by the base\-2 logarithm of the total amount
+divided by the amount of the smallest denomination
+in the STEFAN fee approximation curve (see DD47).
+Defaults to CURRENCY:0 if not specified.
.TP
.B STEFAN_LIN
-Linear factor to use in the STEFAN fee approximation
-curve (see DD47). Defaults to 0 if not specified.
+Linear floating point factor to be multiplied by the total amount
+to use in the STEFAN fee approximation curve (see DD47).
+Defaults to 0.0 if not specified.
.TP
.B BASE_URL
The base URL under which the exchange can be reached.
@@ -319,7 +369,7 @@ The following options must be in the section “[kyc\-provider\-XXX]” sections
Duration (e.g. “12 months”) of the validity of the performed KYC check. Can be “forever”.
.TP
.B KYC_OAUTH2_AUTHORIZE_URL
-URL of the OAuth2 endpoint to be used for KYC checks. The authorize URL is where the exchange will redirect the client to begin the authorization process. Example: “\fI\%http://localhost:8888/oauth/v2/authorize\fP”. To use the plugin in combination with the Challenger service’s \fB/setup\fP step, append “#setup”, thus “\fI\%https://challenger.example.com/authorize#setup\fP”. Here, “#setup” is not a fragment but merely a hint to the logic to determine the full authorization URL via the \fB/setup\fP handler.
+URL of the OAuth2 endpoint to be used for KYC checks. The authorize URL is where the exchange will redirect the client to begin the authorization process. Example: “\fI\%http://localhost:8888/oauth/v2/authorize\fP”. To use the plugin in combination with the Challenger service’s \fB/setup\fP step, append “#setup”, thus “\fI\%https://challenger.example.com/authorize#setup\fP”. Here, “#setup” is not a fragment but merely a hint to the logic to determine the full authorization URL via the \fB/setup/$CLIENT_ID\fP handler.
.TP
.B KYC_OAUTH2_TOKEN_URL
URL of the OAuth2 endpoint to be used for KYC checks. This is where the server will ultimately send the authorization token from the client and obtain its access token (which currently must be a “bearer” token). Example: “\fI\%http://localhost:8888/oauth/v2/token\fP” (or just “/token”)
@@ -335,6 +385,9 @@ Client secret of the exchange to use when talking to the KYC Oauth2 endpoint.
.TP
.B KYC_OAUTH2_POST_URL
URL to which the exchange will redirect the client’s browser after successful authorization/login for the KYC process. Example: “\fI\%http://example.com/thank\-you\fP”
+.TP
+.B KYC_OAUTH2_CONVERTER_HELPER
+Helper to convert JSON with KYC data returned by the OAuth2.0 info endpoint into GNU Taler internal format. Specific to the OAuth 2.0 provider.
.UNINDENT
.SS EXCHANGE KYC KYCAID OPTIONS
.sp
@@ -621,7 +674,7 @@ Password for \fBbasic\fP authentication with the wire gateway.
.UNINDENT
.SS EXCHANGE COIN OPTIONS
.sp
-The following options must be in sections starting with \fB\(dq[coin_]\(dq\fP and are
+The following options must be in sections starting with \fB"[coin_]"\fP and are
largely used by \fBtaler\-exchange\-httpd\fP to determine the meta data for the
denomination keys. Some of the options are used by the
\fBtaler\-exchange\-secmod\-rsa\fP to determine which RSA keys to create (and of
@@ -684,6 +737,9 @@ Plugin to use for the database, e.g._“postgres”.
.B SERVE
Should the HTTP server listen on a UNIX domain socket (set option to “unix”) or on a TCP socket (set option to “tcp”)?
.TP
+.B BASE_URL
+Which base URL should the merchant backend assume for itself in the protocol. Optional. If not given, the base URL will be constructed from X\-Forwarded\-Host, X\-Forwarded\-Port and X\-Forwarded\-Prefix headers that a reverse\-proxy should be setting.
+.TP
.B UNIXPATH
Path to listen on if we “SERVE” is set to “unix”.
.TP
@@ -741,6 +797,9 @@ required by a client.
Name of the currency for which this exchange is used, e.g.\ “KUDOS”.
The entire section is ignored if the currency does not match the currency
we use, which must be given in the \fB[taler]\fP section.
+.TP
+.B DISABLED
+Set to YES to disable this exchange. Optional option, defaults to NO.
.UNINDENT
.SS AUDITOR OPTIONS
.sp