gnunet-svn
[Top][All Lists]
Advanced

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

[taler-anastasis] branch master updated (7f2f9e7 -> 6c17e73)


From: gnunet
Subject: [taler-anastasis] branch master updated (7f2f9e7 -> 6c17e73)
Date: Mon, 12 Oct 2020 20:36:17 +0200

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

dennis-neufeld pushed a change to branch master
in repository anastasis.

    from 7f2f9e7  backend work
     new 51e511c  fix method deletion
     new da8b7f6  fix method deletion
     new 0438b95  fix
     new d93f5cf  fix
     new 6c17e73  Merge branch 'master' of ssh://git.taler.net/anastasis into 
master

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/lib/anastasis_api_backup_redux.c | 54 ++++++++++++++++++++++++++++++------
 src/lib/anastasis_api_redux.c        | 16 ++++-------
 2 files changed, 50 insertions(+), 20 deletions(-)

diff --git a/src/lib/anastasis_api_backup_redux.c 
b/src/lib/anastasis_api_backup_redux.c
index d6b1369..ab4d039 100644
--- a/src/lib/anastasis_api_backup_redux.c
+++ b/src/lib/anastasis_api_backup_redux.c
@@ -155,15 +155,15 @@ add_authentication (json_t *state,
 {
   json_t *method = json_object_get (arguments, "authentication_method");
   GNUNET_assert (NULL != method);
-  json_t *auth_method_arr = json_object_get (state, "authentication_methods");
+  json_t *auth_method_arr = json_deep_copy (json_object_get (state,
+                                                             
"authentication_methods"));
   if (NULL == auth_method_arr)
     auth_method_arr = json_array ();
   GNUNET_assert (NULL != auth_method_arr);
   GNUNET_assert (0 == json_array_append_new (auth_method_arr, method));
-  GNUNET_assert (0 == json_object_set (state,
-                                       "authentication_methods",
-                                       auth_method_arr));
-
+  GNUNET_assert (0 == json_object_set_new (state,
+                                           "authentication_methods",
+                                           auth_method_arr));
   cb (cb_cls,
       ANASTASIS_EC_NONE,
       state);
@@ -369,9 +369,9 @@ done_authentication (json_t *state,
 
 
   }
-  json_object_set_new (state,
-                       "policies",
-                       pb.policies);
+  GNUNET_assert (0 == json_object_set_new (state,
+                                           "policies",
+                                           pb.policies));
   set_state (state,
              STATE_STRING[PoliciesReviewingState]);
   cb (cb_cls,
@@ -386,7 +386,43 @@ del_authentication (json_t *state,
                     ANASTASIS_ActionCallback cb,
                     void *cb_cls)
 {
-
+  json_t *method;
+  size_t arr_index;
+  GNUNET_assert (NULL != arguments);
+  json_t *method_arr = json_deep_copy (json_object_get (state,
+                                                        
"authentication_methods"));
+  GNUNET_assert (NULL != method_arr);
+  json_t *del_method = json_object_get (arguments, "authentication_method");
+  GNUNET_assert (NULL != del_method);
+
+  json_array_foreach (method_arr, arr_index, method)
+  {
+    json_t *method_type = json_object_get (method, "method");
+    if (1 == json_equal (method_type, json_object_get (del_method, "method")))
+    {
+      const char *key;
+      json_t *value;
+      json_t *method_data = json_object_get (method, "data");
+      GNUNET_assert (NULL != method_data);
+      json_t *del_method_value = json_object_get (del_method, "value");
+      GNUNET_assert (NULL != del_method_value);
+
+      json_object_foreach (method_data, key, value)
+      {
+        if (1 == json_equal (del_method_value, value))
+        {
+          GNUNET_assert (0 == json_array_remove (method_arr, arr_index));
+          break;
+        }
+      }
+    }
+  }
+  GNUNET_assert (0 == json_object_set_new (state,
+                                           "authentication_methods",
+                                           method_arr));
+  cb (cb_cls,
+      ANASTASIS_EC_NONE,
+      state);
 }
 
 
diff --git a/src/lib/anastasis_api_redux.c b/src/lib/anastasis_api_redux.c
index 377a9b0..4bab722 100644
--- a/src/lib/anastasis_api_redux.c
+++ b/src/lib/anastasis_api_redux.c
@@ -176,7 +176,6 @@ config_cb (void *cls,
                 __LINE__);
     return;
   }
-
   cs->server->backend_methods = methods;
   cs->server->backend_cost = *annual_fee;
   cs->server->backend_currency = GNUNET_malloc (strlen (conf_currency) + 1);
@@ -209,25 +208,20 @@ config_cb (void *cls,
       GNUNET_assert (NULL != provider_method);
       json_t *provider_id = json_object ();
       GNUNET_assert (NULL != provider_id);
-      json_t *method_cost = json_object ();
-      GNUNET_assert (NULL != method_cost);
-      json_t *annual_cost = json_object ();
-      GNUNET_assert (NULL != annual_cost);
+      json_t *method_data = json_object ();
+      GNUNET_assert (NULL != method_data);
 
-      GNUNET_assert (0 == json_object_set_new (method_cost,
+      GNUNET_assert (0 == json_object_set_new (method_data,
                                                "method_cost",
                                                json_object_get (method,
                                                                 "cost")));
-      GNUNET_assert (0 == json_object_set_new (provider_id,
-                                               cs->server->backend_id,
-                                               method_cost));
-      GNUNET_assert (0 == json_object_set_new (annual_cost,
+      GNUNET_assert (0 == json_object_set_new (method_data,
                                                "annual_cost",
                                                TALER_JSON_from_amount (
                                                  &cs->server->backend_cost)));
       GNUNET_assert (0 == json_object_set_new (provider_id,
                                                cs->server->backend_id,
-                                               annual_cost));
+                                               method_data));
 
       GNUNET_assert (0 == json_object_set_new (provider_method,
                                                json_string_value (method_type),

-- 
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]