diff options
Diffstat (limited to 'src/exchange/taler-exchange-httpd_refresh_melt.c')
-rw-r--r-- | src/exchange/taler-exchange-httpd_refresh_melt.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/exchange/taler-exchange-httpd_refresh_melt.c b/src/exchange/taler-exchange-httpd_refresh_melt.c index 538d8afe2..a00fda14f 100644 --- a/src/exchange/taler-exchange-httpd_refresh_melt.c +++ b/src/exchange/taler-exchange-httpd_refresh_melt.c | |||
@@ -447,6 +447,8 @@ TEH_REFRESH_handler_refresh_melt (struct TEH_RequestHandler *rh, | |||
447 | json_t *root; | 447 | json_t *root; |
448 | struct RefreshMeltContext rmc; | 448 | struct RefreshMeltContext rmc; |
449 | int res; | 449 | int res; |
450 | unsigned int hc; | ||
451 | enum TALER_ErrorCode ec; | ||
450 | struct TEH_KS_StateHandle *key_state; | 452 | struct TEH_KS_StateHandle *key_state; |
451 | struct GNUNET_JSON_Specification spec[] = { | 453 | struct GNUNET_JSON_Specification spec[] = { |
452 | GNUNET_JSON_spec_fixed_auto ("coin_pub", | 454 | GNUNET_JSON_spec_fixed_auto ("coin_pub", |
@@ -501,7 +503,9 @@ TEH_REFRESH_handler_refresh_melt (struct TEH_RequestHandler *rh, | |||
501 | rmc.dki = TEH_KS_denomination_key_lookup_by_hash (key_state, | 503 | rmc.dki = TEH_KS_denomination_key_lookup_by_hash (key_state, |
502 | &rmc.refresh_session.coin. | 504 | &rmc.refresh_session.coin. |
503 | denom_pub_hash, | 505 | denom_pub_hash, |
504 | TEH_KS_DKU_DEPOSIT); | 506 | TEH_KS_DKU_DEPOSIT, |
507 | &ec, | ||
508 | &hc); | ||
505 | /* Consider case that denomination was revoked but | 509 | /* Consider case that denomination was revoked but |
506 | this coin was already seen and thus refresh is OK. */ | 510 | this coin was already seen and thus refresh is OK. */ |
507 | if (NULL == rmc.dki) | 511 | if (NULL == rmc.dki) |
@@ -511,7 +515,9 @@ TEH_REFRESH_handler_refresh_melt (struct TEH_RequestHandler *rh, | |||
511 | dki = TEH_KS_denomination_key_lookup_by_hash (key_state, | 515 | dki = TEH_KS_denomination_key_lookup_by_hash (key_state, |
512 | &rmc.refresh_session.coin. | 516 | &rmc.refresh_session.coin. |
513 | denom_pub_hash, | 517 | denom_pub_hash, |
514 | TEH_KS_DKU_PAYBACK); | 518 | TEH_KS_DKU_PAYBACK, |
519 | &ec, | ||
520 | &hc); | ||
515 | if (NULL != dki) | 521 | if (NULL != dki) |
516 | { | 522 | { |
517 | struct TALER_CoinPublicInfo coin_info; | 523 | struct TALER_CoinPublicInfo coin_info; |
@@ -547,7 +553,9 @@ TEH_REFRESH_handler_refresh_melt (struct TEH_RequestHandler *rh, | |||
547 | dki = TEH_KS_denomination_key_lookup_by_hash (key_state, | 553 | dki = TEH_KS_denomination_key_lookup_by_hash (key_state, |
548 | &rmc.refresh_session.coin. | 554 | &rmc.refresh_session.coin. |
549 | denom_pub_hash, | 555 | denom_pub_hash, |
550 | TEH_KS_DKU_ZOMBIE); | 556 | TEH_KS_DKU_ZOMBIE, |
557 | &ec, | ||
558 | &hc); | ||
551 | if (NULL != dki) | 559 | if (NULL != dki) |
552 | { | 560 | { |
553 | rmc.dki = dki; | 561 | rmc.dki = dki; |
@@ -558,9 +566,9 @@ TEH_REFRESH_handler_refresh_melt (struct TEH_RequestHandler *rh, | |||
558 | if (NULL == rmc.dki) | 566 | if (NULL == rmc.dki) |
559 | { | 567 | { |
560 | TALER_LOG_WARNING ("Unknown denomination key in /refresh/melt request\n"); | 568 | TALER_LOG_WARNING ("Unknown denomination key in /refresh/melt request\n"); |
561 | res = TEH_RESPONSE_reply_arg_unknown (connection, | 569 | res = TEH_RESPONSE_reply_with_error (connection, |
562 | TALER_EC_REFRESH_MELT_DENOMINATION_KEY_NOT_FOUND, | 570 | ec, |
563 | "denom_pub"); | 571 | hc); |
564 | goto cleanup; | 572 | goto cleanup; |
565 | } | 573 | } |
566 | 574 | ||