summaryrefslogtreecommitdiff
path: root/man/taler-exchange-httpd.1
blob: 53080587359a07734e6710e628f2233a53a8049c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "TALER-EXCHANGE-HTTPD" "1" "May 18, 2023" "0.9" "GNU Taler"
.SH NAME
taler-exchange-httpd \- run Taler exchange (with RESTful API)
.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.
.