donau-httpd.1.rst (3884B)
1 donau-httpd(1) 2 ############## 3 4 .. only:: html 5 6 Name 7 ==== 8 9 **donau-httpd** - run Donau (with RESTful API) 10 11 Synopsis 12 ======== 13 14 **donau-httpd** 15 [**-a** | **--allow-timetravel**] 16 [**-C** | **--connection-close**] 17 [**-c** *FILENAME* | **--config=**\ \ *FILENAME*] 18 [**-f** *FILENAME* | **--file-input=**\ \ *FILENAME*] 19 [**-h** | **--help**] 20 [**-L** *LOGLEVEL* | **--loglevel=**\ \ *LOGLEVEL*] 21 [**-l** *FILENAME* | **--logfile=**\ \ *FILENAME*] 22 [**-n** *N* | **--num-threads=**\ \ *N*] 23 [**-r**|**--allow-reuse-address**] 24 [**-T** *USEC* | **--timetravel=**\ \ *USEC*] 25 [**-t** *SECONDS* | **--timeout=**\ \ *SECONDS*] 26 [**-v** | **--version**] 27 28 Description 29 =========== 30 31 **donau-httpd** is a command-line tool to run the Donau 32 (HTTP server). The required configuration, keys and database 33 must exist before running this command. 34 35 Its options are as follows: 36 37 **-a** \| **--allow-timetravel** 38 Allow clients to request /keys for arbitrary timestamps. 39 This should only be enabled for testing and development, 40 as clients could abuse this in denial of service attacks, 41 as it makes the /keys response generation much more expensive. 42 43 **-C** \| **--connection-close** 44 Force each HTTP connection to be closed after each request (useful in 45 combination with **-f** to avoid having to wait for 46 netcat (nc) to time out). 47 48 **-c** *FILENAME* \| **--config=**\ \ *FILENAME* 49 Use the configuration and other resources for the merchant to operate 50 from FILENAME. 51 52 **-f** *FILENAME* \| **--file-input=**\ \ *FILENAME* 53 This option is only available if the exchange was compiled with the 54 configure option --enable-developer-mode. It is used for generating 55 test cases against the exchange using AFL. When this option is 56 present, the HTTP server will 57 58 1. terminate after the first client’s HTTP connection is completed, 59 and 60 2. automatically start such a client using a helper process based on 61 the nc(1) or ncat(1) binary using FILENAME as the standard input 62 to the helper process. 63 64 As a result, the process will effectively run with *FILENAME* as the 65 input from an HTTP client and then immediately exit. This is useful 66 to test donau-httpd against many different possible inputs 67 in a controlled way. 68 69 **-h** \| **--help** 70 Print short help on options. 71 72 **-L** *LOGLEVEL* \| **--loglevel=**\ \ *LOGLEVEL* 73 Specifies the log level to use. Accepted values are: ``DEBUG``, ``INFO``, 74 ``WARNING``, ``ERROR``. 75 76 **-l** *FILENAME* \| **--logfile=**\ \ *FILENAME* 77 Send logging output to *FILENAME*. 78 79 **-r** \| **--allow-reuse-address** 80 Allow the exchange to re-use the listen port even if another service 81 is already using it. Useful if multiple processes are used to increase 82 processing capacity. 83 84 **-T** *USEC* \| **--timetravel=**\ \ *USEC* 85 Modify the system time by *USEC* microseconds. 86 *USEC* may be prefixed with ``+`` or ``-`` (e.g. ``-T +300``). 87 This option is intended for debugging/testing only. 88 89 **-t** *SECONDS* \| **--timeout=**\ \ *SECONDS* 90 Specifies the number of SECONDS after which the HTTPD should close 91 (idle) HTTP connections. 92 93 **-v** \| **--version** 94 Print version information. 95 96 97 Signals 98 ======= 99 100 **donau-httpd** responds to the following signals: 101 102 ``SIGTERM`` 103 Sending a SIGTERM to the process will cause it to shutdown cleanly. 104 105 ``SIGHUP`` 106 Sending a SIGHUP to the process will cause it to re-execute the 107 donau-httpd binary in the PATH, passing it the existing 108 listen socket. Then the old server process will automatically exit 109 after it is done handling existing client connections; the new server 110 process will accept and handle new client connections. 111 112 See Also 113 ======== 114 115 donau-dbinit(1), donau.conf(5). 116 117 Bugs 118 ==== 119 120 Report bugs by using https://bugs.taler.net or by sending electronic 121 mail to <taler@gnu.org>.