summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-04-15 12:26:12 +0200
committerChristian Grothoff <christian@grothoff.org>2022-04-15 12:26:12 +0200
commit0601dd2e424534b6c4cacf8c6844f354919cc0ca (patch)
tree9b9d64ad040aa6591f8a6d134a66d017cb5568df /src
parentaf7a94e6e95accef7836d8b18e20097f722747eb (diff)
downloadanastasis-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.c12
-rw-r--r--src/reducer/anastasis_api_redux.c11
-rw-r--r--src/restclient/anastasis_api_config.c3
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);