From 90ff9edfa9c5fcfa3a36d1653ff105e89b888e21 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sat, 11 Apr 2020 21:43:28 +0200 Subject: fixing #6149 --- src/fs/gnunet-service-fs.c | 19 ++++++++++++++----- src/fs/test_fs_namespace.c | 16 +++++++--------- src/fs/test_fs_namespace_list_updateable.c | 21 ++++++++++----------- src/fs/test_fs_uri.c | 14 +++++++------- 4 files changed, 38 insertions(+), 32 deletions(-) (limited to 'src/fs') diff --git a/src/fs/gnunet-service-fs.c b/src/fs/gnunet-service-fs.c index 29e6de9d5..cf9069918 100644 --- a/src/fs/gnunet-service-fs.c +++ b/src/fs/gnunet-service-fs.c @@ -315,7 +315,7 @@ static struct GNUNET_CONFIGURATION_Handle *block_cfg; /** * Private key of this peer. Used to sign LOC URI requests. */ -static struct GNUNET_CRYPTO_EddsaPrivateKey *pk; +static struct GNUNET_CRYPTO_EddsaPrivateKey pk; /** * ID of our task that we use to age the cover counters. @@ -939,7 +939,7 @@ handle_client_loc_sign (void *cls, base.data.chk.chk = msg->chk; base.data.chk.file_length = GNUNET_ntohll (msg->file_length); loc = GNUNET_FS_uri_loc_create (&base, - pk, + &pk, GNUNET_TIME_absolute_ntoh ( msg->expiration_time)); env = GNUNET_MQ_msg (resp, @@ -1283,10 +1283,19 @@ main_init (const struct GNUNET_CONFIGURATION_Handle *c) GNUNET_SCHEDULER_shutdown (); return GNUNET_SYSERR; } - pk = GNUNET_CRYPTO_eddsa_key_create_from_file (keyfile); + if (GNUNET_SYSERR == + GNUNET_CRYPTO_eddsa_key_from_file (keyfile, + GNUNET_YES, + &pk)) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Failed to setup peer's private key\n"); + GNUNET_SCHEDULER_shutdown (); + GNUNET_free (keyfile); + return GNUNET_SYSERR; + } GNUNET_free (keyfile); - GNUNET_assert (NULL != pk); - GNUNET_CRYPTO_eddsa_key_get_public (pk, + GNUNET_CRYPTO_eddsa_key_get_public (&pk, &GSF_my_id.public_key); GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, diff --git a/src/fs/test_fs_namespace.c b/src/fs/test_fs_namespace.c index cdcb4d8fd..484884243 100644 --- a/src/fs/test_fs_namespace.c +++ b/src/fs/test_fs_namespace.c @@ -239,7 +239,7 @@ static void adv_cont (void *cls, const struct GNUNET_FS_Uri *uri, const char *emsg) { struct GNUNET_CONTAINER_MetaData *meta; - struct GNUNET_CRYPTO_EcdsaPrivateKey *ns; + struct GNUNET_CRYPTO_EcdsaPrivateKey ns; struct GNUNET_FS_BlockOptions bo; if (NULL != emsg) @@ -249,7 +249,7 @@ adv_cont (void *cls, const struct GNUNET_FS_Uri *uri, const char *emsg) GNUNET_FS_stop (fs); return; } - ns = GNUNET_CRYPTO_ecdsa_key_create (); + GNUNET_CRYPTO_ecdsa_key_create (&ns); meta = GNUNET_CONTAINER_meta_data_create (); sks_expect_uri = GNUNET_FS_uri_dup (uri); bo.content_priority = 1; @@ -257,24 +257,23 @@ adv_cont (void *cls, const struct GNUNET_FS_Uri *uri, const char *emsg) bo.replication_level = 0; bo.expiration_time = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_MINUTES); - GNUNET_CRYPTO_ecdsa_key_get_public (ns, &nsid); - GNUNET_FS_publish_sks (fs, ns, "this", "next", meta, uri, + GNUNET_CRYPTO_ecdsa_key_get_public (&ns, + &nsid); + GNUNET_FS_publish_sks (fs, + &ns, "this", "next", meta, uri, &bo, GNUNET_FS_PUBLISH_OPTION_NONE, &sks_cont, NULL); GNUNET_CONTAINER_meta_data_destroy (meta); - GNUNET_free (ns); } static void -testNamespace () +testNamespace (void) { - struct GNUNET_CRYPTO_EcdsaPrivateKey *ns; struct GNUNET_FS_BlockOptions bo; struct GNUNET_CONTAINER_MetaData *meta; struct GNUNET_FS_Uri *ksk_uri; struct GNUNET_FS_Uri *sks_uri; - ns = GNUNET_CRYPTO_ecdsa_key_create (); meta = GNUNET_CONTAINER_meta_data_create (); ksk_uri = GNUNET_FS_uri_parse ("gnunet://fs/ksk/testnsa", NULL); bo.content_priority = 1; @@ -293,7 +292,6 @@ testNamespace () NULL); GNUNET_FS_uri_destroy (ksk_uri); GNUNET_CONTAINER_meta_data_destroy (meta); - GNUNET_free (ns); } diff --git a/src/fs/test_fs_namespace_list_updateable.c b/src/fs/test_fs_namespace_list_updateable.c index 4311f0110..2132220fb 100644 --- a/src/fs/test_fs_namespace_list_updateable.c +++ b/src/fs/test_fs_namespace_list_updateable.c @@ -33,7 +33,7 @@ static struct GNUNET_FS_Handle *fs; static int err; -static struct GNUNET_CRYPTO_EcdsaPrivateKey *ns; +static struct GNUNET_CRYPTO_EcdsaPrivateKey ns; static struct GNUNET_CONTAINER_MetaData *meta; @@ -58,8 +58,6 @@ do_shutdown () GNUNET_FS_uri_destroy (uri_this); if (uri_next != NULL) GNUNET_FS_uri_destroy (uri_next); - if (ns != NULL) - GNUNET_free (ns); if (meta != NULL) GNUNET_CONTAINER_meta_data_destroy (meta); } @@ -87,7 +85,7 @@ check_this_next (void *cls, const char *last_id, GNUNET_break (0 == strcmp (next_id, "next")); err -= 2; err += 4; - GNUNET_FS_namespace_list_updateable (fs, ns, next_id, &check_next, NULL); + GNUNET_FS_namespace_list_updateable (fs, &ns, next_id, &check_next, NULL); } @@ -96,7 +94,7 @@ sks_cont_next (void *cls, const struct GNUNET_FS_Uri *uri, const char *emsg) { GNUNET_assert (NULL == emsg); err += 2; - GNUNET_FS_namespace_list_updateable (fs, ns, NULL, &check_this_next, NULL); + GNUNET_FS_namespace_list_updateable (fs, &ns, NULL, &check_this_next, NULL); } @@ -117,17 +115,17 @@ sks_cont_this (void *cls, const struct GNUNET_FS_Uri *uri, const char *emsg) { GNUNET_assert (NULL == emsg); err = 1; - GNUNET_FS_namespace_list_updateable (fs, ns, NULL, &check_this, NULL); - GNUNET_FS_publish_sks (fs, ns, "next", "future", meta, uri_next, &bo, + GNUNET_FS_namespace_list_updateable (fs, &ns, NULL, &check_this, NULL); + GNUNET_FS_publish_sks (fs, + &ns, "next", "future", meta, uri_next, &bo, GNUNET_FS_PUBLISH_OPTION_NONE, &sks_cont_next, NULL); } static void -testNamespace () +testNamespace (void) { - ns = GNUNET_CRYPTO_ecdsa_key_create (); - GNUNET_assert (NULL != ns); + GNUNET_CRYPTO_ecdsa_key_create (&ns); bo.content_priority = 1; bo.anonymity_level = 1; bo.replication_level = 0; @@ -145,7 +143,8 @@ testNamespace () ( "gnunet://fs/chk/C282GG70GKK41O4551011DO413KFBVTVMQG1OG30I0K4045N0G41HAPB82G680A02JRVVFO8URVRU2F159011DO41000000022RG820.RNVVVVOOLCLK065B5D04HTNVNSIB2AI022RG8200HSLK1CO1000ATQ98824DMA2032LIMG50CG0K057NVUVG200000H000004400000.43", NULL); - GNUNET_FS_publish_sks (fs, ns, "this", "next", meta, uri_this, &bo, + GNUNET_FS_publish_sks (fs, + &ns, "this", "next", meta, uri_this, &bo, GNUNET_FS_PUBLISH_OPTION_NONE, &sks_cont_this, NULL); } diff --git a/src/fs/test_fs_uri.c b/src/fs/test_fs_uri.c index 2a324af9a..30eafab9a 100644 --- a/src/fs/test_fs_uri.c +++ b/src/fs/test_fs_uri.c @@ -81,7 +81,7 @@ testLocation () struct GNUNET_FS_Uri *uri2; struct GNUNET_FS_Uri *baseURI; char *emsg; - struct GNUNET_CRYPTO_EddsaPrivateKey *pk; + struct GNUNET_CRYPTO_EddsaPrivateKey pk; baseURI = GNUNET_FS_uri_parse @@ -90,11 +90,10 @@ testLocation () &emsg); GNUNET_assert (baseURI != NULL); GNUNET_assert (emsg == NULL); - pk = GNUNET_CRYPTO_eddsa_key_create (); + GNUNET_CRYPTO_eddsa_key_create (&pk); uri = GNUNET_FS_uri_loc_create (baseURI, - pk, + &pk, GNUNET_TIME_absolute_get ()); - GNUNET_free (pk); if (NULL == uri) { GNUNET_break (0); @@ -154,7 +153,7 @@ testNamespace (int i) char *uri; struct GNUNET_FS_Uri *ret; char *emsg; - struct GNUNET_CRYPTO_EcdsaPrivateKey *ph; + struct GNUNET_CRYPTO_EcdsaPrivateKey ph; struct GNUNET_CRYPTO_EcdsaPublicKey id; char buf[1024]; char ubuf[1024]; @@ -187,8 +186,9 @@ testNamespace (int i) GNUNET_assert (0); } GNUNET_free (emsg); - ph = GNUNET_CRYPTO_ecdsa_key_create (); - GNUNET_CRYPTO_ecdsa_key_get_public (ph, &id); + GNUNET_CRYPTO_ecdsa_key_create (&ph); + GNUNET_CRYPTO_ecdsa_key_get_public (&ph, + &id); sret = GNUNET_STRINGS_data_to_string (&id, sizeof(id), ubuf, sizeof(ubuf) - 1); GNUNET_assert (NULL != sret); -- cgit v1.2.3