summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-01-27 10:23:00 +0100
committerChristian Grothoff <christian@grothoff.org>2021-01-27 10:23:00 +0100
commit488608716fcd0fa90013f7136cb4bee4822f972d (patch)
tree949bc810cb9888ce9856b7a15e93867ba0ae5a2d
parent4739f1447d0e8a6534c7fbdbc361d5d756d1875b (diff)
downloaddocs-488608716fcd0fa90013f7136cb4bee4822f972d.tar.gz
docs-488608716fcd0fa90013f7136cb4bee4822f972d.tar.bz2
docs-488608716fcd0fa90013f7136cb4bee4822f972d.zip
update docs
-rw-r--r--man/taler-auditor-dbinit.12
-rw-r--r--man/taler-auditor-exchange.16
-rw-r--r--man/taler-auditor-httpd.12
-rw-r--r--man/taler-auditor-offline.131
-rw-r--r--man/taler-auditor.18
-rw-r--r--man/taler-exchange-aggregator.12
-rw-r--r--man/taler-exchange-benchmark.14
-rw-r--r--man/taler-exchange-closer.12
-rw-r--r--man/taler-exchange-dbinit.14
-rw-r--r--man/taler-exchange-httpd.14
-rw-r--r--man/taler-exchange-offline.129
-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-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-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-dbinit.12
-rw-r--r--man/taler-merchant-httpd.12
-rw-r--r--man/taler-merchant-setup-reserve.12
-rw-r--r--man/taler-wire-gateway-client.12
-rw-r--r--man/taler.conf.56
-rw-r--r--texinfo/taler-auditor.texi8
-rw-r--r--texinfo/taler-bank.texi4
-rw-r--r--texinfo/taler-exchange.texi183
-rw-r--r--texinfo/taler-merchant-api-tutorial.texi4
-rw-r--r--texinfo/taler-merchant.texi167
31 files changed, 302 insertions, 192 deletions
diff --git a/man/taler-auditor-dbinit.1 b/man/taler-auditor-dbinit.1
index e094c0a1..60401fe6 100644
--- a/man/taler-auditor-dbinit.1
+++ b/man/taler-auditor-dbinit.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-AUDITOR-DBINIT" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-AUDITOR-DBINIT" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-auditor-dbinit \- setup auditor database
.
diff --git a/man/taler-auditor-exchange.1 b/man/taler-auditor-exchange.1
index 13bee83e..ecb49c4d 100644
--- a/man/taler-auditor-exchange.1
+++ b/man/taler-auditor-exchange.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-AUDITOR-EXCHANGE" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-AUDITOR-EXCHANGE" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-auditor-exchange \- add or remove exchange from auditor’s list
.
@@ -58,7 +58,7 @@ Print short help on options.
.TP
\fB\-m\fP \fIMASTERKEY\fP | \fB––exchange\-key=\fP‌\fIMASTERKEY\fP
Public key of the exchange in Crockford base32 encoding, for example
-as generated by gnunet\-ecc \-p.
+as generated by \fBtaler\-auditor\-offline setup\fP\&.
.TP
\fB\-r\fP | \fB––remove\fP
Instead of adding the exchange, remove it. Note that this will drop
@@ -77,7 +77,7 @@ Print version information.
\fBtaler\-auditor\-exchange\fP will return 0 on success, 1 on usage errors, 3 on problems interacting with the database backend, 4 if exchange entry to be added is already in the database (or already missing when used with \fB\-r\fP).
.SH SEE ALSO
.sp
-gnunet\-ecc(1), taler\-auditor\-offline(1), taler.conf(5)
+taler\-auditor\-offline(1), taler.conf(5)
.SH BUGS
.sp
We should optionally verify the correctness of this exchange’s base URL
diff --git a/man/taler-auditor-httpd.1 b/man/taler-auditor-httpd.1
index d8ec66fc..84b9c36a 100644
--- a/man/taler-auditor-httpd.1
+++ b/man/taler-auditor-httpd.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-AUDITOR-HTTPD" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-AUDITOR-HTTPD" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-auditor-httpd \- HTTP server providing a RESTful API to access a Taler auditor
.
diff --git a/man/taler-auditor-offline.1 b/man/taler-auditor-offline.1
index 9164a812..cd06e750 100644
--- a/man/taler-auditor-offline.1
+++ b/man/taler-auditor-offline.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-AUDITOR-OFFLINE" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-AUDITOR-OFFLINE" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-auditor-offline \- Taler auditor certifies that it audits a Taler exchange
.
@@ -95,28 +95,15 @@ by the auditor. To obtain the auditor’s public key, use:
.sp
.nf
.ft C
-$ AUDITOR_PRIV_FILE=\(gataler\-config \-f \-c $CONF \-s AUDITOR \-o AUDITOR_PRIV_FILE\(ga
-$ gnunet\-ecc \-p $AUDITOR_PRIV_FILE
+$ taler\-auditor\-offline setup
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
-Note that if the private key file does not yet exist, the above will fail.
-In this case, create the private key using:
-.INDENT 0.0
-.INDENT 3.5
-.sp
-.nf
-.ft C
-$ AUDITOR_PRIV_FILE=\(gataler\-config \-f \-c $CONF \-s AUDITOR \-o AUDITOR_PRIV_FILE\(ga
-$ AUDITOR_PRIV_DIR=\(gadirname $AUDITOR_PRIV_FILE\(ga
-$ mkdir \-p $AUDITOR_PRIV_DIR
-$ gnunet\-ecc \-g1 $AUDITOR_PRIV_FILE
-.ft P
-.fi
-.UNINDENT
-.UNINDENT
+Note that if the private key file already exists, the above will simply output
+the existing key. Passing additional arguments after setup (including “\-“)
+will cause the output to be encapsulated in JSON.
.sp
Relevant configuration options for \fBtaler\-auditor\-offline\fP are:
.INDENT 0.0
@@ -124,6 +111,12 @@ Relevant configuration options for \fBtaler\-auditor\-offline\fP are:
\fB[auditor/AUDITOR_PRIV_FILE]\fP — where to store the private key
.UNINDENT
.SH SUBCOMMANDS
+.SS setup
+.sp
+When run the first time, this subcommand sets up the offline private key and
+outputs the resulting public key. Subsequent invocations will simply again
+output the (same) public key (in the format usable for the exchange
+configuration).
.SS download
.sp
This subcommand must be run online. It downloads future signing and denomination
@@ -340,7 +333,7 @@ the keys (and meta data) matches that previously seen by the
exchange operator when they used the \fBtaler\-exchange\-offline\fP tool.
.SH SEE ALSO
.sp
-gnunet\-ecc(1), taler\-auditor\-exchange(1), taler\-exchange\-offline(1),
+taler\-auditor\-exchange(1), taler\-exchange\-offline(1),
taler.conf(5)
.SH BUGS
.sp
diff --git a/man/taler-auditor.1 b/man/taler-auditor.1
index 55cf0840..dca283cf 100644
--- a/man/taler-auditor.1
+++ b/man/taler-auditor.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-AUDITOR" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-AUDITOR" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-auditor \- audit exchange
.
@@ -63,7 +63,7 @@ Print short help on options.
.TP
\fB\-i\fP | \fB––internal\fP
Run additional checks that can only performed on the exchange\-internal
-database and not the "safe" replicated database at the auditor.
+database and not the “safe” replicated database at the auditor.
.TP
\fB\-L\fP \fILOGLEVEL\fP | \fB––loglevel=\fP‌\fILOGLEVEL\fP
Specifies the log level to use. Accepted values are: \fBDEBUG\fP, \fBINFO\fP,
@@ -74,7 +74,7 @@ Send logging output to \fIFILENAME\fP\&.
.TP
\fB\-m\fP \fIKEY\fP | \fB––exchange\-key=\fP‌\fIKEY\fP
Public master key of the exchange in Crockford base32 encoding, for
-example as generated by gnunet\-ecc \-p. If this option is missing,
+example as generated by \fBtaler\-auditor\-offline setup\fP\&. If this option is missing,
taler\-auditor will use the MASTER_PUBLIC_KEY value from the
“exchange” section of the configuration.
.TP
@@ -88,7 +88,7 @@ Print version information.
.UNINDENT
.SH SEE ALSO
.sp
-gnunet\-ecc(1), taler\-auditor\-offline(1), taler.conf(5), taler\-auditor\-dbinit(1)
+taler\-auditor\-offline(1), taler.conf(5), taler\-auditor\-dbinit(1)
.SH BUGS
.sp
Report bugs by using \fI\%https://bugs.taler.net\fP or by sending electronic
diff --git a/man/taler-exchange-aggregator.1 b/man/taler-exchange-aggregator.1
index 4de350b6..26d9ef18 100644
--- a/man/taler-exchange-aggregator.1
+++ b/man/taler-exchange-aggregator.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-EXCHANGE-AGGREGATOR" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-EXCHANGE-AGGREGATOR" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-exchange-aggregator \- aggregate deposits into wire transfers
.
diff --git a/man/taler-exchange-benchmark.1 b/man/taler-exchange-benchmark.1
index 5d125fba..0a84f14a 100644
--- a/man/taler-exchange-benchmark.1
+++ b/man/taler-exchange-benchmark.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-EXCHANGE-BENCHMARK" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-EXCHANGE-BENCHMARK" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-exchange-benchmark \- measure exchange performance
.
@@ -104,7 +104,7 @@ Print version information.
.UNINDENT
.SH SEE ALSO
.sp
-taler\-exchange\-dbinit(1), taler\-exchange\-keyup(1), taler\-merchant\-benchmark(1),
+taler\-exchange\-dbinit(1), taler\-exchange\-offline(1), taler\-merchant\-benchmark(1),
taler\-exchange\-httpd(1), taler.conf(5)
.SH BUGS
.sp
diff --git a/man/taler-exchange-closer.1 b/man/taler-exchange-closer.1
index ba6c6cb1..f8d44d82 100644
--- a/man/taler-exchange-closer.1
+++ b/man/taler-exchange-closer.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-EXCHANGE-CLOSER" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-EXCHANGE-CLOSER" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-exchange-closer \- close idle reserves
.
diff --git a/man/taler-exchange-dbinit.1 b/man/taler-exchange-dbinit.1
index 07b3fc8a..123e9c8c 100644
--- a/man/taler-exchange-dbinit.1
+++ b/man/taler-exchange-dbinit.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-EXCHANGE-DBINIT" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-EXCHANGE-DBINIT" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-exchange-dbinit \- initialize Taler exchange database
.
@@ -76,7 +76,7 @@ Print version information.
.UNINDENT
.SH SEE ALSO
.sp
-taler\-exchange\-httpd(1), taler\-exchange\-keyup(1),
+taler\-exchange\-httpd(1), taler\-exchange\-offline(1),
taler\-exchange\-reservemod(1), taler.conf(5).
.SH BUGS
.sp
diff --git a/man/taler-exchange-httpd.1 b/man/taler-exchange-httpd.1
index adda1666..334a6fe7 100644
--- a/man/taler-exchange-httpd.1
+++ b/man/taler-exchange-httpd.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-EXCHANGE-HTTPD" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-EXCHANGE-HTTPD" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-exchange-httpd \- run Taler exchange (with RESTful API)
.
@@ -133,7 +133,7 @@ process will accept and handle new client connections.
.UNINDENT
.SH SEE ALSO
.sp
-taler\-exchange\-dbinit(1), taler\-exchange\-keyup(1),
+taler\-exchange\-dbinit(1), taler\-exchange\-offline(1),
taler\-exchange\-reservemod(1), taler.conf(5).
.SH BUGS
.sp
diff --git a/man/taler-exchange-offline.1 b/man/taler-exchange-offline.1
index 858183c5..656ce1d6 100644
--- a/man/taler-exchange-offline.1
+++ b/man/taler-exchange-offline.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-EXCHANGE-OFFLINE" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-EXCHANGE-OFFLINE" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-exchange-offline \- operations using the offline key of a Taler exchange
.
@@ -92,28 +92,15 @@ obtain the master public key, use:
.sp
.nf
.ft C
-$ MASTER_PRIV_FILE=\(gataler\-config \-f \-c $CONF \-s EXCHANGE \-o MASTER_PRIV_FILE\(ga
-$ gnunet\-ecc \-p $MASTER_PRIV_FILE
+$ taler\-exchange\-offline setup
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
-Note that if the private key file does not yet exist, the above will fail.
-In this case, create the private key using:
-.INDENT 0.0
-.INDENT 3.5
-.sp
-.nf
-.ft C
-$ MASTER_PRIV_FILE=\(gataler\-config \-f \-c $CONF \-s EXCHANGE \-o MASTER_PRIV_FILE\(ga
-$ MASTER_PRIV_DIR=\(gadirname $MASTER_PRIV_FILE\(ga
-$ mkdir \-p $MASTER_PRIV_DIR
-$ gnunet\-ecc \-g1 $MASTER_PRIV_FILE
-.ft P
-.fi
-.UNINDENT
-.UNINDENT
+Note that if the private key file already exists, the above will simply output
+the existing key. Passing additional arguments after setup (including “\-“)
+will cause the output to be encapsulated in JSON.
.sp
Relevant configuration options for \fBtaler\-exchange\-offline\fP are:
.INDENT 0.0
@@ -125,6 +112,12 @@ Relevant configuration options for \fBtaler\-exchange\-offline\fP are:
\fB[exchange\-offline/SECM_TOFU_FILE]\fP — where to store TOFU data
.UNINDENT
.SH SUBCOMMANDS
+.SS setup
+.sp
+When run the first time, this subcommand sets up the offline private key and
+outputs the resulting public key. Subsequent invocations will simply again
+output the (same) public key (in the format usable for the exchange
+configuration).
.SS download
.sp
This subcommand must be run online. It downloads future signing and denomination
diff --git a/man/taler-exchange-secmod-eddsa.1 b/man/taler-exchange-secmod-eddsa.1
index 82020612..e49f6959 100644
--- a/man/taler-exchange-secmod-eddsa.1
+++ b/man/taler-exchange-secmod-eddsa.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-EXCHANGE-SECMOD-EDDSA" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-EXCHANGE-SECMOD-EDDSA" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-exchange-secmod-eddsa \- handle private EDDSA key operations for a Taler exchange
.
diff --git a/man/taler-exchange-secmod-rsa.1 b/man/taler-exchange-secmod-rsa.1
index 468ef0c7..25965f0d 100644
--- a/man/taler-exchange-secmod-rsa.1
+++ b/man/taler-exchange-secmod-rsa.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-EXCHANGE-SECMOD-RSA" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-EXCHANGE-SECMOD-RSA" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-exchange-secmod-rsa \- handle private RSA key operations for a Taler exchange
.
diff --git a/man/taler-exchange-transfer.1 b/man/taler-exchange-transfer.1
index 446f0925..f86ffc14 100644
--- a/man/taler-exchange-transfer.1
+++ b/man/taler-exchange-transfer.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-EXCHANGE-TRANSFER" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-EXCHANGE-TRANSFER" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-exchange-transfer \- execute wire transfers
.
diff --git a/man/taler-exchange-wirewatch.1 b/man/taler-exchange-wirewatch.1
index 54797b8d..d53d3a1a 100644
--- a/man/taler-exchange-wirewatch.1
+++ b/man/taler-exchange-wirewatch.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-EXCHANGE-WIREWATCH" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-EXCHANGE-WIREWATCH" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-exchange-wirewatch \- watch for incoming wire transfers
.
diff --git a/man/taler-helper-auditor-aggregation.1 b/man/taler-helper-auditor-aggregation.1
index feb41b08..66acfaf1 100644
--- a/man/taler-helper-auditor-aggregation.1
+++ b/man/taler-helper-auditor-aggregation.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-HELPER-AUDITOR-AGGREGATION" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-HELPER-AUDITOR-AGGREGATION" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-helper-auditor-aggregation \- audit Taler exchange aggregation activity
.
diff --git a/man/taler-helper-auditor-coins.1 b/man/taler-helper-auditor-coins.1
index 231d5935..328804a6 100644
--- a/man/taler-helper-auditor-coins.1
+++ b/man/taler-helper-auditor-coins.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-HELPER-AUDITOR-COINS" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-HELPER-AUDITOR-COINS" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-helper-auditor-coins \- audit Taler coin processing
.
diff --git a/man/taler-helper-auditor-deposits.1 b/man/taler-helper-auditor-deposits.1
index 06d8a79f..d8a1a381 100644
--- a/man/taler-helper-auditor-deposits.1
+++ b/man/taler-helper-auditor-deposits.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-HELPER-AUDITOR-DEPOSITS" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-HELPER-AUDITOR-DEPOSITS" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-helper-auditor-deposits \- audit Taler exchange database for deposit confirmation consistency
.
diff --git a/man/taler-helper-auditor-reserves.1 b/man/taler-helper-auditor-reserves.1
index 94076681..37964afe 100644
--- a/man/taler-helper-auditor-reserves.1
+++ b/man/taler-helper-auditor-reserves.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-HELPER-AUDITOR-RESERVES" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-HELPER-AUDITOR-RESERVES" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-helper-auditor-reserves \- audit Taler exchange reserve handling
.
diff --git a/man/taler-helper-auditor-wire.1 b/man/taler-helper-auditor-wire.1
index 1e8d0e6d..d55d3665 100644
--- a/man/taler-helper-auditor-wire.1
+++ b/man/taler-helper-auditor-wire.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-HELPER-AUDITOR-WIRE" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-HELPER-AUDITOR-WIRE" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-helper-auditor-wire \- audit exchange database for consistency with the bank's wire transfers
.
diff --git a/man/taler-merchant-benchmark.1 b/man/taler-merchant-benchmark.1
index 8a0edfc1..839403e7 100644
--- a/man/taler-merchant-benchmark.1
+++ b/man/taler-merchant-benchmark.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-MERCHANT-BENCHMARK" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-MERCHANT-BENCHMARK" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-merchant-benchmark \- generate Taler-style benchmarking payments
.
diff --git a/man/taler-merchant-dbinit.1 b/man/taler-merchant-dbinit.1
index a0701658..e3de3d68 100644
--- a/man/taler-merchant-dbinit.1
+++ b/man/taler-merchant-dbinit.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-MERCHANT-DBINIT" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-MERCHANT-DBINIT" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-merchant-dbinit \- initialize Taler merchant database
.
diff --git a/man/taler-merchant-httpd.1 b/man/taler-merchant-httpd.1
index b87556c6..922b2b37 100644
--- a/man/taler-merchant-httpd.1
+++ b/man/taler-merchant-httpd.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-MERCHANT-HTTPD" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-MERCHANT-HTTPD" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-merchant-httpd \- run Taler merchant backend (with RESTful API)
.
diff --git a/man/taler-merchant-setup-reserve.1 b/man/taler-merchant-setup-reserve.1
index 6d638e1f..14494c56 100644
--- a/man/taler-merchant-setup-reserve.1
+++ b/man/taler-merchant-setup-reserve.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-MERCHANT-SETUP-RESERVE" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-MERCHANT-SETUP-RESERVE" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-merchant-setup-reserve \- setup reserve for tipping at a Taler merchant backend
.
diff --git a/man/taler-wire-gateway-client.1 b/man/taler-wire-gateway-client.1
index 074ff63f..00ce678c 100644
--- a/man/taler-wire-gateway-client.1
+++ b/man/taler-wire-gateway-client.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER-WIRE-GATEWAY-CLIENT" "1" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER-WIRE-GATEWAY-CLIENT" "1" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler-wire-gateway-client \- trigger a transfer at the bank
.
diff --git a/man/taler.conf.5 b/man/taler.conf.5
index 637eeb06..aee0a7c6 100644
--- a/man/taler.conf.5
+++ b/man/taler.conf.5
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "TALER.CONF" "5" "Jan 21, 2021" "0.8pre0" "GNU Taler"
+.TH "TALER.CONF" "5" "Jan 27, 2021" "0.8pre0" "GNU Taler"
.SH NAME
taler.conf \- Taler configuration file
.
@@ -210,7 +210,7 @@ this option will also be ignored.
.UNINDENT
.SS EXCHANGE RSA CRYPTO HELPER OPTIONS
.sp
-The following options must be in the section “[taler\-helper\-crypto\-rsa]”.
+The following options must be in the section “[taler\-exchange\-secmod\-rsa]”.
.INDENT 0.0
.TP
.B LOOKAHEAD_SIGN
@@ -237,7 +237,7 @@ Note that the \fBtaler\-exchange\-secmod\-rsa\fP also evaluates the \fB[coin_*]\
configuration sections described below.
.SS EXCHANGE EDDSA CRYPTO HELPER OPTIONS
.sp
-The following options must be in the section “[taler\-helper\-crypto\-eddsa]”.
+The following options must be in the section “[taler\-exchange\-secmod\-eddsa]”.
.INDENT 0.0
.TP
.B LOOKAHEAD_SIGN
diff --git a/texinfo/taler-auditor.texi b/texinfo/taler-auditor.texi
index 0647fc3f..1d769051 100644
--- a/texinfo/taler-auditor.texi
+++ b/texinfo/taler-auditor.texi
@@ -21,7 +21,7 @@
@copying
@quotation
-GNU Taler 0.8.0pre0, Jan 21, 2021
+GNU Taler 0.8.0pre0, Jan 27, 2021
GNU Taler team
@@ -479,7 +479,7 @@ Next, you must import the Taler Systems SA public package signing key
into your keyring and update the package lists:
@example
-# wget -O - https://taler.net/taler-systems.gpg.key | apt-sign add -
+# wget -O - https://taler.net/static/taler-systems.gpg.key | apt-key add -
# apt update
@end example
@@ -673,7 +673,7 @@ The following values are to be configured in the section @code{[auditor]}:
@item
@code{PUBLIC_KEY}: Public key of the auditor, in Base32 encoding.
-Set from value printed by @code{gnunet-ecc -p $AUDITOR_PRIV_FILE}.
+Set from value printed by @code{taler-auditor-offline setup}.
@end itemize
@node Serving,Bank account,Keys,Configuration
@@ -775,7 +775,7 @@ CONFIG = postgres:///exchangedemo
@anchor{taler-auditor-manual wallets}@anchor{17}
Before GNU Taler wallets will happily interact with an exchange,
-the respective auditor’s public key (to be obtained via @code{gnunet-ecc -p})
+the respective auditor’s public key (to be obtained via @code{taler-auditor-offline setup})
must be added under the respective currency to the wallet. This
is usually expected to be hard-coded into the Taler wallet.
diff --git a/texinfo/taler-bank.texi b/texinfo/taler-bank.texi
index c2edaeca..882303a8 100644
--- a/texinfo/taler-bank.texi
+++ b/texinfo/taler-bank.texi
@@ -21,7 +21,7 @@
@copying
@quotation
-GNU Taler 0.8.0pre0, Jan 21, 2021
+GNU Taler 0.8.0pre0, Jan 27, 2021
GNU Taler team
@@ -152,8 +152,8 @@ interface BankRegistrationRequest @{
password: string;
@}
@end example
-@anchor{taler-bank-manual tsref-type-BankRegistrationRequest}@w{ }
@anchor{8}@w{ }
+@anchor{taler-bank-manual tsref-type-BankRegistrationRequest}@w{ }
@c %**end of body
@bye
diff --git a/texinfo/taler-exchange.texi b/texinfo/taler-exchange.texi
index 5251f547..ed44281e 100644
--- a/texinfo/taler-exchange.texi
+++ b/texinfo/taler-exchange.texi
@@ -21,7 +21,7 @@
@copying
@quotation
-GNU Taler 0.8.0pre0, Jan 21, 2021
+GNU Taler 0.8.0pre0, Jan 27, 2021
GNU Taler team
@@ -70,6 +70,7 @@ Copyright @copyright{} 2014-2020 Taler Systems SA (GPLv3+ or GFDL 1.3+)
* Installation::
* Configuration: Configuration<2>.
* Deployment::
+* Testing a deployment::
* Diagnostics::
* Benchmarking::
* Index::
@@ -97,6 +98,7 @@ Installation
* Installing from source::
* Installing the GNU Taler binary packages on Debian::
+* Installing the GNU Taler binary packages on Ubuntu::
Configuration
@@ -515,6 +517,7 @@ manager.
@menu
* Installing from source::
* Installing the GNU Taler binary packages on Debian::
+* Installing the GNU Taler binary packages on Ubuntu::
@end menu
@@ -565,7 +568,7 @@ which requires you to run the last step as @code{root}. You have to specify
@code{--with-gnunet=/usr/local} if you installed GNUnet to @code{/usr/local} in the
previous step.
-@node Installing the GNU Taler binary packages on Debian,,Installing from source,Installation
+@node Installing the GNU Taler binary packages on Debian,Installing the GNU Taler binary packages on Ubuntu,Installing from source,Installation
@anchor{taler-exchange-manual installing-the-gnu-taler-binary-packages-on-debian}@anchor{f}
@section Installing the GNU Taler binary packages on Debian
@@ -612,7 +615,67 @@ Next, you must import the Taler Systems SA public package signing key
into your keyring and update the package lists:
@example
-# wget -O - https://taler.net/taler-systems.gpg.key | apt-sign add -
+# wget -O - https://taler.net/static/taler-systems.gpg.key | apt-key add -
+# apt update
+@end example
+
+@cartouche
+@quotation Note
+You may want to verify the correctness of the Taler Systems key out-of-band.
+@end quotation
+@end cartouche
+
+Now your system is ready to install the official GNU Taler binary packages
+using apt.
+
+To install the Taler exchange, you can now simply run:
+
+@example
+# apt install taler-exchange
+@end example
+
+Note that the package does not perform any configuration work except for
+setting up the various users and the systemd service scripts. You still must
+configure at least the database, HTTP reverse proxy (typically with TLS
+certificates), denomination and fee structure, bank account, auditor(s),
+offline signing and the terms of service.
+
+Sample configuration files for the HTTP reverse proxy can be found in
+@code{/etc/taler-exchange/}.
+
+@node Installing the GNU Taler binary packages on Ubuntu,,Installing the GNU Taler binary packages on Debian,Installation
+@anchor{taler-exchange-manual installing-the-gnu-taler-binary-packages-on-ubuntu}@anchor{10}
+@section Installing the GNU Taler binary packages on Ubuntu
+
+
+To install the GNU Taler Ubuntu packages, first ensure that you have
+the right Ubuntu distribution. At this time, the packages are built for
+Ubuntu 20.04 LTS (Focal Fossa).
+
+A typical @code{/etc/apt/sources.list} file for this setup
+would look like this:
+
+@example
+deb http://ch.archive.ubuntu.com/ubuntu/ focal main restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal-updates main restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal-security main restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal universe restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal-updates universe restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal-security universe restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal multiverse restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal-updates multiverse restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal-security multiverse restricted
+
+deb https://deb.taler.net/apt/ubuntu/ focal-fossa main
+@end example
+
+The last line is crucial, as it adds the GNU Taler packages.
+
+Next, you must import the Taler Systems SA public package signing key
+into your keyring and update the package lists:
+
+@example
+# wget -O - https://taler.net/static/taler-systems.gpg.key | apt-sign add -
# apt update
@end example
@@ -641,7 +704,7 @@ Sample configuration files for the HTTP reverse proxy can be found in
@code{/etc/taler-exchange/}.
@node Configuration<2>,Deployment,Installation,Top
-@anchor{taler-exchange-manual id1}@anchor{10}
+@anchor{taler-exchange-manual id1}@anchor{11}
@chapter Configuration
@@ -665,7 +728,7 @@ of some of the options.
@end menu
@node Configuration format,Using taler-config,,Configuration<2>
-@anchor{taler-exchange-manual configuration-format}@anchor{11}
+@anchor{taler-exchange-manual configuration-format}@anchor{12}
@section Configuration format
@@ -740,7 +803,7 @@ merchant needs to know an exchange URL, or a database name.
@end quotation
@node Using taler-config,Keying,Configuration format,Configuration<2>
-@anchor{taler-exchange-manual using-taler-002dconfig-exchange}@anchor{12}@anchor{taler-exchange-manual using-taler-config}@anchor{13}
+@anchor{taler-exchange-manual using-taler-002dconfig-exchange}@anchor{13}@anchor{taler-exchange-manual using-taler-config}@anchor{14}
@section Using taler-config
@@ -793,7 +856,7 @@ to @code{taler-merchant-httpd} and @code{taler-config} using the @code{-c}
option.
@node Keying,Serving,Using taler-config,Configuration<2>
-@anchor{taler-exchange-manual id2}@anchor{14}@anchor{taler-exchange-manual keying}@anchor{15}
+@anchor{taler-exchange-manual id2}@anchor{15}@anchor{taler-exchange-manual keying}@anchor{16}
@section Keying
@@ -805,15 +868,12 @@ The exchange works with four types of keys:
@item
master key (kept offline)
-To create a master public key:
+To create a master key, use:
@example
-$ gnunet-ecc --generate-keys=1 FILENAME
-$ gnunet-ecc --print-public-key FILENAME
+$ taler-exchange-offline setup
@end example
-FIXME: Add link to @code{gnunet-ecc} manpage.
-
@item
sign keys (signs normal messages from the exchange)
@@ -842,43 +902,43 @@ Key options include:
@end itemize
@node Serving,Currency,Keying,Configuration<2>
-@anchor{taler-exchange-manual id3}@anchor{16}@anchor{taler-exchange-manual serving}@anchor{17}
+@anchor{taler-exchange-manual id3}@anchor{17}@anchor{taler-exchange-manual serving}@anchor{18}
@section Serving
The exchange can serve HTTP over both TCP and UNIX domain socket.
-The following values are to be configured in the section [exchange]:
+The following options are to be configured in the section @code{[exchange]}:
@itemize -
@item
-serve: must be set to tcp to serve HTTP over TCP, or unix to serve
-HTTP over a UNIX domain socket
+@code{SERVE}: Must be set to @code{tcp} to serve HTTP over TCP, or @code{unix} to serve
+HTTP over a UNIX domain socket.
@item
-port: Set to the TCP port to listen on if serve Is tcp.
+@code{PORT}: Set to the TCP port to listen on if @code{SERVE} is @code{tcp}.
@item
-unixpath: set to the UNIX domain socket path to listen on if serve Is
-unix
+@code{UNIXPATH}: Set to the UNIX domain socket path to listen on if @code{SERVE} is
+@code{unix}.
@item
-unixpath_mode: number giving the mode with the access permission MASK
-for the unixpath (i.e. 660 = rw-rw—-).
+@code{UNIXPATH_MODE}: Number giving the mode with the access permission mask
+for the @code{UNIXPATH} (i.e. 660 = @code{rw-rw---}).
@end itemize
@node Currency,Database,Serving,Configuration<2>
-@anchor{taler-exchange-manual currency}@anchor{18}@anchor{taler-exchange-manual id4}@anchor{19}
+@anchor{taler-exchange-manual currency}@anchor{19}@anchor{taler-exchange-manual id4}@anchor{1a}
@section Currency
The exchange supports only one currency. This data is set under the
-respective option @code{CURRENCY} in section [taler].
+respective option @code{CURRENCY} in section @code{[taler]}.
@node Database,Coins denomination keys,Currency,Configuration<2>
-@anchor{taler-exchange-manual database}@anchor{1a}@anchor{taler-exchange-manual id5}@anchor{1b}
+@anchor{taler-exchange-manual database}@anchor{1b}@anchor{taler-exchange-manual id5}@anchor{1c}
@section Database
@@ -891,10 +951,10 @@ choosing the backend, it is mandatory to supply the connection string
@itemize -
@item
-via an environment variable: TALER_EXCHANGEDB_POSTGRES_CONFIG.
+via an environment variable: @code{TALER_EXCHANGEDB_POSTGRES_CONFIG}.
@item
-via configuration option CONFIG, under section [exchangedb-BACKEND].
+via configuration option @code{CONFIG}, under section @code{[exchangedb-BACKEND]}.
For example, the demo exchange is configured as follows:
@end itemize
@@ -926,7 +986,7 @@ Commands, like @code{taler-exchange-dbinit}, that support the @code{-l LOGFILE}
command-line option, send logging output to standard error by default.
@node Coins denomination keys,Sign keys,Database,Configuration<2>
-@anchor{taler-exchange-manual coins-denomination-keys}@anchor{1c}@anchor{taler-exchange-manual id6}@anchor{1d}
+@anchor{taler-exchange-manual coins-denomination-keys}@anchor{1d}@anchor{taler-exchange-manual id6}@anchor{1e}
@section Coins (denomination keys)
@@ -1013,7 +1073,7 @@ to the same configuration file!
@end cartouche
@node Sign keys,Terms of Service,Coins denomination keys,Configuration<2>
-@anchor{taler-exchange-manual id7}@anchor{1e}@anchor{taler-exchange-manual sign-keys}@anchor{1f}
+@anchor{taler-exchange-manual id7}@anchor{1f}@anchor{taler-exchange-manual sign-keys}@anchor{20}
@section Sign keys
@@ -1051,7 +1111,7 @@ delayed.
@end cartouche
@node Terms of Service,Bank account,Sign keys,Configuration<2>
-@anchor{taler-exchange-manual terms-of-service}@anchor{20}
+@anchor{taler-exchange-manual terms-of-service}@anchor{21}
@section Terms of Service
@@ -1063,33 +1123,33 @@ if none are configured, the exchange will return a simple statement
saying that there are no terms of service available.
To configure the terms of service response, there are two options
-in the [exchange] section:
+in the @code{[exchange]} section:
@itemize -
@item
-TERMS_ETAG: The current “Etag” to return for the terms of service.
+@code{TERMS_ETAG}: The current “Etag” to return for the terms of service.
This value must be changed whenever the terms of service are
updated. A common value to use would be a version number.
-Note that if you change the TERMS_ETAG, you MUST also provide
-the respective files in TERMS_DIR (see below).
+Note that if you change the @code{TERMS_ETAG}, you MUST also provide
+the respective files in @code{TERMS_DIR} (see below).
@item
-TERMS_DIR: The directory that contains the terms of service.
+@code{TERMS_DIR}: The directory that contains the terms of service.
The files in the directory must be readable to the exchange
process.
@end itemize
-The TERMS_DIR directory structure must follow a particular layout.
-First, inside of TERMS_DIR, there should be sub-directories using
+The @code{TERMS_DIR} directory structure must follow a particular layout.
+First, inside of @code{TERMS_DIR}, there should be sub-directories using
two-letter language codes like “en”, “de”, or “jp”. Each of these
directories would then hold translations of the current terms of
service into the respective language. Empty directories are
permitted in case translations are not available.
Then, inside each language directory, files with the name of the
-value set as the TERMS_ETAG must be provided. The extension of
+value set as the @code{TERMS_ETAG} must be provided. The extension of
each of the files should be typical for the respective mime type.
The set of supported mime types is currently hard-coded in the
exchange, and includes HTML, PDF and TXT files. If other files are
@@ -1101,11 +1161,11 @@ present, the exchange may show a warning on startup.
@end menu
@node Example,,,Terms of Service
-@anchor{taler-exchange-manual example}@anchor{21}
+@anchor{taler-exchange-manual example}@anchor{22}
@subsection Example
-A sample file structure for a TERMS_ETAG of “v1” would be:
+A sample file structure for a @code{TERMS_ETAG} of “v1” would be:
@itemize -
@@ -1132,12 +1192,12 @@ TERMS_DIR/de/v1.pdf
TERMS_DIR/fr/v1.pdf
@end itemize
-If the user requests an HTML with language preferences “fr” followed by “en”,
-the exchange would return “TERMS_DIR/en/v1.html” lacking an HTML version in
+If the user requests an HTML format with language preferences “fr” followed by “en”,
+the exchange would return @code{TERMS_DIR/en/v1.html} lacking an HTML version in
French.
@node Bank account,Auditor configuration,Terms of Service,Configuration<2>
-@anchor{taler-exchange-manual bank-account}@anchor{22}@anchor{taler-exchange-manual id8}@anchor{23}
+@anchor{taler-exchange-manual bank-account}@anchor{23}@anchor{taler-exchange-manual id8}@anchor{24}
@section Bank account
@@ -1213,7 +1273,7 @@ For details, see manpages/taler-exchange-offline.1.
@end menu
@node Wire fee structure,,,Bank account
-@anchor{taler-exchange-manual id9}@anchor{24}@anchor{taler-exchange-manual wire-fee-structure}@anchor{25}
+@anchor{taler-exchange-manual id9}@anchor{25}@anchor{taler-exchange-manual wire-fee-structure}@anchor{26}
@subsection Wire fee structure
@@ -1250,7 +1310,7 @@ this maintenance activity!
@end cartouche
@node Auditor configuration,,Bank account,Configuration<2>
-@anchor{taler-exchange-manual auditor-configuration}@anchor{26}@anchor{taler-exchange-manual id10}@anchor{27}
+@anchor{taler-exchange-manual auditor-configuration}@anchor{27}@anchor{taler-exchange-manual id10}@anchor{28}
@section Auditor configuration
@@ -1269,8 +1329,8 @@ $ taler-exchange-offline enable-auditor $PUB_KEY $REST_URL "$AUDITOR_NAME" > aud
As before, the @emph{auditor.json} file must then be copied from the offline system
to a system connected to the exchange and there @code{uploaded} to the exchange.
-@node Deployment,Diagnostics,Configuration<2>,Top
-@anchor{taler-exchange-manual deployment}@anchor{28}@anchor{taler-exchange-manual id11}@anchor{29}
+@node Deployment,Testing a deployment,Configuration<2>,Top
+@anchor{taler-exchange-manual deployment}@anchor{29}@anchor{taler-exchange-manual id11}@anchor{2a}
@chapter Deployment
@@ -1286,7 +1346,7 @@ configured.
@end menu
@node Launching an exchange,Keys generation,,Deployment
-@anchor{taler-exchange-manual launch}@anchor{2a}@anchor{taler-exchange-manual launching-an-exchange}@anchor{2b}
+@anchor{taler-exchange-manual launch}@anchor{2b}@anchor{taler-exchange-manual launching-an-exchange}@anchor{2c}
@section Launching an exchange
@@ -1358,7 +1418,7 @@ attack surface.)
@end cartouche
@node Keys generation,Private key storage,Launching an exchange,Deployment
-@anchor{taler-exchange-manual id12}@anchor{2c}@anchor{taler-exchange-manual keys-generation}@anchor{2d}
+@anchor{taler-exchange-manual id12}@anchor{2d}@anchor{taler-exchange-manual keys-generation}@anchor{2e}
@section Keys generation
@@ -1415,7 +1475,7 @@ $ taler-auditor-offline download sign upload
For more information, see manpages/taler-auditor-offline.1.
@node Private key storage,Database upgrades,Keys generation,Deployment
-@anchor{taler-exchange-manual private-key-storage}@anchor{2e}
+@anchor{taler-exchange-manual private-key-storage}@anchor{2f}
@section Private key storage
@@ -1427,7 +1487,7 @@ regenerated. However, we do recommend using RAID (1+1 or 1+1+1) for all
disks of the system.
@node Database upgrades,,Private key storage,Deployment
-@anchor{taler-exchange-manual database-upgrades}@anchor{2f}@anchor{taler-exchange-manual id13}@anchor{30}
+@anchor{taler-exchange-manual database-upgrades}@anchor{30}@anchor{taler-exchange-manual id13}@anchor{31}
@section Database upgrades
@@ -1451,7 +1511,7 @@ not be performed in a production system.
@end menu
@node Revocations,,,Database upgrades
-@anchor{taler-exchange-manual id14}@anchor{31}@anchor{taler-exchange-manual revocations}@anchor{32}
+@anchor{taler-exchange-manual id14}@anchor{32}@anchor{taler-exchange-manual revocations}@anchor{33}
@subsection Revocations
@@ -1483,8 +1543,19 @@ operation.
@end quotation
@end cartouche
-@node Diagnostics,Benchmarking,Deployment,Top
-@anchor{taler-exchange-manual diagnostics}@anchor{33}@anchor{taler-exchange-manual id15}@anchor{34}
+@node Testing a deployment,Diagnostics,Deployment,Top
+@anchor{taler-exchange-manual testing-a-deployment}@anchor{34}
+@chapter Testing a deployment
+
+
+We recommend testing whether an exchange deployment is functional by using the
+Taler wallet command line interface. The tool can be used to withdraw and
+deposit electronic cash via the exchange without having to deploy and operate a
+separate merchant backend and storefront. For more information, see
+taler-wallet-cli-manual.
+
+@node Diagnostics,Benchmarking,Testing a deployment,Top
+@anchor{taler-exchange-manual diagnostics}@anchor{35}@anchor{taler-exchange-manual id15}@anchor{36}
@chapter Diagnostics
@@ -1499,7 +1570,7 @@ helpful for diagnostics.
@end menu
@node Internal audits,Database Scheme,,Diagnostics
-@anchor{taler-exchange-manual internal-audit}@anchor{35}@anchor{taler-exchange-manual internal-audits}@anchor{36}
+@anchor{taler-exchange-manual internal-audit}@anchor{37}@anchor{taler-exchange-manual internal-audits}@anchor{38}
@section Internal audits
@@ -1527,7 +1598,7 @@ from the very beginning, this is generally not recommended as this may be too
expensive.
@node Database Scheme,,Internal audits,Diagnostics
-@anchor{taler-exchange-manual database-scheme}@anchor{37}@anchor{taler-exchange-manual id16}@anchor{38}
+@anchor{taler-exchange-manual database-scheme}@anchor{39}@anchor{taler-exchange-manual id16}@anchor{3a}
@section Database Scheme
@@ -1543,7 +1614,7 @@ The database scheme used by the exchange looks as follows:
@image{taler-exchange-figures/exchange-db,,,,png}
@node Benchmarking,Index,Diagnostics,Top
-@anchor{taler-exchange-manual benchmarking}@anchor{39}@anchor{taler-exchange-manual exchangebenchmarking}@anchor{3a}
+@anchor{taler-exchange-manual benchmarking}@anchor{3b}@anchor{taler-exchange-manual exchangebenchmarking}@anchor{3c}
@chapter Benchmarking
diff --git a/texinfo/taler-merchant-api-tutorial.texi b/texinfo/taler-merchant-api-tutorial.texi
index fe17b35d..35557ef0 100644
--- a/texinfo/taler-merchant-api-tutorial.texi
+++ b/texinfo/taler-merchant-api-tutorial.texi
@@ -21,7 +21,7 @@
@copying
@quotation
-GNU Taler 0.8.0pre0, Jan 21, 2021
+GNU Taler 0.8.0pre0, Jan 27, 2021
GNU Taler team
@@ -1021,8 +1021,8 @@ render fields that they do not understand as a key-value list.
@printindex ge
-@anchor{taler-merchant-api-tutorial The-Taler-Order-Format}@w{ }
@anchor{c}@w{ }
+@anchor{taler-merchant-api-tutorial The-Taler-Order-Format}@w{ }
@c %**end of body
@bye
diff --git a/texinfo/taler-merchant.texi b/texinfo/taler-merchant.texi
index 90554002..af3159e5 100644
--- a/texinfo/taler-merchant.texi
+++ b/texinfo/taler-merchant.texi
@@ -21,7 +21,7 @@
@copying
@quotation
-GNU Taler 0.8.0pre0, Jan 21, 2021
+GNU Taler 0.8.0pre0, Jan 27, 2021
GNU Taler team
@@ -86,6 +86,7 @@ Installation
* Generic instructions for installation from source::
* Installing the GNU Taler binary packages on Debian::
+* Installing the GNU Taler binary packages on Ubuntu::
* Installing Taler on Debian GNU/Linux from source::
Generic instructions for installation from source
@@ -499,6 +500,7 @@ This chapter describes how to install the GNU Taler merchant backend.
@menu
* Generic instructions for installation from source::
* Installing the GNU Taler binary packages on Debian::
+* Installing the GNU Taler binary packages on Ubuntu::
* Installing Taler on Debian GNU/Linux from source::
@end menu
@@ -697,7 +699,7 @@ run @code{ldconfig}. Without this step, it is possible that the linker may not
find the installed libraries and launching the Taler merchant backend would
then fail.
-@node Installing the GNU Taler binary packages on Debian,Installing Taler on Debian GNU/Linux from source,Generic instructions for installation from source,Installation
+@node Installing the GNU Taler binary packages on Debian,Installing the GNU Taler binary packages on Ubuntu,Generic instructions for installation from source,Installation
@anchor{taler-merchant-manual installing-the-gnu-taler-binary-packages-on-debian}@anchor{1d}
@section Installing the GNU Taler binary packages on Debian
@@ -744,7 +746,7 @@ Next, you must import the Taler Systems SA public package signing key
into your keyring and update the package lists:
@example
-# wget -O - https://taler.net/taler-systems.gpg.key | apt-sign add -
+# wget -O - https://taler.net/static/taler-systems.gpg.key | apt-key add -
# apt update
@end example
@@ -770,8 +772,66 @@ fragment for Nginx or Apache will be placed in
furthermore still configure the instances, and may need to extend the fragment
with access control restrictions for non-default instances.
-@node Installing Taler on Debian GNU/Linux from source,,Installing the GNU Taler binary packages on Debian,Installation
-@anchor{taler-merchant-manual installing-taler-on-debian-gnu-002flinux}@anchor{1e}@anchor{taler-merchant-manual installing-taler-on-debian-gnu-linux-from-source}@anchor{1f}
+@node Installing the GNU Taler binary packages on Ubuntu,Installing Taler on Debian GNU/Linux from source,Installing the GNU Taler binary packages on Debian,Installation
+@anchor{taler-merchant-manual installing-the-gnu-taler-binary-packages-on-ubuntu}@anchor{1e}
+@section Installing the GNU Taler binary packages on Ubuntu
+
+
+To install the GNU Taler Ubuntu packages, first ensure that you have
+the right Ubuntu distribution. At this time, the packages are built for
+Ubuntu 20.04 LTS (Focal Fossa).
+
+A typical @code{/etc/apt/sources.list} file for this setup
+would look like this:
+
+@example
+deb http://ch.archive.ubuntu.com/ubuntu/ focal main restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal-updates main restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal-security main restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal universe restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal-updates universe restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal-security universe restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal multiverse restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal-updates multiverse restricted
+deb http://ch.archive.ubuntu.com/ubuntu/ focal-security multiverse restricted
+
+deb https://deb.taler.net/apt/ubuntu/ focal-fossa main
+@end example
+
+The last line is crucial, as it adds the GNU Taler packages.
+
+Next, you must import the Taler Systems SA public package signing key
+into your keyring and update the package lists:
+
+@example
+# wget -O - https://taler.net/static/taler-systems.gpg.key | apt-sign add -
+# apt update
+@end example
+
+@cartouche
+@quotation Note
+You may want to verify the correctness of the Taler Systems key out-of-band.
+@end quotation
+@end cartouche
+
+Now your system is ready to install the official GNU Taler binary packages
+using apt.
+
+To install the Taler merchant backend, you can now simply run:
+
+@example
+# apt install taler-merchant
+@end example
+
+Note that the package does not complete the integration of the backend with
+the HTTP reverse proxy (typically with TLS certificates). A configuration
+fragment for Nginx or Apache will be placed in
+@code{/etc/@{apache,nginx@}/conf-available/taler-merchant.conf}. You must
+furthermore still configure the instances, and may need to extend the fragment
+with access control restrictions for non-default instances.
+
+@node Installing Taler on Debian GNU/Linux from source,,Installing the GNU Taler binary packages on Ubuntu,Installation
+@anchor{taler-merchant-manual installing-taler-on-debian-gnu-002flinux}@anchor{1f}@anchor{taler-merchant-manual installing-taler-on-debian-gnu-linux-from-source}@anchor{20}
@section Installing Taler on Debian GNU/Linux from source
@@ -839,7 +899,7 @@ if you used the Debian stretch instructions above, you need to pass
@code{--with-microhttpd=/usr/local/} to all @code{configure} invocations.
@node How to configure the merchant’s backend,Instance setup,Installation,Top
-@anchor{taler-merchant-manual how-to-configure-the-merchants-backend}@anchor{20}
+@anchor{taler-merchant-manual how-to-configure-the-merchants-backend}@anchor{21}
@chapter How to configure the merchant’s backend
@@ -866,7 +926,7 @@ commands given as examples.
@end menu
@node Configuration format,Using taler-config,,How to configure the merchant’s backend
-@anchor{taler-merchant-manual configuration-format}@anchor{21}
+@anchor{taler-merchant-manual configuration-format}@anchor{22}
@section Configuration format
@@ -941,7 +1001,7 @@ merchant needs to know an exchange URL, or a database name.
@end quotation
@node Using taler-config,Backend options,Configuration format,How to configure the merchant’s backend
-@anchor{taler-merchant-manual using-taler-config}@anchor{22}
+@anchor{taler-merchant-manual using-taler-config}@anchor{23}
@section Using taler-config
@@ -994,7 +1054,7 @@ to @code{taler-merchant-httpd} and @code{taler-config} using the @code{-c}
option.
@node Backend options,Sample backend configuration,Using taler-config,How to configure the merchant’s backend
-@anchor{taler-merchant-manual backend-options}@anchor{23}@anchor{taler-merchant-manual id6}@anchor{24}
+@anchor{taler-merchant-manual backend-options}@anchor{24}@anchor{taler-merchant-manual id6}@anchor{25}
@section Backend options
@@ -1032,7 +1092,7 @@ modified. Here, the notation @code{[$section]/$option} denotes the option
@end menu
@node Service address,Currency,,Backend options
-@anchor{taler-merchant-manual service-address}@anchor{25}
+@anchor{taler-merchant-manual service-address}@anchor{26}
@subsection Service address
@@ -1071,7 +1131,7 @@ $ taler-config -s MERCHANT -o PORT -V 8888
@end example
@node Currency,Database,Service address,Backend options
-@anchor{taler-merchant-manual currency}@anchor{26}
+@anchor{taler-merchant-manual currency}@anchor{27}
@subsection Currency
@@ -1091,7 +1151,7 @@ $ taler-config -s TALER -o CURRENCY -V KUDOS
@end example
@node Database,Exchange,Currency,Backend options
-@anchor{taler-merchant-manual database}@anchor{27}
+@anchor{taler-merchant-manual database}@anchor{28}
@subsection Database
@@ -1160,7 +1220,7 @@ command-line option, send logging output to standard error by default.
@c index: MASTER_KEY
@node Exchange,Auditor,Database,Backend options
-@anchor{taler-merchant-manual exchange}@anchor{28}
+@anchor{taler-merchant-manual exchange}@anchor{29}
@subsection Exchange
@@ -1209,7 +1269,7 @@ currency from the “TALER” section, the exchange is ignored. If you need to
support multiple currencies, you need to configure a backend per currency.
@node Auditor,,Exchange,Backend options
-@anchor{taler-merchant-manual auditor}@anchor{29}
+@anchor{taler-merchant-manual auditor}@anchor{2a}
@subsection Auditor
@@ -1259,7 +1319,7 @@ currency from the “TALER” section, the auditor is ignored. If you need to
support multiple currencies, you need to configure a backend per currency.
@node Sample backend configuration,Launching the backend,Backend options,How to configure the merchant’s backend
-@anchor{taler-merchant-manual id7}@anchor{2a}@anchor{taler-merchant-manual sample-backend-configuration}@anchor{2b}
+@anchor{taler-merchant-manual id7}@anchor{2b}@anchor{taler-merchant-manual sample-backend-configuration}@anchor{2c}
@section Sample backend configuration
@@ -1306,7 +1366,7 @@ configuration steps, showing how to invoke @code{taler-config} for each of
them.
@node Launching the backend,,Sample backend configuration,How to configure the merchant’s backend
-@anchor{taler-merchant-manual id8}@anchor{2c}@anchor{taler-merchant-manual launching-the-backend}@anchor{2d}
+@anchor{taler-merchant-manual id8}@anchor{2d}@anchor{taler-merchant-manual launching-the-backend}@anchor{2e}
@section Launching the backend
@@ -1345,7 +1405,7 @@ and use TLS for improved network privacy, see @ref{9,,Secure setup}.
@geindex instance
@node Instance setup,Secure setup,How to configure the merchant’s backend,Top
-@anchor{taler-merchant-manual id9}@anchor{2e}@anchor{taler-merchant-manual instance-setup}@anchor{2f}
+@anchor{taler-merchant-manual id9}@anchor{2f}@anchor{taler-merchant-manual instance-setup}@anchor{30}
@chapter Instance setup
@@ -1359,7 +1419,7 @@ Before using the backend, you must at least configure the “default” instance
@end menu
@node KUDOS Accounts,IBAN Accounts,,Instance setup
-@anchor{taler-merchant-manual kudos-accounts}@anchor{30}
+@anchor{taler-merchant-manual kudos-accounts}@anchor{31}
@section KUDOS Accounts
@@ -1380,7 +1440,7 @@ must be replaced with the name of the account that was established
at @indicateurl{https://bank.demo.taler.net/}.
@node IBAN Accounts,Setup,KUDOS Accounts,Instance setup
-@anchor{taler-merchant-manual iban-accounts}@anchor{31}
+@anchor{taler-merchant-manual iban-accounts}@anchor{32}
@section IBAN Accounts
@@ -1392,7 +1452,7 @@ IBAN, the corresponding payto://-URI is simply “payto://iban/$IBAN” where
“$IBAN” must be replaced with the actual IBAN number.
@node Setup,,IBAN Accounts,Instance setup
-@anchor{taler-merchant-manual setup}@anchor{32}
+@anchor{taler-merchant-manual setup}@anchor{33}
@section Setup
@@ -1440,7 +1500,7 @@ or purge (deleting all associated data) instances exist as well and are document
in the Merchant Backend API documentation.
@node Secure setup,Customization,Instance setup,Top
-@anchor{taler-merchant-manual id11}@anchor{33}@anchor{taler-merchant-manual secure-setup}@anchor{9}
+@anchor{taler-merchant-manual id11}@anchor{34}@anchor{taler-merchant-manual secure-setup}@anchor{9}
@chapter Secure setup
@@ -1462,7 +1522,7 @@ authentication and then forwards requests to the backend.
@end menu
@node Using UNIX domain sockets,Reverse proxy configuration,,Secure setup
-@anchor{taler-merchant-manual using-unix-domain-sockets}@anchor{34}
+@anchor{taler-merchant-manual using-unix-domain-sockets}@anchor{35}
@section Using UNIX domain sockets
@@ -1484,7 +1544,7 @@ but this is @emph{not recommended}. Relying on NAT or network firewalls for acc
control is gross negligence.
@node Reverse proxy configuration,Access control,Using UNIX domain sockets,Secure setup
-@anchor{taler-merchant-manual reverse-proxy-configuration}@anchor{35}
+@anchor{taler-merchant-manual reverse-proxy-configuration}@anchor{36}
@section Reverse proxy configuration
@@ -1495,7 +1555,7 @@ control is gross negligence.
@end menu
@node Nginx,Apache,,Reverse proxy configuration
-@anchor{taler-merchant-manual nginx}@anchor{36}
+@anchor{taler-merchant-manual nginx}@anchor{37}
@subsection Nginx
@@ -1515,7 +1575,7 @@ not have HTTPS enabled. Make sure to restart the @code{taler-merchant-httpd}
process after changing the @code{SERVE} configuration.
@node Apache,,Nginx,Reverse proxy configuration
-@anchor{taler-merchant-manual apache}@anchor{37}
+@anchor{taler-merchant-manual apache}@anchor{38}
@subsection Apache
@@ -1546,7 +1606,7 @@ The above configuration(s) are both incomplete. You must still additionally
setup access control!
@node Access control,,Reverse proxy configuration,Secure setup
-@anchor{taler-merchant-manual access-control}@anchor{38}
+@anchor{taler-merchant-manual access-control}@anchor{39}
@section Access control
@@ -1571,7 +1631,7 @@ endpoints directly without client authentication.
@end menu
@node Nginx<2>,Apache<2>,,Access control
-@anchor{taler-merchant-manual id12}@anchor{39}
+@anchor{taler-merchant-manual id12}@anchor{3a}
@subsection Nginx
@@ -1622,7 +1682,7 @@ location ~ /private/ @{
@end example
@node Apache<2>,,Nginx<2>,Access control
-@anchor{taler-merchant-manual id13}@anchor{3a}
+@anchor{taler-merchant-manual id13}@anchor{3b}
@subsection Apache
@@ -1691,7 +1751,7 @@ System admininistrators are strongly advised to test their access control
setup before going into production!
@node Customization,Upgrade procedure,Secure setup,Top
-@anchor{taler-merchant-manual customization}@anchor{3b}
+@anchor{taler-merchant-manual customization}@anchor{3c}
@chapter Customization
@@ -1704,7 +1764,7 @@ setup before going into production!
@end menu
@node Templates,Static files,,Customization
-@anchor{taler-merchant-manual templates}@anchor{3c}
+@anchor{taler-merchant-manual templates}@anchor{3d}
@section Templates
@@ -1714,7 +1774,7 @@ own design. The templating language used is Mustach, and the templates
are in the @code{share/taler/merchant/templates/} directory.
@node Static files,Internationalization,Templates,Customization
-@anchor{taler-merchant-manual static-files}@anchor{3d}
+@anchor{taler-merchant-manual static-files}@anchor{3e}
@section Static files
@@ -1724,7 +1784,7 @@ logic to load a CSS file, but you can also put other resources such as
images or JavaScript.
@node Internationalization,Limitations,Static files,Customization
-@anchor{taler-merchant-manual internationalization}@anchor{3e}
+@anchor{taler-merchant-manual internationalization}@anchor{3f}
@section Internationalization
@@ -1741,7 +1801,7 @@ returned. Otherwise, an internationalized file based on the language
preferences indicated by the browser is returned.
@node Limitations,,Internationalization,Customization
-@anchor{taler-merchant-manual limitations}@anchor{3f}
+@anchor{taler-merchant-manual limitations}@anchor{40}
@section Limitations
@@ -1759,7 +1819,7 @@ template expansion, and does not make use of scopes and other Mustach
features.
@node Upgrade procedure,Tipping visitors,Customization,Top
-@anchor{taler-merchant-manual upgrade-procedure}@anchor{40}
+@anchor{taler-merchant-manual upgrade-procedure}@anchor{41}
@chapter Upgrade procedure
@@ -1791,7 +1851,7 @@ $ taler-merchant-httpd
@end example
@node Tipping visitors,Advanced topics,Upgrade procedure,Top
-@anchor{taler-merchant-manual id14}@anchor{41}@anchor{taler-merchant-manual tipping-visitors}@anchor{42}
+@anchor{taler-merchant-manual id14}@anchor{42}@anchor{taler-merchant-manual tipping-visitors}@anchor{43}
@chapter Tipping visitors
@@ -1813,7 +1873,7 @@ There are three basic steps that must happen to tip a visitor.
@end menu
@node Fund the reserve,Authorize a tip,,Tipping visitors
-@anchor{taler-merchant-manual fund-the-reserve}@anchor{43}@anchor{taler-merchant-manual id15}@anchor{44}
+@anchor{taler-merchant-manual fund-the-reserve}@anchor{44}@anchor{taler-merchant-manual id15}@anchor{45}
@section Fund the reserve
@@ -1863,7 +1923,7 @@ initially. If your campaign runs longer, you should setup another reserve
every other week to ensure one is always ready.
@node Authorize a tip,Picking up of the tip,Fund the reserve,Tipping visitors
-@anchor{taler-merchant-manual authorize-a-tip}@anchor{45}@anchor{taler-merchant-manual id16}@anchor{46}
+@anchor{taler-merchant-manual authorize-a-tip}@anchor{46}@anchor{taler-merchant-manual id16}@anchor{47}
@section Authorize a tip
@@ -1903,7 +1963,7 @@ The frontend should handle errors returned by the backend, such as
misconfigured instances or a lack of remaining funds for tipping.
@node Picking up of the tip,,Authorize a tip,Tipping visitors
-@anchor{taler-merchant-manual id17}@anchor{47}@anchor{taler-merchant-manual picking-up-of-the-tip}@anchor{48}
+@anchor{taler-merchant-manual id17}@anchor{48}@anchor{taler-merchant-manual picking-up-of-the-tip}@anchor{49}
@section Picking up of the tip
@@ -1913,7 +1973,7 @@ The frontend must then forward this request to the backend. The response
generated by the backend can then be forwarded directly to the wallet.
@node Advanced topics,Advanced experimental features,Tipping visitors,Top
-@anchor{taler-merchant-manual advanced-topics}@anchor{49}
+@anchor{taler-merchant-manual advanced-topics}@anchor{4a}
@chapter Advanced topics
@@ -1924,7 +1984,7 @@ generated by the backend can then be forwarded directly to the wallet.
@end menu
@node Database Scheme,Configuration format<2>,,Advanced topics
-@anchor{taler-merchant-manual database-scheme}@anchor{4a}@anchor{taler-merchant-manual merchantdatabasescheme}@anchor{4b}
+@anchor{taler-merchant-manual database-scheme}@anchor{4b}@anchor{taler-merchant-manual merchantdatabasescheme}@anchor{4c}
@section Database Scheme
@@ -1940,7 +2000,7 @@ The database scheme used by the merchant looks as follows:
@image{taler-merchant-figures/merchant-db,,,,png}
@node Configuration format<2>,,Database Scheme,Advanced topics
-@anchor{taler-merchant-manual id18}@anchor{4c}
+@anchor{taler-merchant-manual id18}@anchor{4d}
@section Configuration format
@@ -2022,7 +2082,7 @@ merchant needs to know an exchange URL, or a database name.
@end menu
@node Using taler-config<2>,,,Configuration format<2>
-@anchor{taler-merchant-manual id19}@anchor{4d}@anchor{taler-merchant-manual using-taler-002dconfig}@anchor{4e}
+@anchor{taler-merchant-manual id19}@anchor{4e}@anchor{taler-merchant-manual using-taler-002dconfig}@anchor{4f}
@subsection Using taler-config
@@ -2077,7 +2137,7 @@ to @code{taler-merchant-httpd} and @code{taler-config} using the @code{-c}
option.
@node Advanced experimental features,Temporarily Abandoned Features,Advanced topics,Top
-@anchor{taler-merchant-manual advanced-experimental-features}@anchor{4f}
+@anchor{taler-merchant-manual advanced-experimental-features}@anchor{50}
@chapter Advanced experimental features
@@ -2092,7 +2152,7 @@ need, or will not need initially.
@end menu
@node Benchmarking,Benchmark setup,,Advanced experimental features
-@anchor{taler-merchant-manual benchmarking}@anchor{50}@anchor{taler-merchant-manual merchantbenchmarking}@anchor{51}
+@anchor{taler-merchant-manual benchmarking}@anchor{51}@anchor{taler-merchant-manual merchantbenchmarking}@anchor{52}
@section Benchmarking
@@ -2114,7 +2174,7 @@ to customize the benchmark and/or to cover more realistic workloads from the
start.
@node Benchmark setup,Running the benchmark command,Benchmarking,Advanced experimental features
-@anchor{taler-merchant-manual benchmark-setup}@anchor{52}
+@anchor{taler-merchant-manual benchmark-setup}@anchor{53}
@section Benchmark setup
@@ -2263,18 +2323,11 @@ Note that the public key must match the exchange’s
private key and that the Postgres database must
exist before launching the benchmark. You also
will need to ensure that the Exchange’s
-details are setup, usually by running
-
-@example
-$ taler-exchange-wire -c $CONFIG_FILE
-$ taler-exchange-keyup -c $CONFIG_FILE
-@end example
-
-where “$CONFIG_FILE” should be replaced by
-the configuration file that is to be used.
+details are setup.
+For details, see the Exchange Operator Manual.
@node Running the benchmark command,,Benchmark setup,Advanced experimental features
-@anchor{taler-merchant-manual running-the-benchmark-command}@anchor{53}
+@anchor{taler-merchant-manual running-the-benchmark-command}@anchor{54}
@section Running the benchmark command
@@ -2346,7 +2399,7 @@ actual measurement of performance is provided (despite of the
@end itemize
@node Temporarily Abandoned Features,Index,Advanced experimental features,Top
-@anchor{taler-merchant-manual temporarily-abandoned-features}@anchor{54}
+@anchor{taler-merchant-manual temporarily-abandoned-features}@anchor{55}
@chapter Temporarily Abandoned Features
@@ -2356,7 +2409,7 @@ actual measurement of performance is provided (despite of the
@end menu
@node Installing Taler using Docker,,,Temporarily Abandoned Features
-@anchor{taler-merchant-manual installing-taler-using-docker}@anchor{55}
+@anchor{taler-merchant-manual installing-taler-using-docker}@anchor{56}
@section Installing Taler using Docker