[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis] branch master updated: fix config api request
From: |
gnunet |
Subject: |
[taler-anastasis] branch master updated: fix config api request |
Date: |
Sat, 10 Oct 2020 12:39:09 +0200 |
This is an automated email from the git hooks/post-receive script.
dennis-neufeld pushed a commit to branch master
in repository anastasis.
The following commit(s) were added to refs/heads/master by this push:
new 72b2e93 fix config api request
72b2e93 is described below
commit 72b2e939f991488ee358f6dd7d4a525b3cdda38d
Author: Dennis Neufeld <dennis.neufeld@students.bfh.ch>
AuthorDate: Sat Oct 10 12:38:13 2020 +0200
fix config api request
---
contrib/redux.countries.json | 6 +--
src/lib/anastasis_api_redux.c | 93 ++++++++++++++++++++++++-------------------
2 files changed, 56 insertions(+), 43 deletions(-)
diff --git a/contrib/redux.countries.json b/contrib/redux.countries.json
index 2a397a5..6a1f3d1 100644
--- a/contrib/redux.countries.json
+++ b/contrib/redux.countries.json
@@ -10,7 +10,7 @@
"fr":"Suisse",
"en": "Swiss"
},
- "currency": "CHF"
+ "currency": "TESTKUDOS"
},
{
"code" : "de",
@@ -21,7 +21,7 @@
"de_CH":"Deutschland",
"fr": "Allemagne",
"en": "Germany" },
- "currency": "EUR"
+ "currency": "TESTKUDOS"
},
{
"code" : "us",
@@ -32,7 +32,7 @@
"de_CH":"Vereinigte Staaten von
Amerika (USA)",
"fr": "États-Unis d'Amérique
(USA)",
"en": "United States of America
(USA)" },
- "currency": "USD"
+ "currency": "TESTKUDOS"
}
]
}
diff --git a/src/lib/anastasis_api_redux.c b/src/lib/anastasis_api_redux.c
index 17169db..377a9b0 100644
--- a/src/lib/anastasis_api_redux.c
+++ b/src/lib/anastasis_api_redux.c
@@ -179,10 +179,10 @@ config_cb (void *cls,
cs->server->backend_methods = methods;
cs->server->backend_cost = *annual_fee;
- cs->server->backend_currency = GNUNET_malloc (strlen (conf_currency));
+ cs->server->backend_currency = GNUNET_malloc (strlen (conf_currency) + 1);
GNUNET_strlcpy (cs->server->backend_currency,
conf_currency,
- strlen (conf_currency));
+ strlen (conf_currency) + 1);
if (0 == strcmp (cs->server->backend_currency,
json_string_value (json_object_get (cs->state,
@@ -198,7 +198,7 @@ config_cb (void *cls,
GNUNET_assert (NULL != method_arr);
GNUNET_assert (0 == json_object_set_new (config,
"provider",
- json_string_value (
+ json_string (
cs->server->backend_id)));
json_array_foreach (method_arr, index, method)
@@ -234,11 +234,13 @@ config_cb (void *cls,
provider_id));
GNUNET_assert (0 == json_object_set_new (config,
- json_string_value ("config"),
+ "config",
provider_method));
}
for (unsigned int i = 0; i < servers_length; i++)
{
+ if (NULL == servers[i].backend_currency)
+ continue;
if (0 == strcmp (servers[i].backend_currency,
json_string_value (json_object_get (cs->state,
"currency"))))
@@ -247,10 +249,12 @@ config_cb (void *cls,
GNUNET_assert (NULL != provider);
GNUNET_assert (0 == json_object_set_new (provider,
"provider_id",
- servers[i].backend_id));
+ json_string (
+ servers[i].backend_id)));
GNUNET_assert (0 == json_object_set_new (provider,
"provider_url",
- servers[i].backend_url));
+ json_string (
+ servers[i].backend_url)));
GNUNET_assert (0 == json_array_append_new (provider_list,
provider));
}
@@ -261,6 +265,7 @@ config_cb (void *cls,
cs->cb (NULL,
ANASTASIS_EC_NONE,
config);
+ json_decref (cs->state);
}
}
@@ -448,9 +453,37 @@ select_country (json_t *state,
{
json_t *root;
const json_t *provider_list;
- json_t *country = json_object_get (arguments, "country_code");
char *dn;
json_error_t error;
+ GNUNET_assert (NULL != state);
+ json_t *country = json_object_get (arguments, "country_code");
+ GNUNET_assert (NULL != country);
+ currency = json_string_value (json_object_get (arguments,
+ "currency"));
+ GNUNET_assert (NULL != currency);
+ const char *s_mode = get_state_mode (state);
+ GNUNET_assert (NULL != s_mode);
+ GNUNET_assert (GNUNET_SYSERR !=
+ redux_id_attr_init (json_string_value (country)));
+ root = json_object_get (redux_id_attr, "required_attributes");
+ GNUNET_assert (NULL != root);
+ GNUNET_assert (0 == json_object_set_new (state,
+ s_mode,
+ json_string (
+ STATE_STRING[
+
UserAttributesCollectionState])));
+
+ GNUNET_assert (0 == json_object_set_new (state,
+ "selected_country",
+ country));
+
+ GNUNET_assert (0 == json_object_set_new (state,
+ "currency",
+ json_string (currency)));
+
+ GNUNET_assert (0 == json_object_set_new (state,
+ "required_attributes",
+ root));
// initialize provider list
{
@@ -485,10 +518,10 @@ select_country (json_t *state,
{
size_t index;
json_t *provider;
- json_t *provider_list = json_object_get (provider_list,
- "anastasis_provider");
+ json_t *provider_arr = json_object_get (provider_list,
+ "anastasis_provider");
- json_array_foreach (provider_list, index, provider)
+ json_array_foreach (provider_arr, index, provider)
{
struct ServerInfo *server = GNUNET_new (struct ServerInfo);
const char *url = json_string_value (json_object_get (provider,
@@ -519,7 +552,7 @@ select_country (json_t *state,
struct ConfigState *cs = GNUNET_new (struct ConfigState);
cs->server = &servers[i];
cs->http_status = MHD_HTTP_OK;
- cs->state = state;
+ cs->state = json_deep_copy (state);
cs->cb = cb;
cs->co = ANASTASIS_get_config (curl_ctx,
servers[i].backend_url,
@@ -532,34 +565,6 @@ select_country (json_t *state,
}
}
- GNUNET_assert (NULL != country);
- GNUNET_assert (NULL != state);
- const char *s_mode = get_state_mode (state);
- GNUNET_assert (NULL != s_mode);
- currency = json_string_value (json_object_get (arguments,
- "currency"));
- GNUNET_assert (NULL != currency);
- GNUNET_assert (GNUNET_SYSERR !=
- redux_id_attr_init (json_string_value (country)));
- root = json_object_get (redux_id_attr, "required_attributes");
- GNUNET_assert (NULL != root);
- json_object_set_new (state,
- s_mode,
- json_string (
- STATE_STRING[UserAttributesCollectionState]));
-
- json_object_set_new (state,
- "selected_country",
- country);
-
- json_object_set_new (state,
- "currency",
- json_string (currency));
-
- json_object_set_new (state,
- "required_attributes",
- root);
-
cb (cb_cls,
ANASTASIS_EC_NONE,
state);
@@ -612,12 +617,16 @@ enter_user_attributes (json_t *state,
ANASTASIS_ActionCallback cb,
void *cb_cls)
{
+ GNUNET_assert (NULL != arguments);
json_t *attributes = json_object_get (arguments, "identity_attributes");
-
GNUNET_assert (NULL != attributes);
GNUNET_assert (NULL != state);
const char *s_mode = get_state_mode (state);
GNUNET_assert (NULL != s_mode);
+ json_t *auth_providers = json_object_get (arguments,
+ "authentication_providers");
+ // GNUNET_assert (NULL != auth_providers);
+
json_object_set_new (state,
s_mode,
json_string
(STATE_STRING[AuthenticationsEditingState]));
@@ -625,6 +634,10 @@ enter_user_attributes (json_t *state,
json_object_set_new (state,
"identity_attributes",
attributes);
+ if (NULL != auth_providers)
+ json_object_set_new (state,
+ "authentication_providers",
+ auth_providers);
cb (cb_cls,
ANASTASIS_EC_NONE,
state);
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-anastasis] branch master updated: fix config api request,
gnunet <=