[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis] branch master updated: return policy version properly
From: |
gnunet |
Subject: |
[taler-anastasis] branch master updated: return policy version properly |
Date: |
Wed, 31 Mar 2021 12:30:47 +0200 |
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 49dc95e return policy version properly
49dc95e is described below
commit 49dc95e4bcebcd06bbfa748b6665a5ff1a4519ae
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Wed Mar 31 12:30:40 2021 +0200
return policy version properly
---
src/include/anastasis.h | 20 ++++++++++----------
src/include/anastasis_service.h | 5 +++++
src/lib/anastasis_recovery.c | 2 ++
src/reducer/anastasis_api_recovery_redux.c | 7 +++----
src/restclient/anastasis_api_config.c | 3 ++-
src/restclient/anastasis_api_policy_lookup.c | 22 ++++++++++++++++++++++
6 files changed, 44 insertions(+), 15 deletions(-)
diff --git a/src/include/anastasis.h b/src/include/anastasis.h
index 3b8500e..4b837b4 100644
--- a/src/include/anastasis.h
+++ b/src/include/anastasis.h
@@ -479,16 +479,16 @@ struct ANASTASIS_Recovery;
* @return recovery operation handle
*/
struct ANASTASIS_Recovery *
-ANASTASIS_recovery_begin (struct GNUNET_CURL_Context *ctx,
- const json_t *id_data,
- unsigned int version,
- const char *anastasis_provider_url,
- const struct
- ANASTASIS_CRYPTO_ProviderSaltP *provider_salt,
- ANASTASIS_PolicyCallback pc,
- void *pc_cls,
- ANASTASIS_CoreSecretCallback csc,
- void *csc_cls);
+ANASTASIS_recovery_begin (
+ struct GNUNET_CURL_Context *ctx,
+ const json_t *id_data,
+ unsigned int version,
+ const char *anastasis_provider_url,
+ const struct ANASTASIS_CRYPTO_ProviderSaltP *provider_salt,
+ ANASTASIS_PolicyCallback pc,
+ void *pc_cls,
+ ANASTASIS_CoreSecretCallback csc,
+ void *csc_cls);
/**
diff --git a/src/include/anastasis_service.h b/src/include/anastasis_service.h
index 148d621..a39a2d4 100644
--- a/src/include/anastasis_service.h
+++ b/src/include/anastasis_service.h
@@ -185,6 +185,11 @@ struct ANASTASIS_DownloadDetails
* Number of bytes in @e backup.
*/
size_t policy_size;
+
+ /**
+ * Policy version returned by the service.
+ */
+ uint32_t version;
};
diff --git a/src/lib/anastasis_recovery.c b/src/lib/anastasis_recovery.c
index a0a5e7b..9eba56c 100644
--- a/src/lib/anastasis_recovery.c
+++ b/src/lib/anastasis_recovery.c
@@ -711,6 +711,7 @@ policy_lookup_cb (void *cls,
json_decref (recovery_document);
}
+ r->ri.version = dd->version;
r->ri.cs_len = json_array_size (esc_methods);
r->ri.dps_len = json_array_size (dec_policies);
r->ri.dps = GNUNET_new_array (r->ri.dps_len,
@@ -1291,6 +1292,7 @@ ANASTASIS_recovery_deserialize (struct
GNUNET_CURL_Context *ctx,
JSON_INDENT (2));
return NULL;
}
+ r->ri.version = version;
if ( (GNUNET_OK !=
parse_cs_array (r,
cs_arr)) ||
diff --git a/src/reducer/anastasis_api_recovery_redux.c
b/src/reducer/anastasis_api_recovery_redux.c
index ff60f76..50d900d 100644
--- a/src/reducer/anastasis_api_recovery_redux.c
+++ b/src/reducer/anastasis_api_recovery_redux.c
@@ -1854,10 +1854,9 @@ core_early_secret_cb (void *cls,
GNUNET_assert (ANASTASIS_RS_SUCCESS != rc);
ec = update_state_by_error (rss->state,
rc);
- ANASTASIS_redux_fail_ (rss->cb,
- rss->cb_cls,
- ec,
- "Failed to obtain policy data");
+ rss->cb (rss->cb_cls,
+ ec,
+ rss->state);
rss->cb = NULL;
free_rss (rss);
}
diff --git a/src/restclient/anastasis_api_config.c
b/src/restclient/anastasis_api_config.c
index 17721a4..b0925fb 100644
--- a/src/restclient/anastasis_api_config.c
+++ b/src/restclient/anastasis_api_config.c
@@ -93,7 +93,8 @@ handle_config_finished (void *cls,
case 0:
/* Hard error */
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Backend failed to respond to GET /config\n");
+ "Backend `%s' failed to respond to GET /config\n",
+ co->url);
break;
case MHD_HTTP_OK:
{
diff --git a/src/restclient/anastasis_api_policy_lookup.c
b/src/restclient/anastasis_api_policy_lookup.c
index 0bf1519..1af95d7 100644
--- a/src/restclient/anastasis_api_policy_lookup.c
+++ b/src/restclient/anastasis_api_policy_lookup.c
@@ -75,6 +75,11 @@ struct ANASTASIS_PolicyLookupOperation
*/
struct ANASTASIS_AccountSignatureP account_sig;
+ /**
+ * Version of the policy.
+ */
+ unsigned int version;
+
};
@@ -137,6 +142,7 @@ handle_policy_lookup_finished (void *cls,
dd.curr_policy_hash = usp.new_recovery_data_hash;
dd.policy = data;
dd.policy_size = data_size;
+ dd.version = plo->version;
plo->cb (plo->cb_cls,
response_code,
&dd);
@@ -229,6 +235,22 @@ handle_header (char *buffer,
return 0;
}
}
+ if (0 == strcasecmp (hdr_type,
+ ANASTASIS_HTTP_HEADER_POLICY_VERSION))
+ {
+ char dummy;
+
+ if (1 !=
+ sscanf (hdr_val,
+ "%u%c",
+ &plo->version,
+ &dummy))
+ {
+ GNUNET_break_op (0);
+ GNUNET_free (ndup);
+ return 0;
+ }
+ }
GNUNET_free (ndup);
return total;
}
--
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: return policy version properly,
gnunet <=