[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r10862 - in gnunet: . src/hostlist src/include
From: |
gnunet |
Subject: |
[GNUnet-SVN] r10862 - in gnunet: . src/hostlist src/include |
Date: |
Fri, 9 Apr 2010 17:18:42 +0200 |
Author: holindho
Date: 2010-04-09 17:18:42 +0200 (Fri, 09 Apr 2010)
New Revision: 10862
Modified:
gnunet/configure.ac
gnunet/src/hostlist/hostlist-server.c
gnunet/src/include/platform.h
Log:
better: sysconf seems to be the preferred way
Modified: gnunet/configure.ac
===================================================================
--- gnunet/configure.ac 2010-04-09 14:55:36 UTC (rev 10861)
+++ gnunet/configure.ac 2010-04-09 15:18:42 UTC (rev 10862)
@@ -573,7 +573,7 @@
AC_HEADER_SYS_WAIT
AC_TYPE_OFF_T
AC_TYPE_UID_T
-AC_CHECK_FUNCS([floor gethostname memmove rmdir strncasecmp strrchr strtol
atoll dup2 fdatasync ftruncate gettimeofday memset mkdir mkfifo select socket
strcasecmp strchr strdup strerror strstr clock_gettime getrusage rand uname
setlocale getcwd mktime gmtime_r gmtime strlcpy strlcat ftruncate stat64 sbrk
mmap mremap setrlimit gethostbyaddr initgroups getifaddrs freeifaddrs
getnameinfo getaddrinfo inet_ntoa localtime_r nl_langinfo putenv realpath
strndup gethostbyname2 gethostbyname])
+AC_CHECK_FUNCS([floor gethostname memmove rmdir strncasecmp strrchr strtol
atoll dup2 fdatasync ftruncate gettimeofday memset mkdir mkfifo select socket
strcasecmp strchr strdup strerror strstr clock_gettime getrusage rand uname
setlocale getcwd mktime gmtime_r gmtime strlcpy strlcat ftruncate stat64 sbrk
mmap mremap setrlimit sysconf gethostbyaddr initgroups getifaddrs freeifaddrs
getnameinfo getaddrinfo inet_ntoa localtime_r nl_langinfo putenv realpath
strndup gethostbyname2 gethostbyname])
# restore LIBS
LIBS=$SAVE_LIBS
Modified: gnunet/src/hostlist/hostlist-server.c
===================================================================
--- gnunet/src/hostlist/hostlist-server.c 2010-04-09 14:55:36 UTC (rev
10861)
+++ gnunet/src/hostlist/hostlist-server.c 2010-04-09 15:18:42 UTC (rev
10862)
@@ -105,6 +105,11 @@
};
/**
+ * Local max hostname length (some platforms use sysconf() for it)
+ */
+static int max_hostname_length;
+
+/**
* Task that will produce a new response object.
*/
static void
@@ -400,11 +405,11 @@
unsigned long long port;
char *uri;
- char hostname[HOST_NAME_MAX];
+ char hostname[max_hostname_length + 1];
char *protocol = "http://";
char *port_s = GNUNET_malloc(6 * sizeof(char));
- if (0 != gethostname (hostname, sizeof (hostname) - 1))
+ if (0 != gethostname (hostname, sizeof (hostname)))
{
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR,
"Could not get system's hostname, unable to create advertisement
message");
@@ -613,6 +618,16 @@
{
unsigned long long port;
+#if HAVE_SYSCONF && defined(_SC_HOST_NAME_MAX)
+ max_hostname_length = sysconf(_SC_HOST_NAME_MAX);
+ if (-1 == max_hostname_length)
+ return GNUNET_SYSERR;
+#elif defined(HOST_NAME_MAX)
+ max_hostname_length = HOST_NAME_MAX;
+#else
+ max_hostname_length = 255; /* sensible default? */
+#endif
+
sched = s;
cfg = c;
stats = st;
Modified: gnunet/src/include/platform.h
===================================================================
--- gnunet/src/include/platform.h 2010-04-09 14:55:36 UTC (rev 10861)
+++ gnunet/src/include/platform.h 2010-04-09 15:18:42 UTC (rev 10862)
@@ -191,17 +191,11 @@
#endif
#ifdef FREEBSD
-#ifndef HOST_NAME_MAX
-#define HOST_NAME_MAX MAXHOSTNAMELEN
-#endif
#define __BYTE_ORDER BYTE_ORDER
#define __BIG_ENDIAN BIG_ENDIAN
#endif
#ifdef DARWIN
-#ifndef HOST_NAME_MAX
-#define HOST_NAME_MAX MAXHOSTNAMELEN
-#endif
#define __BYTE_ORDER BYTE_ORDER
#define __BIG_ENDIAN BIG_ENDIAN
/* not available on darwin, override configure */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r10862 - in gnunet: . src/hostlist src/include,
gnunet <=