aboutsummaryrefslogtreecommitdiff
path: root/src/lib/anastasis_recovery.c
diff options
context:
space:
mode:
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)
963 const struct ANASTASIS_Challenge *c = dp->pub_details.challenges[j]; 963 const struct ANASTASIS_Challenge *c = dp->pub_details.challenges[j];
964 json_t *cs; 964 json_t *cs;
965 965
966 cs = json_pack ("{s:o}", 966 cs = GNUNET_JSON_PACK (
967 "uuid", 967 GNUNET_JSON_pack_data_auto ("uuid",
968 GNUNET_JSON_from_data_auto (&c->ci.uuid)); 968 &c->ci.uuid));
969 GNUNET_assert (NULL != cs);
970 GNUNET_assert (0 == 969 GNUNET_assert (0 ==
971 json_array_append_new (c_arr, 970 json_array_append_new (c_arr,
972 cs)); 971 cs));
973 } 972 }
974 dps = json_pack ("{s:o, s:o, s:o}", 973 dps = GNUNET_JSON_PACK (
975 "emk", 974 GNUNET_JSON_pack_data_auto ("emk",
976 GNUNET_JSON_from_data_auto (&dp->emk), 975 &dp->emk),
977 "salt", 976 GNUNET_JSON_pack_data_auto ("salt",
978 GNUNET_JSON_from_data_auto (&dp->salt), 977 &dp->salt),
979 "challenges", 978 GNUNET_JSON_pack_array_steal ("challenges",
980 c_arr); 979 c_arr));
981 GNUNET_assert (NULL != dps);
982 GNUNET_assert (0 == 980 GNUNET_assert (0 ==
983 json_array_append_new (dps_arr, 981 json_array_append_new (dps_arr,
984 dps)); 982 dps));
@@ -990,53 +988,53 @@ ANASTASIS_recovery_serialize (const struct ANASTASIS_Recovery *r)
990 const struct ANASTASIS_Challenge *c = &r->cs[i]; 988 const struct ANASTASIS_Challenge *c = &r->cs[i];
991 json_t *cs; 989 json_t *cs;
992 990
993 cs = json_pack ("{s:o,s:o,s:o,s:o,s:o?," 991 cs = GNUNET_JSON_PACK (
994 " s:s,s:s,s:s,s:b}", 992 GNUNET_JSON_pack_data_auto ("uuid",
995 "uuid", 993 &c->ci.uuid),
996 GNUNET_JSON_from_data_auto (&c->ci.uuid), 994 GNUNET_JSON_pack_data_auto ("truth_key",
997 "truth_key", 995 &c->truth_key),
998 GNUNET_JSON_from_data_auto (&c->truth_key), 996 GNUNET_JSON_pack_data_auto ("salt",
999 "salt", 997 &c->salt),
1000 GNUNET_JSON_from_data_auto (&c->salt), 998 GNUNET_JSON_pack_data_auto ("provider_salt",
1001 "provider_salt", 999 &c->provider_salt),
1002 GNUNET_JSON_from_data_auto (&c->provider_salt), 1000 GNUNET_JSON_pack_allow_null (
1003 "key_share", 1001 GNUNET_JSON_pack_data_varsize ("key_share",
1004 c->ci.solved 1002 c->ci.solved
1005 ? GNUNET_JSON_from_data_auto (&c->key_share) 1003 ? &c->key_share
1006 : NULL, 1004 : NULL,
1007 "url", 1005 sizeof (c->key_share))),
1008 c->url, 1006 GNUNET_JSON_pack_string ("url",
1009 "type", 1007 c->url),
1010 c->type, 1008 GNUNET_JSON_pack_string ("type",
1011 "instructions", 1009 c->type),
1012 c->instructions, 1010 GNUNET_JSON_pack_string ("instructions",
1013 "solved", 1011 c->instructions),
1014 c->ci.solved); 1012 GNUNET_JSON_pack_bool ("solved",
1015 GNUNET_assert (NULL != cs); 1013 c->ci.solved));
1016 GNUNET_assert (0 == 1014 GNUNET_assert (0 ==
1017 json_array_append_new (cs_arr, 1015 json_array_append_new (cs_arr,
1018 cs)); 1016 cs));
1019 } 1017 }
1020 1018
1021 return json_pack ("{s:o, s:o, s:o, s:I, s:O, " 1019 return GNUNET_JSON_PACK (
1022 " s:s, s:s?, s:o}", 1020 GNUNET_JSON_pack_data_auto ("id",
1023 "id", 1021 &r->id),
1024 GNUNET_JSON_from_data_auto (&r->id), 1022 GNUNET_JSON_pack_array_steal ("dps",
1025 "dps", 1023 dps_arr),
1026 dps_arr, 1024 GNUNET_JSON_pack_array_steal ("cs",
1027 "cs", 1025 cs_arr),
1028 cs_arr, 1026 GNUNET_JSON_pack_uint64 ("version",
1029 "version", 1027 r->ri.version),
1030 (json_int_t) r->ri.version, 1028 GNUNET_JSON_pack_object_incref ("id_data",
1031 "id_data", 1029 (json_t *) r->id_data),
1032 r->id_data, 1030 GNUNET_JSON_pack_string ("provider_url",
1033 "provider_url", 1031 r->provider_url),
1034 r->provider_url, 1032 GNUNET_JSON_pack_allow_null (
1035 "secret_name", 1033 GNUNET_JSON_pack_string ("secret_name",
1036 r->secret_name, 1034 r->secret_name)),
1037 "core_secret", 1035 GNUNET_JSON_pack_data_varsize ("core_secret",
1038 GNUNET_JSON_from_data (r->enc_core_secret, 1036 r->enc_core_secret,
1039 r->enc_core_secret_size)); 1037 r->enc_core_secret_size));
1040} 1038}
1041 1039
1042 1040