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 | |
| parent | dcc80fd35dccf7c4686d267d37c95c38eb5fd36f (diff) | |
fix error code use
| -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 4115fe66..31cb1368 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 fb2602c6..9a8d929f 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 b6f73681..30df731c 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. | 
