aboutsummaryrefslogtreecommitdiff
path: root/src/transport/gnunet-service-tng.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-04-08 16:56:33 +0200
committerChristian Grothoff <christian@grothoff.org>2020-04-08 16:56:33 +0200
commit11ae9f030e13d07c505a4d5477d592ddb4b3acf6 (patch)
tree69ce120a7c60c84d0d074bab8fe2cd26e77300dc /src/transport/gnunet-service-tng.c
parent2348fe4ae8ffe93765d5c56c3cc5d4490eae946d (diff)
downloadgnunet-11ae9f030e13d07c505a4d5477d592ddb4b3acf6.tar.gz
gnunet-11ae9f030e13d07c505a4d5477d592ddb4b3acf6.zip
fix sign api for to address #6164
Diffstat (limited to 'src/transport/gnunet-service-tng.c')
-rw-r--r--src/transport/gnunet-service-tng.c74
1 files changed, 39 insertions, 35 deletions
diff --git a/src/transport/gnunet-service-tng.c b/src/transport/gnunet-service-tng.c
index 8d68d90a6..75763fd9d 100644
--- a/src/transport/gnunet-service-tng.c
+++ b/src/transport/gnunet-service-tng.c
@@ -4137,9 +4137,9 @@ update_ephemeral (struct DistanceVector *dv)
4137 ec.purpose.size = htonl (sizeof(ec)); 4137 ec.purpose.size = htonl (sizeof(ec));
4138 ec.target = dv->target; 4138 ec.target = dv->target;
4139 ec.ephemeral_key = dv->ephemeral_key; 4139 ec.ephemeral_key = dv->ephemeral_key;
4140 GNUNET_assert (GNUNET_OK == GNUNET_CRYPTO_eddsa_sign (GST_my_private_key, 4140 GNUNET_CRYPTO_eddsa_sign (GST_my_private_key,
4141 &ec.purpose, 4141 &ec,
4142 &dv->sender_sig)); 4142 &dv->sender_sig);
4143} 4143}
4144 4144
4145 4145
@@ -6391,17 +6391,17 @@ forward_dv_learn (const struct GNUNET_PeerIdentity *next_hop,
6391 GNUNET_memcpy (dhops, hops, sizeof(struct DVPathEntryP) * nhops); 6391 GNUNET_memcpy (dhops, hops, sizeof(struct DVPathEntryP) * nhops);
6392 dhops[nhops].hop = GST_my_identity; 6392 dhops[nhops].hop = GST_my_identity;
6393 { 6393 {
6394 struct DvHopPS dhp = { .purpose.purpose = 6394 struct DvHopPS dhp = {
6395 htonl (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DV_HOP), 6395 .purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DV_HOP),
6396 .purpose.size = htonl (sizeof(dhp)), 6396 .purpose.size = htonl (sizeof(dhp)),
6397 .pred = dhops[nhops - 1].hop, 6397 .pred = dhops[nhops - 1].hop,
6398 .succ = *next_hop, 6398 .succ = *next_hop,
6399 .challenge = msg->challenge }; 6399 .challenge = msg->challenge
6400 };
6400 6401
6401 GNUNET_assert (GNUNET_OK == 6402 GNUNET_CRYPTO_eddsa_sign (GST_my_private_key,
6402 GNUNET_CRYPTO_eddsa_sign (GST_my_private_key, 6403 &dhp,
6403 &dhp.purpose, 6404 &dhops[nhops].hop_sig);
6404 &dhops[nhops].hop_sig));
6405 } 6405 }
6406 route_control_message_without_fc (next_hop, 6406 route_control_message_without_fc (next_hop,
6407 &fwd->header, 6407 &fwd->header,
@@ -6434,7 +6434,7 @@ validate_dv_initiator_signature (
6434 if ( 6434 if (
6435 GNUNET_OK != 6435 GNUNET_OK !=
6436 GNUNET_CRYPTO_eddsa_verify (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DV_INITIATOR, 6436 GNUNET_CRYPTO_eddsa_verify (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DV_INITIATOR,
6437 &ip.purpose, 6437 &ip,
6438 init_sig, 6438 init_sig,
6439 &init->public_key)) 6439 &init->public_key))
6440 { 6440 {
@@ -6770,7 +6770,7 @@ handle_dv_learn (void *cls, const struct TransportDVLearnMessage *dvl)
6770 6770
6771 if (GNUNET_OK != 6771 if (GNUNET_OK !=
6772 GNUNET_CRYPTO_eddsa_verify (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DV_HOP, 6772 GNUNET_CRYPTO_eddsa_verify (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DV_HOP,
6773 &dhp.purpose, 6773 &dhp,
6774 &hops[i].hop_sig, 6774 &hops[i].hop_sig,
6775 &hops[i].hop.public_key)) 6775 &hops[i].hop.public_key))
6776 { 6776 {
@@ -7422,7 +7422,7 @@ handle_dv_box (void *cls, const struct TransportDVBoxMessage *dvb)
7422 GNUNET_OK != 7422 GNUNET_OK !=
7423 GNUNET_CRYPTO_eddsa_verify ( 7423 GNUNET_CRYPTO_eddsa_verify (
7424 GNUNET_SIGNATURE_PURPOSE_TRANSPORT_EPHEMERAL, 7424 GNUNET_SIGNATURE_PURPOSE_TRANSPORT_EPHEMERAL,
7425 &ec.purpose, 7425 &ec,
7426 &ppay.sender_sig, 7426 &ppay.sender_sig,
7427 &ppay.sender.public_key)) 7427 &ppay.sender.public_key))
7428 { 7428 {
@@ -7728,15 +7728,16 @@ handle_validation_challenge (
7728 tvr.validity_duration = validity_duration; 7728 tvr.validity_duration = validity_duration;
7729 { 7729 {
7730 /* create signature */ 7730 /* create signature */
7731 struct TransportValidationPS tvp = 7731 struct TransportValidationPS tvp = {
7732 { .purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_CHALLENGE), 7732 .purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_CHALLENGE),
7733 .purpose.size = htonl (sizeof(tvp)), 7733 .purpose.size = htonl (sizeof(tvp)),
7734 .validity_duration = validity_duration, 7734 .validity_duration = validity_duration,
7735 .challenge = tvc->challenge }; 7735 .challenge = tvc->challenge
7736 };
7736 7737
7737 GNUNET_assert (GNUNET_OK == GNUNET_CRYPTO_eddsa_sign (GST_my_private_key, 7738 GNUNET_CRYPTO_eddsa_sign (GST_my_private_key,
7738 &tvp.purpose, 7739 &tvp,
7739 &tvr.signature)); 7740 &tvr.signature);
7740 } 7741 }
7741 route_control_message_without_fc (&cmc->im.sender, 7742 route_control_message_without_fc (&cmc->im.sender,
7742 &tvr.header, 7743 &tvr.header,
@@ -7921,16 +7922,17 @@ handle_validation_response (
7921 7922
7922 { 7923 {
7923 /* check signature */ 7924 /* check signature */
7924 struct TransportValidationPS tvp = 7925 struct TransportValidationPS tvp = {
7925 { .purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_CHALLENGE), 7926 .purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_CHALLENGE),
7926 .purpose.size = htonl (sizeof(tvp)), 7927 .purpose.size = htonl (sizeof(tvp)),
7927 .validity_duration = tvr->validity_duration, 7928 .validity_duration = tvr->validity_duration,
7928 .challenge = tvr->challenge }; 7929 .challenge = tvr->challenge
7930 };
7929 7931
7930 if ( 7932 if (
7931 GNUNET_OK != 7933 GNUNET_OK !=
7932 GNUNET_CRYPTO_eddsa_verify (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_CHALLENGE, 7934 GNUNET_CRYPTO_eddsa_verify (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_CHALLENGE,
7933 &tvp.purpose, 7935 &tvp,
7934 &tvr->signature, 7936 &tvr->signature,
7935 &cmc->im.sender.public_key)) 7937 &cmc->im.sender.public_key))
7936 { 7938 {
@@ -9393,15 +9395,17 @@ start_dv_learn (void *cls)
9393 dvl.monotonic_time = 9395 dvl.monotonic_time =
9394 GNUNET_TIME_absolute_hton (GNUNET_TIME_absolute_get_monotonic (GST_cfg)); 9396 GNUNET_TIME_absolute_hton (GNUNET_TIME_absolute_get_monotonic (GST_cfg));
9395 { 9397 {
9396 struct DvInitPS dvip = { .purpose.purpose = htonl ( 9398 struct DvInitPS dvip = {
9397 GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DV_INITIATOR), 9399 .purpose.purpose = htonl (
9398 .purpose.size = htonl (sizeof(dvip)), 9400 GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DV_INITIATOR),
9399 .monotonic_time = dvl.monotonic_time, 9401 .purpose.size = htonl (sizeof(dvip)),
9400 .challenge = lle->challenge }; 9402 .monotonic_time = dvl.monotonic_time,
9401 9403 .challenge = lle->challenge
9402 GNUNET_assert (GNUNET_OK == GNUNET_CRYPTO_eddsa_sign (GST_my_private_key, 9404 };
9403 &dvip.purpose, 9405
9404 &dvl.init_sig)); 9406 GNUNET_CRYPTO_eddsa_sign (GST_my_private_key,
9407 &dvip,
9408 &dvl.init_sig);
9405 } 9409 }
9406 dvl.initiator = GST_my_identity; 9410 dvl.initiator = GST_my_identity;
9407 dvl.challenge = lle->challenge; 9411 dvl.challenge = lle->challenge;