gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [gnunet] branch master updated: migrate UDP plugin to new N


From: gnunet
Subject: [GNUnet-SVN] [gnunet] branch master updated: migrate UDP plugin to new NAT logic
Date: Sat, 07 Jan 2017 15:32:36 +0100

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

grothoff pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new 0d271e8  migrate UDP plugin to new NAT logic
0d271e8 is described below

commit 0d271e8c1e5014989326b9f84b025c08552df95a
Author: Christian Grothoff <address@hidden>
AuthorDate: Sat Jan 7 15:32:32 2017 +0100

    migrate UDP plugin to new NAT logic
---
 src/transport/Makefile.am            |  2 +-
 src/transport/plugin_transport_udp.c | 31 ++++++++++++++++++-------------
 src/transport/plugin_transport_udp.h |  1 -
 3 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/src/transport/Makefile.am b/src/transport/Makefile.am
index 9fb4513..99ed900 100644
--- a/src/transport/Makefile.am
+++ b/src/transport/Makefile.am
@@ -347,7 +347,7 @@ libgnunet_plugin_transport_udp_la_LIBADD = \
   $(top_builddir)/src/fragmentation/libgnunetfragmentation.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
-  $(top_builddir)/src/nat/libgnunetnat.la \
+  $(top_builddir)/src/nat/libgnunetnatnew.la \
   $(top_builddir)/src/util/libgnunetutil.la \
   $(LTLIBINTL)
 libgnunet_plugin_transport_udp_la_LDFLAGS = \
diff --git a/src/transport/plugin_transport_udp.c 
b/src/transport/plugin_transport_udp.c
index 35ae924..c9fb754 100644
--- a/src/transport/plugin_transport_udp.c
+++ b/src/transport/plugin_transport_udp.c
@@ -1,6 +1,6 @@
 /*
  This file is part of GNUnet
- Copyright (C) 2010-2015 GNUnet e.V.
+ Copyright (C) 2010-2017 GNUnet e.V.
 
  GNUnet is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published
@@ -30,7 +30,7 @@
 #include "gnunet_hello_lib.h"
 #include "gnunet_util_lib.h"
 #include "gnunet_fragmentation_lib.h"
-#include "gnunet_nat_lib.h"
+#include "gnunet_nat_service.h"
 #include "gnunet_protocols.h"
 #include "gnunet_resolver_service.h"
 #include "gnunet_signatures.h"
@@ -1287,12 +1287,14 @@ udp_plugin_check_address (void *cls,
  * @param cls closure, the `struct Plugin`
  * @param add_remove #GNUNET_YES to mean the new public IP address,
  *                   #GNUNET_NO to mean the previous (now invalid) one
+ * @param ac address class the address belongs to
  * @param addr either the previous or the new public IP address
  * @param addrlen actual length of the @a addr
  */
 static void
 udp_nat_port_map_callback (void *cls,
                            int add_remove,
+                          enum GNUNET_NAT_AddressClass ac,
                            const struct sockaddr *addr,
                            socklen_t addrlen)
 {
@@ -1359,6 +1361,7 @@ udp_nat_port_map_callback (void *cls,
     return;
   }
   /* modify our published address list */
+  /* TODO: use 'ac' here in the future... */
   address = GNUNET_HELLO_address_allocate (plugin->env->my_identity,
                                            PLUGIN_NAME,
                                            arg,
@@ -3082,7 +3085,7 @@ udp_select_read (struct Plugin *plugin,
           sizeof(addr));
   size = GNUNET_NETWORK_socket_recvfrom (rsock,
                                          buf,
-                                         sizeof(buf),
+                                         sizeof (buf),
                                          (struct sockaddr *) &addr,
                                          &fromlen);
   sa = (const struct sockaddr *) &addr;
@@ -3111,9 +3114,12 @@ udp_select_read (struct Plugin *plugin,
   }
 
   /* Check if this is a STUN packet */
-  if (GNUNET_NAT_is_valid_stun_packet (plugin->nat,
-                                       (uint8_t *)buf,
-                                       size))
+  if (GNUNET_NO !=
+      GNUNET_NAT_stun_handle_packet (plugin->nat,
+                                    (const struct sockaddr *) &addr,
+                                    fromlen,
+                                    buf,
+                                    size))
     return; /* was STUN, do not process further */
 
   if (size < sizeof(struct GNUNET_MessageHeader))
@@ -3572,13 +3578,13 @@ udp_plugin_select_v6 (void *cls)
  * @param bind_v4 IPv4 address to bind to (can be NULL, for 'any')
  * @return number of sockets that were successfully bound
  */
-static int
+static unsigned int
 setup_sockets (struct Plugin *plugin,
                const struct sockaddr_in6 *bind_v6,
                const struct sockaddr_in *bind_v4)
 {
   int tries;
-  int sockets_created = 0;
+  unsigned int sockets_created = 0;
   struct sockaddr_in6 server_addrv6;
   struct sockaddr_in server_addrv4;
   const struct sockaddr *server_addr;
@@ -3788,15 +3794,14 @@ setup_sockets (struct Plugin *plugin,
   schedule_select_v4 (plugin);
   schedule_select_v6 (plugin);
   plugin->nat = GNUNET_NAT_register (plugin->env->cfg,
-                                     GNUNET_NO,
-                                     plugin->port,
+                                    "transport-udp",
+                                    IPPROTO_UDP,
                                      sockets_created,
                                      addrs,
                                      addrlens,
                                      &udp_nat_port_map_callback,
                                      NULL,
-                                     plugin,
-                                     plugin->sockv4);
+                                     plugin);
   return sockets_created;
 }
 
@@ -3825,7 +3830,7 @@ libgnunet_plugin_transport_udp_init (void *cls)
   struct GNUNET_TIME_Relative interval;
   struct sockaddr_in server_addrv4;
   struct sockaddr_in6 server_addrv6;
-  int res;
+  unsigned int res;
   int have_bind4;
   int have_bind6;
 
diff --git a/src/transport/plugin_transport_udp.h 
b/src/transport/plugin_transport_udp.h
index c6799ba..152b160 100644
--- a/src/transport/plugin_transport_udp.h
+++ b/src/transport/plugin_transport_udp.h
@@ -32,7 +32,6 @@
 #include "gnunet_hello_lib.h"
 #include "gnunet_util_lib.h"
 #include "gnunet_fragmentation_lib.h"
-#include "gnunet_nat_lib.h"
 #include "gnunet_protocols.h"
 #include "gnunet_resolver_service.h"
 #include "gnunet_signatures.h"

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

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