gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated: also validate merchant IBANs bef


From: gnunet
Subject: [taler-exchange] branch master updated: also validate merchant IBANs before signing
Date: Sun, 19 Apr 2020 22:31:03 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new ab752e95 also validate merchant IBANs before signing
ab752e95 is described below

commit ab752e95910fe5a077be9e4807b2d8536ce3fc70
Author: Christian Grothoff <address@hidden>
AuthorDate: Sun Apr 19 22:31:00 2020 +0200

    also validate merchant IBANs before signing
---
 src/include/taler_error_codes.h | 141 ++++++++++++++++++++++++++++++++++++++++
 src/json/json_wire.c            |  17 +++--
 2 files changed, 152 insertions(+), 6 deletions(-)

diff --git a/src/include/taler_error_codes.h b/src/include/taler_error_codes.h
index 10ad555a..c882d27d 100644
--- a/src/include/taler_error_codes.h
+++ b/src/include/taler_error_codes.h
@@ -1538,6 +1538,70 @@ enum TALER_ErrorCode
    */
   TALER_EC_TRACK_TRANSFER_JSON_BAD_WIRE_FEE = 2410,
 
+  /**
+   * The merchant backend cannot create an instance under the given
+   * identifier as one already exists. Use PATCH to modify the existing
+   * entry.  The response is provied with an HTTP status of
+   * #MHD_HTTP_CONFLICT.
+   */
+  TALER_EC_POST_INSTANCES_ALREADY_EXISTS = 2450,
+
+  /**
+   * The merchant backend cannot create an instance because the
+   * specified bank accounts are somehow invalid. The response is
+   * provied with an HTTP status of #MHD_HTTP_BAD_REQUEST.
+   */
+  TALER_EC_POST_INSTANCES_BAD_PAYTO_URIS = 2451,
+
+  /**
+   * The merchant backend cannot create an instance because it failed to
+   * start the database transaction. The response is provied with an
+   * HTTP status of #MHD_HTTP_INTERNAL_SERVER_ERROR.
+   */
+  TALER_EC_POST_INSTANCES_DB_START_ERROR = 2452,
+
+  /**
+   * The merchant backend cannot create an instance because it failed to
+   * commit the database transaction. The response is provied with an
+   * HTTP status of #MHD_HTTP_INTERNAL_SERVER_ERROR.
+   */
+  TALER_EC_POST_INSTANCES_DB_COMMIT_ERROR = 2453,
+
+  /**
+   * The merchant backend cannot delete an instance because it failed to
+   * commit the database transaction. The response is provied with an
+   * HTTP status of #MHD_HTTP_INTERNAL_SERVER_ERROR.
+   */
+  TALER_EC_DELETE_INSTANCES_ID_DB_HARD_FAILURE = 2454,
+
+  /**
+   * The merchant backend cannot delete the data because it already does
+   * not exist. The response is provied with an HTTP status of
+   * #MHD_HTTP_NOT_FOUND.
+   */
+  TALER_EC_DELETE_INSTANCES_ID_NO_SUCH_INSTANCE = 2455,
+
+  /**
+   * The merchant backend cannot update an instance because the
+   * specified bank accounts are somehow invalid. The response is
+   * provied with an HTTP status of #MHD_HTTP_BAD_REQUEST.
+   */
+  TALER_EC_PATCH_INSTANCES_BAD_PAYTO_URIS = 2456,
+
+  /**
+   * The merchant backend cannot patch an instance because it failed to
+   * start the database transaction. The response is provied with an
+   * HTTP status of #MHD_HTTP_INTERNAL_SERVER_ERROR.
+   */
+  TALER_EC_PATCH_INSTANCES_DB_START_ERROR = 2457,
+
+  /**
+   * The merchant backend cannot patch an instance because it failed to
+   * commit the database transaction. The response is provied with an
+   * HTTP status of #MHD_HTTP_INTERNAL_SERVER_ERROR.
+   */
+  TALER_EC_PATCH_INSTANCES_DB_COMMIT_ERROR = 2458,
+
   /**
    * The hash provided in the request of /map/in does not match the
    * contract sent alongside in the same request.
@@ -1609,6 +1673,83 @@ enum TALER_ErrorCode
    */
   TALER_EC_PROPOSAL_REPLY_MALFORMED = 2510,
 
+  /**
+   * The merchant backend failed to lookup the products. The response is
+   * provied with an HTTP status of #MHD_HTTP_INTERNAL_SERVER_ERROR.
+   */
+  TALER_EC_GET_PRODUCTS_DB_LOOKUP_ERROR = 2550,
+
+  /**
+   * The merchant backend failed to start the transaction. The response
+   * is provied with an HTTP status of #MHD_HTTP_INTERNAL_SERVER_ERROR.
+   */
+  TALER_EC_PRODUCTS_POST_DB_START_ERROR = 2551,
+
+  /**
+   * The product ID exists. The response is provied with an HTTP status
+   * of #MHD_HTTP_CONFLICT.
+   */
+  TALER_EC_PRODUCTS_POST_CONFLICT_PRODUCT_EXISTS = 2552,
+
+  /**
+   * The merchant backend failed to serialize the transaction. The
+   * response is provied with an HTTP status of
+   * #MHD_HTTP_INTERNAL_SERVER_ERROR.
+   */
+  TALER_EC_PRODUCTS_POST_DB_COMMIT_SOFT_ERROR = 2553,
+
+  /**
+   * The merchant backend failed to commit the transaction. The response
+   * is provied with an HTTP status of #MHD_HTTP_INTERNAL_SERVER_ERROR.
+   */
+  TALER_EC_PRODUCTS_POST_DB_COMMIT_HARD_ERROR = 2554,
+
+  /**
+   * The merchant backend failed to commit the transaction. The response
+   * is provied with an HTTP status of #MHD_HTTP_INTERNAL_SERVER_ERROR.
+   */
+  TALER_EC_PRODUCTS_PATCH_DB_COMMIT_HARD_ERROR = 2555,
+
+  /**
+   * The merchant backend did not find the product to be updated. The
+   * response is provied with an HTTP status of #MHD_HTTP_NOT_FOUND.
+   */
+  TALER_EC_PRODUCTS_PATCH_UNKNOWN_PRODUCT = 2556,
+
+  /**
+   * The update would have reduced the total amount of product lost,
+   * which is not allowed. The response is provied with an HTTP status
+   * of #MHD_HTTP_CONFLICT.
+   */
+  TALER_EC_PRODUCTS_PATCH_TOTAL_LOST_REDUCED = 2557,
+
+  /**
+   * The update would have reduced the total amount of product sold,
+   * which is not allowed. The response is provied with an HTTP status
+   * of #MHD_HTTP_CONFLICT.
+   */
+  TALER_EC_PRODUCTS_PATCH_TOTAL_SOLD_REDUCED = 2558,
+
+  /**
+   * The update would have reduced the total amount of product in stock,
+   * which is not allowed. The response is provied with an HTTP status
+   * of #MHD_HTTP_CONFLICT.
+   */
+  TALER_EC_PRODUCTS_PATCH_TOTAL_STOCKED_REDUCED = 2559,
+
+  /**
+   * The lock request is for more products than we have left (unlocked)
+   * in stock. The response is provied with an HTTP status of
+   * #MHD_HTTP_CONFLICT.
+   */
+  TALER_EC_PRODUCTS_LOCK_INSUFFICIENT_STOCKS = 2560,
+
+  /**
+   * The lock request is for an unknown product. The response is provied
+   * with an HTTP status of #MHD_HTTP_NOT_FOUND.
+   */
+  TALER_EC_PRODUCTS_LOCK_UNKNOWN_PRODUCT = 2561,
+
   /**
    * The merchant returned a malformed response. Error created client-
    * side.
diff --git a/src/json/json_wire.c b/src/json/json_wire.c
index 8fd99ab6..f0580819 100644
--- a/src/json/json_wire.c
+++ b/src/json/json_wire.c
@@ -414,6 +414,11 @@ TALER_JSON_merchant_wire_signature_hash (const json_t 
*wire_s,
     GNUNET_break_op (0);
     return GNUNET_SYSERR;
   }
+  if (GNUNET_SYSERR == validate_payto (payto_uri))
+  {
+    GNUNET_break_op (0);
+    return GNUNET_SYSERR;
+  }
   TALER_merchant_wire_signature_hash (payto_uri,
                                       salt,
                                       hc);
@@ -430,9 +435,9 @@ TALER_JSON_merchant_wire_signature_hash (const json_t 
*wire_s,
  * @return #GNUNET_OK if signature is valid
  */
 int
-TALER_JSON_exchange_wire_signature_check (const json_t *wire_s,
-                                          const struct
-                                          TALER_MasterPublicKeyP *master_pub)
+TALER_JSON_exchange_wire_signature_check (
+  const json_t *wire_s,
+  const struct TALER_MasterPublicKeyP *master_pub)
 {
   const char *payto_uri;
   struct TALER_MasterSignatureP master_sig;
@@ -471,9 +476,9 @@ TALER_JSON_exchange_wire_signature_check (const json_t 
*wire_s,
  * @return NULL if @a payto_uri is malformed
  */
 json_t *
-TALER_JSON_exchange_wire_signature_make (const char *payto_uri,
-                                         const struct
-                                         TALER_MasterPrivateKeyP *master_priv)
+TALER_JSON_exchange_wire_signature_make (
+  const char *payto_uri,
+  const struct TALER_MasterPrivateKeyP *master_priv)
 {
   struct TALER_MasterSignatureP master_sig;
 

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]