gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r27504 - in gnunet/src: arm dns gns include nat testing tra


From: gnunet
Subject: [GNUnet-SVN] r27504 - in gnunet/src: arm dns gns include nat testing transport util
Date: Thu, 20 Jun 2013 17:32:31 +0200

Author: amatus
Date: 2013-06-20 17:32:31 +0200 (Thu, 20 Jun 2013)
New Revision: 27504

Modified:
   gnunet/src/arm/gnunet-service-arm.c
   gnunet/src/dns/dnsstub.c
   gnunet/src/gns/gnunet-dns2gns.c
   gnunet/src/gns/gnunet-gns-proxy.c
   gnunet/src/gns/gnunet-service-gns_resolver.c
   gnunet/src/include/gnunet_network_lib.h
   gnunet/src/nat/nat_test.c
   gnunet/src/testing/testing.c
   gnunet/src/transport/plugin_transport_udp.c
   gnunet/src/transport/plugin_transport_unix.c
   gnunet/src/util/client.c
   gnunet/src/util/network.c
   gnunet/src/util/server.c
   gnunet/src/util/test_connection.c
   gnunet/src/util/test_connection_addressing.c
   gnunet/src/util/test_connection_receive_cancel.c
   gnunet/src/util/test_connection_timeout.c
Log:
Fixed GNUNET_CLIENT_service_test on FreeBSD.

This should also fix any other platform with
AF_UNIX that is not Linux or Mingw.



Modified: gnunet/src/arm/gnunet-service-arm.c
===================================================================
--- gnunet/src/arm/gnunet-service-arm.c 2013-06-20 15:12:56 UTC (rev 27503)
+++ gnunet/src/arm/gnunet-service-arm.c 2013-06-20 15:32:31 UTC (rev 27504)
@@ -617,7 +617,7 @@
 #endif
 
   if (GNUNET_NETWORK_socket_bind
-      (sock, (const struct sockaddr *) sa, addr_len) != GNUNET_OK)
+      (sock, (const struct sockaddr *) sa, addr_len, 0) != GNUNET_OK)
     {
       GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
                  _

Modified: gnunet/src/dns/dnsstub.c
===================================================================
--- gnunet/src/dns/dnsstub.c    2013-06-20 15:12:56 UTC (rev 27503)
+++ gnunet/src/dns/dnsstub.c    2013-06-20 15:32:31 UTC (rev 27504)
@@ -169,7 +169,8 @@
   sa->sa_family = af;
   if (GNUNET_OK != GNUNET_NETWORK_socket_bind (ret,
                                               sa, 
-                                              alen))
+                                              alen,
+                                               0))
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 
                _("Could not bind to any port: %s\n"),

Modified: gnunet/src/gns/gnunet-dns2gns.c
===================================================================
--- gnunet/src/gns/gnunet-dns2gns.c     2013-06-20 15:12:56 UTC (rev 27503)
+++ gnunet/src/gns/gnunet-dns2gns.c     2013-06-20 15:32:31 UTC (rev 27504)
@@ -608,7 +608,8 @@
       if (GNUNET_OK !=
          GNUNET_NETWORK_socket_bind (listen_socket4,
                                      (struct sockaddr *) &v4,
-                                     sizeof (v4)))
+                                     sizeof (v4),
+                                      0))
        {
          GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "bind");
          GNUNET_NETWORK_socket_close (listen_socket4);
@@ -631,7 +632,8 @@
       if (GNUNET_OK !=
          GNUNET_NETWORK_socket_bind (listen_socket6,
                                      (struct sockaddr *) &v6,
-                                     sizeof (v6)))
+                                     sizeof (v6),
+                                      0))
        {
          GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "bind");
          GNUNET_NETWORK_socket_close (listen_socket6);

Modified: gnunet/src/gns/gnunet-gns-proxy.c
===================================================================
--- gnunet/src/gns/gnunet-gns-proxy.c   2013-06-20 15:12:56 UTC (rev 27503)
+++ gnunet/src/gns/gnunet-gns-proxy.c   2013-06-20 15:32:31 UTC (rev 27504)
@@ -3378,7 +3378,7 @@
   if ((NULL == lsock) ||
       (GNUNET_OK !=
        GNUNET_NETWORK_socket_bind (lsock, (const struct sockaddr *) &sa,
-                                   sizeof (sa))))
+                                   sizeof (sa), 0)))
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                 "Failed to create listen socket bound to `%s'",

Modified: gnunet/src/gns/gnunet-service-gns_resolver.c
===================================================================
--- gnunet/src/gns/gnunet-service-gns_resolver.c        2013-06-20 15:12:56 UTC 
(rev 27503)
+++ gnunet/src/gns/gnunet-service-gns_resolver.c        2013-06-20 15:32:31 UTC 
(rev 27504)
@@ -1748,7 +1748,8 @@
   sa->sa_family = AF_INET;
   if (GNUNET_OK != GNUNET_NETWORK_socket_bind (rh->dns_sock,
                                                sa,
-                                               sizeof (struct sockaddr_in)))
+                                               sizeof (struct sockaddr_in),
+                                               0))
   {
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                 "GNS_PHASE_REC_DNS-%llu: Error binding UDP socket for DNS 
lookup!\n",

Modified: gnunet/src/include/gnunet_network_lib.h
===================================================================
--- gnunet/src/include/gnunet_network_lib.h     2013-06-20 15:12:56 UTC (rev 
27503)
+++ gnunet/src/include/gnunet_network_lib.h     2013-06-20 15:32:31 UTC (rev 
27504)
@@ -133,17 +133,25 @@
 
 
 /**
+ * Fail to bind if an address is already in use.
+ */
+#define GNUNET_BIND_EXCLUSIVE 0x01
+
+
+/**
  * Bind to a connected socket
  *
  * @param desc socket to bind
  * @param address address to be bound
  * @param address_len length of address
+ * @param flags flags affecting bind behaviour
  * @return GNUNET_OK on success, GNUNET_SYSERR otherwise
  */
 int
 GNUNET_NETWORK_socket_bind (struct GNUNET_NETWORK_Handle *desc,
                             const struct sockaddr *address,
-                            socklen_t address_len);
+                            socklen_t address_len,
+                            int flags);
 
 /**
  * Close a socket.

Modified: gnunet/src/nat/nat_test.c
===================================================================
--- gnunet/src/nat/nat_test.c   2013-06-20 15:12:56 UTC (rev 27503)
+++ gnunet/src/nat/nat_test.c   2013-06-20 15:32:31 UTC (rev 27504)
@@ -404,7 +404,7 @@
     if ((ret->lsock == NULL) ||
         (GNUNET_OK !=
          GNUNET_NETWORK_socket_bind (ret->lsock, (const struct sockaddr *) &sa,
-                                     sizeof (sa))))
+                                     sizeof (sa), 0)))
     {
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                   _

Modified: gnunet/src/testing/testing.c
===================================================================
--- gnunet/src/testing/testing.c        2013-06-20 15:12:56 UTC (rev 27503)
+++ gnunet/src/testing/testing.c        2013-06-20 15:32:31 UTC (rev 27504)
@@ -635,7 +635,8 @@
           continue;
         bind_status = GNUNET_NETWORK_socket_bind (socket,
                                                   ai->ai_addr,
-                                                  ai->ai_addrlen);
+                                                  ai->ai_addrlen,
+                                                  0);
         GNUNET_NETWORK_socket_close (socket);
         if (GNUNET_OK != bind_status)
           break;

Modified: gnunet/src/transport/plugin_transport_udp.c
===================================================================
--- gnunet/src/transport/plugin_transport_udp.c 2013-06-20 15:12:56 UTC (rev 
27503)
+++ gnunet/src/transport/plugin_transport_udp.c 2013-06-20 15:32:31 UTC (rev 
27504)
@@ -2545,7 +2545,7 @@
                                 GNUNET_a2s (serverAddr, addrlen));
                /* binding */
                if (GNUNET_OK == GNUNET_NETWORK_socket_bind (plugin->sockv6,
-                                                                               
                serverAddr, addrlen))
+                                                            serverAddr, 
addrlen, 0))
                        break;
                eno = errno;
                if (0 != plugin->port)
@@ -2622,7 +2622,7 @@
       
       /* binding */
       if (GNUNET_OK == GNUNET_NETWORK_socket_bind (plugin->sockv4,
-                                                                               
                         serverAddr, addrlen))
+                                                   serverAddr, addrlen, 0))
                break;
       eno = errno;
       if (0 != plugin->port)

Modified: gnunet/src/transport/plugin_transport_unix.c
===================================================================
--- gnunet/src/transport/plugin_transport_unix.c        2013-06-20 15:12:56 UTC 
(rev 27503)
+++ gnunet/src/transport/plugin_transport_unix.c        2013-06-20 15:32:31 UTC 
(rev 27504)
@@ -1150,7 +1150,7 @@
     GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "socket");
     return GNUNET_SYSERR;
   }
-  if (GNUNET_NETWORK_socket_bind (plugin->unix_sock.desc, serverAddr, addrlen)
+  if (GNUNET_NETWORK_socket_bind (plugin->unix_sock.desc, serverAddr, addrlen, 
0)
       != GNUNET_OK)
   {
     GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "bind");

Modified: gnunet/src/util/client.c
===================================================================
--- gnunet/src/util/client.c    2013-06-20 15:12:56 UTC (rev 27503)
+++ gnunet/src/util/client.c    2013-06-20 15:32:31 UTC (rev 27504)
@@ -863,7 +863,7 @@
 #endif
        if (GNUNET_OK !=
            GNUNET_NETWORK_socket_bind (sock, (const struct sockaddr *) &s_un,
-                                       slen))
+                                       slen, GNUNET_BIND_EXCLUSIVE))
         {
          /* failed to bind => service must be running */
          GNUNET_free (unixpath);
@@ -913,7 +913,7 @@
     {
       if (GNUNET_OK !=
           GNUNET_NETWORK_socket_bind (sock, (const struct sockaddr *) &s_in,
-                                      sizeof (s_in)))
+                                      sizeof (s_in), GNUNET_BIND_EXCLUSIVE))
       {
         /* failed to bind => service must be running */
         GNUNET_free (hostname);
@@ -946,7 +946,7 @@
     {
       if (GNUNET_OK !=
           GNUNET_NETWORK_socket_bind (sock, (const struct sockaddr *) &s_in6,
-                                      sizeof (s_in6)))
+                                      sizeof (s_in6), GNUNET_BIND_EXCLUSIVE))
       {
         /* failed to bind => service must be running */
         GNUNET_free (hostname);

Modified: gnunet/src/util/network.c
===================================================================
--- gnunet/src/util/network.c   2013-06-20 15:12:56 UTC (rev 27503)
+++ gnunet/src/util/network.c   2013-06-20 15:32:31 UTC (rev 27504)
@@ -372,7 +372,8 @@
 int
 GNUNET_NETWORK_socket_bind (struct GNUNET_NETWORK_Handle *desc,
                             const struct sockaddr *address,
-                            socklen_t address_len)
+                            socklen_t address_len,
+                            int flags)
 {
   int ret;
 
@@ -392,7 +393,7 @@
 #endif
 #ifndef LINUX
 #ifndef MINGW
-  if (address->sa_family == AF_UNIX)
+  if (address->sa_family == AF_UNIX && (flags & GNUNET_BIND_EXCLUSIVE) == 0)
   {
     const struct sockaddr_un *un = (const struct sockaddr_un *) address;
 

Modified: gnunet/src/util/server.c
===================================================================
--- gnunet/src/util/server.c    2013-06-20 15:12:56 UTC (rev 27503)
+++ gnunet/src/util/server.c    2013-06-20 15:32:31 UTC (rev 27504)
@@ -422,7 +422,7 @@
     return NULL;
   }
   /* bind the socket */
-  if (GNUNET_OK != GNUNET_NETWORK_socket_bind (sock, serverAddr, socklen))
+  if (GNUNET_OK != GNUNET_NETWORK_socket_bind (sock, serverAddr, socklen, 0))
   {
     eno = errno;
     if (EADDRINUSE != errno)

Modified: gnunet/src/util/test_connection.c
===================================================================
--- gnunet/src/util/test_connection.c   2013-06-20 15:12:56 UTC (rev 27503)
+++ gnunet/src/util/test_connection.c   2013-06-20 15:32:31 UTC (rev 27504)
@@ -67,7 +67,7 @@
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, 
"setsockopt");
   GNUNET_assert (GNUNET_NETWORK_socket_bind
                  (desc, (const struct sockaddr *) &sa,
-                  sizeof (sa)) == GNUNET_OK);
+                  sizeof (sa), 0) == GNUNET_OK);
   GNUNET_NETWORK_socket_listen (desc, 5);
   return desc;
 }

Modified: gnunet/src/util/test_connection_addressing.c
===================================================================
--- gnunet/src/util/test_connection_addressing.c        2013-06-20 15:12:56 UTC 
(rev 27503)
+++ gnunet/src/util/test_connection_addressing.c        2013-06-20 15:32:31 UTC 
(rev 27504)
@@ -68,7 +68,7 @@
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, 
"setsockopt");
   if (GNUNET_OK !=
       GNUNET_NETWORK_socket_bind (desc, (const struct sockaddr *) &sa,
-                                  sizeof (sa)))
+                                  sizeof (sa), 0))
   {
     GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
                          "bind");

Modified: gnunet/src/util/test_connection_receive_cancel.c
===================================================================
--- gnunet/src/util/test_connection_receive_cancel.c    2013-06-20 15:12:56 UTC 
(rev 27503)
+++ gnunet/src/util/test_connection_receive_cancel.c    2013-06-20 15:32:31 UTC 
(rev 27504)
@@ -66,7 +66,7 @@
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, 
"setsockopt");
   GNUNET_assert (GNUNET_NETWORK_socket_bind
                  (desc, (const struct sockaddr *) &sa,
-                  sizeof (sa)) == GNUNET_OK);
+                  sizeof (sa), 0) == GNUNET_OK);
   GNUNET_NETWORK_socket_listen (desc, 5);
   return desc;
 }

Modified: gnunet/src/util/test_connection_timeout.c
===================================================================
--- gnunet/src/util/test_connection_timeout.c   2013-06-20 15:12:56 UTC (rev 
27503)
+++ gnunet/src/util/test_connection_timeout.c   2013-06-20 15:32:31 UTC (rev 
27504)
@@ -63,7 +63,7 @@
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, 
"setsockopt");
   GNUNET_assert (GNUNET_NETWORK_socket_bind
                  (desc, (const struct sockaddr *) &sa,
-                  sizeof (sa)) == GNUNET_OK);
+                  sizeof (sa), 0) == GNUNET_OK);
   GNUNET_NETWORK_socket_listen (desc, 5);
   return desc;
 }




reply via email to

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