add -t option to httpd

This commit is contained in:
Christian Grothoff 2015-07-13 23:51:15 +02:00
parent 6582e07c47
commit f90a745abe
3 changed files with 14 additions and 0 deletions

View File

@ -25,6 +25,9 @@ Print version information.
.IP "\-f FILENAME, \-\-file\-input=FILENAME" .IP "\-f FILENAME, \-\-file\-input=FILENAME"
This option is only available if the mint was compiled with the configure option This option is only available if the mint was compiled with the configure option
\-\-enable\-developer\-mode. It is used for generating test cases against the mint using AFL. When this option is present, the HTTP server will (1) terminate after the first client's HTTP connection is completed, and (2) automatically start such a client using a helper process based on the 'nc' or 'ncat' binary using FILENAME as the standard input to the helper process. As a result, the process will effectively run with FILENAME as the input from an HTTP client and then immediately exit. This is useful to test taler\-mint\-httpd against many different possible inputs in a controlled way. \-\-enable\-developer\-mode. It is used for generating test cases against the mint using AFL. When this option is present, the HTTP server will (1) terminate after the first client's HTTP connection is completed, and (2) automatically start such a client using a helper process based on the 'nc' or 'ncat' binary using FILENAME as the standard input to the helper process. As a result, the process will effectively run with FILENAME as the input from an HTTP client and then immediately exit. This is useful to test taler\-mint\-httpd against many different possible inputs in a controlled way.
.B
.IP \"-t SECONDS, \-\-timeout=SECONDS"
Specifies the number of SECONDS after which the HTTPD should close (idle) HTTP connections.
.SH BUGS .SH BUGS
Report bugs by using Mantis <https://gnunet.org/bugs/> or by sending electronic mail to <taler@gnu.org> Report bugs by using Mantis <https://gnunet.org/bugs/> or by sending electronic mail to <taler@gnu.org>

View File

@ -74,6 +74,11 @@ struct TALER_MINTDB_Plugin *TMH_plugin;
*/ */
int TMH_test_mode; int TMH_test_mode;
/**
* Default timeout in seconds for HTTP requests.
*/
static unsigned int connection_timeout = 30;
/** /**
* The HTTP Daemon. * The HTTP Daemon.
*/ */
@ -552,6 +557,9 @@ main (int argc,
{'d', "mint-dir", "DIR", {'d', "mint-dir", "DIR",
"mint directory with configuration and keys for operating the mint", 1, "mint directory with configuration and keys for operating the mint", 1,
&GNUNET_GETOPT_set_filename, &TMH_mint_directory}, &GNUNET_GETOPT_set_filename, &TMH_mint_directory},
{'t', "timeout", "SECONDS",
"after how long do connections timeout by default (in seconds)", 1,
&GNUNET_GETOPT_set_uint, &connection_timeout},
#if HAVE_DEVELOPER #if HAVE_DEVELOPER
{'f', "file-input", "FILENAME", {'f', "file-input", "FILENAME",
"run in test-mode using FILENAME as the HTTP request to process", 1, "run in test-mode using FILENAME as the HTTP request to process", 1,
@ -588,6 +596,7 @@ main (int argc,
NULL, NULL, NULL, NULL,
&handle_mhd_request, NULL, &handle_mhd_request, NULL,
MHD_OPTION_NOTIFY_COMPLETED, &handle_mhd_completion_callback, NULL, MHD_OPTION_NOTIFY_COMPLETED, &handle_mhd_completion_callback, NULL,
MHD_OPTION_CONNECTION_TIMEOUT, connection_timeout,
#if HAVE_DEVELOPER #if HAVE_DEVELOPER
MHD_OPTION_NOTIFY_CONNECTION, &connection_done, NULL, MHD_OPTION_NOTIFY_CONNECTION, &connection_done, NULL,
#endif #endif

View File

@ -166,6 +166,8 @@ static int
postgres_drop_temporary (void *cls, postgres_drop_temporary (void *cls,
struct TALER_MINTDB_Session *session) struct TALER_MINTDB_Session *session)
{ {
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
"Dropping temporary tables\n");
SQLEXEC_ (session->conn, SQLEXEC_ (session->conn,
"DROP SCHEMA " TALER_TEMP_SCHEMA_NAME " CASCADE;"); "DROP SCHEMA " TALER_TEMP_SCHEMA_NAME " CASCADE;");
return GNUNET_OK; return GNUNET_OK;