[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.
- [taler-anastasis] branch master updated (7f2f9e7 -> 6c17e73),
gnunet <=
- [taler-anastasis] 01/05: fix method deletion, gnunet, 2020/10/12
- [taler-anastasis] 02/05: fix method deletion, gnunet, 2020/10/12
- [taler-anastasis] 03/05: fix, gnunet, 2020/10/12
- [taler-anastasis] 04/05: fix, gnunet, 2020/10/12
- [taler-anastasis] 05/05: Merge branch 'master' of ssh://git.taler.net/anastasis into master, gnunet, 2020/10/12