aboutsummaryrefslogtreecommitdiff
path: root/src/transport
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-04-11 21:43:28 +0200
committerChristian Grothoff <christian@grothoff.org>2020-04-11 21:43:34 +0200
commit90ff9edfa9c5fcfa3a36d1653ff105e89b888e21 (patch)
tree780a2071f5072c8e8e044db741eb295c3f3ea2a7 /src/transport
parent3bcfe59f1ce533246bda271f00b3ee957cae304d (diff)
downloadgnunet-90ff9edfa9c5fcfa3a36d1653ff105e89b888e21.tar.gz
gnunet-90ff9edfa9c5fcfa3a36d1653ff105e89b888e21.zip
fixing #6149
Diffstat (limited to 'src/transport')
-rw-r--r--src/transport/gnunet-communicator-tcp.c6
-rw-r--r--src/transport/gnunet-communicator-udp.c2
-rw-r--r--src/transport/gnunet-service-tng.c3
-rw-r--r--src/transport/gnunet-service-transport.c27
-rw-r--r--src/transport/gnunet-service-transport.h2
-rw-r--r--src/transport/gnunet-service-transport_neighbours.c2
-rw-r--r--src/transport/gnunet-service-transport_validation.c2
7 files changed, 20 insertions, 24 deletions
diff --git a/src/transport/gnunet-communicator-tcp.c b/src/transport/gnunet-communicator-tcp.c
index 2786ba184..82ee309a5 100644
--- a/src/transport/gnunet-communicator-tcp.c
+++ b/src/transport/gnunet-communicator-tcp.c
@@ -1270,8 +1270,7 @@ inject_rekey (struct Queue *queue)
1270 1270
1271 GNUNET_assert (0 == queue->pwrite_off); 1271 GNUNET_assert (0 == queue->pwrite_off);
1272 memset (&rekey, 0, sizeof(rekey)); 1272 memset (&rekey, 0, sizeof(rekey));
1273 GNUNET_assert (GNUNET_OK == 1273 GNUNET_CRYPTO_ecdhe_key_create (&queue->ephemeral);
1274 GNUNET_CRYPTO_ecdhe_key_create2 (&queue->ephemeral));
1275 rekey.header.type = ntohs (GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_REKEY); 1274 rekey.header.type = ntohs (GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_REKEY);
1276 rekey.header.size = ntohs (sizeof(rekey)); 1275 rekey.header.size = ntohs (sizeof(rekey));
1277 GNUNET_CRYPTO_ecdhe_key_get_public (&queue->ephemeral, &rekey.ephemeral); 1276 GNUNET_CRYPTO_ecdhe_key_get_public (&queue->ephemeral, &rekey.ephemeral);
@@ -1610,8 +1609,7 @@ start_initial_kx_out (struct Queue *queue)
1610{ 1609{
1611 struct GNUNET_CRYPTO_EcdhePublicKey epub; 1610 struct GNUNET_CRYPTO_EcdhePublicKey epub;
1612 1611
1613 GNUNET_assert (GNUNET_OK == 1612 GNUNET_CRYPTO_ecdhe_key_create (&queue->ephemeral);
1614 GNUNET_CRYPTO_ecdhe_key_create2 (&queue->ephemeral));
1615 GNUNET_CRYPTO_ecdhe_key_get_public (&queue->ephemeral, &epub); 1613 GNUNET_CRYPTO_ecdhe_key_get_public (&queue->ephemeral, &epub);
1616 setup_out_cipher (queue); 1614 setup_out_cipher (queue);
1617 transmit_kx (queue, &epub); 1615 transmit_kx (queue, &epub);
diff --git a/src/transport/gnunet-communicator-udp.c b/src/transport/gnunet-communicator-udp.c
index 1542a7702..e0b14f669 100644
--- a/src/transport/gnunet-communicator-udp.c
+++ b/src/transport/gnunet-communicator-udp.c
@@ -1918,7 +1918,7 @@ mq_send (struct GNUNET_MQ_Handle *mq,
1918 struct SharedSecret *ss; 1918 struct SharedSecret *ss;
1919 1919
1920 /* setup key material */ 1920 /* setup key material */
1921 GNUNET_assert (GNUNET_OK == GNUNET_CRYPTO_ecdhe_key_create2 (&epriv)); 1921 GNUNET_CRYPTO_ecdhe_key_create (&epriv);
1922 1922
1923 ss = setup_shared_secret_enc (&epriv, receiver); 1923 ss = setup_shared_secret_enc (&epriv, receiver);
1924 setup_cipher (&ss->master, 0, &out_cipher); 1924 setup_cipher (&ss->master, 0, &out_cipher);
diff --git a/src/transport/gnunet-service-tng.c b/src/transport/gnunet-service-tng.c
index 75763fd9d..5f3178939 100644
--- a/src/transport/gnunet-service-tng.c
+++ b/src/transport/gnunet-service-tng.c
@@ -4130,8 +4130,7 @@ update_ephemeral (struct DistanceVector *dv)
4130 dv->monotime = GNUNET_TIME_absolute_get_monotonic (GST_cfg); 4130 dv->monotime = GNUNET_TIME_absolute_get_monotonic (GST_cfg);
4131 dv->ephemeral_validity = 4131 dv->ephemeral_validity =
4132 GNUNET_TIME_absolute_add (dv->monotime, EPHEMERAL_VALIDITY); 4132 GNUNET_TIME_absolute_add (dv->monotime, EPHEMERAL_VALIDITY);
4133 GNUNET_assert (GNUNET_OK == 4133 GNUNET_CRYPTO_ecdhe_key_create (&dv->private_key);
4134 GNUNET_CRYPTO_ecdhe_key_create2 (&dv->private_key));
4135 GNUNET_CRYPTO_ecdhe_key_get_public (&dv->private_key, &dv->ephemeral_key); 4134 GNUNET_CRYPTO_ecdhe_key_get_public (&dv->private_key, &dv->ephemeral_key);
4136 ec.purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_EPHEMERAL); 4135 ec.purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_EPHEMERAL);
4137 ec.purpose.size = htonl (sizeof(ec)); 4136 ec.purpose.size = htonl (sizeof(ec));
diff --git a/src/transport/gnunet-service-transport.c b/src/transport/gnunet-service-transport.c
index 927a8753c..93fa031f4 100644
--- a/src/transport/gnunet-service-transport.c
+++ b/src/transport/gnunet-service-transport.c
@@ -384,7 +384,7 @@ struct GNUNET_PEERINFO_Handle *GST_peerinfo;
384/** 384/**
385 * Our private key. 385 * Our private key.
386 */ 386 */
387struct GNUNET_CRYPTO_EddsaPrivateKey *GST_my_private_key; 387struct GNUNET_CRYPTO_EddsaPrivateKey GST_my_private_key;
388 388
389/** 389/**
390 * ATS scheduling handle. 390 * ATS scheduling handle.
@@ -2183,11 +2183,6 @@ shutdown_task (void *cls)
2183 GNUNET_STATISTICS_destroy (GST_stats, GNUNET_NO); 2183 GNUNET_STATISTICS_destroy (GST_stats, GNUNET_NO);
2184 GST_stats = NULL; 2184 GST_stats = NULL;
2185 } 2185 }
2186 if (NULL != GST_my_private_key)
2187 {
2188 GNUNET_free (GST_my_private_key);
2189 GST_my_private_key = NULL;
2190 }
2191} 2186}
2192 2187
2193 2188
@@ -2611,7 +2606,6 @@ run (void *cls,
2611 struct GNUNET_SERVICE_Handle *service) 2606 struct GNUNET_SERVICE_Handle *service)
2612{ 2607{
2613 char *keyfile; 2608 char *keyfile;
2614 struct GNUNET_CRYPTO_EddsaPrivateKey *pk;
2615 long long unsigned int max_fd_cfg; 2609 long long unsigned int max_fd_cfg;
2616 int max_fd_rlimit; 2610 int max_fd_rlimit;
2617 int max_fd; 2611 int max_fd;
@@ -2638,17 +2632,22 @@ run (void *cls,
2638 { 2632 {
2639 hello_expiration = GNUNET_CONSTANTS_HELLO_ADDRESS_EXPIRATION; 2633 hello_expiration = GNUNET_CONSTANTS_HELLO_ADDRESS_EXPIRATION;
2640 } 2634 }
2641 pk = GNUNET_CRYPTO_eddsa_key_create_from_file (keyfile); 2635 if (GNUNET_SYSERR ==
2636 GNUNET_CRYPTO_eddsa_key_from_file (keyfile,
2637 GNUNET_YES,
2638 &GST_my_private_key))
2639 {
2640 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
2641 "Failed to setup peer's private key\n");
2642 GNUNET_SCHEDULER_shutdown ();
2643 GNUNET_free (keyfile);
2644 return;
2645 }
2642 GNUNET_free (keyfile); 2646 GNUNET_free (keyfile);
2643 GNUNET_assert (NULL != pk);
2644 GST_my_private_key = pk;
2645
2646 GST_stats = GNUNET_STATISTICS_create ("transport", GST_cfg); 2647 GST_stats = GNUNET_STATISTICS_create ("transport", GST_cfg);
2647 GST_peerinfo = GNUNET_PEERINFO_connect (GST_cfg); 2648 GST_peerinfo = GNUNET_PEERINFO_connect (GST_cfg);
2648 GNUNET_CRYPTO_eddsa_key_get_public (GST_my_private_key, 2649 GNUNET_CRYPTO_eddsa_key_get_public (&GST_my_private_key,
2649 &GST_my_identity.public_key); 2650 &GST_my_identity.public_key);
2650 GNUNET_assert (NULL != GST_my_private_key);
2651
2652 GNUNET_log (GNUNET_ERROR_TYPE_INFO, 2651 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
2653 "My identity is `%s'\n", 2652 "My identity is `%s'\n",
2654 GNUNET_i2s_full (&GST_my_identity)); 2653 GNUNET_i2s_full (&GST_my_identity));
diff --git a/src/transport/gnunet-service-transport.h b/src/transport/gnunet-service-transport.h
index acb1de395..ea9e71e4b 100644
--- a/src/transport/gnunet-service-transport.h
+++ b/src/transport/gnunet-service-transport.h
@@ -56,7 +56,7 @@ extern struct GNUNET_PEERINFO_Handle *GST_peerinfo;
56/** 56/**
57 * Our private key. 57 * Our private key.
58 */ 58 */
59extern struct GNUNET_CRYPTO_EddsaPrivateKey *GST_my_private_key; 59extern struct GNUNET_CRYPTO_EddsaPrivateKey GST_my_private_key;
60 60
61/** 61/**
62 * ATS handle. 62 * ATS handle.
diff --git a/src/transport/gnunet-service-transport_neighbours.c b/src/transport/gnunet-service-transport_neighbours.c
index ec64ca607..ca1b4d1da 100644
--- a/src/transport/gnunet-service-transport_neighbours.c
+++ b/src/transport/gnunet-service-transport_neighbours.c
@@ -1045,7 +1045,7 @@ send_disconnect (struct NeighbourMapEntry *n)
1045 GNUNET_TIME_absolute_hton (GNUNET_TIME_absolute_get ()); 1045 GNUNET_TIME_absolute_hton (GNUNET_TIME_absolute_get ());
1046 disconnect_msg.public_key = GST_my_identity.public_key; 1046 disconnect_msg.public_key = GST_my_identity.public_key;
1047 GNUNET_assert (GNUNET_OK == 1047 GNUNET_assert (GNUNET_OK ==
1048 GNUNET_CRYPTO_eddsa_sign_ (GST_my_private_key, 1048 GNUNET_CRYPTO_eddsa_sign_ (&GST_my_private_key,
1049 &disconnect_msg.purpose, 1049 &disconnect_msg.purpose,
1050 &disconnect_msg.signature)); 1050 &disconnect_msg.signature));
1051 1051
diff --git a/src/transport/gnunet-service-transport_validation.c b/src/transport/gnunet-service-transport_validation.c
index 610c45a21..e5d670889 100644
--- a/src/transport/gnunet-service-transport_validation.c
+++ b/src/transport/gnunet-service-transport_validation.c
@@ -1271,7 +1271,7 @@ GST_validation_handle_ping (const struct GNUNET_PeerIdentity *sender,
1271 *sig_cache_exp = GNUNET_TIME_relative_to_absolute (PONG_SIGNATURE_LIFETIME); 1271 *sig_cache_exp = GNUNET_TIME_relative_to_absolute (PONG_SIGNATURE_LIFETIME);
1272 pong->expiration = GNUNET_TIME_absolute_hton (*sig_cache_exp); 1272 pong->expiration = GNUNET_TIME_absolute_hton (*sig_cache_exp);
1273 if (GNUNET_OK != 1273 if (GNUNET_OK !=
1274 GNUNET_CRYPTO_eddsa_sign_ (GST_my_private_key, 1274 GNUNET_CRYPTO_eddsa_sign_ (&GST_my_private_key,
1275 &pong->purpose, 1275 &pong->purpose,
1276 sig_cache)) 1276 sig_cache))
1277 { 1277 {