diff options
author | Christian Grothoff <christian@grothoff.org> | 2022-01-21 11:41:16 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2022-01-21 11:41:16 +0100 |
commit | 37d1d112520f0b42c3e50d262ea139f25d093fbc (patch) | |
tree | f2f4abcbbe7444f25ed26ecf05affddbe7943b6c /src/reducer | |
parent | d8ef0458721116c268af7a5fc69f7f7ac3b14385 (diff) | |
download | anastasis-37d1d112520f0b42c3e50d262ea139f25d093fbc.tar.gz anastasis-37d1d112520f0b42c3e50d262ea139f25d093fbc.tar.bz2 anastasis-37d1d112520f0b42c3e50d262ea139f25d093fbc.zip |
add discussion about need for another transition
Diffstat (limited to 'src/reducer')
-rw-r--r-- | src/reducer/anastasis_api_recovery_redux.c | 37 |
1 files changed, 13 insertions, 24 deletions
diff --git a/src/reducer/anastasis_api_recovery_redux.c b/src/reducer/anastasis_api_recovery_redux.c index b93b5e6..791ed9f 100644 --- a/src/reducer/anastasis_api_recovery_redux.c +++ b/src/reducer/anastasis_api_recovery_redux.c @@ -2036,6 +2036,10 @@ lookup_cost (const json_t *state, const json_t *methods; *ec = TALER_EC_NONE; + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Looking up cost for provider `%s' and method `%s'\n", + provider_url, + type); providers = json_object_get (state, "authentication_providers"); if (NULL == providers) @@ -2056,9 +2060,15 @@ lookup_cost (const json_t *state, json_integer_value (json_object_get (provider, "http_status"))) { - *ec = json_integer_value (json_object_get (provider, - "error_code")); - return GNUNET_SYSERR; + json_t *eco; + + eco = json_object_get (provider, + "error_code"); + if (NULL != eco) + *ec = json_integer_value (eco); + else + *ec = TALER_EC_ANASTASIS_REDUCER_PROVIDER_INVALID_CONFIG; + return GNUNET_NO; } methods = json_object_get (provider, "methods"); @@ -2172,30 +2182,9 @@ policy_lookup_cb (void *cls, enum TALER_ErrorCode ec; cd = ANASTASIS_challenge_get_details (c); - ret = lookup_cost (pd->state, - cd->provider_url, - cd->type, - &cost, - &ec); - if (GNUNET_SYSERR == ret) - { - json_decref (challenges); - json_decref (policies); - ANASTASIS_redux_fail_ (pd->cb, - pd->cb_cls, - ec, - "failed to 'lookup_cost'"); - free_pd (pd); - return; - } - cj = GNUNET_JSON_PACK ( GNUNET_JSON_pack_data_auto ("uuid", &cd->uuid), - TALER_JSON_pack_amount ("cost", - (GNUNET_NO == ret) - ? NULL - : &cost), GNUNET_JSON_pack_string ("type", cd->type), GNUNET_JSON_pack_string ("uuid-display", |