diff options
Diffstat (limited to 'src/lib/anastasis_recovery.c')
-rw-r--r-- | src/lib/anastasis_recovery.c | 106 |
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 | ||