gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: improve logging and comments in


From: gnunet
Subject: [taler-exchange] branch master updated: improve logging and comments in json.c
Date: Mon, 18 Jan 2021 11:22:54 +0100

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 7bbb44ec improve logging and comments in json.c
7bbb44ec is described below

commit 7bbb44ec048c19a26b7412535f109fda591060c4
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Mon Jan 18 11:22:52 2021 +0100

    improve logging and comments in json.c
---
 src/json/json.c | 86 +++++++--------------------------------------------------
 1 file changed, 10 insertions(+), 76 deletions(-)

diff --git a/src/json/json.c b/src/json/json.c
index 78867a91..7e84ea25 100644
--- a/src/json/json.c
+++ b/src/json/json.c
@@ -260,31 +260,6 @@ forget (const json_t *in)
 }
 
 
-/**
- * Hash a JSON contract for binary signing.
- *
- * Contracts can contain "forgettable" parts. Those components of the JSON
- * object are indicated in a "_forgettable" field containing key-value
- * pairs. The keys are the names of other fields that are forgettable, and the
- * values are salt values to be used in the HKDF when hashing the forgettable
- * field. To compute the overall hash, the values of all "_forgettable" fields
- * are replaced with 'null', and the "_forgettable" field itself is removed,
- * and a special "_forgotten" field is added with a map of forgotten entries
- * to the respective HKDF values (see also #6365).
- *
- * Forgetting parts is not only applied at the top-level entry of the
- * contract, but recursively to all entries.
- *
- * See 
https://tools.ietf.org/html/draft-rundgren-json-canonicalization-scheme-15
- * for fun JSON canonicalization problems.  Callers must ensure that
- * those are avoided in the input. We will use libjanson's "JSON_COMPACT"
- * encoding for whitespace and "JSON_SORT_KEYS" to canonicalize as best
- * as we can.
- *
- * @param[in] json some JSON value
- * @param[out] hc resulting hash code
- * @return #GNUNET_OK on success, #GNUNET_SYSERR on error
- */
 int
 TALER_JSON_contract_hash (const json_t *json,
                           struct GNUNET_HashCode *hc)
@@ -306,13 +281,6 @@ TALER_JSON_contract_hash (const json_t *json,
 }
 
 
-/**
- * Mark part of a contract object as 'forgettable'.
- *
- * @param[in,out] json some JSON object to modify
- * @param field name of the field to mark as forgettable
- * @return #GNUNET_OK on success, #GNUNET_SYSERR on error
- */
 int
 TALER_JSON_contract_mark_forgettable (json_t *json,
                                       const char *field)
@@ -361,13 +329,6 @@ TALER_JSON_contract_mark_forgettable (json_t *json,
 }
 
 
-/**
- * Forget part of a contract object.
- *
- * @param[in,out] json some JSON object to modify
- * @param field name of the field to forget
- * @return #GNUNET_OK on success, #GNUNET_SYSERR on error
- */
 int
 TALER_JSON_contract_part_forget (json_t *json,
                                  const char *field)
@@ -387,21 +348,27 @@ TALER_JSON_contract_part_forget (json_t *json,
   if (NULL == (part = json_object_get (json,
                                        field)))
   {
-    GNUNET_break (0);
+    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+                "Did not find field `%s' we were asked to forget\n",
+                field);
     return GNUNET_SYSERR;
   }
   fg = json_object_get (json,
                         "_forgettable");
   if (NULL == fg)
   {
-    GNUNET_break (0);
+    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+                "Did not find _forgettable attribute trying to forget field 
`%s'\n",
+                field);
     return GNUNET_SYSERR;
   }
   salt = json_string_value (json_object_get (fg,
                                              field));
   if (NULL == salt)
   {
-    GNUNET_break (0);
+    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+                "Did not find required salt to forget field `%s'\n",
+                field);
     return GNUNET_SYSERR;
   }
 
@@ -467,7 +434,7 @@ TALER_JSON_contract_part_forget (json_t *json,
  * @param path the path to parse.
  * @param cb the callback to call, if we get to the end of @e path.
  * @param cb_cls the closure for the callback.
- * @return GNUNET_OK on success, GNUNET_SYSERR if @e path is malformed.
+ * @return #GNUNET_OK on success, #GNUNET_SYSERR if @e path is malformed.
  */
 static int
 parse_path (json_t *obj,
@@ -576,17 +543,6 @@ parse_path (json_t *obj,
 }
 
 
-/**
- * Expands a path for a json object. May call the callback several times
- * if the path contains a wildcard.
- *
- * @param json the json object the path references.
- * @param path the path to expand. Must begin with "$." and follow dot 
notation,
- *        and may include array indices and wildcards.
- * @param cb the callback.
- * @param cb_cls closure for the callback.
- * @return GNUNET_OK on success, GNUNET_SYSERR if @e path is invalid.
- */
 int
 TALER_JSON_expand_path (json_t *json,
                         const char *path,
@@ -601,13 +557,6 @@ TALER_JSON_expand_path (json_t *json,
 }
 
 
-/**
- * Extract the Taler error code from the given @a json object.
- * Note that #TALER_EC_NONE is returned if no "code" is present.
- *
- * @param json response to extract the error code from
- * @return the "code" value from @a json
- */
 enum TALER_ErrorCode
 TALER_JSON_get_error_code (const json_t *json)
 {
@@ -634,13 +583,6 @@ TALER_JSON_get_error_code (const json_t *json)
 }
 
 
-/**
- * Extract the Taler error hint from the given @a json object.
- * Note that NULL is returned if no "hint" is present.
- *
- * @param json response to extract the error hint from
- * @return the "hint" value from @a json; only valid as long as @a json is 
valid
- */
 const char *
 TALER_JSON_get_error_hint (const json_t *json)
 {
@@ -665,14 +607,6 @@ TALER_JSON_get_error_hint (const json_t *json)
 }
 
 
-/**
- * Extract the Taler error code from the given @a data object, which is 
expected to be in JSON.
- * Note that #TALER_EC_INVALID is returned if no "code" is present or if @a 
data is not in JSON.
- *
- * @param data response to extract the error code from
- * @param data_size number of bytes in @a data
- * @return the "code" value from @a json
- */
 enum TALER_ErrorCode
 TALER_JSON_get_error_code2 (const void *data,
                             size_t data_size)

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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