wip
[oweals/gnunet.git] / src / arm / gnunet-service-arm_interceptor.c
index 1c32da030be9d0fdb7eb0332b6247fa06faee2e1..c86530b6f603fc72dbf106de27a6b8295deda3a5 100644 (file)
@@ -715,7 +715,7 @@ fc_acceptConnection (void *cls,
 
   if (0 == (tc->reason & GNUNET_SCHEDULER_REASON_WRITE_READY))
     {
-      GNUNET_NETWORK_socket_close (sli->listeningSocket);
+      GNUNET_assert (GNUNET_OK == GNUNET_NETWORK_socket_close (sli->listeningSocket));
       closeClientAndServiceSockets (fc, REASON_ERROR);
       GNUNET_free (sli);
       return;
@@ -865,7 +865,7 @@ start_forwarding (void *cls,
       if ( (strncmp (listen_address, "[::]:", 5) == 0) || (strncmp (listen_address, "::", 2) == 0) )
        {
          memset (&target_ipv6, 0, sizeof (target_ipv6));
-         inet_pton (AF_INET6, "::1", &target_ipv6.sin6_addr);
+         target_ipv6.sin6_addr = in6addr_loopback;
          target_ipv6.sin6_family = AF_INET6;
          target_ipv6.sin6_port = v6->sin6_port;
          v6 = &target_ipv6;
@@ -1094,6 +1094,8 @@ createListeningSocket (struct sockaddr *sa,
       sock = GNUNET_NETWORK_socket_create (PF_INET6, SOCK_STREAM, 0);
       break;
     case AF_UNIX:
+      if (strcmp(GNUNET_a2s (sa, addr_len), "@") == 0) /* Do not bind to blank UNIX path! */
+        return;
       sock = GNUNET_NETWORK_socket_create (PF_UNIX, SOCK_STREAM, 0);
       break;
     default:
@@ -1126,7 +1128,7 @@ createListeningSocket (struct sockaddr *sa,
   if (GNUNET_NETWORK_socket_bind
       (sock, (const struct sockaddr *) sa, addr_len) != GNUNET_OK)
     {
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
                  _("Unable to bind listening socket for service `%s' to address `%s': %s\n"),
                  serviceName,
                  GNUNET_a2s (sa, addr_len),