aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authort3sserakt <t3ss@posteo.de>2023-10-27 11:30:47 +0200
committert3sserakt <t3ss@posteo.de>2023-10-27 11:30:47 +0200
commitaa9bebd0ea357b84551c51ad3579bea3f7a3a662 (patch)
treec7dea003c838cd1a783256b166121f0546a4a9fd
parent8093c8edbe49c93e54afb855dab66a25d920c657 (diff)
downloadgnunet-aa9bebd0ea357b84551c51ad3579bea3f7a3a662.tar.gz
gnunet-aa9bebd0ea357b84551c51ad3579bea3f7a3a662.zip
TNG: Fixed bug in handling hello to start validation.
-rw-r--r--src/service/transport/gnunet-service-transport.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/service/transport/gnunet-service-transport.c b/src/service/transport/gnunet-service-transport.c
index a1848fbb1..bb11da1cc 100644
--- a/src/service/transport/gnunet-service-transport.c
+++ b/src/service/transport/gnunet-service-transport.c
@@ -8655,6 +8655,7 @@ handle_hello_for_incoming (void *cls,
8655 const char *emsg) 8655 const char *emsg)
8656{ 8656{
8657 struct GNUNET_HELLO_Builder *builder; 8657 struct GNUNET_HELLO_Builder *builder;
8658 struct GNUNET_PeerIdentity *pid;
8658 8659
8659 if (NULL != emsg) 8660 if (NULL != emsg)
8660 { 8661 {
@@ -8665,11 +8666,14 @@ handle_hello_for_incoming (void *cls,
8665 } 8666 }
8666 if (0 == GNUNET_memcmp (peer, &GST_my_identity)) 8667 if (0 == GNUNET_memcmp (peer, &GST_my_identity))
8667 return; 8668 return;
8668 builder = GNUNET_HELLO_builder_new (peer); 8669 builder = GNUNET_HELLO_builder_from_msg (hello);
8670 pid = GNUNET_new (struct GNUNET_PeerIdentity);
8669 GNUNET_HELLO_builder_iterate (builder, 8671 GNUNET_HELLO_builder_iterate (builder,
8670 (struct GNUNET_PeerIdentity *) peer, 8672 (struct GNUNET_PeerIdentity *) peer,
8671 hello_for_incoming_cb, 8673 hello_for_incoming_cb,
8672 (struct GNUNET_PeerIdentity *) peer); 8674 (struct GNUNET_PeerIdentity *) peer);
8675 GNUNET_free (pid);
8676 GNUNET_HELLO_builder_free (builder);
8673} 8677}
8674 8678
8675 8679
@@ -11289,6 +11293,7 @@ handle_hello_for_client (void *cls,
11289{ 11293{
11290 (void) cls; 11294 (void) cls;
11291 struct GNUNET_HELLO_Builder *builder; 11295 struct GNUNET_HELLO_Builder *builder;
11296 struct GNUNET_PeerIdentity *pid;
11292 11297
11293 if (NULL != emsg) 11298 if (NULL != emsg)
11294 { 11299 {
@@ -11299,11 +11304,14 @@ handle_hello_for_client (void *cls,
11299 } 11304 }
11300 if (0 == GNUNET_memcmp (peer, &GST_my_identity)) 11305 if (0 == GNUNET_memcmp (peer, &GST_my_identity))
11301 return; 11306 return;
11302 builder = GNUNET_HELLO_builder_new (peer); 11307 builder = GNUNET_HELLO_builder_from_msg (hello);
11308 pid = GNUNET_new (struct GNUNET_PeerIdentity);
11303 GNUNET_HELLO_builder_iterate (builder, 11309 GNUNET_HELLO_builder_iterate (builder,
11304 (struct GNUNET_PeerIdentity *) peer, 11310 (struct GNUNET_PeerIdentity *) peer,
11305 hello_for_client_cb, 11311 hello_for_client_cb,
11306 NULL); 11312 NULL);
11313 GNUNET_free (pid);
11314 GNUNET_HELLO_builder_free (builder);
11307} 11315}
11308 11316
11309 11317