.\" Man page generated from reStructuredText. . .TH "TALER-EXCHANGE-HTTPD" "1" "Jun 20, 2022" "0.9" "GNU Taler" .SH NAME taler-exchange-httpd \- run Taler exchange (with RESTful API) . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .SH SYNOPSIS .sp \fBtaler\-exchange\-httpd\fP [\fB\-a\fP\ |\ \fB\-\-allow\-timetravel\fP] [\fB\-C\fP\ |\ \fB\-\-connection\-close\fP] [\fB\-c\fP\ \fIFILENAME\fP\ |\ \fB\-\-config=\fP‌\fIFILENAME\fP] [\fB\-f\fP\ \fIFILENAME\fP\ |\ \fB\-\-file\-input=\fP‌\fIFILENAME\fP] [\fB\-h\fP\ |\ \fB\-\-help\fP] [\fB\-L\fP\ \fILOGLEVEL\fP\ |\ \fB\-\-loglevel=\fP‌\fILOGLEVEL\fP] [\fB\-l\fP\ \fIFILENAME\fP\ |\ \fB\-\-logfile=\fP‌\fIFILENAME\fP] [\fB\-n\fP\ \fIN\fP\ |\ \fB\-\-num\-threads=\fP\fIN\fP] [\fB\-r**|\fP\-\-allow\-reuse\-address**] [\fB\-T\fP\ \fIUSEC\fP\ |\ \fB\-\-timetravel=\fP\fIUSEC\fP] [\fB\-t\fP\ \fISECONDS\fP\ |\ \fB\-\-timeout=\fP‌\fISECONDS\fP] [\fB\-v\fP\ |\ \fB\-\-version\fP] .SH DESCRIPTION .sp \fBtaler\-exchange\-httpd\fP is a command\-line tool to run the Taler exchange (HTTP server). The required configuration, keys and database must exist before running this command. .sp Its options are as follows: .INDENT 0.0 .TP \fB\-a\fP | \fB\-\-allow\-timetravel\fP Allow clients to request /keys for arbitrary timestamps. This should only be enabled for testing and development, as clients could abuse this in denial of service attacks, as it makes the /keys response generation much more expensive. .TP \fB\-C\fP | \fB\-\-connection\-close\fP Force each HTTP connection to be closed after each request (useful in combination with \fB\-f\fP to avoid having to wait for netcat (nc) to time out). .TP \fB\-c\fP \fIFILENAME\fP | \fB\-\-config=\fP‌\fIFILENAME\fP Use the configuration and other resources for the merchant to operate from FILENAME. .TP \fB\-f\fP \fIFILENAME\fP | \fB\-\-file\-input=\fP‌\fIFILENAME\fP 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 .INDENT 7.0 .IP 1. 3 terminate after the first client’s HTTP connection is completed, and .IP 2. 3 automatically start such a client using a helper process based on the nc(1) or ncat(1) binary using FILENAME as the standard input to the helper process. .UNINDENT .sp As a result, the process will effectively run with \fIFILENAME\fP 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. .TP \fB\-h\fP | \fB\-\-help\fP Print short help on options. .TP \fB\-L\fP \fILOGLEVEL\fP | \fB\-\-loglevel=\fP‌\fILOGLEVEL\fP Specifies the log level to use. Accepted values are: \fBDEBUG\fP, \fBINFO\fP, \fBWARNING\fP, \fBERROR\fP\&. .TP \fB\-l\fP \fIFILENAME\fP | \fB\-\-logfile=\fP‌\fIFILENAME\fP Send logging output to \fIFILENAME\fP\&. .TP \fB\-r\fP | \fB\-\-allow\-reuse\-address\fP Allow the exchange to re\-use the listen port even if another service is already using it. Useful if multiple processes are used to increase processing capacity. .TP \fB\-T\fP \fIUSEC\fP | \fB\-\-timetravel=\fP\fIUSEC\fP Modify the system time by \fIUSEC\fP microseconds. \fIUSEC\fP may be prefixed with \fB+\fP or \fB\-\fP (e.g. \fB\-T +300\fP). This option is intended for debugging/testing only. .TP \fB\-t\fP \fISECONDS\fP | \fB\-\-timeout=\fP‌\fISECONDS\fP Specifies the number of SECONDS after which the HTTPD should close (idle) HTTP connections. .TP \fB\-v\fP | \fB\-\-version\fP Print version information. .UNINDENT .SH SIGNALS .sp \fBtaler\-exchange\-httpd\fP responds to the following signals: .INDENT 0.0 .TP .B \fBSIGTERM\fP Sending a SIGTERM to the process will cause it to shutdown cleanly. .TP .B \fBSIGHUP\fP 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. .UNINDENT .SH SEE ALSO .sp taler\-exchange\-dbinit(1), taler\-exchange\-offline(1), taler\-exchange\-reservemod(1), taler.conf(5). .SH BUGS .sp Report bugs by using \fI\%https://bugs.taler.net\fP or by sending electronic mail to <\fI\%taler@gnu.org\fP>. .SH AUTHOR GNU Taler contributors .SH COPYRIGHT 2014-2022 Taler Systems SA (GPLv3+ or GFDL 1.3+) .\" Generated by docutils manpage writer. .