commit - d5f80b2a8deda30d0dcd69bea81a3ca862cf46ca
commit + 5b1efaee67044b56f6ecac1ee70883bfc61f8c5d
blob - 567f216a7f1c21175693829ef4ec36300627fc1f
blob + bfa800b0a73ee1aa8c6140997dd6da17e2c0f256
--- configure.in
+++ configure.in
#
# ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2008 Alexander Barton <alex@barton.de>
+# Copyright (c)2001-2009 Alexander Barton <alex@barton.de>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
AH_TEMPLATE([WANT_IPV6], [Define if IPV6 protocol should be enabled])
AH_TEMPLATE([ZEROCONF], [Define if support for Zeroconf should be included])
AH_TEMPLATE([IDENTAUTH], [Define if the server should do IDENT requests])
+AH_TEMPLATE([HAVE_sockaddr_in_len], [Define if sockaddr_in.sin_len exists])
AH_TEMPLATE([TARGET_OS], [Target operating system name])
AH_TEMPLATE([TARGET_VENDOR], [Target system vendor])
AC_TYPE_SIGNAL
AC_TYPE_SIZE_T
+AC_CHECK_MEMBER([struct sockaddr_in.sin_len], AC_DEFINE(HAVE_sockaddr_in_len),,
+ [#include <arpa/inet.h>])
+
# -- Libraries --
AC_CHECK_LIB(UTIL,memmove)
blob - 0367a1f75848b4d9766425d7e6021b3e8f8bf9a9
blob + 4f1d4ca40492562858e87357c107c320b85c48b2
--- src/ipaddr/ng_ipaddr.c
+++ src/ipaddr/ng_ipaddr.c
return ret == 0;
#else /* HAVE_GETADDRINFO */
assert(ip_str);
+ memset(addr, 0, sizeof *addr);
+#ifdef HAVE_sockaddr_in_len
+ addr->sin4.sin_len = sizeof(addr->sin4);
+#endif
addr->sin4.sin_family = AF_INET;
# ifdef HAVE_INET_ATON
if (inet_aton(ip_str, &addr->sin4.sin_addr) == 0)