gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

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