diff options
author | Christian Grothoff <christian@grothoff.org> | 2022-04-15 12:26:12 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2022-04-15 12:26:12 +0200 |
commit | 0601dd2e424534b6c4cacf8c6844f354919cc0ca (patch) | |
tree | 9b9d64ad040aa6591f8a6d134a66d017cb5568df /src | |
parent | af7a94e6e95accef7836d8b18e20097f722747eb (diff) | |
download | anastasis-0601dd2e424534b6c4cacf8c6844f354919cc0ca.tar.gz anastasis-0601dd2e424534b6c4cacf8c6844f354919cc0ca.tar.bz2 anastasis-0601dd2e424534b6c4cacf8c6844f354919cc0ca.zip |
-fix synchronous provider discovery logic
Diffstat (limited to 'src')
-rw-r--r-- | src/reducer/anastasis_api_recovery_redux.c | 12 | ||||
-rw-r--r-- | src/reducer/anastasis_api_redux.c | 11 | ||||
-rw-r--r-- | src/restclient/anastasis_api_config.c | 3 |
3 files changed, 16 insertions, 10 deletions
diff --git a/src/reducer/anastasis_api_recovery_redux.c b/src/reducer/anastasis_api_recovery_redux.c index d831adc..22be38d 100644 --- a/src/reducer/anastasis_api_recovery_redux.c +++ b/src/reducer/anastasis_api_recovery_redux.c @@ -2271,6 +2271,7 @@ poll_providers (json_t *state, { struct ANASTASIS_CRYPTO_ProviderSaltP provider_salt; struct SyncEntry *se; + struct ANASTASIS_ReduxAction *ra; if (GNUNET_OK == ANASTASIS_reducer_lookup_salt (state, @@ -2282,10 +2283,13 @@ poll_providers (json_t *state, GNUNET_CONTAINER_DLL_insert (ms->se_head, ms->se_tail, se); - se->ra = ANASTASIS_REDUX_add_provider_to_state_ (url, - state, - &sync_progress, - se); + ra = ANASTASIS_REDUX_add_provider_to_state_ (url, + state, + &sync_progress, + se); + if (NULL == ra) + return NULL; /* sync_progress already called! */ + se->ra = ra; } if (NULL == ms->se_head) { diff --git a/src/reducer/anastasis_api_redux.c b/src/reducer/anastasis_api_redux.c index 5dde4c6..2271942 100644 --- a/src/reducer/anastasis_api_redux.c +++ b/src/reducer/anastasis_api_redux.c @@ -661,6 +661,8 @@ check_config (const char *url) cr_tail, cr); } + if (MHD_HTTP_OK == cr->http_status) + return cr; cr->co = ANASTASIS_get_config (ANASTASIS_REDUX_ctx_, cr->url, &config_cb, @@ -670,12 +672,9 @@ check_config (const char *url) GNUNET_break (0); return NULL; } - else - { - cr->tt = GNUNET_SCHEDULER_add_delayed (CONFIG_GENERIC_TIMEOUT, - &config_request_timeout, - cr); - } + cr->tt = GNUNET_SCHEDULER_add_delayed (CONFIG_GENERIC_TIMEOUT, + &config_request_timeout, + cr); return cr; } diff --git a/src/restclient/anastasis_api_config.c b/src/restclient/anastasis_api_config.c index 7f5e630..5dcc7ec 100644 --- a/src/restclient/anastasis_api_config.c +++ b/src/restclient/anastasis_api_config.c @@ -216,6 +216,9 @@ handle_config_finished (void *cls, } } acfg.methods = mcfg; + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Good backend found at `%s'\n", + co->url); co->cb (co->cb_cls, MHD_HTTP_OK, &acfg); |