2019-03-13 16:24:19 +01:00
|
|
|
/*
|
|
|
|
This file is part of TALER
|
2020-01-19 19:21:58 +01:00
|
|
|
Copyright (C) 2016, 2017 Taler Systems SA
|
2019-03-13 16:24:19 +01:00
|
|
|
|
|
|
|
TALER is free software; you can redistribute it and/or modify it
|
|
|
|
under the terms of the GNU General Public License as published
|
|
|
|
by the Free Software Foundation; either version 3, or (at your
|
|
|
|
option) any later version.
|
|
|
|
|
|
|
|
TALER is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public
|
|
|
|
License along with TALER; see the file COPYING. If not,
|
|
|
|
see <http://www.gnu.org/licenses/>
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
2020-01-17 22:13:40 +01:00
|
|
|
* @file bank-lib/taler-fakebank-run.c
|
2019-03-13 16:24:19 +01:00
|
|
|
* @brief Launch the fakebank, for testing the fakebank itself.
|
|
|
|
* @author Marcello Stanisci
|
2021-06-19 05:00:45 +02:00
|
|
|
* @author Christian Grothoff
|
2019-03-13 16:24:19 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include "platform.h"
|
|
|
|
#include "taler_fakebank_lib.h"
|
|
|
|
|
2021-06-19 05:00:45 +02:00
|
|
|
/**
|
|
|
|
* Number of threads to use (-n)
|
|
|
|
*/
|
|
|
|
static unsigned int num_threads;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Force connection close after each request (-C)
|
|
|
|
*/
|
|
|
|
static int connection_close;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Global return value.
|
|
|
|
*/
|
|
|
|
static int ret;
|
|
|
|
|
2019-03-13 16:24:19 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Main function that will be run.
|
|
|
|
*
|
|
|
|
* @param cls closure
|
|
|
|
* @param args remaining command-line arguments
|
|
|
|
* @param cfgfile name of the configuration file used
|
|
|
|
* (for saving, can be NULL!)
|
|
|
|
* @param cfg configuration
|
|
|
|
*/
|
|
|
|
static void
|
|
|
|
run (void *cls,
|
|
|
|
char *const *args,
|
|
|
|
const char *cfgfile,
|
|
|
|
const struct GNUNET_CONFIGURATION_Handle *cfg)
|
|
|
|
{
|
2021-06-19 05:00:45 +02:00
|
|
|
unsigned long long port = 8082;
|
2020-02-04 21:59:43 +01:00
|
|
|
char *currency_string;
|
|
|
|
|
2019-10-29 18:04:04 +01:00
|
|
|
(void) cls;
|
|
|
|
(void) args;
|
|
|
|
(void) cfgfile;
|
2020-02-04 21:59:43 +01:00
|
|
|
if (GNUNET_OK !=
|
2020-03-15 20:08:38 +01:00
|
|
|
TALER_config_get_currency (cfg,
|
|
|
|
¤cy_string))
|
2020-02-04 21:59:43 +01:00
|
|
|
{
|
|
|
|
ret = 1;
|
|
|
|
return;
|
|
|
|
}
|
2021-06-19 05:00:45 +02:00
|
|
|
if (GNUNET_OK !=
|
|
|
|
GNUNET_CONFIGURATION_get_value_number (cfg,
|
|
|
|
"bank",
|
|
|
|
"HTTP_PORT",
|
|
|
|
&port))
|
|
|
|
{
|
|
|
|
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
|
|
|
|
"Listening on default port %llu\n",
|
|
|
|
port);
|
|
|
|
}
|
|
|
|
if (NULL ==
|
|
|
|
TALER_FAKEBANK_start2 ((uint16_t) port,
|
|
|
|
currency_string,
|
|
|
|
num_threads,
|
|
|
|
(0 != connection_close) ))
|
2019-03-13 16:24:19 +01:00
|
|
|
ret = 1;
|
2020-02-04 21:59:43 +01:00
|
|
|
GNUNET_free (currency_string);
|
2019-03-13 16:24:19 +01:00
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The main function.
|
|
|
|
*
|
|
|
|
* @param argc number of arguments from the command line
|
|
|
|
* @param argv command line arguments
|
|
|
|
* @return 0 ok, 1 on error
|
|
|
|
*/
|
|
|
|
int
|
|
|
|
main (int argc,
|
|
|
|
char *const *argv)
|
|
|
|
{
|
|
|
|
const struct GNUNET_GETOPT_CommandLineOption options[] = {
|
2021-06-19 05:00:45 +02:00
|
|
|
GNUNET_GETOPT_option_flag ('C',
|
|
|
|
"connection-close",
|
|
|
|
"force HTTP connections to be closed after each request",
|
|
|
|
&connection_close),
|
|
|
|
GNUNET_GETOPT_option_uint ('n',
|
|
|
|
"num-threads",
|
|
|
|
"NUM_THREADS",
|
|
|
|
"size of the thread pool",
|
|
|
|
&num_threads),
|
2019-03-13 16:24:19 +01:00
|
|
|
GNUNET_GETOPT_OPTION_END
|
|
|
|
};
|
2019-08-25 16:18:24 +02:00
|
|
|
|
2019-03-13 16:24:19 +01:00
|
|
|
if (GNUNET_OK !=
|
|
|
|
GNUNET_PROGRAM_run (argc, argv,
|
|
|
|
"taler-fakebank-run",
|
2019-08-25 16:18:24 +02:00
|
|
|
"Runs the fakebank",
|
|
|
|
options,
|
|
|
|
&run,
|
2019-03-13 16:24:19 +01:00
|
|
|
NULL))
|
|
|
|
return 1;
|
|
|
|
return ret;
|
|
|
|
}
|