summaryrefslogtreecommitdiff
path: root/src/lib/anastasis_recovery.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-07-31 22:50:16 +0200
committerChristian Grothoff <christian@grothoff.org>2021-07-31 22:50:21 +0200
commit1db139a7f3b74b2dc4135ab8b42d625415705d63 (patch)
treedbbd66f083001bdefc9b029c1f45a5c2cf93697e /src/lib/anastasis_recovery.c
parent812423c3872dce704ce9161127c7ebfbb7034fbe (diff)
downloadanastasis-1db139a7f3b74b2dc4135ab8b42d625415705d63.tar.gz
anastasis-1db139a7f3b74b2dc4135ab8b42d625415705d63.tar.bz2
anastasis-1db139a7f3b74b2dc4135ab8b42d625415705d63.zip
-eliminating some legacy json_pack calls from Anastasis
Diffstat (limited to 'src/lib/anastasis_recovery.c')
-rw-r--r--src/lib/anastasis_recovery.c106
1 files changed, 52 insertions, 54 deletions
diff --git a/src/lib/anastasis_recovery.c b/src/lib/anastasis_recovery.c
index 5b0726f..2a606d2 100644
--- a/src/lib/anastasis_recovery.c
+++ b/src/lib/anastasis_recovery.c
@@ -963,22 +963,20 @@ ANASTASIS_recovery_serialize (const struct ANASTASIS_Recovery *r)
const struct ANASTASIS_Challenge *c = dp->pub_details.challenges[j];
json_t *cs;
- cs = json_pack ("{s:o}",
- "uuid",
- GNUNET_JSON_from_data_auto (&c->ci.uuid));
- GNUNET_assert (NULL != cs);
+ cs = GNUNET_JSON_PACK (
+ GNUNET_JSON_pack_data_auto ("uuid",
+ &c->ci.uuid));
GNUNET_assert (0 ==
json_array_append_new (c_arr,
cs));
}
- dps = json_pack ("{s:o, s:o, s:o}",
- "emk",
- GNUNET_JSON_from_data_auto (&dp->emk),
- "salt",
- GNUNET_JSON_from_data_auto (&dp->salt),
- "challenges",
- c_arr);
- GNUNET_assert (NULL != dps);
+ dps = GNUNET_JSON_PACK (
+ GNUNET_JSON_pack_data_auto ("emk",
+ &dp->emk),
+ GNUNET_JSON_pack_data_auto ("salt",
+ &dp->salt),
+ GNUNET_JSON_pack_array_steal ("challenges",
+ c_arr));
GNUNET_assert (0 ==
json_array_append_new (dps_arr,
dps));
@@ -990,53 +988,53 @@ ANASTASIS_recovery_serialize (const struct ANASTASIS_Recovery *r)
const struct ANASTASIS_Challenge *c = &r->cs[i];
json_t *cs;
- cs = json_pack ("{s:o,s:o,s:o,s:o,s:o?,"
- " s:s,s:s,s:s,s:b}",
- "uuid",
- GNUNET_JSON_from_data_auto (&c->ci.uuid),
- "truth_key",
- GNUNET_JSON_from_data_auto (&c->truth_key),
- "salt",
- GNUNET_JSON_from_data_auto (&c->salt),
- "provider_salt",
- GNUNET_JSON_from_data_auto (&c->provider_salt),
- "key_share",
- c->ci.solved
- ? GNUNET_JSON_from_data_auto (&c->key_share)
- : NULL,
- "url",
- c->url,
- "type",
- c->type,
- "instructions",
- c->instructions,
- "solved",
- c->ci.solved);
- GNUNET_assert (NULL != cs);
+ cs = GNUNET_JSON_PACK (
+ GNUNET_JSON_pack_data_auto ("uuid",
+ &c->ci.uuid),
+ GNUNET_JSON_pack_data_auto ("truth_key",
+ &c->truth_key),
+ GNUNET_JSON_pack_data_auto ("salt",
+ &c->salt),
+ GNUNET_JSON_pack_data_auto ("provider_salt",
+ &c->provider_salt),
+ GNUNET_JSON_pack_allow_null (
+ GNUNET_JSON_pack_data_varsize ("key_share",
+ c->ci.solved
+ ? &c->key_share
+ : NULL,
+ sizeof (c->key_share))),
+ GNUNET_JSON_pack_string ("url",
+ c->url),
+ GNUNET_JSON_pack_string ("type",
+ c->type),
+ GNUNET_JSON_pack_string ("instructions",
+ c->instructions),
+ GNUNET_JSON_pack_bool ("solved",
+ c->ci.solved));
GNUNET_assert (0 ==
json_array_append_new (cs_arr,
cs));
}
- return json_pack ("{s:o, s:o, s:o, s:I, s:O, "
- " s:s, s:s?, s:o}",
- "id",
- GNUNET_JSON_from_data_auto (&r->id),
- "dps",
- dps_arr,
- "cs",
- cs_arr,
- "version",
- (json_int_t) r->ri.version,
- "id_data",
- r->id_data,
- "provider_url",
- r->provider_url,
- "secret_name",
- r->secret_name,
- "core_secret",
- GNUNET_JSON_from_data (r->enc_core_secret,
- r->enc_core_secret_size));
+ return GNUNET_JSON_PACK (
+ GNUNET_JSON_pack_data_auto ("id",
+ &r->id),
+ GNUNET_JSON_pack_array_steal ("dps",
+ dps_arr),
+ GNUNET_JSON_pack_array_steal ("cs",
+ cs_arr),
+ GNUNET_JSON_pack_uint64 ("version",
+ r->ri.version),
+ GNUNET_JSON_pack_object_incref ("id_data",
+ (json_t *) r->id_data),
+ GNUNET_JSON_pack_string ("provider_url",
+ r->provider_url),
+ GNUNET_JSON_pack_allow_null (
+ GNUNET_JSON_pack_string ("secret_name",
+ r->secret_name)),
+ GNUNET_JSON_pack_data_varsize ("core_secret",
+ r->enc_core_secret,
+ r->enc_core_secret_size));
}