diff options
Diffstat (limited to 'src/exchange')
| -rw-r--r-- | src/exchange/taler-exchange-httpd.c | 4 | ||||
| -rw-r--r-- | src/exchange/taler-exchange-httpd_link.c | 65 | ||||
| -rw-r--r-- | src/exchange/taler-exchange-httpd_mhd.c | 16 | ||||
| -rw-r--r-- | src/exchange/taler-exchange-httpd_responses.c | 24 | ||||
| -rw-r--r-- | src/exchange/taler-exchange-httpd_responses.h | 24 | 
5 files changed, 71 insertions, 62 deletions
diff --git a/src/exchange/taler-exchange-httpd.c b/src/exchange/taler-exchange-httpd.c index 8aa2b198..eba6e42a 100644 --- a/src/exchange/taler-exchange-httpd.c +++ b/src/exchange/taler-exchange-httpd.c @@ -701,7 +701,7 @@ handle_mhd_request (void *cls,   * @return #GNUNET_OK on success   */  static int -exchange_serve_process_config () +exchange_serve_process_config (void)  {    if (GNUNET_OK !=        GNUNET_CONFIGURATION_get_value_number (TEH_cfg, @@ -812,7 +812,7 @@ exchange_serve_process_config ()   * stats if requested.   */  static void -write_stats () +write_stats (void)  {    struct GNUNET_DISK_FileHandle *fh;    pid_t pid = getpid (); diff --git a/src/exchange/taler-exchange-httpd_link.c b/src/exchange/taler-exchange-httpd_link.c index 1de8e683..f1838dac 100644 --- a/src/exchange/taler-exchange-httpd_link.c +++ b/src/exchange/taler-exchange-httpd_link.c @@ -32,13 +32,13 @@  /** - * Closure for #handle_transfer_data(). + * Closure for #handle_link_data().   */  struct HTD_Context  {    /** -   * Public key of the coin for which we are running /refresh/link. +   * Public key of the coin for which we are running link.     */    struct TALER_CoinSpendPublicKeyP coin_pub; @@ -70,10 +70,9 @@ handle_link_data (void *cls,  {    struct HTD_Context *ctx = cls;    json_t *list; -  json_t *root;    if (NULL == ctx->mlist) -    return; +    return; /* we failed earlier */    if (NULL == (list = json_array ()))      goto fail; @@ -101,16 +100,20 @@ handle_link_data (void *cls,        goto fail;      }    } -  root = json_pack ("{s:o, s:o}", -                    "new_coins", -                    list, -                    "transfer_pub", -                    GNUNET_JSON_from_data_auto (transfer_pub)); -  if ( (NULL == root) || -       (0 != -        json_array_append_new (ctx->mlist, -                               root)) ) -    goto fail; +  { +    json_t *root; + +    root = json_pack ("{s:o, s:o}", +                      "new_coins", +                      list, +                      "transfer_pub", +                      GNUNET_JSON_from_data_auto (transfer_pub)); +    if ( (NULL == root) || +         (0 != +          json_array_append_new (ctx->mlist, +                                 root)) ) +      goto fail; +  }    return;  fail:    ctx->ec = TALER_EC_JSON_ALLOCATION_FAILURE; @@ -120,15 +123,13 @@ fail:  /** - * Execute a "/refresh/link".  Returns the linkage information that - * will allow the owner of a coin to follow the refresh trail to - * the refreshed coin. + * Execute a link operation.  Returns the linkage information that will allow + * the owner of a coin to follow the trail to the refreshed coin.   * - * If it returns a non-error code, the transaction logic MUST - * NOT queue a MHD response.  IF it returns an hard error, the - * transaction logic MUST queue a MHD response and set @a mhd_ret.  IF - * it returns the soft error code, the function MAY be called again to - * retry and MUST not queue a MHD response. + * If it returns a non-error code, the transaction logic MUST NOT queue a MHD + * response.  IF it returns an hard error, the transaction logic MUST queue a + * MHD response and set @a mhd_ret.  IF it returns the soft error code, the + * function MAY be called again to retry and MUST not queue a MHD response.   *   * @param cls closure   * @param connection MHD request which triggered the transaction @@ -138,10 +139,10 @@ fail:   * @return transaction status   */  static enum GNUNET_DB_QueryStatus -refresh_link_transaction (void *cls, -                          struct MHD_Connection *connection, -                          struct TALER_EXCHANGEDB_Session *session, -                          int *mhd_ret) +link_transaction (void *cls, +                  struct MHD_Connection *connection, +                  struct TALER_EXCHANGEDB_Session *session, +                  int *mhd_ret)  {    struct HTD_Context *ctx = cls;    enum GNUNET_DB_QueryStatus qs; @@ -204,11 +205,19 @@ TEH_handler_link (const struct TEH_RequestHandler *rh,                                         "coin public key malformed");    }    ctx.mlist = json_array (); +  if (NULL == ctx.mlist) +  { +    GNUNET_break (0); +    return TALER_MHD_reply_with_error (connection, +                                       MHD_HTTP_INTERNAL_SERVER_ERROR, +                                       TALER_EC_JSON_ALLOCATION_FAILURE, +                                       "json_array() call failed"); +  }    if (GNUNET_OK !=        TEH_DB_run_transaction (connection,                                "run link",                                &mhd_ret, -                              &refresh_link_transaction, +                              &link_transaction,                                &ctx))    {      if (NULL != ctx.mlist) @@ -223,4 +232,4 @@ TEH_handler_link (const struct TEH_RequestHandler *rh,  } -/* end of taler-exchange-httpd_refresh_link.c */ +/* end of taler-exchange-httpd_link.c */ diff --git a/src/exchange/taler-exchange-httpd_mhd.c b/src/exchange/taler-exchange-httpd_mhd.c index 6d05aeb6..a0b0d284 100644 --- a/src/exchange/taler-exchange-httpd_mhd.c +++ b/src/exchange/taler-exchange-httpd_mhd.c @@ -33,6 +33,7 @@  #include "taler-exchange-httpd.h"  #include "taler-exchange-httpd_mhd.h" +  /**   * Function to call to handle the request by sending   * back static data from the @a rh. @@ -48,7 +49,6 @@ TEH_handler_static_response (const struct TEH_RequestHandler *rh,                               const char *const args[])  {    struct MHD_Response *response; -  int ret;    size_t dlen;    (void) args; @@ -68,11 +68,15 @@ TEH_handler_static_response (const struct TEH_RequestHandler *rh,      (void) MHD_add_response_header (response,                                      MHD_HTTP_HEADER_CONTENT_TYPE,                                      rh->mime_type); -  ret = MHD_queue_response (connection, -                            rh->response_code, -                            response); -  MHD_destroy_response (response); -  return ret; +  { +    int ret; + +    ret = MHD_queue_response (connection, +                              rh->response_code, +                              response); +    MHD_destroy_response (response); +    return ret; +  }  } diff --git a/src/exchange/taler-exchange-httpd_responses.c b/src/exchange/taler-exchange-httpd_responses.c index e2a20243..cd03ba76 100644 --- a/src/exchange/taler-exchange-httpd_responses.c +++ b/src/exchange/taler-exchange-httpd_responses.c @@ -39,10 +39,9 @@   * @return json representation of the @a rh, NULL on error   */  json_t * -TEH_RESPONSE_compile_transaction_history (const struct -                                          TALER_CoinSpendPublicKeyP *coin_pub, -                                          const struct -                                          TALER_EXCHANGEDB_TransactionList *tl) +TEH_RESPONSE_compile_transaction_history ( +  const struct TALER_CoinSpendPublicKeyP *coin_pub, +  const struct TALER_EXCHANGEDB_TransactionList *tl)  {    json_t *history; @@ -421,12 +420,11 @@ TEH_RESPONSE_compile_transaction_history (const struct   * @return MHD result code   */  int -TEH_RESPONSE_reply_coin_insufficient_funds (struct MHD_Connection *connection, -                                            enum TALER_ErrorCode ec, -                                            const struct -                                            TALER_CoinSpendPublicKeyP *coin_pub, -                                            const struct -                                            TALER_EXCHANGEDB_TransactionList *tl) +TEH_RESPONSE_reply_coin_insufficient_funds ( +  struct MHD_Connection *connection, +  enum TALER_ErrorCode ec, +  const struct TALER_CoinSpendPublicKeyP *coin_pub, +  const struct TALER_EXCHANGEDB_TransactionList *tl)  {    json_t *history; @@ -458,9 +456,9 @@ TEH_RESPONSE_reply_coin_insufficient_funds (struct MHD_Connection *connection,   * @return json representation of the @a rh, NULL on error   */  json_t * -TEH_RESPONSE_compile_reserve_history (const struct -                                      TALER_EXCHANGEDB_ReserveHistory *rh, -                                      struct TALER_Amount *balance) +TEH_RESPONSE_compile_reserve_history ( +  const struct TALER_EXCHANGEDB_ReserveHistory *rh, +  struct TALER_Amount *balance)  {    struct TALER_Amount deposit_total;    struct TALER_Amount withdraw_total; diff --git a/src/exchange/taler-exchange-httpd_responses.h b/src/exchange/taler-exchange-httpd_responses.h index 07298322..5dd98174 100644 --- a/src/exchange/taler-exchange-httpd_responses.h +++ b/src/exchange/taler-exchange-httpd_responses.h @@ -42,9 +42,9 @@   * @return json representation of the @a rh, NULL on error   */  json_t * -TEH_RESPONSE_compile_reserve_history (const struct -                                      TALER_EXCHANGEDB_ReserveHistory *rh, -                                      struct TALER_Amount *balance); +TEH_RESPONSE_compile_reserve_history ( +  const struct TALER_EXCHANGEDB_ReserveHistory *rh, +  struct TALER_Amount *balance);  /** @@ -60,12 +60,11 @@ TEH_RESPONSE_compile_reserve_history (const struct   * @return MHD result code   */  int -TEH_RESPONSE_reply_coin_insufficient_funds (struct MHD_Connection *connection, -                                            enum TALER_ErrorCode ec, -                                            const struct -                                            TALER_CoinSpendPublicKeyP *coin_pub, -                                            const struct -                                            TALER_EXCHANGEDB_TransactionList *tl); +TEH_RESPONSE_reply_coin_insufficient_funds ( +  struct MHD_Connection *connection, +  enum TALER_ErrorCode ec, +  const struct TALER_CoinSpendPublicKeyP *coin_pub, +  const struct TALER_EXCHANGEDB_TransactionList *tl);  /** @@ -76,10 +75,9 @@ TEH_RESPONSE_reply_coin_insufficient_funds (struct MHD_Connection *connection,   * @return json representation of the @a rh, NULL on error   */  json_t * -TEH_RESPONSE_compile_transaction_history (const struct -                                          TALER_CoinSpendPublicKeyP *coin_pub, -                                          const struct -                                          TALER_EXCHANGEDB_TransactionList *tl); +TEH_RESPONSE_compile_transaction_history ( +  const struct TALER_CoinSpendPublicKeyP *coin_pub, +  const struct TALER_EXCHANGEDB_TransactionList *tl);  #endif  | 
