gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnunet] branch master updated: Transport: Fixed #8820


From: gnunet
Subject: [gnunet] branch master updated: Transport: Fixed #8820
Date: Tue, 14 May 2024 10:28:46 +0200

This is an automated email from the git hooks/post-receive script.

t3sserakt pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new fa89d07da Transport: Fixed #8820
fa89d07da is described below

commit fa89d07dae2ba499b8089ca3144753e36c0f77e9
Author: t3sserakt <t3ss@posteo.de>
AuthorDate: Tue May 14 10:28:17 2024 +0200

    Transport: Fixed #8820
---
 src/service/transport/gnunet-service-transport.c | 26 +++++++++++++-----------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/src/service/transport/gnunet-service-transport.c 
b/src/service/transport/gnunet-service-transport.c
index 5f6c7a03b..7cd04d091 100644
--- a/src/service/transport/gnunet-service-transport.c
+++ b/src/service/transport/gnunet-service-transport.c
@@ -920,7 +920,7 @@ struct TransportValidationResponseMessage
 struct TransportGlobalNattedAddress
 {
   /**
-   * Length of the address following the struct.
+   * Length of the address following the struct in NBO.
    */
   unsigned int address_length;
 
@@ -5949,7 +5949,7 @@ handle_add_address (void *cls,
   ale = create_address_entry (tc,
                         GNUNET_TIME_relative_ntoh (aam->expiration),
                         (enum GNUNET_NetworkType) ntohl (aam->nt),
-                        &aam[1],
+                        (const char *) &aam[1],
                         aam->aid,
                         slen);
   GNUNET_CONTAINER_DLL_insert (tc->details.communicator.addr_head,
@@ -11672,8 +11672,8 @@ contains_address (void *cls,
   struct TransportGlobalNattedAddress *tgna = value;
   char *addr = (char *) &tgna[1];
 
-  if (strlen(tgna_cls->addr) == tgna->address_length
-      && 0 == strncmp (addr, tgna_cls->addr, tgna->address_length))
+  if (strlen(tgna_cls->addr) == ntohl (tgna->address_length)
+      && 0 == strncmp (addr, tgna_cls->addr, ntohl (tgna->address_length)))
   {
     tgna_cls->tgna = tgna;
     return GNUNET_NO;
@@ -11727,18 +11727,20 @@ check_for_global_natted (void *cls,
   GNUNET_HELLO_builder_free (builder);
 
   tgna_cls.addr = get_address_without_port (queue->address);
+  tgna_cls.tgna = NULL;
   address_len_without_port = strlen (tgna_cls.addr);
   GNUNET_CONTAINER_multipeermap_get_multiple (neighbour->natted_addresses,
                                               &neighbour->pid,
                                               &contains_address,
                                               &tgna_cls);
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              " tgna_cls.tgna tgna %p %u %u %u\n",
-              tgna_cls.tgna,
-              neighbour->size_of_global_addresses,
-              tgna_cls.tgna->address_length,
-              neighbour->number_of_addresses);
-  if (0 == tgna_cls.tgna->address_length && GNUNET_YES == 
queue->is_global_natted)
+  if (NULL != tgna_cls.tgna)
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                " tgna_cls.tgna tgna %p %u %u %u\n",
+                tgna_cls.tgna,
+                neighbour->size_of_global_addresses,
+                ntohl (tgna_cls.tgna->address_length),
+                neighbour->number_of_addresses);
+  if (NULL == tgna_cls.tgna && GNUNET_YES == queue->is_global_natted)
   {
     struct TransportGlobalNattedAddress *tgna;
 
@@ -11755,7 +11757,7 @@ check_for_global_natted (void *cls,
                 "Created tgna %p\n",
                 tgna);
   }
-  else if (0 != tgna_cls.tgna->address_length && GNUNET_NO == 
queue->is_global_natted)
+  else if (NULL != tgna_cls.tgna && GNUNET_NO == queue->is_global_natted)
   {
     GNUNET_CONTAINER_multipeermap_remove (neighbour->natted_addresses,
                                           &neighbour->pid,

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]