summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-05-08 12:50:25 +0200
committerChristian Grothoff <christian@grothoff.org>2022-05-08 12:50:25 +0200
commit02eb80e0b24f5ea3128cb9559429e1a364b5a214 (patch)
treed71fd83068dce1da377662f74ad1fcc9fa06dd7c
parentd3a63881999aa1c6d763263346a0a5979ec6efac (diff)
downloadexchange-02eb80e0b24f5ea3128cb9559429e1a364b5a214.tar.gz
exchange-02eb80e0b24f5ea3128cb9559429e1a364b5a214.tar.bz2
exchange-02eb80e0b24f5ea3128cb9559429e1a364b5a214.zip
-address FIXMEs
m---------contrib/gana0
-rw-r--r--src/exchange/taler-exchange-httpd_purses_merge.c9
-rw-r--r--src/exchange/taler-exchange-httpd_reserves_purse.c14
3 files changed, 15 insertions, 8 deletions
diff --git a/contrib/gana b/contrib/gana
-Subproject 74cf5789db8d857780ac49b7ab9307b3cd4d80c
+Subproject fa6373d8e2432cd63da881e05f4100240e688cd
diff --git a/src/exchange/taler-exchange-httpd_purses_merge.c b/src/exchange/taler-exchange-httpd_purses_merge.c
index c2b11ca37..029a64206 100644
--- a/src/exchange/taler-exchange-httpd_purses_merge.c
+++ b/src/exchange/taler-exchange-httpd_purses_merge.c
@@ -159,13 +159,8 @@ reply_merge_success (struct MHD_Connection *connection,
&pcc->target_amount,
&pcc->wf->wad))
{
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "Purse merged, balance of %s benefits exchange as it is below wad fee.\n",
- TALER_amount2s (&pcc->target_amount));
- return TALER_MHD_reply_with_ec (
- connection,
- TALER_EC_EXCHANGE_PURSE_MERGE_WAD_FEE_EXCEEDS_PURSE_VALUE,
- TALER_amount2s (&pcc->wf->wad));
+ TALER_amount_set_zero (TEH_currency,
+ &merge_amount);
}
}
if (TALER_EC_NONE !=
diff --git a/src/exchange/taler-exchange-httpd_reserves_purse.c b/src/exchange/taler-exchange-httpd_reserves_purse.c
index 5556f78dd..ab1051593 100644
--- a/src/exchange/taler-exchange-httpd_reserves_purse.c
+++ b/src/exchange/taler-exchange-httpd_reserves_purse.c
@@ -551,6 +551,7 @@ TEH_handler_reserves_purse (
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
"Cannot purse purse: global fees not configured!\n");
+ GNUNET_JSON_parse_free (spec);
return TALER_MHD_reply_with_error (connection,
MHD_HTTP_INTERNAL_SERVER_ERROR,
TALER_EC_EXCHANGE_GENERIC_GLOBAL_FEES_MISSING,
@@ -565,7 +566,18 @@ TEH_handler_reserves_purse (
else
{
rpc.flags = TALER_WAMF_MODE_CREATE_WITH_PURSE_FEE;
- // FIXME: check rpc.purse_fee is at or above gf.fees.purse!
+ if (-1 ==
+ TALER_amount_cmp (&rpc.purse_fee,
+ &rpc.gf->fees.purse))
+ {
+ /* rpc.purse_fee is below gf.fees.purse! */
+ GNUNET_break_op (0);
+ GNUNET_JSON_parse_free (spec);
+ return TALER_MHD_reply_with_error (connection,
+ MHD_HTTP_BAD_REQUEST,
+ TALER_EC_EXCHANGE_RESERVES_PURSE_FEE_TOO_LOW,
+ TALER_amount2s (&rpc.gf->fees.purse));
+ }
}
TEH_METRICS_num_verifications[TEH_MT_SIGNATURE_EDDSA]++;
if (GNUNET_OK !=