-fix refund check regression

This commit is contained in:
Christian Grothoff 2022-06-07 22:24:49 +02:00
parent 937524940a
commit f2e2c5c9d8
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC

View File

@ -444,20 +444,14 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh,
else else
{ {
rtotal = rh->refund_amount; rtotal = rh->refund_amount;
have_refund = true;
} }
if ( (have_refund) && (! have_deposit) ) if (! have_deposit)
{ {
GNUNET_break (0); GNUNET_break (0);
GNUNET_JSON_parse_free (spec); GNUNET_JSON_parse_free (spec);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
if (! (have_refund && have_deposit))
{
/* need both for a refund-deposit conflict proof */
GNUNET_break (0);
GNUNET_JSON_parse_free (spec);
return GNUNET_SYSERR;
}
if (-1 != TALER_amount_cmp (&dtotal, if (-1 != TALER_amount_cmp (&dtotal,
&rtotal)) &rtotal))
{ {
@ -649,6 +643,9 @@ handle_refund_finished (void *cls,
j)) j))
{ {
GNUNET_break (0); GNUNET_break (0);
json_dumpf (j,
stderr,
JSON_INDENT (2));
hr.http_status = 0; hr.http_status = 0;
hr.ec = TALER_EC_EXCHANGE_REFUND_INVALID_FAILURE_PROOF_BY_EXCHANGE; hr.ec = TALER_EC_EXCHANGE_REFUND_INVALID_FAILURE_PROOF_BY_EXCHANGE;
hr.hint = "conflict information provided by exchange is invalid"; hr.hint = "conflict information provided by exchange is invalid";