diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-04-08 16:56:33 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-04-08 16:56:33 +0200 |
commit | 11ae9f030e13d07c505a4d5477d592ddb4b3acf6 (patch) | |
tree | 69ce120a7c60c84d0d074bab8fe2cd26e77300dc /src/transport/gnunet-service-tng.c | |
parent | 2348fe4ae8ffe93765d5c56c3cc5d4490eae946d (diff) | |
download | gnunet-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.c | 74 |
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; |