fixthefix
authorChristian Grothoff <christian@grothoff.org>
Wed, 25 May 2011 21:58:52 +0000 (21:58 +0000)
committerChristian Grothoff <christian@grothoff.org>
Wed, 25 May 2011 21:58:52 +0000 (21:58 +0000)
src/util/connection.c
src/util/server.c
src/util/service.c
src/util/test_server_with_client_unix.c

index 09a28923e799515a03aebee909b161caf163080b..d7f956d6882d8d4ff017e8ba5119e404dd037e44 100644 (file)
@@ -932,14 +932,14 @@ GNUNET_CONNECTION_create_from_connect_to_unixpath (const struct
   GNUNET_assert (0 < strlen (unixpath));        /* sanity check */
   un = GNUNET_malloc (sizeof (struct sockaddr_un));
   un->sun_family = AF_UNIX;
-  slen = strlen (unixpath) + 1;
+  slen = strlen (unixpath);
   if (slen >= sizeof (un->sun_path))
     slen = sizeof (un->sun_path) - 1;
   memcpy (un->sun_path,
          unixpath,
          slen);
   un->sun_path[slen] = '\0';
-  slen = SUN_LEN (un);
+  slen = sizeof (struct sockaddr_un);
 #if HAVE_SOCKADDR_IN_SIN_LEN
   un->sun_len = (u_char) slen;
 #endif
index 8bc1e0b56120c8ce3460e5770483c2259cf0acd6..63131bb85ab3a76db7df6cec0d68d288b1b9e975 100644 (file)
@@ -327,7 +327,11 @@ open_listen_socket (const struct sockaddr *serverAddr, socklen_t socklen)
     case AF_INET6:
       port = ntohs (((const struct sockaddr_in6 *) serverAddr)->sin6_port);
       break;
+    case AF_UNIX:
+      port = 0;
+      break;
     default:
+      GNUNET_break (0);
       port = 0;
       break;
     }
index 876b35265a15742b92a5dccf007f73258a396ba3..30485267936998cb7dd30d55d422e7ef48495eb8 100644 (file)
@@ -766,7 +766,7 @@ add_unixpath (struct sockaddr **saddrs,
          unixpath,
          slen);
   un->sun_path[slen] = '\0';
-  slen = SUN_LEN (un);
+  slen = sizeof (struct sockaddr_un);
 #if LINUX
   un->sun_path[0] = '\0';
 #endif
index 98a530a1935a9c9da19b6bfd42b70966cb456d01..8e994095d06340ea547a0d0098ef9d4f62000e0f 100644 (file)
@@ -133,31 +133,28 @@ static struct GNUNET_SERVER_MessageHandler handlers[] = {
 static void
 task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
-  char * unixpath = "/tmp/testsock";
-  int slen = strlen (unixpath) + 1;
-
   struct sockaddr_un un;
+  const char * unixpath = "/tmp/testsock";
+  size_t slen = strlen (unixpath);
+  struct sockaddr * sap[2];
+  socklen_t slens[2];
 
   memset(&un, 0, sizeof(un));
   un.sun_family = AF_UNIX;
   memcpy (un.sun_path, unixpath, slen);
   un.sun_path[slen] = '\0';
 #if HAVE_SOCKADDR_IN_SIN_LEN
-  un.sun_len = (u_char) SUN_LEN (&un);
+  un.sun_len = (u_char) sizeof (un);
 #endif
 #if LINUX
   un.sun_path[0] = '\0';
 #endif
 
-  struct sockaddr * sap[2];
-  socklen_t slens[2];
 
   sap[0] = (struct sockaddr*) &un;
   slens[0] = sizeof (un);
-
   sap[1] = NULL;
   slens[1] = 0;
-
   server = GNUNET_SERVER_create (NULL,
                                  NULL,
                                  sap,