[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis] 01/02: fixed uuid issue
From: |
gnunet |
Subject: |
[taler-anastasis] 01/02: fixed uuid issue |
Date: |
Mon, 11 May 2020 10:20:46 +0200 |
This is an automated email from the git hooks/post-receive script.
dennis-neufeld pushed a commit to branch master
in repository anastasis.
commit bb727bf63a87b3e892c050f0b77d8e7f3a7e776d
Author: Dennis Neufeld <address@hidden>
AuthorDate: Sat May 9 15:16:22 2020 +0000
fixed uuid issue
fixed json failure (dec_policies)
fixed error with json append loop
fixed invalid read errors
worked on testing...
logs
---
src/backend/anastasis-httpd_policy_upload.c | 8 +
src/include/anastasis.h | 4 +-
src/lib/anastasis.c | 276 ++++++++++++++++++----------
src/lib/anastasis_api_policy_store.c | 7 +
src/lib/testing_cmd_secret_share.c | 32 +---
5 files changed, 202 insertions(+), 125 deletions(-)
diff --git a/src/backend/anastasis-httpd_policy_upload.c
b/src/backend/anastasis-httpd_policy_upload.c
index cb665e2..b6a0691 100644
--- a/src/backend/anastasis-httpd_policy_upload.c
+++ b/src/backend/anastasis-httpd_policy_upload.c
@@ -660,6 +660,9 @@ AH_handler_policy_post (struct MHD_Connection *connection,
puc->hc.cc = &cleanup_ctx;
puc->con = connection;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "At %s:%d handler is policy_post\n", __FILE__, __LINE__);
+
/* extract publickey from url */
GNUNET_assert (0 == strncmp (url,
"/policy/",
@@ -680,6 +683,11 @@ AH_handler_policy_post (struct MHD_Connection *connection,
}
}
puc->account = accountPubP;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "At %s:%d public key is %s-%llu b\n", __FILE__, __LINE__,
+ TALER_B2S (&puc->account),
+ (unsigned long long) sizeof (struct
+
ANASTASIS_CRYPTO_AccountPublicKeyP));
*con_cls = puc;
/* now setup 'puc' */
diff --git a/src/include/anastasis.h b/src/include/anastasis.h
index 29e4da6..7ebb98d 100644
--- a/src/include/anastasis.h
+++ b/src/include/anastasis.h
@@ -366,6 +366,7 @@ struct ANASTASIS_SecretShare;
/**
* Creates a recovery document with the created policies.
*
+* @param ctx the CURL context used to connect to the backend
* @param id_data used to create a account identifier on the escrow provider
* @param last_etag NULL on 'first' use, otherwise 'current_etag' from previous
ShareResultCallback
* @param policies list of policies which are included in this recovery document
@@ -378,7 +379,8 @@ struct ANASTASIS_SecretShare;
* @param core_secret_size size of the core secret
*/
struct ANASTASIS_SecretShare *
-ANASTASIS_secret_share (const json_t *id_data,
+ANASTASIS_secret_share (struct GNUNET_CURL_Context *ctx,
+ const json_t *id_data,
const struct GNUNET_HashCode *last_etag,
const struct ANASTASIS_Policy *policies[],
unsigned int policies_len,
diff --git a/src/lib/anastasis.c b/src/lib/anastasis.c
index 6b67fdd..5b6c46e 100644
--- a/src/lib/anastasis.c
+++ b/src/lib/anastasis.c
@@ -556,7 +556,7 @@ policy_lookup_cb (void *cls,
" s:i}", /* policy uuids length */
"master_key",r->dps[j].emk,
"uuids",r->dps[j].escrow_uuids,
- "uuid_length", r->dps[j].uuids_length));
+ "uuids_length", r->dps[j].uuids_length));
}
r->solved_challenge_pos = 0;
// SETUP POLICY CALLBACK
@@ -685,12 +685,12 @@ struct ANASTASIS_Truth
/**
* keyshare of this truth, used to generate policy keys
*/
- struct ANASTASIS_CRYPTO_KeyShareP key_share;
+ const struct ANASTASIS_CRYPTO_KeyShareP *key_share;
/**
* key used to encrypt this truth
*/
- struct ANASTASIS_CRYPTO_TruthKeyP truth_key;
+ const struct ANASTASIS_CRYPTO_TruthKeyP *truth_key;
/**
* server salt used to derive user identifier
@@ -867,6 +867,8 @@ ANASTASIS_truth_upload (struct GNUNET_CURL_Context *ctx,
tu = GNUNET_new (struct ANASTASIS_TruthUpload);
t = GNUNET_new (struct ANASTASIS_Truth);
+ t->key_share = GNUNET_new (struct ANASTASIS_CRYPTO_KeyShareP);
+ t->truth_key = GNUNET_new (struct ANASTASIS_CRYPTO_TruthKeyP);
tu->tc_cls = tc_cls;
tu->tpc_cls = tpc_cls;
tu->tpc = tpc;
@@ -879,7 +881,7 @@ ANASTASIS_truth_upload (struct GNUNET_CURL_Context *ctx,
t->salt = salt;
uuid_generate (t->uuid);
- GNUNET_assert (NULL != &t->uuid);
+ GNUNET_assert (0 == uuid_is_null (t->uuid));
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"At %s:%d uuid is %s-%llu b\n", __FILE__, __LINE__,
TALER_B2S (&t->uuid),
@@ -890,11 +892,11 @@ ANASTASIS_truth_upload (struct GNUNET_CURL_Context *ctx,
"At %s:%d server salt is %s-%llu b\n", __FILE__, __LINE__,
TALER_B2S (salt),
(unsigned long long) sizeof (*salt));
- ANASTASIS_CRYPTO_keyshare_create (&t->key_share);
+ ANASTASIS_CRYPTO_keyshare_create (t->key_share);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"At %s:%d keyshare is %s-%llu b\n", __FILE__, __LINE__,
- TALER_B2S (&t->key_share),
- (unsigned long long) sizeof (t->key_share));
+ TALER_B2S (t->key_share),
+ (unsigned long long) sizeof (*t->key_share));
ANASTASIS_CRYPTO_user_identifier_derive (id_data,
salt,
&tu->id);
@@ -902,7 +904,7 @@ ANASTASIS_truth_upload (struct GNUNET_CURL_Context *ctx,
"At %s:%d user identifier is %s-%llu b\n", __FILE__, __LINE__,
TALER_B2S (&tu->id),
(unsigned long long) sizeof (tu->id));
- ANASTASIS_CRYPTO_keyshare_encrypt (&t->key_share,
+ ANASTASIS_CRYPTO_keyshare_encrypt (t->key_share,
&tu->id,
&encrypted_key_share);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -911,13 +913,13 @@ ANASTASIS_truth_upload (struct GNUNET_CURL_Context *ctx,
(unsigned long long) sizeof (*encrypted_key_share));
GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_STRONG,
- &t->truth_key,
+ t->truth_key,
sizeof (struct ANASTASIS_CRYPTO_TruthKeyP));
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"At %s:%d truth key is %s-%llu b\n", __FILE__, __LINE__,
- TALER_B2S (&t->truth_key),
- (unsigned long long) sizeof (t->truth_key));
- ANASTASIS_CRYPTO_truth_encrypt (&t->truth_key,
+ TALER_B2S (t->truth_key),
+ (unsigned long long) sizeof (*t->truth_key));
+ ANASTASIS_CRYPTO_truth_encrypt (t->truth_key,
truth_data,
truth_data_size,
&encrypted_truth,
@@ -1030,7 +1032,7 @@ ANASTASIS_policy_create (struct ANASTASIS_Truth *truths[],
struct ANASTASIS_Policy *p;
struct ANASTASIS_Truth *truth;
struct ANASTASIS_CRYPTO_KeyShareP key_shares[truths_len];
- uuid_t *uuids[truths_len];
+ uuid_t uuids[truths_len];
p = GNUNET_new (struct ANASTASIS_Policy);
@@ -1048,14 +1050,18 @@ ANASTASIS_policy_create (struct ANASTASIS_Truth
*truths[],
"At %s:%d truth is %s-%llu b\n", __FILE__, __LINE__,
TALER_B2S (truth),
(unsigned long long) sizeof (struct ANASTASIS_Truth));
- key_shares[i] = truth->key_share;
+ GNUNET_memcpy (&key_shares[i],
+ truth->key_share,
+ sizeof (struct ANASTASIS_CRYPTO_KeyShareP));
+ // key_shares[i] = truth->key_share;
GNUNET_assert (NULL != &key_shares[i]);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "At %s:%d key share is %s-%llu b\n", __FILE__, __LINE__,
+ "At %s:%d keyshare is %s-%llu b\n", __FILE__, __LINE__,
TALER_B2S (&key_shares[i]),
(unsigned long long) sizeof (key_shares[i]));
- uuid_copy (&uuids[i], &truth->uuid);
- GNUNET_assert (NULL != &uuids[i]);
+ // uuids[i] = truth->uuid;
+ uuid_copy (uuids[i], truth->uuid);
+ GNUNET_assert (0 == uuid_is_null (uuids[i]));
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"At %s:%d uuid is %s-%llu b\n", __FILE__, __LINE__,
TALER_B2S (&uuids[i]),
@@ -1079,10 +1085,10 @@ ANASTASIS_policy_create (struct ANASTASIS_Truth
*truths[],
GNUNET_memcpy (p->truths,
truths,
truths_len * sizeof (struct ANASTASIS_Truth *));
- p->uuids = GNUNET_malloc (truths_len * sizeof (uuid_t *));
+ p->uuids = GNUNET_malloc (truths_len * sizeof (uuid_t));
GNUNET_memcpy (p->uuids,
uuids,
- truths_len * sizeof (uuid_t *));
+ truths_len * sizeof (uuid_t));
p->uuids_length = truths_len;
GNUNET_assert (NULL != p->uuids);
@@ -1193,6 +1199,12 @@ struct PolicyStoreState
const char *payment_order_req;
int payment_requested;
+
+ /**
+ * Previous upload, or NULL for none. Used to calculate what THIS
+ * upload is based on.
+ */
+ const char *prev_upload;
};
/**
@@ -1293,7 +1305,8 @@ policy_store_cb (void *cls,
}
pss->payment_order_id = GNUNET_strdup (&m[strlen ("/-/-/")]);
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "Order ID from Anastasis service is `%s'\n",
+ "At %s:%d Order ID from Anastasis service is %s\n",
+ __FILE__, __LINE__,
pss->payment_order_id);
memset (&pss->curr_hash,
@@ -1352,9 +1365,10 @@ ANASTASIS_get_num_urls (const struct ANASTASIS_Policy
*policies[],
for (unsigned int l = 0; l < policies_len; l++)
{
- policy = policies[l];
struct ANASTASIS_Truth *truth;
+ policy = policies[l];
+
for (unsigned int j = 0; j < policy->uuids_length; j++)
{
truth = policy->truths[j];
@@ -1386,17 +1400,13 @@ ANASTASIS_get_num_urls (const struct ANASTASIS_Policy
*policies[],
{
provider[unique_urls_len] = truth->url;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "At %s:%d provider url is %s\n", __FILE__, __LINE__,
+ "At %s:%d unique provider url is %s\n", __FILE__,
+ __LINE__,
provider[unique_urls_len]);
unique_urls_len++;
}
}
}
- for (unsigned int i = 0; i < len; i++)
- {
- // free space for each url
- GNUNET_free (provider[i]);
- }
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"At %s:%d unique_urls_len is %d\n", __FILE__, __LINE__,
@@ -1408,6 +1418,7 @@ ANASTASIS_get_num_urls (const struct ANASTASIS_Policy
*policies[],
/**
* Creates a recovery document with the created policies.
*
+* @param ctx the CURL context used to connect to the backend
* @param id_data used to create a account identifier on the escrow provider
* @param last_etag NULL on 'first' use, otherwise 'current_etag' from previous
ShareResultCallback
* @param policies list of policies which are included in this recovery document
@@ -1420,7 +1431,8 @@ ANASTASIS_get_num_urls (const struct ANASTASIS_Policy
*policies[],
* @param core_secret_size size of the core secret
*/
struct ANASTASIS_SecretShare *
-ANASTASIS_secret_share (const json_t *id_data,
+ANASTASIS_secret_share (struct GNUNET_CURL_Context *ctx,
+ const json_t *id_data,
const struct GNUNET_HashCode *last_etag,
const struct ANASTASIS_Policy *policies[],
unsigned int policies_len,
@@ -1433,21 +1445,12 @@ ANASTASIS_secret_share (const json_t *id_data,
{
struct ANASTASIS_SecretShare *ss;
- struct ANASTASIS_Policy *policy;
unsigned int pss_length = ANASTASIS_get_num_urls (policies,
policies_len);
- struct PolicyStoreState pss[pss_length];
+ struct PolicyStoreState *pss[pss_length];
struct GNUNET_HashCode current_etags[pss_length];
enum TALER_ErrorCode ecs[pss_length];
-
- ss = GNUNET_new (struct ANASTASIS_SecretShare);
- ss->pss = &pss;
- ss->pss_length = pss_length;
- ss->spc = spc;
- ss->spc_cls = spc_cls;
- ss->src = src;
- ss->src_cls = src_cls;
struct ANASTASIS_CRYPTO_EncryptedMasterKeyP
encrypted_master_keys[policies_len];
struct ANASTASIS_CRYPTO_PolicyKeyP policy_keys[policies_len];
@@ -1462,13 +1465,25 @@ ANASTASIS_secret_share (const json_t *id_data,
// json array
json_t *esc_methods;
+ for (unsigned int i = 0; i < pss_length; i++)
+ {
+ pss[i] = GNUNET_new (struct PolicyStoreState);
+ }
+
+ ss = GNUNET_new (struct ANASTASIS_SecretShare);
+ ss->pss = pss;
+ ss->pss_length = pss_length;
+ ss->spc = spc;
+ ss->spc_cls = spc_cls;
+ ss->src = src;
+ ss->src_cls = src_cls;
+ ss->ctx = ctx;
+
for (unsigned int i = 0; i < policies_len; i++)
{
+ struct ANASTASIS_Policy *policy;
+
policy = policies[i];
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "At %s:%d policy is %s-%llu b\n", __FILE__, __LINE__,
- TALER_B2S (policy),
- (unsigned long long) sizeof (struct ANASTASIS_Policy));
policy_keys[i] = policy->policy_key;
}
@@ -1484,82 +1499,128 @@ ANASTASIS_secret_share (const json_t *id_data,
int index_pss = 0;
for (unsigned int k = 0; k < policies_len; k++ )
{
+ struct ANASTASIS_Policy *policy;
+
policy = policies[k];
- json_t *dec_policy = json_pack ("{s:o," /* encrypted master key */
- " s:o," /* policy uuids */
- " s:i}",/* policy uuids length */
- "master_key",
- GNUNET_JSON_from_data_auto (
- &encrypted_master_keys[k]),
- "uuids",
- GNUNET_JSON_from_data (policy->uuids,
- policy->
- uuids_length
- * sizeof(uuid_t)),
- "uuid_length", policy->uuids_length);
- GNUNET_assert (NULL != dec_policy);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "dec policy json before upload 0: %s\n",
- json_dumps (dec_policy, JSON_COMPACT));
+ "At %s:%d policy is %s-%llu b\n", __FILE__, __LINE__,
+ TALER_B2S (policy),
+ (unsigned long long) sizeof (struct ANASTASIS_Policy));
+ if (0 !=
+ json_array_append_new (
+ dec_policies,
+ json_pack ("{s:o," /* encrypted master key */
+ " s:o," /* policy uuids */
+ " s:i}", /* policy uuids length */
+ "master_key",
+ GNUNET_JSON_from_data_auto (
+ &encrypted_master_keys[k]),
+ "uuids",
+ GNUNET_JSON_from_data (policy->uuids,
+ policy->
+ uuids_length
+ * sizeof(uuid_t)),
+ "uuids_length",
+ policy->uuids_length)))
+ {
+ GNUNET_break (0);
+ json_decref (dec_policies);
+ return NULL;
+ }
- GNUNET_assert (0 ==
- json_array_append_new (dec_policies, dec_policy));
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Dec policies json append before upload 0: %s\n",
+ "Dec policies json append before upload %d: %s\n",
+ k,
json_dumps (dec_policies, JSON_COMPACT));
// FIXME CHALLENGE
for (unsigned int l = 0; l < policy->uuids_length; l++)
{
- // creates a json array for saving
- json_t *esc_method = json_pack ("{s:o," /* truth uuid */
- " s:s," /* provider url */
- " s:o," /* truth key */
- " s:o," /* truth salt */
- " s:s}", /* escrow method */
- "uuid",
- GNUNET_JSON_from_data (
- policy->truths[l]->uuid,
- sizeof(uuid_t)),
- "url", policy->truths[l]->url,
- "truth_key", GNUNET_JSON_from_data_auto (
- &policy->truths[l]->truth_key),
- "salt", GNUNET_JSON_from_data_auto (
- policy->truths[l]->salt),
- "escrow_method",
- policy->truths[l]->method);
-
- GNUNET_assert (NULL != esc_method);
+ struct ANASTASIS_Truth *truth;
+
+ truth = policy->truths[l];
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "At %s:%d truth is %s-%llu b\n", __FILE__, __LINE__,
+ TALER_B2S (truth),
+ (unsigned long long) sizeof (struct ANASTASIS_Truth));
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "At %s:%d keyshare is %s-%llu b\n", __FILE__, __LINE__,
+ TALER_B2S (truth->key_share),
+ (unsigned long long) sizeof (*truth->key_share));
+
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "esc method json before upload 0: %s\n",
- json_dumps (esc_method, JSON_COMPACT));
- GNUNET_assert (0 ==
- json_array_append_new (esc_methods, esc_method));
+ "At %s:%d truthkey is %s-%llu b\n", __FILE__, __LINE__,
+ TALER_B2S (truth->truth_key),
+ (unsigned long long) sizeof (*truth->truth_key));
+
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Esc methods json append before upload 0: %s\n",
+ "At %s:%d uuid is %s-%llu b\n", __FILE__, __LINE__,
+ TALER_B2S (&truth->uuid),
+ (unsigned long long) sizeof (truth->uuid));
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "At %s:%d server salt is %s-%llu b\n", __FILE__, __LINE__,
+ TALER_B2S (truth->salt),
+ (unsigned long long) sizeof (*truth->salt));
+
+ // creates a json array for saving
+ if (0 !=
+ json_array_append_new (
+ esc_methods,
+ json_pack ("{s:o," /* truth uuid */
+ " s:s," /* provider url */
+ " s:o," /* truth key */
+ " s:o," /* truth salt */
+ " s:s}", /* escrow method */
+ "uuid",
+ GNUNET_JSON_from_data_auto (&truth->uuid),
+ "url",
+ truth->url,
+ "truth_key", GNUNET_JSON_from_data_auto (
+ truth->truth_key),
+ "salt", GNUNET_JSON_from_data_auto (
+ truth->salt),
+ "escrow_method",
+ truth->method)))
+ {
+ GNUNET_break (0);
+ json_decref (esc_methods);
+ return NULL;
+ }
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Esc methods json append before upload %d: %s\n",
+ l,
json_dumps (esc_methods, JSON_COMPACT));
// prepares policy store operation
int contains_url = 0;
for (unsigned int j = 0; j < ss->pss_length; j++)
{
- if (0 == strcmp (ss->pss[j]->anastasis_url,
- policy->truths[l]->url))
+ if (NULL != ss->pss[j]->anastasis_url)
{
- contains_url = 1;
- break;
+ if (0 == strcmp (ss->pss[j]->anastasis_url,
+ truth->url))
+ {
+ contains_url = 1;
+ break;
+ }
}
}
if (0 == contains_url)
{
- ss->pss[index_pss]->anastasis_url = policy->truths[l]->url;
- ss->pss[index_pss]->prev_hash = *last_etag;
- ss->pss[index_pss]->server_salt = policy->truths[l]->salt;
+ ss->pss[index_pss]->anastasis_url = truth->url;
+ if (NULL != last_etag)
+ ss->pss[index_pss]->prev_hash = *last_etag;
+ ss->pss[index_pss]->server_salt = truth->salt;
index_pss++;
}
}
+ /* FIXME free uuids and truths
GNUNET_free (policy->uuids);
GNUNET_free (policy->truths);
+ */
}
recovery_document = json_pack (
@@ -1568,23 +1629,25 @@ ANASTASIS_secret_share (const json_t *id_data,
" s:o}", /* encrypted core secret */
"policies", dec_policies,
"escrow_methods", esc_methods,
- "core_secret", GNUNET_JSON_from_data (&encrypted_core_secret,
+ "core_secret", GNUNET_JSON_from_data (encrypted_core_secret,
core_secret_size));
GNUNET_assert (NULL != recovery_document);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "recovery document json before upload 0: %s\n",
+ "recovery document json before upload: %s\n",
json_dumps (recovery_document, JSON_COMPACT));
// FIXME COMPRESSION
- recovery_document_str = json_dumps (recovery_document, JSON_COMPACT);
+ recovery_document_str = json_dumps (recovery_document,
+ JSON_COMPACT | JSON_SORT_KEYS);
recovery_document_size = strlen (recovery_document_str);
+ GNUNET_assert (NULL != recovery_document_str);
+
for (unsigned int l = 0; l < ss->pss_length; l++)
{
- ss->pss[l]->http_status = MHD_HTTP_NO_CONTENT;
- ss->pss[l]->st->http_status = MHD_HTTP_OK;
+ // ss->pss[l]->http_status = MHD_HTTP_NO_CONTENT;
ANASTASIS_CRYPTO_user_identifier_derive (id_data,
- &ss->pss[l]->server_salt,
+ ss->pss[l]->server_salt,
&ss->pss[l]->id);
ANASTASIS_CRYPTO_account_private_key_derive (&ss->pss[l]->id,
@@ -1595,22 +1658,31 @@ ANASTASIS_secret_share (const json_t *id_data,
recovery_document_size,
&ss->pss[l]->recovery_data,
&ss->pss[l]->recovery_data_size);
-
+ // hash recovery data
+ GNUNET_CRYPTO_hash (ss->pss[l]->recovery_data,
+ ss->pss[l]->recovery_data_size,
+ &ss->pss[l]->curr_hash);
ss->pss[l]->pso = ANASTASIS_policy_store (ss->ctx,
ss->pss[l]->anastasis_url,
&ss->pss[l]->anastasis_priv,
- last_etag,
+ ( ( (NULL !=
+ ss->pss[l]->prev_upload) &&
+ (0 != GNUNET_is_zero (
+ last_etag)) ))
+ ? last_etag
+ : NULL,
ss->pss[l]->recovery_data,
ss->pss[l]->recovery_data_size,
ss->pss[l]->payment_requested,
ss->pss[l]->payment_order_id,
&policy_store_cb,
ss->pss[l]);
+ GNUNET_assert (NULL != ss->pss[l]->pso);
- current_etags[l] = pss[l].curr_hash;
- ecs[l] = pss[l].ec;
+ current_etags[l] = ss->pss[l]->curr_hash;
+ ecs[l] = ss->pss[l]->ec;
}
-
+ // FIXME: clean up PSS, UUIDS, TRUTHS etc. !!!
// SETUP SHARE RESULT CALLBACK
if (NULL != ss->src)
{
diff --git a/src/lib/anastasis_api_policy_store.c
b/src/lib/anastasis_api_policy_store.c
index cb8e324..5d7e9a4 100644
--- a/src/lib/anastasis_api_policy_store.c
+++ b/src/lib/anastasis_api_policy_store.c
@@ -426,6 +426,13 @@ ANASTASIS_policy_store (struct GNUNET_CURL_Context *ctx,
NULL);
GNUNET_free (path);
}
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "At %s:%d url is %s\n", __FILE__, __LINE__,
+ pso->url);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "At %s:%d recovery data is %s-%llu b\n", __FILE__, __LINE__,
+ TALER_b2s (recovery_data, recovery_data_size),
+ (unsigned long long) recovery_data_size);
pso->ctx = ctx;
pso->cb = cb;
pso->cb_cls = cb_cls;
diff --git a/src/lib/testing_cmd_secret_share.c
b/src/lib/testing_cmd_secret_share.c
index 4ec5f81..9e18d99 100644
--- a/src/lib/testing_cmd_secret_share.c
+++ b/src/lib/testing_cmd_secret_share.c
@@ -108,15 +108,16 @@ struct SecretShareState
* Function called for payment routine.
*
* @param cls closure
+ * @param etag etag of upload
* @param ec ANASTASIS error code
- * @param http_status HTTP status of the request
*/
static void
secret_share_payment_cb (void *cls,
- enum ANASTASIS_ErrorCode ec,
- unsigned int http_status)
+ struct GNUNET_HashCode *etags,
+ enum ANASTASIS_ErrorCode *ec)
{
-
+ struct SecretShareState *sss = cls;
+ sss->sso = NULL;
}
@@ -124,30 +125,16 @@ secret_share_payment_cb (void *cls,
* Function called with the results of a #secret_share().
*
* @param cls closure
+ * @param etag etag of upload
* @param ec ANASTASIS error code
- * @param http_status HTTP status of the request
- * @param ud details about the upload operation
*/
static void
secret_share_result_cb (void *cls,
- enum ANASTASIS_ErrorCode ec,
- unsigned int http_status,
- const struct ANASTASIS_UploadDetails *ud)
+ struct GNUNET_HashCode *etag,
+ enum ANASTASIS_ErrorCode *ec)
{
struct SecretShareState *sss = cls;
sss->sso = NULL;
- if (http_status != sss->http_status)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Unexpected response code %u/%d to command %s in %s:%u\n",
- http_status,
- (int) ec,
- sss->is->commands[sss->is->ip].label,
- __FILE__,
- __LINE__);
- TALER_TESTING_interpreter_fail (sss->is);
- return;
- }
}
/**
@@ -207,7 +194,8 @@ secret_share_run (void *cls,
}
}
- sss->sso = ANASTASIS_secret_share (sss->id_data,
+ sss->sso = ANASTASIS_secret_share (is->ctx,
+ sss->id_data,
NULL,
policies,
sss->cmd_label_array_length,
--
To stop receiving notification emails like this one, please contact
address@hidden.