fix error code use

This commit is contained in:
Christian Grothoff 2020-01-17 03:42:31 +01:00
parent dcc80fd35d
commit 7995678e77
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
3 changed files with 18 additions and 9 deletions

View File

@ -2285,11 +2285,6 @@ TEH_KS_free ()
/** /**
* Sign the message in @a purpose with the exchange's signing key. * 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 purpose the message to sign
* @param[out] pub set to the current public signing key of the exchange * @param[out] pub set to the current public signing key of the exchange
* @param[out] sig signature over purpose using current signing key * @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) if (NULL == krd)
{ {
/* FIXME: should return 500 response instead... */
GNUNET_break (0); 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, ret = MHD_queue_response (connection,
rh->response_code, rh->response_code,

View File

@ -608,10 +608,9 @@ handle_refresh_reveal_json (struct MHD_Connection *connection,
if (NULL == key_state) if (NULL == key_state)
{ {
TALER_LOG_ERROR ("Lacking keys to operate\n"); TALER_LOG_ERROR ("Lacking keys to operate\n");
/* FIXME: use correct EC code! */
return TALER_MHD_reply_with_error (connection, return TALER_MHD_reply_with_error (connection,
MHD_HTTP_INTERNAL_SERVER_ERROR, MHD_HTTP_INTERNAL_SERVER_ERROR,
TALER_EC_REFRESH_REVEAL_SIGNING_ERROR, TALER_EC_REFRESH_REVEAL_KEYS_MISSING,
"exchange lacks keys"); "exchange lacks keys");
} }

View File

@ -652,6 +652,13 @@ enum TALER_ErrorCode
*/ */
TALER_EC_REFRESH_REVEAL_LINK_SIGNATURE_INVALID = 1382, 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. * The coin specified in the link request is unknown to the exchange.
* This response is provided with HTTP status code MHD_HTTP_NOT_FOUND. * This response is provided with HTTP status code MHD_HTTP_NOT_FOUND.
@ -939,6 +946,12 @@ enum TALER_ErrorCode
*/ */
TALER_EC_KEYS_HAVE_NOT_NUMERIC = 1900, 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 * The backend could not find the merchant instance specified in the
* request. This response is provided with HTTP status code * request. This response is provided with HTTP status code