use pre-built man and texinfo from docs.git

This commit is contained in:
Florian Dold 2019-09-18 19:45:10 +02:00
parent a18011012d
commit 389b5de09d
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B
21 changed files with 24 additions and 982 deletions

1
.gitignore vendored
View File

@ -101,6 +101,7 @@ doc/manual/manual.pg
doc/manual/manual.toc doc/manual/manual.toc
doc/manual/manual.tp doc/manual/manual.tp
doc/manual/manual.vr doc/manual/manual.vr
doc/prebuilt/*
contrib/taler-exchange.tag contrib/taler-exchange.tag
doxygen-doc/ doxygen-doc/
src/lib/test_exchange_api_keys_cherry_picking src/lib/test_exchange_api_keys_cherry_picking

4
.gitmodules vendored
View File

@ -1,3 +1,7 @@
[submodule "doc/api"] [submodule "doc/api"]
path = doc/api path = doc/api
url = git@git.taler.net:api url = git@git.taler.net:api
[submodule "doc/prebuilt"]
path = doc/prebuilt
url = https://git.taler.net/docs.git
branch = prebuilt

View File

@ -1,2 +1,3 @@
#!/bin/sh #!/bin/sh
autoreconf -if autoreconf -if
git submodule update --init

View File

@ -3,21 +3,23 @@
SUBDIRS = . SUBDIRS = .
man_MANS = \ man_MANS = \
taler-auditor.1 \ prebuilt/man/taler-auditor.1 \
taler-auditor-exchange.1 \ prebuilt/man/taler-auditor-exchange.1 \
taler-auditor-sign.1 \ prebuilt/man/taler-auditor-sign.1 \
taler-bank-transfer.1 \ prebuilt/man/taler-bank-transfer.1 \
taler-config-generate.1 \ prebuilt/man/taler-config-generate.1 \
taler-exchange-aggregator.1 \ prebuilt/man/taler-exchange-aggregator.1 \
taler-exchange-dbinit.1 \ prebuilt/man/taler-exchange-dbinit.1 \
taler-exchange-httpd.1 \ prebuilt/man/taler-exchange-httpd.1 \
taler-exchange-keyup.1 \ prebuilt/man/taler-exchange-keyup.1 \
taler-exchange-keycheck.1 \ prebuilt/man/taler-exchange-keycheck.1 \
taler-exchange-wire.1 \ prebuilt/man/taler-exchange-wire.1 \
taler-exchange-wirewatch.1 \ prebuilt/man/taler-exchange-wirewatch.1 \
taler-exchange-benchmark.1 \ prebuilt/man/taler-exchange-benchmark.1 \
taler.conf.5 prebuilt/man/taler.conf.5
info_TEXINFOS = \
prebuilt/texinfo/taler-exchange.texi
EXTRA_DIST = \ EXTRA_DIST = \
coding-style.txt \
$(man_MANS) $(man_MANS)

View File

@ -1,65 +0,0 @@
These are the general coding style rules for Taler.
* Baseline rules are to follow GNU guidelines, modified or extended
by the GNUnet style: https://gnunet.org/style
Naming conventions:
===================
* include files (very similar to GNUnet):
+ if installed, must start with "taler_" (exception: platform.h),
and MUST live in src/include/
+ if NOT installed, must NOT start with "taler_" and
MUST NOT live in src/include/ and
SHOULD NOT be included from outside of their own directory
+ end in "_lib" for "simple" libraries
+ end in "_plugin" for plugins
+ end in "_service" for libraries accessing a service, i.e. the exchange
* binaries:
+ taler-exchange-xxx: exchange programs
+ taler-merchant-xxx: merchant programs (demos)
+ taler-wallet-xxx: wallet programs
+ plugins should be libtaler_plugin_xxx_yyy.so: plugin yyy for API xxx
+ libtalerxxx: library for API xxx
* logging
+ tools use their full name in GNUNET_log_setup
(i.e. 'taler-exchange-keyup') and log using plain 'GNUNET_log'.
+ pure libraries (without associated service) use 'GNUNET_log_from'
with the component set to their library name (without lib or '.so'),
which should also be their directory name (i.e. 'util')
+ plugin libraries (without associated service) use 'GNUNET_log_from'
with the component set to their type and plugin name (without lib or '.so'),
which should also be their directory name (i.e. 'exchangedb-postgres')
+ libraries with associated service) use 'GNUNET_log_from'
with the name of the service, which should also be their
directory name (i.e. 'exchange')
* configuration
+ same rules as for GNUnet
* exported symbols
+ must start with TALER_[SUBSYSTEMNAME]_ where SUBSYSTEMNAME
MUST match the subdirectory of src/ in which the symbol is defined
+ from libtalerutil start just with TALER_, without subsystemname
+ if scope is ONE binary and symbols are not in a shared library,
use binary-specific prefix (such as TMH = taler-exchange-httpd) for
globals, possibly followed by the subsystem (TMH_DB_xxx).
* structs:
+ structs that are 'packed' and do not contain pointers and are
thus suitable for hashing or similar operations are distinguished
by adding a "P" at the end of the name. (NEW) Note that this
convention does not hold for the GNUnet-structs (yet).
+ structs that are used with a purpose for signatures, additionally
get an "S" at the end of the name.
* private (library-internal) symbols (including structs and macros)
+ must not start with TALER_ or any other prefix
* testcases
+ must be called "test_module-under-test_case-description.c"
* performance tests
+ must be called "perf_module-under-test_case-description.c"

File diff suppressed because one or more lines are too long

1
doc/prebuilt Submodule

@ -0,0 +1 @@
Subproject commit ca53235ccfa0458ebf11c204888ca370e20ec3f5

View File

@ -1,45 +0,0 @@
.Dd November 3, 2018
.Dd TALER-AUDITOR-EXCHANGE 1
.Os
.Sh NAME
.Nm taler-auditor-exchange
.Nd
add or remove exchange from auditor's list
.Sh SYNOPSIS
.Nm
.Op Fl h | \-help
.Op Fl r | \-remove
.Op Fl m Ar MASTERKEY | Fl \-exchange-key= Ns Ar MASTERKEY
.Op Fl u Ar EXCHANGE_URL | Fl \-auditor-url= Ns Ar EXCHANGE_URL
.Sh DESCRIPTION
.Nm
is a command line tool to be used by an auditor to add or remove an exchange from the list of exchange's audited by the auditor.
You must add an exchange to that list before signing denomination keys with taler-auditor-sign or trying to audit it with taler-auditor or taler-wire-auditor.
Afterwards the exchange will be visible via the /exchanges API of the taler-auditor-httpd.
.Bl -tag -width Ds
.It Fl m Ar MASTERKEY | Fl \-exchange-key= Ns Ar MASTERKEY
Public key of the exchange in Crockford base32 encoding, for example as generated by gnunet-ecc -p.
.It Fl h | \-help
Print short help on options.
.It Fl u Ar EXCHANGE_URL | Fl \-auditor-url= Ns Ar EXCHANGE_URL
URL of the exchange.
The exchange's HTTP API must be available at this address.
.It Fl r | \-remove
Instead of adding the exchange, remove it.
Note that this will drop ALL data associated with that exchange, including existing auditing information.
So use with extreme care!
.Sh SEE ALSO
.Xr gnunet-ecc 1 ,
.Xr taler-auditor-sign 1 ,
.Xr taler.conf 5
.Sh BUGS
We should optionally verify the correctness of this exchange's base URL and that it matches the master public key (note that the exchange may still be offline, so it should be possible to bypass such a verfication step).
Furthermore, if we do verification, as a (less secure) convenience option, we should make
.Fl
m
optional and obtain it from the base URL.
.Pp
Report bugs by using
.Lk https://gnunet.org/bugs/
or by sending electronic mail to
.Aq Mt taler@gnu.org .

View File

@ -1,46 +0,0 @@
.Dd
.Dt TALER\-AUDITOR\-SIGN 1 "Mar 15, 2016" "GNU Taler"
.Os
.Sh NAME
.Nm taler\-auditor\-sign
.Nd
Sign exchange denomination as auditor.
.Sh SYNOPSIS
.Nm
.Op Fl a Ar FILE | Fl \-auditor-key= Ns Ar FILE
.Op Fl h | \-help
.Op Fl m Ar KEY | Fl \-exchange-key= Ns Ar KEY
.Op Fl u Ar URL | Fl \-auditor-url= Ns Ar URL
.Op Fl r Ar FILE | Fl \-exchange-request= Ns Ar FILE
.Op Fl o Ar FILE | Fl \-output= Ns Ar FILE
.Sh DESCRIPTION
.Nm
is a command line tool to be used by an auditor to sign that he is aware of certain keys being used by a exchange.
Using this signature, the auditor affirms that he will verify that the exchange is properly accounting for those coins.
.Pp
The exchange for which keys were signed must have been added to the auditor using taler\-auditor\-exchange first!
.Bl -tag -width Ds
.It Fl a Ar FILE | Fl \-auditor-key= Ns Ar FILE
Location of the private EdDSA auditor key.
If it does not exist, it will be created.
.It Fl h | \-help
Print short help on options.
.It Fl m Ar KEY | Fl \-exchange-key= Ns Ar KEY
Public key of the exchange in Crockford base32 encoding, for example as generated by gnunet-ecc -p.
.It Fl u Ar URL | Fl \-auditor-url= Ns Ar URL
URL of the auditor.
Provides informative link for the user to learn more about the auditor.
.It Fl r Ar FILE | Fl \-exchange-request= Ns Ar FILE
File with the exchange's denomination key signing request as generated by taler-exchange-keyup -o.
.It Fl o Ar FILE | Fl \-output= Ns Ar FILE
File where the auditor should write the EdDSA signature.
.Sh SEE ALSO
.Xr gnunet-ecc 1 ,
.Xr taler-auditor-exchange 1 ,
.Xr taler-exchange-keyup 1 ,
.Xr taler.conf 5
.Sh BUGS
Report bugs by using
.Lk https://gnunet.org/bugs/
or by sending electronic mail to
.Aq Mt taler@gnu.org .

View File

@ -1,43 +0,0 @@
.Dd March 20, 2017
.Dt TALER-AUDITOR 1
.Os
.Sh NAME
.Nm taler-auditor
.Nd
Audit exchange
.Sh SYNOPSIS
.Nm
.Op Fl h | \-help
.Op Fl m Ar MASTER_KEY | Fl \-exchange-key= Ns Ar MASTER_KEY
.Op Fl r | \-reset
.Sh DESCRIPTION
.Nm
is a command line tool to be used by an auditor to audit an exchange's database and calculate the current financial state of the exchange (including revenue, amount expected in escrow and risk exposure).
The audit is incremental.
The first audit must be performed with the
.Fl r
option to initialize the tables.
The tool reports inconsistencies in the balance or incorrect cryptographic signatures found in the database.
It does NOT check with the bank to see that the incoming and outgoing wire transfers that the bank claims to have matches the exchange's database.
Its options are as follows.
.Bl -tag -wdith Ds
.It Fl h | \-help
Print short help on options.
.It Fl m Ar KEY | Fl \-exchange-key= Ns Ar KEY
Public master key of the exchange in Crockford base32 encoding, for example as generated by gnunet-ecc -p.
If this option is missing, taler-auditor will use the MASTER_PUBLIC_KEY value from the "exchange" section of the configuration.
.It Fl r | \-reset
Reset the audit, starts everything from the beginning.
Useful for testing and required for the first audit to setup auditor's tables.
Note that if (just) the exchange key changes, the
.Fl r
option should not be used again.
.Sh SEE ALSO
.Xr gnunet-ecc 1 ,
.Xr taler-auditor-sign 1 ,
.Xr taler.conf 5
.Sh BUGS
Report bugs by using
.Lk https://bugs.gnunet.org
or by sending electronic mail to
.Aq Mt taler@gnu.org .

View File

@ -1,55 +0,0 @@
.Dd December 14, 2017
.Dt TALER-BANK-TRANSFER 1
.Os
.Sh NAME
.Nm taler-bank-transfer
.Nd
trigger a transfer at the bank
.Sh SYNOPSIS
.Nm
.Op Fl a Ar VALUE | Fl \-amount= Ns Ar VALUE
.Op Fl b Ar URL | Fl \-bank= Ns Ar URL
.Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
.Op Fl h | \-help
.Op Fl D Ar ACCOUNT | Fl \-debit= Ns Ar ACCOUNT
.Op Fl C Ar ACCOUNT | Fl \-credit= Ns Ar ACCOUNT
.Op Fl s Ar STRING | Fl \-subject= Ns Ar STRING
.Op Fl u Ar USERNAME | Fl \-user= Ns Ar USERNAME
.Op Fl p Ar PASSPHRASE | Fl \-pass= Ns Ar PASSPHRASE
.Op Fl v | \-version
.Sh DESCRIPTION
.Nm
is a command line tool to trigger bank transfers.
.Bl -tag -width Ds
.It Fl a Ar VALUE | Fl \-amount= Ns Ar VALUE
Amount to transfer.
Given in the Taler\-typical format of CURRENCY:VALUE.FRACTION
.It Fl b Ar URL | Fl \-bank= Ns Ar URL
URL at which the bank is operation.
.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
Use the given configuration file.
.It Fl h | \-help
Print short help on options.
.It Fl D Ar ACCOUNT | Fl \-debit= Ns Ar ACCOUNT
The money should be debited from ACCOUNT.
Specifies the number of the account.
.It Fl C Ar ACCOUNT | Fl \-credit= Ns Ar ACCOUNT
The money should be credited to ACCOUNT.
Specifies the number of the account.
.It Fl s Ar STRING | Fl \-subject= Ns Ar STRING
Use STRING for the wire transfer subject.
.It Fl u Ar USERNAME | Fl \-user= Ns Ar USERNAME
Specifies the username for authentication.
.It Fl p Ar PASSPHRASE | Fl \-pass= Ns Ar PASSPHRASE
Specifies the pass phrase for authentication.
.It Fl v | \-version
Print version information.
.El
.Sh SEE ALSO
.Xr taler-bank-manage 1 ,
.Xr taler.conf 5
.Sh BUGS
Report bugs by using
.Lk https://gnunet.org/bugs/
or by sending electronic mail to
.Aq Mt taler@gnu.org

View File

@ -1,74 +0,0 @@
.Dd May 5, 2016
.Dt TALER-CONFIG-GENERATE 1
.Os
.Sh NAME
.Nm taler-config-generate
.Nd
tool to simplify Taler configuration generation
.Os
.Sh SYNOPSIS
.Nm
.Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
.Op Fl C Ar CURRENCY | Fl \-currency= Ns Ar CURRENCY
.Op Fl e | \-exchange
.Op Fl f Ar AMOUNT | \-wirefee= Ns Ar AMOUNT
.Op Fl m | \-merchant
.Op Fl t | \-trusted
.Op Fl w Ar WIREFORMAT | Fl \-wire Ar WIREFORMAT
.Op Fl j Ar JSON | Fl \-wire-json-merchant= Ns Ar JSON
.Op Fl J Ar JSON | Fl \-wire-json-exchange= Ns Ar JSON
.Op Fl \-bank-uri
.Op Fl \-exchange-bank-account
.Op Fl \-merchant-bank-account
.Op Fl h | \-help
.Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL
.Op Fl v | \-version
.Sh DESCRIPTION
.Nm
can be used to generate configuration files for the Taler exchange or Taler merchants.
.Bl -tag -width Ds
.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
Location where to write the generated configuration.
Existing file will be updated, not overwritten.
.It Fl C Ar CURRENCY | Fl \-currency= Ns Ar CURRENCY
Which currency should we use in the configuration.
.It Fl e | \-exchange
Generate configuration for a Taler exchange.
.It Fl f Ar AMOUNT | \-wirefee= Ns Ar AMOUNT
Setup wire transfer fees for the next 5 years for the exchange (for all wire methods).
.It Fl m | \-merchant
Generate configuration for a Taler merchant.
.It Fl t | \-trusted
Setup current exchange as trusted with current merchant.
Generally only useful when configuring for testcases.
.It Fl w Ar WIREFORMAT | Fl \-wire Ar WIREFORMAT
Specifies which wire format to use (i.e. "test" or "sepa")
.It Fl j Ar JSON | Fl \-wire-json-merchant= Ns Ar JSON
Wire configuration to use for the merchant.
.It Fl J Ar JSON | Fl \-wire-json-exchange= Ns Ar JSON
Wire configuration to use for the exchange.
.It Fl \-bank-uri
Alternative to specify wire configuration to use for the exchange and merchant for the "test" wire method.
Only useful if WIREFORMAT was set to "test".
Specifies the URI of the bank.
.It Fl \-exchange-bank-account
Alternative to specify wire configuration to use for the exchange for the "test" wire method.
Only useful if WIREFORMAT was set to "test".
Specifies the bank account number of the exchange.
.It Fl \-merchant-bank-account
Alternative to specify wire configuration to use for the merchant for the "test" wire method.
Only useful if WIREFORMAT was set to "test".
Specifies the bank account number of the merchant.
.It Fl h | \-help
Shows this man page.
.It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL
Use LOGLEVEL for logging.
Valid values are DEBUG, INFO, WARNING and ERROR.
.It Fl v | \-version
Print GNUnet version number.
.El
.Sh BUGS
Report bugs by using
.Lk https://gnunet.org/bugs/
or by sending electronic mail to
.Aq Mt taler@gnu.org .

View File

@ -1,37 +0,0 @@
.Dd Mar 30, 2016
.Dt TALER-EXCHANGE-AGGREGATOR 1
.Os
.Sh NAME
.Nm taler-exchange-aggregator
.Nd
Aggregate and execute exchange transactions
.Sh SYNOPSIS
.Nm
.Op Fl d Ar DIRNAME | Fl \-exchange-dir= Ns Ar DIRNAME
.Op Fl h | \-help
.Op Fl t | \-test
.Op Fl v | \-version
.Sh DESCRIPTION
.Nm
is a command line tool to run pending transactions from the Taler exchange.
.Bl -tag -width Ds
.It Fl d Ar DIRNAME | Fl \-exchange-dir= Ns Ar DIRNAME
Use the configuration and other resources for the exchange to operate from
.Ar DIRNAME .
.It Fl h | \-help
Print short help on options.
.It Fl t | \-test
Run in test mode and exit when idle.
.It Fl v | \-version
Print version information.
.El
.Sh SEE ALSO
.Xr taler-exchange-dbinit 1 ,
.Xr taler-exchange-keyup 1 ,
.Xr taler-exchange-httpd 1 ,
.Xr taler.conf 5 .
.Sh BUGS
Report bugs by using
.Lk https://gnunet.org/bugs/
or by sending electronic mail to
.Aq Mt taler@gnu.org .

View File

@ -1,44 +0,0 @@
.Dd July 25, 2018
.Dt TALER-EXCHANGE-BENCHMARK 1
.Os
.Sh NAME
.Nm taler-exchange-benchmark
.Nd
Measure exchange performance
.Sh SYNOPSIS
.Nm
.Op Fl c Ar CONFIG_FILENAME | Fl \-config= Ns Ar CONFIG_FILENAME
.Op Fl b Ar BANK_URL | Fl --bank-url= Ns Ar BANK_URL
.Op Fl n Ar HOWMANY_COINS | Fl \-coins-number= Ns Ar HOWMANY_COINS
.Op Fl l Ar LOGLEVEL | Fl \-log\-level= Ns Ar LOGLEVEL
.Op Fl h | \-help
.Sh DESCRIPTION
.Nm
is a command line tool to measure the time spent to serve withdrawals/deposits/refreshes.
It usually needs a dedicate configuration file where all the services - the exchange and the (fake)bank - listen to URLs not subject to any reverse proxy, as say Nginx.
Moreover, the benchmark runs on a "volatile" database, that means that table are always erased during a single benchmark run.
.Bl -tag -width Ds
.It Fl c Ar CONFIG_FILENAME | Fl \-config= Ns Ar CONFIG_FILENAME
(Mandatory) Use CONFIG_FILENAME.
.It Fl b Ar BANK_URL | Fl --bank-url= Ns Ar BANK_URL
(Mandatory) The URL where the fakebank listens at.
Must match the host component in the exchange's escrow account "payto" URL.
.It Fl n Ar HOWMANY_COINS | Fl \-coins-number= Ns Ar HOWMANY_COINS
Defaults to 1.
Specifies how many coins this benchmark should withdraw and spend.
After being spent, each coin will be refreshed with a REFRESH_PROBABILITY probability, which is (hardcoded as) 0.1; future versions of this tool should offer this parameter as a CLI option.
.It Fl l Ar LOGLEVEL | Fl \-log\-level= Ns Ar LOGLEVEL
GNUnet-compatible log level, takes values "ERROR/WARNING/INFO/DEBUG"
.It Fl h | \-help
Prints a compiled-in help text.
.El
.Sh SEE ALSO
.Xr taler-exchange-dbinit 1 ,
.Xr taler-exchange-keyup 1 ,
.Xr taler-exchange-httpd 1 ,
.Xr taler.conf 5
.Sh BUGS
Report bugs by using
.Lk https://gnunet.org/bugs/
or by sending electronic mail to
.Aq Mt taler@gnu.org .

View File

@ -1,47 +0,0 @@
.Dd May 31, 2016
.Dt TALER-EXCHANGE-DBINIT 1
.Os
.Sh NAME
.Nm taler-exchange-dbinit
.Nd Initialize Taler exchange database.
.Sh SYNOPSIS
.Nm
.Op Fl d Ar DIRNAME | Fl -exchange-dir= Ns Ar DIRNAME
.Op Fl h | -help
.Op Fl g | -gc
.Op Fl r | -reset
.Op Fl v | -version
.Sh DESCRIPTION
.Nm
is a command line tool to initialize the Taler exchange database.
It creates the necessary tables and indices for the Taler exchange
to operate.
.Pp
Its options are as follows:
.Bl -tag -width indent
.It Fl d Ar DIRNAME | Fl -exchange-dir= Ns Ar DIRNAME
Use the configuration and other resources for the exchange to
operate from
.Ar DIRNAME .
.It Fl h | -help
Print short help on options.
.It Fl g | -gc
Garbage collect database.
Deletes all unnecessary data in the database.
.It Fl r | -reset
Drop tables.
Dangerous, will delete all existing data in the database before
creating the tables.
.It Fl v | -version
Print version information.
.El
.Sh SEE ALSO
.Xr taler-exchange-httpd 1 ,
.Xr taler-exchange-keyup 1 ,
.Xr taler-exchange-reservemod 1 ,
.Xr taler.conf 5 .
.Sh BUGS
Report bugs by using
.Lk https://bugs.gnunet.org
or by sending electronic mail to
.Aq Mt taler@gnu.org .

View File

@ -1,92 +0,0 @@
.Dd April 22, 2015
.Dt TALER-EXCHANGE-HTTPD 1
.Os
.Sh NAME
.Nm taler-exchange-httpd
.Nd Run Taler exchange (with RESTful API)
.Sh SYNOPSIS
.Nm
.Op Fl C | -connection-close
.Op Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME
.Op Fl f Ar FILENAME | Fl -file-input= Ns Ar FILENAME
.Op Fl h | -help
.Op Fl i | -init-db
.Op Fl L Ar LOGLEVEL | Fl -loglevel= Ns Ar LOGLEVEL
.Op Fl t Ar SECONDS | Fl -timeout= Ns Ar SECONDS
.Op Fl v | -version
.Sh DESCRIPTION
.Nm
is a command line tool to run the Taler exchange (HTTP server).
The required configuration, keys and database must exist before
running this command.
.Pp
Its options are as follows:
.Bl -tag -width indent
.It Fl C | -connection-close
Force each HTTP connection to be closed after each request (useful
in combination with
.Fl f
to avoid having to wait for nc to time out).
.It Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME
Use the configuration and other resources for the merchant to operate
from FILENAME.
.It Fl h | -help
Print short help on options.
.It Fl i | -init-db
Initialize the database by creating tables and indices if necessary.
.It Fl v | -version
Print version information.
.It Fl f Ar FILENAME | Fl -file-input= Ns Ar FILENAME
This option is only available if the exchange was compiled with the
configure option --enable-developer-mode.
It is used for generating test cases against the exchange using AFL.
When this option is present, the HTTP server will
.Bl -enum -offset indent -compact
.It
terminate after the first client's HTTP connection is completed, and
.It
automatically start such a client using a helper process based on the
.Xr nc 1
or
.Xr ncat 1
binary using FILENAME as the standard input to the helper process.
.El
As a result, the process will effectively run with
.Ar FILENAME
as the input from an HTTP client and then immediately exit.
This is useful to test taler-exchange-httpd against many different
possible inputs in a controlled way.
.It Fl t Ar SECONDS | Fl -timeout= Ns Ar SECONDS
Specifies the number of SECONDS after which the HTTPD should
close (idle) HTTP connections.
.It Fl L Ar LOGLEVEL | Fl -loglevel= Ns Ar LOGLEVEL
Specifies the log level to use.
Accepted values are: DEBUG, INFO, WARNING, ERROR.
.El
.Sh SIGNALS
.Nm
responds to the following signals:
.Bl -tag -width indent
.It Dv SIGUSR1
Sending a SIGUSR1 to the process will cause it to reload denomination
and signing keys.
.It Dv SIGTERM
Sending a SIGTERM to the process will cause it to shutdown cleanly.
.It Dv SIGHUP
Sending a SIGHUP to the process will cause it to re-execute the
taler-exchange-httpd binary in the PATH, passing it the existing
listen socket.
Then the old server process will automatically exit after it is done
handling existing client connections; the new server process will
accept and handle new client connections.
.El
.Sh SEE ALSO
.Xr taler-exchange-dbinit 1 ,
.Xr taler-exchange-keyup 1 ,
.Xr taler-exchange-reservemod 1 ,
.Xr taler.conf 5 .
.Sh BUGS
Report bugs by using
.Lk https://gnunet.org/bugs
or by sending electronic mail to
.Aq Mt taler@gnu.org .

View File

@ -1,39 +0,0 @@
.Dd April 22, 2015
.Dt TALER-EXCHANGE-KEYCHECK 1
.Os
.Sh NAME
.Nm taler\-exchange\-keycheck
.Nd check validity of Taler signing and denomination keys
.Sh SYNOPSIS
.Nm
.Op Fl d Ar DIRNAME | Fl -exchange-dir= Ns Ar DIRNAME
.Op Fl h | -help
.Op Fl v | -version
.Sh DESCRIPTION
.Nm
can be used to check if the signing and denomination keys in the
operation directory are well-formed.
This can be useful after importing fresh keys from the
offline system to ensure that the files are correct.
.Pp
Its options are as follows:
.Bl -tag -width indent
.It Fl d Ar DIRNAME | Fl -exchange-dir= Ns Ar DIRNAME
Use the configuration and other resources for the exchange
to operate from
.Ar DIRNAME .
.It Fl h | -help
Print short help on options.
.It Fl v | -version
Print version information.
.El
.Sh SEE ALSO
.Xr taler-exchange-httpd 1 ,
.Xr taler-exchange-keyup 1 ,
.Xr taler-exchange-dbinit 1 ,
.Xr taler.conf 5 .
.Sh BUGS
Report bugs by using
.Lk https://gnunet.org/bugs/
or by sending electronic mail to
.Aq Mt taler@gnu.org .

View File

@ -1,55 +0,0 @@
.Dd April 7, 2017
.Dt TALER\-EXCHANGE\-KEYUP 1
.Os
.Sh NAME
.Nm taler\-exchange\-keyup
.Nd setup Taler exchange denomination and signing keys
.Sh SYNOPSIS
.Nm
.Op Fl d Ar DIRNAME | Fl -exchange-dir= Ns Ar DIRNAME
.Op Fl h | -help
.Op Fl m Ar FILE | Fl -master-key= Ns Ar FILE
.Op Fl o Ar FILE | Fl -output= Ns Ar FILE
.Op Fl r Ar DKH | Fl -revoke= Ns Ar DKH
.Op Fl t Ar TIMESTAMP | Fl -time= Ns Ar TIMESTAMP
.Op Fl v | -version
.Sh DESCRIPTION
.Nm
is a command line tool to setup Taler denomination and signing keys.
This tool requires access to the exchange's long-term offline signing
key and should be run in a secure (offline) environment under strict
controls.
The resulting keys can then be copied to the main online directory
where the Taler HTTP server operates.
.Pp
Its options are as follows:
.Bl -tag -width indent
.It Fl d Ar DIRNAME | Fl -exchange-dir= Ns Ar DIRNAME
Use the configuration and other resources for the exchange to
operate from
.Ar DIRNAME .
.It Fl h | -help
Print short help on options.
.It Fl m Ar FILE | Fl -master-key= Ns Ar FILE
Location of the private EdDSA offline master key of the exchange.
.It Fl o Ar FILE | Fl -output= Ns Ar FILE
Where to write a denomination key signing request file to be given
to the auditor.
.It Fl r Ar DKH | Fl -revoke= Ns Ar DKH
Revoke the denomination key where the denomination public key's hash is DKH.
.It Fl t Ar TIMESTAMP | Fl -time= Ns Ar TIMESTAMP
Operate as if the current time was
.Ar TIMESTAMP .
.It Fl v | -version
Print version information.
.El
.Sh SEE ALSO
.Xr taler-exchange-httpd 1 ,
.Xr taler-exchange-keyup 1 ,
.Xr taler-exchange-keycheck 1 ,
.Xr taler.conf 5 .
.Sh BUGS
Report bugs by using
.Lk https://gnunet.org/bugs/
or by sending electronic mail to
.Aq Mt taler@gnu.org .

View File

@ -1,34 +0,0 @@
.Dd March 18, 2018
.Dt TALER-EXCHANGE-WIRE 1
.Os
.Sh NAME
.Nm taler-exchange-wire
.Nd create the master-key signed responses to /wire
.Sh SYNOPSIS
.Nm
.Op Fl h | -help
.Op Fl m Ar MASTERKEYFILE | Fl -master= Ns Ar MASTERKEYFILE
.Op Fl v | -version
.Sh DESCRIPTION
.Nm
is used to create the exchange's reply to a /wire request.
It converts the bank details into the appropriate signed response.
This needs to be done using the long-term offline master key.
.Pp
Its options are as follows:
.Bl -tag -width indent
.It Fl h | -help
Print short help on options.
.It Fl m Ar MASTERKEYFILE | Fl -master= Ns Ar MASTERKEYFILE
Specifies the name of the file containing the exchange's master key.
.It Fl v | -version
Print version information.
.El
.Sh SEE ALSO
.Xr taler-exchange-httpd 1 ,
.Xr taler.conf 5 .
.Sh BUGS
Report bugs by using
.Lk https://gnunet.org/bugs/
or by sending electronic mail to
.Aq Mt taler@gnu.org .

View File

@ -1,41 +0,0 @@
.Dd May 5, 2017
.Dt TALER-EXCHANGE-WIREWATCH 1
.Os
.Sh NAME
.Nm taler-exchange-wirewatch
.Nd watch for incoming wire transfers
.Sh SYNOPSIS
.Nm
.Op Fl t Ar PLUGINNAME | Fl -type= Ns Ar PLUGINNAME
.Op Fl h | -help
.Op Fl T | -test
.Op Fl r | -reset
.Op Fl v | -version
.Sh DESCRIPTION
.Nm
is a command line tool to import wire transactions into the
Taler exchange database.
.Pp
Its options are as follows:
.Bl -tag -width indent
.It Fl t Ar PLUGINNAME | Fl -type= Ns Ar PLUGINNAME
Use the specified wire plugin and its configuration to talk to the bank.
.It Fl h | -help
Print short help on options.
.It Fl T | -test
Run in test mode and exit when idle.
.It Fl r | -reset
Ignore our own database and start with transactions
from the beginning of time.
.It Fl v | -version
Print version information.
.El
.Sh SEE ALSO
.Xr taler-exchange-aggregator 1 ,
.Xr taler-exchange-httpd 1 ,
.Xr taler.conf 5 .
.Sh BUGS
Report bugs by using
.Lk https://gnunet.org/bugs/
or by sending electronic mail to
.Aq Mt taler@gnu.org .

View File

@ -1,248 +0,0 @@
.\" -*- mode: nroff -*-
.Dd March 20, 2018
.Dt TALER.CONF 5
.Os
.Sh NAME
.Nm taler.conf
.Nd
Taler configuration file.
.Sh DESCRIPTION
The basic structure of the configuration file is the following.
The file is split into sections.
Every section begins with "[SECTIONNAME]" and contains a number of options of the form "OPTION=VALUE".
Empty lines and lines beginning with a "#" are treated as comments.
Files containing default values for many of the options described below are installed under $TALER\_PREFIX/share/taler/config.d/.
The configuration file given with
.Fl c
to Taler binaries overrides these defaults.
.Ss GLOBAL OPTIONS
The following options are from the "[taler]" section and used by virtually all Taler components.
.Bl -tag -width Ds
.It CURRENCY
Name of the currency, i.e. "EUR" for Euro.
.El
.Pp
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:
.Bl -tag -width Ds
.It TALER_HOME
Home directory of the user, usually "${HOME}".
Can be overwritten by testcases by setting ${TALER_TEST_HOME}.
.It TALER_DATA_HOME
Where should Taler store its long-term data. Usually "${TALER_HOME}/.local/share/taler/"
.It TALER_CONFIG_HOME
Where is the Taler configuration kept.
Usually "${TALER_HOME}/.config/taler/"
.It TALER_CACHE_HOME
Where should Taler store cached data.
Usually "${TALER_HOME}/.cache/taler/"
.It TALER_RUNTIME_DIR
Where should Taler store system runtime data (like UNIX domain sockets).
Usually "${TMP}/taler-system-runtime".
.El
.Ss EXCHANGE OPTIONS
The following options are from the "[exchange]" section and used by most exchange tools.
.Bl -tag -width Ds
.It DB
Plugin to use for the database, i.e. "postgres"
.It PORT
Port on which the HTTP server listens, i.e. 8080.
.It MASTER_PUBLIC_KEY
Crockford Base32-encoded master public key, public version of the exchange\'s long\-time offline signing key.
.It MASTER_PRIV_FILE
Location of the master private key on disk.
Only used by tools that can be run offline (as the master key is for offline signing).
.It BASE_URL
Specifies the base URL under which the exchange can be reached.
Added to wire transfers to enable tracking by merchants.
.It SIGNKEY_DURATION
For how long is a signing key valid?
.It LEGAL_DURATION
For how long are signatures with signing keys legally valid?
.It LOOKAHEAD_SIGN
How long do we generate denomination and signing keys ahead of time?
.It LOOKAHEAD_PROVIDE
How long into the future do we provide signing and denomination keys to clients?
.El
.Ss EXCHANGE POSTGRES BACKEND DATABASE OPTIONS
The following options must be in section "[exchangedb\-postgres]" if the "postgres" plugin was selected for the database.
.Bl -tag -width Ds
.It CONFIG
How to access the database, i.e. "postgres:///taler" to use the "taler" database.
Testcases use "talercheck".
.El
.Ss MERCHANT OPTIONS
The following options are from the "[merchant]" section and used by the merchant backend.
.Bl -tag -width Ds
.It DB
Plugin to use for the database, i.e. "postgres"
.It PORT
Port on which the HTTP server listens, i.e. 8080.
.It WIRE_TRANSFER_DELAY
How quickly do we want the exchange to send us money?
Note that wire transfer fees will be higher if we ask for money to be wired often.
Given as a relative time, i.e. "5 s"
.It DEFAULT_MAX_WIRE_FEE
Maximum wire fee we are willing to accept from exchanges.
Given as a Taler amount, i.e. "EUR:0.1"
.It DEFAULT_MAX_DEPOSIT_FEE
Maximum deposit fee we are willing to cover.
Given as a Taler amount, i.e. "EUR:0.1"
.El
.Ss MERCHANT POSTGRES BACKEND DATABASE OPTIONS
The following options must be in section "[merchantdb\-postgres]" if the "postgres" plugin was selected for the database.
.Bl -tag -width Ds
.It CONFIG
How to access the database, i.e. "postgres:///taler" to use the "taler" database.
Testcases use "talercheck".
.El
.Ss MERCHANT INSTANCES
The merchant configuration must specify a set of instances, containing at least the "default" instance.
The following options must be given in each "[instance-NAME]" section.
.Bl -tag -width Ds
.It KEYFILE
Name of the file where the instance\'s private key is to be stored, i.e. "${TALER_CONFIG_HOME}/merchant/instance/name.priv"
.It NAME
Human-readable name of the instance, i.e. "Kudos Inc."
.El
Additionally, for instances that support tipping, the following options are required.
.Bl -tag -width Ds
.It TIP_EXCHANGE
Base-URL of the exchange that holds the reserve for tipping, i.e. "https://exchange.demo.taler.net/"
.It TIP_EXCHANGE_PRIV_FILENAME
Filename with the private key granting access to the reserve, i.e. "${TALER_CONFIG_HOME}/merchant/reserve/tip.priv"
.El
.Ss KNOWN EXCHANGES (for merchants and wallets)
The merchant configuration can include a list of known exchanges if the merchant wants to specify that certain exchanges are explicitly trusted.
For each trusted exchange, a section [exchange-NAME] must exist, where NAME is a merchant-given name for the exchange.
The following options must be given in each "[exchange-NAME]" section.
.Bl -tag -width Ds
.It BASE_URL
Base URL of the exchange, i.e. "https://exchange.demo.taler.net/"
.It MASTER_KEY
Crockford Base32 encoded master public key, public version of the exchange\'s long\-time offline signing key
.It CURRENCY
Name of the currency for which this exchange is trusted, i.e. "KUDOS"
.El
.Ss KNOWN AUDITORS (for merchants and wallets)
The merchant configuration can include a list of known exchanges if the merchant wants to specify that certain auditors are explicitly trusted.
For each trusted exchange, a section [auditor-NAME] must exist, where NAME is a merchant-given name for the exchange.
The following options must be given in each "[auditor-NAME]" section.
.Bl -tag -width Ds
.It BASE_URL
Base URL of the auditor, i.e. "https://auditor.demo.taler.net/"
.It AUDITOR_KEY
Crockford Base32 encoded auditor public key.
.It CURRENCY
Name of the currency for which this auditor is trusted, i.e. "KUDOS"
.El
.Ss ACCOUNT OPTIONS (for exchanges and merchants)
An exchange (or merchant) can have multiple bank accounts.
The following options are for sections named "[account-SOMETHING]".
The SOMETHING is arbitrary and should be chosen to uniquely identify the bank account for the operator.
Additional authentication options may need to be specified in the account section depending on the PLUGIN used.
.Bl -tag -width Ds
.It URL
Specifies the payto://-URL of the account.
The general format is payto://METHOD/DETAILS.
This option is used for exchanges and merchants.
.It WIRE_RESPONSE
Specifies the name of the file in which the /wire response for this account should be located.
Used by the Taler exchange service and the taler\-exchange\-wire tool and the taler\-merchant\-httpd (to generate the files).
.It PLUGIN
Name of the plugin can be used to access the account (i.e. "taler-bank" or "ebics").
Used by the merchant backend for back office operations (i.e. to identify incoming wire transfers) and by the exchange.
.It ENABLE_DEBIT
Must be set to YES for the accounts that the taler\-exchange\-aggregator should debit.
Not used by merchants.
.It ENABLE_CREDIT
Must be set to YES for the accounts that the taler\-exchange\-wirewatch should check for credits.
It is yet uncertain if the merchant implementation may check this flag as well.
.It HONOR_instance
Must be set to YES for the instances (where "instance" is the section name of the instance) of the merchant backend that should allow incoming wire transfers for this bank account.
.It ACTIVE_instance
Must be set to YES for the instances (where "instance" is the section name of the instance) of the merchant backend that should use this bank account in new offers/contracts.
Setting ACTIVE_instance to YES requires also setting ENABLE_instance to YES.
.El
.Ss TALER-BANK AUTHENTICATION OPTIONS (for accounts)
The following authentication options are supported by the "taler-bank" wire plugin.
They must be specified in the "[account-]" section that uses the "taler-bank" plugin.
.Bl -tag -width Ds
.It TALER_BANK_AUTH_METHOD
Authentication method to use.
"none" or "basic" are currently supported.
.It USERNAME
Username to use for authentication.
Used with the "basic" authentication method.
.It PASSWORD
Password to use for authentication.
Used with the "basic" authentication method.
.Ss EBICS AUTHENTICATION OPTIONS
The following authentication options are supported by the "ebics" wire plugin.
They must be specified in the "[account-]" section that uses the "ebics" plugin.
.Bl -tag -width Ds
.It NONE
Currently the "ebics" implementation is incomplete and does not support authentication.
.El
.Ss EXCHANGE WIRE FEE OPTIONS
For each supported wire method (i.e. "x-taler-bank" or "sepa"), sections named "[fees-METHOD]" state the (aggregate) wire transfer fee and the reserve closing fees charged by the exchange.
Note that fees are specified using the name of the wire method, not by the plugin name.
You need to replace "YEAR" in the option name by the calendar year for which the fee should apply.
Usually, fees should be given for serveral years in advance.
.Bl -tag -width Ds
.It WIRE-FEE-YEAR
Aggregate wire transfer fee merchants are charged in YEAR.
Specified as a Taler amount using the usual amount syntax (CURRENCY:VALUE.FRACTION).
.It CLOSING-FEE-YEAR
Reserve closing fee customers are charged in YEAR.
Specified as a Taler amount using the usual amount syntax (CURRENCY:VALUE.FRACTION).
.El
.Ss EXCHANGE COIN OPTIONS
The following options must be in sections starting with "[coin_]" and are used by taler\-exchange\-keyup to create denomination keys.
.Bl -tag -width Ds
.It VALUE
Value of the coin, i.e. "EUR:1.50" for 1 Euro and 50 Cents (per coin).
.It DURATION_OVERLAP
How much should validity periods for these coins overlap?
.It DURATION_WITHDRAW
How long should the same key be used for clients to withdraw coins of this value?
.It DURATION_SPEND
How long do clients have to spend these coins?
.It FEE_WITHDRAW
What fee is charged for withdrawl?
.It FEE_DEPOSIT
What fee is charged for depositing?
.It FEE_REFRESH
What fee is charged for refreshing?
.It FEE_REFUND
What fee is charged for refunds?
When a coin is refunded, the deposit fee is returned.
Instead, the refund fee is charged to the customer.
.It RSA_KEYSIZE
What is the RSA keysize modulos (in bits)?
.El
.Ss AUDITOR OPTIONS
The following options must be in section "[auditor]" for the Taler auditor.
.Bl -tag -width Ds
.It DB
Plugin to use for the database, i.e. "postgres"
.It AUDITOR_PRIV_FILE
Name of the file containing the auditor's private key
.El
.Ss AUDITOR POSTGRES BACKEND DATABASE OPTIONS
The following options must be in section "[auditordb\-postgres]" if the "postgres" plugin was selected for the database.
.Bl -tag -width Ds
.It CONFIG
How to access the database, i.e. "postgres:///taler" to use the "taler" database.
Testcases use "talercheck".
.El
.Sh SEE ALSO
.Xr taler-exchange-dbinit 1 ,
.Xr taler-exchange-httpd 1 ,
.Xr taler-exchange-keyup 1 ,
.Xr taler-exchange-wire 1 .
.Sh BUGS
Report bugs by using
.Lk https://gnunet.org/bugs/
or by sending electronic mail to
.Aq Mt taler@gnu.org .