diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-05-25 21:41:52 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-05-25 21:41:52 +0000 |
commit | 0d43d44a39a7cee4bc1a84ab5eb36ac8eb05e2a2 (patch) | |
tree | 7a274ea3d3591fe59d724ca691fdc976d0175066 /src/util/service.c | |
parent | 79ae099456caba64b0599b7c6e2b2b86bcc6571f (diff) | |
download | gnunet-0d43d44a39a7cee4bc1a84ab5eb36ac8eb05e2a2.tar.gz gnunet-0d43d44a39a7cee4bc1a84ab5eb36ac8eb05e2a2.zip |
set sxn_len on FreeBSD where required
Diffstat (limited to 'src/util/service.c')
-rw-r--r-- | src/util/service.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/util/service.c b/src/util/service.c index 834b27dd6..876b35265 100644 --- a/src/util/service.c +++ b/src/util/service.c | |||
@@ -766,15 +766,13 @@ add_unixpath (struct sockaddr **saddrs, | |||
766 | unixpath, | 766 | unixpath, |
767 | slen); | 767 | slen); |
768 | un->sun_path[slen] = '\0'; | 768 | un->sun_path[slen] = '\0'; |
769 | slen = SUN_LEN (un); | ||
769 | #if LINUX | 770 | #if LINUX |
770 | un->sun_path[0] = '\0'; | 771 | un->sun_path[0] = '\0'; |
771 | slen = sizeof (struct sockaddr_un); | ||
772 | #elif FREEBSD | ||
773 | slen += sizeof (sa_family_t) + 1 ; | ||
774 | #else | ||
775 | slen += sizeof (sa_family_t) ; | ||
776 | #endif | 772 | #endif |
777 | 773 | #if HAVE_SOCKADDR_IN_SIN_LEN | |
774 | un->sun_len = (u_char) slen; | ||
775 | #endif | ||
778 | *saddrs = (struct sockaddr*) un; | 776 | *saddrs = (struct sockaddr*) un; |
779 | *saddrlens = slen; | 777 | *saddrlens = slen; |
780 | #else | 778 | #else |
@@ -909,6 +907,7 @@ GNUNET_SERVICE_get_server_addresses (const char *serviceName, | |||
909 | { | 907 | { |
910 | /* probe UNIX support */ | 908 | /* probe UNIX support */ |
911 | struct sockaddr_un s_un; | 909 | struct sockaddr_un s_un; |
910 | |||
912 | if (strlen(unixpath) >= sizeof(s_un.sun_path)) | 911 | if (strlen(unixpath) >= sizeof(s_un.sun_path)) |
913 | { | 912 | { |
914 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 913 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
@@ -923,8 +922,8 @@ GNUNET_SERVICE_get_server_addresses (const char *serviceName, | |||
923 | desc = GNUNET_NETWORK_socket_create (AF_UNIX, SOCK_STREAM, 0); | 922 | desc = GNUNET_NETWORK_socket_create (AF_UNIX, SOCK_STREAM, 0); |
924 | if (NULL == desc) | 923 | if (NULL == desc) |
925 | { | 924 | { |
926 | if ((errno == ENOBUFS) || | 925 | if ( (errno == ENOBUFS) || |
927 | (errno == ENOMEM) || (errno == ENFILE) || (errno == EACCES)) | 926 | (errno == ENOMEM) || (errno == ENFILE) || (errno == EACCES)) |
928 | { | 927 | { |
929 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "socket"); | 928 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "socket"); |
930 | GNUNET_free_non_null (hostname); | 929 | GNUNET_free_non_null (hostname); |