[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis] branch master updated: fix #7036
From: |
gnunet |
Subject: |
[taler-anastasis] branch master updated: fix #7036 |
Date: |
Mon, 27 Dec 2021 21:04:21 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository anastasis.
The following commit(s) were added to refs/heads/master by this push:
new 0920fe0 fix #7036
0920fe0 is described below
commit 0920fe0f15e563e4beaa0e0c5c814a87163631ca
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Mon Dec 27 21:04:17 2021 +0100
fix #7036
---
contrib/gana | 2 +-
src/reducer/anastasis_api_recovery_redux.c | 27 ++++++++++++++++++++++-----
src/reducer/anastasis_api_redux.c | 7 ++++++-
3 files changed, 29 insertions(+), 7 deletions(-)
diff --git a/contrib/gana b/contrib/gana
index f126ffd..b0dd85e 160000
--- a/contrib/gana
+++ b/contrib/gana
@@ -1 +1 @@
-Subproject commit f126ffd32255c68f4fbef5e9ef849ef04855b0a9
+Subproject commit b0dd85e8187f33a1f92dd5eb31082050d333e168
diff --git a/src/reducer/anastasis_api_recovery_redux.c
b/src/reducer/anastasis_api_recovery_redux.c
index 050a5b1..a26b6ad 100644
--- a/src/reducer/anastasis_api_recovery_redux.c
+++ b/src/reducer/anastasis_api_recovery_redux.c
@@ -2385,22 +2385,26 @@ core_early_secret_cb (void *cls,
* @param provider_url the provider to lookup config info from
* @param type the method to lookup the cost of
* @param[out] cost the recovery cost to return
+ * @param[out] ec set to the error code
* @return #GNUNET_OK on success, #GNUNET_NO if not found, #GNUNET_SYSERR on
state error
*/
-static int
+static enum GNUNET_GenericReturnValue
lookup_cost (const json_t *state,
const char *provider_url,
const char *type,
- struct TALER_Amount *cost)
+ struct TALER_Amount *cost,
+ enum TALER_ErrorCode *ec)
{
const json_t *providers;
const json_t *provider;
const json_t *methods;
+ *ec = TALER_EC_NONE;
providers = json_object_get (state,
"authentication_providers");
if (NULL == providers)
{
+ *ec = TALER_EC_ANASTASIS_REDUCER_STATE_INVALID;
GNUNET_break (0);
return GNUNET_SYSERR;
}
@@ -2408,14 +2412,24 @@ lookup_cost (const json_t *state,
provider_url);
if (NULL == provider)
{
+ *ec = TALER_EC_ANASTASIS_REDUCER_STATE_INVALID;
GNUNET_break (0);
return GNUNET_SYSERR;
}
+ if (MHD_HTTP_OK !=
+ json_integer_value (json_object_get (provider,
+ "http_status")))
+ {
+ *ec = json_integer_value (json_object_get (provider,
+ "error_code"));
+ return GNUNET_SYSERR;
+ }
methods = json_object_get (provider,
"methods");
if ( (NULL == methods) ||
(! json_is_array (methods)) )
{
+ *ec = TALER_EC_ANASTASIS_REDUCER_STATE_INVALID;
GNUNET_break (0);
return GNUNET_SYSERR;
}
@@ -2439,6 +2453,7 @@ lookup_cost (const json_t *state,
NULL, NULL))
{
GNUNET_break (0);
+ *ec = TALER_EC_ANASTASIS_REDUCER_STATE_INVALID;
continue;
}
if (0 == strcmp (t,
@@ -2565,20 +2580,22 @@ policy_lookup_cb (void *cls,
const struct ANASTASIS_ChallengeDetails *cd;
json_t *cj;
struct TALER_Amount cost;
- int ret;
+ enum GNUNET_GenericReturnValue ret;
+ enum TALER_ErrorCode ec;
cd = ANASTASIS_challenge_get_details (c);
ret = lookup_cost (rss->state,
cd->provider_url,
cd->type,
- &cost);
+ &cost,
+ &ec);
if (GNUNET_SYSERR == ret)
{
json_decref (challenges);
json_decref (policies);
ANASTASIS_redux_fail_ (rss->cb,
rss->cb_cls,
- TALER_EC_ANASTASIS_REDUCER_STATE_INVALID,
+ ec,
"failed to 'lookup_cost'");
free_rss (rss);
return;
diff --git a/src/reducer/anastasis_api_redux.c
b/src/reducer/anastasis_api_redux.c
index 11dc678..66aabe1 100644
--- a/src/reducer/anastasis_api_redux.c
+++ b/src/reducer/anastasis_api_redux.c
@@ -574,7 +574,12 @@ config_cb (void *cls,
cr->tt = NULL;
cr->http_status = http_status;
if (MHD_HTTP_OK != http_status)
- cr->ec = TALER_EC_ANASTASIS_REDUCER_PROVIDER_CONFIG_FAILED;
+ {
+ if (0 == http_status)
+ cr->ec = TALER_EC_ANASTASIS_GENERIC_PROVIDER_UNREACHABLE;
+ else
+ cr->ec = TALER_EC_ANASTASIS_REDUCER_PROVIDER_CONFIG_FAILED;
+ }
if ( (MHD_HTTP_OK == http_status) &&
(NULL == acfg) )
{
--
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 #7036,
gnunet <=