aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-01-19 13:54:03 +0100
committerChristian Grothoff <christian@grothoff.org>2022-01-19 13:54:03 +0100
commit18c53ce9ac45efbf6bcb53995eb5d10a357c5846 (patch)
treef117b89a82a664988291ed21387c0bf6dae50516
parent5694afc25e4363c15756fe6c529c441750870cff (diff)
downloadanastasis-18c53ce9ac45efbf6bcb53995eb5d10a357c5846.tar.gz
anastasis-18c53ce9ac45efbf6bcb53995eb5d10a357c5846.zip
-upload encrypted meta data during backup
-rw-r--r--src/lib/anastasis_backup.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/anastasis_backup.c b/src/lib/anastasis_backup.c
index f5b91fb..20c77e4 100644
--- a/src/lib/anastasis_backup.c
+++ b/src/lib/anastasis_backup.c
@@ -895,6 +895,8 @@ ANASTASIS_secret_share (struct GNUNET_CURL_Context *ctx,
895 void *recovery_data; 895 void *recovery_data;
896 size_t recovery_data_size; 896 size_t recovery_data_size;
897 struct ANASTASIS_CRYPTO_AccountPrivateKeyP anastasis_priv; 897 struct ANASTASIS_CRYPTO_AccountPrivateKeyP anastasis_priv;
898 size_t enc_meta_size = 0;
899 void *enc_meta = NULL;
898 900
899 pss->ss = ss; 901 pss->ss = ss;
900 pss->anastasis_url = GNUNET_strdup (providers[l].provider_url); 902 pss->anastasis_url = GNUNET_strdup (providers[l].provider_url);
@@ -903,6 +905,12 @@ ANASTASIS_secret_share (struct GNUNET_CURL_Context *ctx,
903 ANASTASIS_CRYPTO_user_identifier_derive (id_data, 905 ANASTASIS_CRYPTO_user_identifier_derive (id_data,
904 &pss->server_salt, 906 &pss->server_salt,
905 &pss->id); 907 &pss->id);
908 if (NULL != secret_name)
909 ANASTASIS_CRYPTO_recovery_metadata_encrypt (&pss->id,
910 secret_name,
911 strlen (secret_name),
912 &enc_meta,
913 &enc_meta_size);
906 ANASTASIS_CRYPTO_account_private_key_derive (&pss->id, 914 ANASTASIS_CRYPTO_account_private_key_derive (&pss->id,
907 &anastasis_priv); 915 &anastasis_priv);
908 ANASTASIS_CRYPTO_recovery_document_encrypt (&pss->id, 916 ANASTASIS_CRYPTO_recovery_document_encrypt (&pss->id,
@@ -919,7 +927,8 @@ ANASTASIS_secret_share (struct GNUNET_CURL_Context *ctx,
919 &anastasis_priv, 927 &anastasis_priv,
920 recovery_data, 928 recovery_data,
921 recovery_data_size, 929 recovery_data_size,
922 NULL, 0, /* FIXME: meta-data! */ 930 enc_meta,
931 enc_meta_size,
923 payment_years_requested, 932 payment_years_requested,
924 (! GNUNET_is_zero (&pss->payment_secret)) 933 (! GNUNET_is_zero (&pss->payment_secret))
925 ? &pss->payment_secret 934 ? &pss->payment_secret
@@ -928,6 +937,7 @@ ANASTASIS_secret_share (struct GNUNET_CURL_Context *ctx,
928 &policy_store_cb, 937 &policy_store_cb,
929 pss); 938 pss);
930 GNUNET_free (recovery_data); 939 GNUNET_free (recovery_data);
940 GNUNET_free (enc_meta);
931 if (NULL == pss->pso) 941 if (NULL == pss->pso)
932 { 942 {
933 GNUNET_break (0); 943 GNUNET_break (0);