diff options
Diffstat (limited to 'src/exchange/taler-exchange-httpd_management_post_keys.c')
-rw-r--r-- | src/exchange/taler-exchange-httpd_management_post_keys.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/exchange/taler-exchange-httpd_management_post_keys.c b/src/exchange/taler-exchange-httpd_management_post_keys.c index a4e8ac35f..4fb65d414 100644 --- a/src/exchange/taler-exchange-httpd_management_post_keys.c +++ b/src/exchange/taler-exchange-httpd_management_post_keys.c @@ -147,17 +147,29 @@ add_keys (void *cls, } if (0 == qs) { - if (GNUNET_OK != - TEH_keys_load_fees (&akc->d_sigs[i].h_denom_pub, - &denom_pub, - &meta)) + enum GNUNET_GenericReturnValue rv; + + rv = TEH_keys_load_fees (&akc->d_sigs[i].h_denom_pub, + &denom_pub, + &meta); + switch (rv) { + case GNUNET_SYSERR: + *mhd_ret = TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_INTERNAL_SERVER_ERROR, + TALER_EC_EXCHANGE_GENERIC_BAD_CONFIGURATION, + GNUNET_h2s (&akc->d_sigs[i].h_denom_pub)); + return GNUNET_DB_STATUS_HARD_ERROR; + case GNUNET_NO: *mhd_ret = TALER_MHD_reply_with_error ( connection, MHD_HTTP_NOT_FOUND, TALER_EC_EXCHANGE_GENERIC_DENOMINATION_KEY_UNKNOWN, GNUNET_h2s (&akc->d_sigs[i].h_denom_pub)); return GNUNET_DB_STATUS_HARD_ERROR; + case GNUNET_OK: + break; } } else |