diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-01-17 03:42:31 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-01-17 03:42:36 +0100 |
commit | 7995678e776b719145aeaf9e4409b6dd694c253e (patch) | |
tree | f2fe1d83dd130f63c9b1379fa02477857bd32ecd /src | |
parent | dcc80fd35dccf7c4686d267d37c95c38eb5fd36f (diff) |
fix error code use
Diffstat (limited to 'src')
-rw-r--r-- | src/exchange/taler-exchange-httpd_keystate.c | 11 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_refresh_reveal.c | 3 | ||||
-rw-r--r-- | src/include/taler_error_codes.h | 13 |
3 files changed, 18 insertions, 9 deletions
diff --git a/src/exchange/taler-exchange-httpd_keystate.c b/src/exchange/taler-exchange-httpd_keystate.c index 4115fe66e..31cb13684 100644 --- a/src/exchange/taler-exchange-httpd_keystate.c +++ b/src/exchange/taler-exchange-httpd_keystate.c @@ -2285,11 +2285,6 @@ TEH_KS_free () /** * Sign the message in @a purpose with the exchange's signing key. * - * FIXME: - * - Change API to return status code and do not assert on TEH_KS_acquire() - * failures, instead allow caller to handle it (i.e. by returning - * #TALER_EC_EXCHANGE_BAD_CONFIGURATION to application). - * * @param purpose the message to sign * @param[out] pub set to the current public signing key of the exchange * @param[out] sig signature over purpose using current signing key @@ -2451,9 +2446,11 @@ TEH_KS_handler_keys (struct TEH_RequestHandler *rh, } if (NULL == krd) { - /* FIXME: should return 500 response instead... */ GNUNET_break (0); - return MHD_NO; + return TALER_MHD_reply_with_error (connection, + MHD_HTTP_INTERNAL_SERVER_ERROR, + TALER_EC_KEYS_MISSING, + "no key response found"); } ret = MHD_queue_response (connection, rh->response_code, diff --git a/src/exchange/taler-exchange-httpd_refresh_reveal.c b/src/exchange/taler-exchange-httpd_refresh_reveal.c index fb2602c61..9a8d929fb 100644 --- a/src/exchange/taler-exchange-httpd_refresh_reveal.c +++ b/src/exchange/taler-exchange-httpd_refresh_reveal.c @@ -608,10 +608,9 @@ handle_refresh_reveal_json (struct MHD_Connection *connection, if (NULL == key_state) { TALER_LOG_ERROR ("Lacking keys to operate\n"); - /* FIXME: use correct EC code! */ return TALER_MHD_reply_with_error (connection, MHD_HTTP_INTERNAL_SERVER_ERROR, - TALER_EC_REFRESH_REVEAL_SIGNING_ERROR, + TALER_EC_REFRESH_REVEAL_KEYS_MISSING, "exchange lacks keys"); } diff --git a/src/include/taler_error_codes.h b/src/include/taler_error_codes.h index b6f736811..30df731c0 100644 --- a/src/include/taler_error_codes.h +++ b/src/include/taler_error_codes.h @@ -653,6 +653,13 @@ enum TALER_ErrorCode TALER_EC_REFRESH_REVEAL_LINK_SIGNATURE_INVALID = 1382, /** + * The exchange failed to generate the signature as it could not find + * the signing key for the denomination. This response is provided + * with HTTP status code MHD_HTTP_INTERNAL_SERVER_ERROR. + */ + TALER_EC_REFRESH_REVEAL_KEYS_MISSING = 1383, + + /** * The coin specified in the link request is unknown to the exchange. * This response is provided with HTTP status code MHD_HTTP_NOT_FOUND. */ @@ -940,6 +947,12 @@ enum TALER_ErrorCode TALER_EC_KEYS_HAVE_NOT_NUMERIC = 1900, /** + * We currently cannot find any keys. This reponse is provied with an + * HTTP status code of MHD_HTTP_INTERNAL_SERVER_ERROR. + */ + TALER_EC_KEYS_MISSING = 1901, + + /** * The backend could not find the merchant instance specified in the * request. This response is provided with HTTP status code * MHD_HTTP_NOT_FOUND. |