[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r10866 - in gnunet/src: hostlist include util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r10866 - in gnunet/src: hostlist include util |
Date: |
Fri, 9 Apr 2010 22:24:34 +0200 |
Author: holindho
Date: 2010-04-09 22:24:34 +0200 (Fri, 09 Apr 2010)
New Revision: 10866
Modified:
gnunet/src/hostlist/hostlist-server.c
gnunet/src/include/gnunet_os_lib.h
gnunet/src/util/resolver_api.c
Log:
rehash since gethostname is used in resolver as well
Modified: gnunet/src/hostlist/hostlist-server.c
===================================================================
--- gnunet/src/hostlist/hostlist-server.c 2010-04-09 16:21:37 UTC (rev
10865)
+++ gnunet/src/hostlist/hostlist-server.c 2010-04-09 20:24:34 UTC (rev
10866)
@@ -105,11 +105,6 @@
};
/**
- * 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
@@ -405,11 +400,11 @@
unsigned long long port;
char *uri;
- char hostname[max_hostname_length + 1];
+ char hostname[GNUNET_OS_get_hostname_max_length() + 1];
char *protocol = "http://";
char *port_s = GNUNET_malloc(6 * sizeof(char));
- if (0 != gethostname (hostname, sizeof (hostname)))
+ if (0 != gethostname (hostname, sizeof (hostname) - 1))
{
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR,
"Could not get system's hostname, unable to create advertisement
message");
@@ -618,16 +613,6 @@
{
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/gnunet_os_lib.h
===================================================================
--- gnunet/src/include/gnunet_os_lib.h 2010-04-09 16:21:37 UTC (rev 10865)
+++ gnunet/src/include/gnunet_os_lib.h 2010-04-09 20:24:34 UTC (rev 10866)
@@ -155,6 +155,18 @@
proc, void *proc_cls);
/**
+ * @brief Get maximum string length returned by gethostname()
+ */
+#if HAVE_SYSCONF && defined(_SC_HOST_NAME_MAX)
+#define GNUNET_OS_get_hostname_max_length() ({ int __sc_tmp =
sysconf(_SC_HOST_NAME_MAX); __sc_tmp <= 0 ? 255 : __sc_tmp; })
+#elif defined(HOST_NAME_MAX)
+#define GNUNET_OS_get_hostname_max_length() HOST_NAME_MAX
+#else
+#define GNUNET_OS_get_hostname_max_length() 255
+#endif
+
+
+/**
* Get the current CPU load.
*
* @param cfg to determine acceptable load level (LOAD::MAXCPULOAD)
Modified: gnunet/src/util/resolver_api.c
===================================================================
--- gnunet/src/util/resolver_api.c 2010-04-09 16:21:37 UTC (rev 10865)
+++ gnunet/src/util/resolver_api.c 2010-04-09 20:24:34 UTC (rev 10866)
@@ -25,6 +25,7 @@
*/
#include "platform.h"
#include "gnunet_getopt_lib.h"
+#include "gnunet_os_lib.h"
#include "gnunet_client_lib.h"
#include "gnunet_protocols.h"
#include "gnunet_resolver_service.h"
@@ -686,7 +687,7 @@
GNUNET_RESOLVER_AddressCallback callback,
void *cls)
{
- char hostname[MAX_HOSTNAME];
+ char hostname[GNUNET_OS_get_hostname_max_length() + 1];
check_config (cfg);
if (0 != gethostname (hostname, sizeof (hostname) - 1))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r10866 - in gnunet/src: hostlist include util,
gnunet <=