gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r11321 - in gnunet/src: arm util


From: gnunet
Subject: [GNUnet-SVN] r11321 - in gnunet/src: arm util
Date: Tue, 11 May 2010 19:20:32 +0200

Author: grothoff
Date: 2010-05-11 19:20:32 +0200 (Tue, 11 May 2010)
New Revision: 11321

Modified:
   gnunet/src/arm/gnunet-service-manager.c
   gnunet/src/arm/test_arm_api.c
   gnunet/src/arm/test_arm_api_data.conf
   gnunet/src/util/server.c
Log:
use IPV6_ONLY when binding sockets

Modified: gnunet/src/arm/gnunet-service-manager.c
===================================================================
--- gnunet/src/arm/gnunet-service-manager.c     2010-05-11 16:12:21 UTC (rev 
11320)
+++ gnunet/src/arm/gnunet-service-manager.c     2010-05-11 17:20:32 UTC (rev 
11321)
@@ -675,6 +675,14 @@
       (sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof (on)) != GNUNET_OK)
     GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
                          "setsockopt");
+#ifdef IPV6_V6ONLY
+  if ( (sa->sa_family == AF_INET6) &&
+       (GNUNET_NETWORK_socket_setsockopt
+       (sock, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof (on)) != GNUNET_OK))
+    GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
+                        "setsockopt");
+#endif
+
   if (GNUNET_NETWORK_socket_bind
       (sock, (const struct sockaddr *) sa, addr_len) != GNUNET_OK)
     {
@@ -693,6 +701,9 @@
       GNUNET_free (sa);
       return;
     }
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+             _("ARM now monitors connections to service `%s'\n"),
+             serviceName);
   serviceListeningInfo = GNUNET_malloc (sizeof (struct ServiceListeningInfo));
   serviceListeningInfo->serviceName = GNUNET_strdup (serviceName);
   serviceListeningInfo->service_addr = sa;

Modified: gnunet/src/arm/test_arm_api.c
===================================================================
--- gnunet/src/arm/test_arm_api.c       2010-05-11 16:12:21 UTC (rev 11320)
+++ gnunet/src/arm/test_arm_api.c       2010-05-11 17:20:32 UTC (rev 11321)
@@ -34,7 +34,7 @@
 
 #define START_ARM GNUNET_YES
 
-#define START_TIMEOUT GNUNET_TIME_relative_multiply 
(GNUNET_TIME_UNIT_MILLISECONDS, 50)
+#define START_TIMEOUT GNUNET_TIME_relative_multiply 
(GNUNET_TIME_UNIT_MILLISECONDS, 500)
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 15)
 

Modified: gnunet/src/arm/test_arm_api_data.conf
===================================================================
--- gnunet/src/arm/test_arm_api_data.conf       2010-05-11 16:12:21 UTC (rev 
11320)
+++ gnunet/src/arm/test_arm_api_data.conf       2010-05-11 17:20:32 UTC (rev 
11321)
@@ -22,4 +22,3 @@
 BINARY = mockup-service
 ACCEPT_FROM = 127.0.0.1;
 ACCEPT_FROM6 = ::1;
-ALLOW_SHUTDOWN = YES

Modified: gnunet/src/util/server.c
===================================================================
--- gnunet/src/util/server.c    2010-05-11 16:12:21 UTC (rev 11320)
+++ gnunet/src/util/server.c    2010-05-11 17:20:32 UTC (rev 11321)
@@ -386,11 +386,20 @@
       errno = 0;
       return NULL;
     }
-  if ((port != 0) &&
-      (GNUNET_NETWORK_socket_setsockopt
-       (sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof (on)) != GNUNET_OK))
-    GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
-                         "setsockopt");
+  if (port != 0) 
+    {
+      if (GNUNET_NETWORK_socket_setsockopt
+         (sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof (on)) != GNUNET_OK)
+       GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
+                            "setsockopt");
+#ifdef IPV6_V6ONLY
+      if ( (serverAddr->sa_family == AF_INET6) &&
+          (GNUNET_NETWORK_socket_setsockopt
+           (sock, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof (on)) != GNUNET_OK) )
+       GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
+                            "setsockopt");
+#endif
+    }
   /* bind the socket */
   if (GNUNET_NETWORK_socket_bind (sock, serverAddr, socklen) != GNUNET_OK)
     {




reply via email to

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