From 9bd50c74256270eca5947f09770ef8845387797e Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Wed, 25 May 2011 21:58:52 +0000 Subject: [PATCH] fixthefix --- src/util/connection.c | 4 ++-- src/util/server.c | 4 ++++ src/util/service.c | 2 +- src/util/test_server_with_client_unix.c | 13 +++++-------- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/util/connection.c b/src/util/connection.c index 09a28923e..d7f956d68 100644 --- a/src/util/connection.c +++ b/src/util/connection.c @@ -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 diff --git a/src/util/server.c b/src/util/server.c index 8bc1e0b56..63131bb85 100644 --- a/src/util/server.c +++ b/src/util/server.c @@ -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; } diff --git a/src/util/service.c b/src/util/service.c index 876b35265..304852679 100644 --- a/src/util/service.c +++ b/src/util/service.c @@ -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 diff --git a/src/util/test_server_with_client_unix.c b/src/util/test_server_with_client_unix.c index 98a530a19..8e994095d 100644 --- a/src/util/test_server_with_client_unix.c +++ b/src/util/test_server_with_client_unix.c @@ -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, -- 2.25.1