diff options
| author | Christian Grothoff <christian@grothoff.org> | 2015-04-11 16:38:09 +0200 | 
|---|---|---|
| committer | Christian Grothoff <christian@grothoff.org> | 2015-04-11 16:38:09 +0200 | 
| commit | bd2372f20ef7259d87c44e92de32c66b26e6632f (patch) | |
| tree | 1ddbbd74087d40143042e194881ca0f2a0e90e5d /src | |
| parent | 929a99cdbb579e53fe458752b147c10344c92aca (diff) | |
implementing #3740
Diffstat (limited to 'src')
| -rw-r--r-- | src/mint/taler-mint-httpd.c | 24 | ||||
| -rw-r--r-- | src/mint/taler-mint-httpd.h | 5 | ||||
| -rw-r--r-- | src/mint/taler-mint-httpd_parsing.c | 6 | ||||
| -rw-r--r-- | src/mint/taler-mint-httpd_refresh.c | 4 | 
4 files changed, 30 insertions, 9 deletions
diff --git a/src/mint/taler-mint-httpd.c b/src/mint/taler-mint-httpd.c index 1315ba20..dd1e234c 100644 --- a/src/mint/taler-mint-httpd.c +++ b/src/mint/taler-mint-httpd.c @@ -36,6 +36,10 @@  #include "taler-mint-httpd_keystate.h"  #include "taler_mintdb_plugin.h" +/** + * Which currency is used by this mint? + */ +char *TMH_mint_currency_string;  /**   * Base directory of the mint (global) @@ -248,12 +252,30 @@ mint_serve_process_config (const char *mint_directory)    if (NULL == cfg)    {      fprintf (stderr, -             "can't load mint configuration\n"); +             "Failed to load mint configuration\n");      return 1;    }    if (GNUNET_OK !=        GNUNET_CONFIGURATION_get_value_string (cfg,                                               "mint", +                                             "currency", +                                             &TMH_mint_currency_string)) +  { +    fprintf (stderr, +             "No currency given in mint configuration."); +    return GNUNET_NO; +  } +  if (strlen (TMH_mint_currency_string) >= TALER_CURRENCY_LEN) +  { +    fprintf (stderr, +             "Currency `%s' longer than the allowed limit of %u characters.", +             TMH_mint_currency_string, +             (unsigned int) TALER_CURRENCY_LEN); +    return GNUNET_NO; +  } +  if (GNUNET_OK != +      GNUNET_CONFIGURATION_get_value_string (cfg, +                                             "mint",                                               "master_public_key",                                               &TMH_master_public_key_str))    { diff --git a/src/mint/taler-mint-httpd.h b/src/mint/taler-mint-httpd.h index 5a65ba43..c674a9da 100644 --- a/src/mint/taler-mint-httpd.h +++ b/src/mint/taler-mint-httpd.h @@ -28,10 +28,9 @@  #include <microhttpd.h>  /** - * For now, we just do EUR.  Should become configurable in the future! (#3740) + * Which currency is used by this mint?   */ -#define TMH_MINT_CURRENCY "EUR" - +extern char *TMH_mint_currency_string;  /**   * The mint's configuration. diff --git a/src/mint/taler-mint-httpd_parsing.c b/src/mint/taler-mint-httpd_parsing.c index c492ecce..d079da5c 100644 --- a/src/mint/taler-mint-httpd_parsing.c +++ b/src/mint/taler-mint-httpd_parsing.c @@ -1025,7 +1025,7 @@ TMH_PARSE_amount_json (struct MHD_Connection *connection,      return GNUNET_NO;    }    if (0 != strcmp (currency, -                   TMH_MINT_CURRENCY)) +                   TMH_mint_currency_string))    {      TALER_LOG_WARNING ("Currency specified not supported by this mint\n");      if (MHD_YES != @@ -1039,8 +1039,8 @@ TMH_PARSE_amount_json (struct MHD_Connection *connection,    }    amount->value = (uint64_t) value;    amount->fraction = (uint32_t) fraction; -  GNUNET_assert (strlen (TMH_MINT_CURRENCY) < TALER_CURRENCY_LEN); -  strcpy (amount->currency, TMH_MINT_CURRENCY); +  GNUNET_assert (strlen (TMH_mint_currency_string) < TALER_CURRENCY_LEN); +  strcpy (amount->currency, TMH_mint_currency_string);    TALER_amount_normalize (amount);    return GNUNET_OK;  } diff --git a/src/mint/taler-mint-httpd_refresh.c b/src/mint/taler-mint-httpd_refresh.c index ffe65911..805d4f9c 100644 --- a/src/mint/taler-mint-httpd_refresh.c +++ b/src/mint/taler-mint-httpd_refresh.c @@ -75,7 +75,7 @@ handle_refresh_melt_binary (struct MHD_Connection *connection,    struct TALER_Amount total_melt;    GNUNET_assert (GNUNET_OK == -                 TALER_amount_get_zero (TMH_MINT_CURRENCY, +                 TALER_amount_get_zero (TMH_mint_currency_string,                                          &total_cost));    key_state = TMH_KS_acquire ();    for (i=0;i<num_new_denoms;i++) @@ -102,7 +102,7 @@ handle_refresh_melt_binary (struct MHD_Connection *connection,    }    GNUNET_assert (GNUNET_OK == -                 TALER_amount_get_zero (TMH_MINT_CURRENCY, +                 TALER_amount_get_zero (TMH_mint_currency_string,                                          &total_melt));    for (i=0;i<coin_count;i++)    {  | 
