diff --git a/configure.ac b/configure.ac index ae37051d..bbfa13b4 100644 --- a/configure.ac +++ b/configure.ac @@ -44,7 +44,6 @@ AH_VERBATIM([HAVE_ISO_CODES],[#undef HAVE_ISO_CODES]) AH_VERBATIM([HAVE_GTK_MAC],[#undef HAVE_GTK_MAC]) AH_VERBATIM([USE_LIBNOTIFY],[#undef USE_LIBNOTIFY]) AH_VERBATIM([USE_LIBCANBERRA],[#undef USE_LIBCANBERRA]) -AH_VERBATIM([USE_IPV6],[#undef USE_IPV6]) AH_VERBATIM([USE_OPENSSL],[#undef USE_OPENSSL]) AH_VERBATIM([USE_PLUGIN],[#undef USE_PLUGIN]) AH_VERBATIM([USE_SIGACTION],[#undef USE_SIGACTION]) @@ -88,10 +87,6 @@ AC_ARG_ENABLE(socks, [AS_HELP_STRING([--enable-socks],[link with SOCKS5 library (default: no)])], socks=$enableval, socks=no) -AC_ARG_ENABLE(ipv6, - [AS_HELP_STRING([--disable-ipv6],[disable IPv6])], - ipv6=$enableval, ipv6=yes) - AC_ARG_ENABLE(openssl, [AS_HELP_STRING([--enable-openssl[=PATH]],[enable use of openSSL])], openssl=$enableval, openssl=yes) @@ -354,16 +349,13 @@ AC_CHECK_FUNC(select, , AC_MSG_WARN(i can not find select. you might need to help me))))))) AC_CHECK_LIB(socket, select) -if test "$ipv6" = yes; then - AC_CHECK_FUNCS(getaddrinfo, have_getaddrinfo=yes) - AC_MSG_CHECKING(whether to enable IPv6 support) - if test "$have_getaddrinfo" = yes; then - AC_MSG_RESULT(yes) - AC_DEFINE(USE_IPV6) - else - ipv6=no - AC_MSG_RESULT(no) - fi +AC_CHECK_FUNCS(getaddrinfo, have_getaddrinfo=yes) +AC_MSG_CHECKING(whether IPv6 is supported) +if test "$have_getaddrinfo" = yes; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) + AC_MSG_ERROR(ipv6 support not found!) fi dnl ********************************************************************* @@ -847,7 +839,6 @@ echo D-Bus support ......... : $dbus echo libnotify support ..... : $libnotify echo libcanberra support ... : $libcanberra echo Plugin interface ...... : $plugin -echo IPv6 support .......... : $ipv6 echo libproxy support ...... : $libproxy echo echo Perl .................. : $perl diff --git a/src/common/hexchat.c b/src/common/hexchat.c index 37e46ce8..7db7e6ca 100644 --- a/src/common/hexchat.c +++ b/src/common/hexchat.c @@ -760,15 +760,11 @@ xchat_init (void) #ifdef WIN32 WSADATA wsadata; -#ifdef USE_IPV6 if (WSAStartup(0x0202, &wsadata) != 0) { MessageBox (NULL, "Cannot find winsock 2.2+", "Error", MB_OK); exit (0); } -#else - WSAStartup(0x0101, &wsadata); -#endif /* !USE_IPV6 */ #endif /* !WIN32 */ #ifdef USE_SIGACTION diff --git a/src/common/identd.c b/src/common/identd.c index ae95df8d..053b33dd 100644 --- a/src/common/identd.c +++ b/src/common/identd.c @@ -25,9 +25,7 @@ #include "text.h" static int identd_is_running = FALSE; -#ifdef USE_IPV6 static int identd_ipv6_is_running = FALSE; -#endif static int identd (char *username) @@ -104,7 +102,6 @@ identd (char *username) return 0; } -#ifdef USE_IPV6 static int identd_ipv6 (char *username) { @@ -182,7 +179,6 @@ identd_start (char *username) { DWORD tid; -#ifdef USE_IPV6 DWORD tidv6; if (identd_ipv6_is_running == FALSE) { @@ -190,7 +186,6 @@ identd_start (char *username) CloseHandle (CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE) identd_ipv6, g_strdup (username), 0, &tidv6)); } -#endif if (identd_is_running == FALSE) { diff --git a/src/common/inet.h b/src/common/inet.h index aa57d0e4..7056d473 100644 --- a/src/common/inet.h +++ b/src/common/inet.h @@ -48,12 +48,8 @@ #else #include "config.h" -#ifdef USE_IPV6 #include #include -#else -#include -#endif #define set_blocking(sok) { \ unsigned long zero = 0; \ diff --git a/src/common/network.c b/src/common/network.c index c026116e..fcdaf547 100644 --- a/src/common/network.c +++ b/src/common/network.c @@ -65,10 +65,8 @@ net_ip (guint32 addr) void net_store_destroy (netstore * ns) { -#ifdef USE_IPV6 if (ns->ip6_hostent) freeaddrinfo (ns->ip6_hostent); -#endif g_free (ns); } @@ -78,110 +76,6 @@ net_store_new (void) return g_new0 (netstore, 1); } -#ifndef USE_IPV6 - -/* =================== IPV4 ================== */ - -/* - A note about net_resolve and lookupd: - - Many IRC networks rely on round-robin DNS for load balancing, rotating the list - of IP address on each query. However, this method breaks when DNS queries are - cached. Mac OS X and Darwin handle DNS lookups through the lookupd daemon, which - caches queries in its default configuration: thus, if we always pick the first - address, we will be stuck with the same host (which might be down!) until the - TTL reaches 0 or lookupd is reset (typically, at reboot). Therefore, we need to - pick a random address from the result list, instead of always using the first. -*/ - -char * -net_resolve (netstore * ns, char *hostname, int port, char **real_host) -{ - ns->ip4_hostent = gethostbyname (hostname); - if (!ns->ip4_hostent) - return NULL; - - memset (&ns->addr, 0, sizeof (ns->addr)); -#ifdef LOOKUPD - int count = 0; - while (ns->ip4_hostent->h_addr_list[count]) count++; - memcpy (&ns->addr.sin_addr, - ns->ip4_hostent->h_addr_list[RAND_INT(count)], - ns->ip4_hostent->h_length); -#else - memcpy (&ns->addr.sin_addr, ns->ip4_hostent->h_addr, - ns->ip4_hostent->h_length); -#endif - ns->addr.sin_port = htons (port); - ns->addr.sin_family = AF_INET; - - *real_host = g_strdup (ns->ip4_hostent->h_name); - return g_strdup (inet_ntoa (ns->addr.sin_addr)); -} - -int -net_connect (netstore * ns, int sok4, int sok6, int *sok_return) -{ - *sok_return = sok4; - return connect (sok4, (struct sockaddr *) &ns->addr, sizeof (ns->addr)); -} - -void -net_bind (netstore * tobindto, int sok4, int sok6) -{ - bind (sok4, (struct sockaddr *) &tobindto->addr, sizeof (tobindto->addr)); -} - -void -net_sockets (int *sok4, int *sok6) -{ - *sok4 = socket (AF_INET, SOCK_STREAM, 0); - *sok6 = -1; - net_set_socket_options (*sok4); -} - -void -udp_sockets (int *sok4, int *sok6) -{ - *sok4 = socket (AF_INET, SOCK_DGRAM, 0); - *sok6 = -1; -} - -void -net_store_fill_any (netstore *ns) -{ - ns->addr.sin_family = AF_INET; - ns->addr.sin_addr.s_addr = INADDR_ANY; - ns->addr.sin_port = 0; -} - -void -net_store_fill_v4 (netstore *ns, guint32 addr, int port) -{ - ns->addr.sin_family = AF_INET; - ns->addr.sin_addr.s_addr = addr; - ns->addr.sin_port = port; -} - -guint32 -net_getsockaddr_v4 (netstore *ns) -{ - return ns->addr.sin_addr.s_addr; -} - -int -net_getsockport (int sok4, int sok6) -{ - struct sockaddr_in addr; - int len = sizeof (addr); - - if (getsockname (sok4, (struct sockaddr *)&addr, &len) == -1) - return -1; - return addr.sin_port; -} - -#else - /* =================== IPV6 ================== */ char * @@ -294,5 +188,3 @@ udp_sockets (int *sok4, int *sok6) *sok4 = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP); *sok6 = socket (AF_INET6, SOCK_DGRAM, IPPROTO_UDP); } - -#endif diff --git a/src/common/network.h b/src/common/network.h index c043702e..8c1c0c79 100644 --- a/src/common/network.h +++ b/src/common/network.h @@ -23,12 +23,7 @@ typedef struct netstore_ { #ifdef NETWORK_PRIVATE -#ifdef USE_IPV6 struct addrinfo *ip6_hostent; -#else - struct hostent *ip4_hostent; - struct sockaddr_in addr; -#endif #else int _dummy; /* some compilers don't like empty structs */ #endif diff --git a/src/common/server.c b/src/common/server.c index 2f92a431..f3633ce5 100644 --- a/src/common/server.c +++ b/src/common/server.c @@ -914,12 +914,10 @@ server_read_child (GIOChannel *source, GIOCondition condition, server *serv) closesocket (serv->sok4); if (serv->proxy_sok4 != -1) closesocket (serv->proxy_sok4); -#ifdef USE_IPV6 if (serv->sok6 != -1) closesocket (serv->sok6); if (serv->proxy_sok6 != -1) closesocket (serv->proxy_sok6); -#endif EMIT_SIGNAL (XP_TE_UKNHOST, sess, NULL, NULL, NULL, NULL, 0); if (!servlist_cycle (serv)) if (prefs.hex_net_auto_reconnectonfail) @@ -931,12 +929,10 @@ server_read_child (GIOChannel *source, GIOCondition condition, server *serv) closesocket (serv->sok4); if (serv->proxy_sok4 != -1) closesocket (serv->proxy_sok4); -#ifdef USE_IPV6 if (serv->sok6 != -1) closesocket (serv->sok6); if (serv->proxy_sok6 != -1) closesocket (serv->proxy_sok6); -#endif EMIT_SIGNAL (XP_TE_CONNFAIL, sess, errorstring (atoi (tbuf)), NULL, NULL, NULL, 0); if (!servlist_cycle (serv)) @@ -974,7 +970,6 @@ server_read_child (GIOChannel *source, GIOCondition condition, server *serv) case '4': /* success */ waitline2 (source, tbuf, sizeof (tbuf)); serv->sok = atoi (tbuf); -#ifdef USE_IPV6 /* close the one we didn't end up using */ if (serv->sok == serv->sok4) closesocket (serv->sok6); @@ -987,7 +982,6 @@ server_read_child (GIOChannel *source, GIOCondition condition, server *serv) else closesocket (serv->proxy_sok4); } -#endif server_connect_success (serv); break; case '5': /* prefs ip discovered */ @@ -1612,12 +1606,10 @@ server_child (server * serv) xit: -#if defined (USE_IPV6) || defined (WIN32) /* this is probably not needed */ net_store_destroy (ns_server); if (ns_proxy) net_store_destroy (ns_proxy); -#endif /* no need to free ip/real_hostname, this process is exiting */ #ifdef WIN32 diff --git a/src/common/servlist.c b/src/common/servlist.c index fa000e8c..b1b31026 100644 --- a/src/common/servlist.c +++ b/src/common/servlist.c @@ -67,12 +67,6 @@ static const struct defaultserver def[] = {0, "eu.afternet.org"}, {"Aitvaras", 0}, -#ifdef USE_IPV6 -#ifdef USE_OPENSSL - {0, "irc6.ktu.lt/+7668"}, -#endif - {0, "irc6.ktu.lt/7666"}, -#endif #ifdef USE_OPENSSL {0, "irc.data.lt/+6668"}, {0, "irc.omnitel.net/+6668"}, @@ -192,12 +186,6 @@ static const struct defaultserver def[] = {0, "irc.entropynet.net/+6697"}, #endif {0, "irc.entropynet.net"}, -#ifdef USE_IPV6 -#ifdef USE_OPENSSL - {0, "irc6.entropynet.net/+6697"}, -#endif - {0, "irc6.entropynet.net"}, -#endif {"EsperNet", 0, 0, 0, LOGIN_SASL}, #ifdef USE_OPENSSL @@ -326,9 +314,6 @@ static const struct defaultserver def[] = {0, "as.link-net.org/+7000"}, {0, "eu.link-net.org/+7000"}, {0, "us.link-net.org/+7000"}, -#ifdef USE_IPV6 - {0, "irc6.link-net.org/+7000"}, -#endif #endif {"MindForge", 0}, diff --git a/src/fe-text/fe-text.c b/src/fe-text/fe-text.c index 848a393b..2dd93e2a 100644 --- a/src/fe-text/fe-text.c +++ b/src/fe-text/fe-text.c @@ -111,9 +111,6 @@ fe_new_window (struct session *sess, int focus) #endif #ifdef USE_OPENSSL "OpenSSL " -#endif -#ifdef USE_IPV6 - "IPv6" #endif "\n\n", 0, FALSE); fflush (stdout); diff --git a/win32/config.h.tt b/win32/config.h.tt index 77da3b38..ad518964 100644 --- a/win32/config.h.tt +++ b/win32/config.h.tt @@ -2,7 +2,6 @@ #define ENABLE_NLS #define USE_PLUGIN #define USE_OPENSSL -#define USE_IPV6 #define HAVE_ISO_CODES #define ISO_CODES_PREFIX ".\\" #define ISO_CODES_LOCALEDIR LOCALEDIR @@ -13,6 +12,3 @@ #define OLD_PERL #define GETTEXT_PACKAGE "hexchat" #define PACKAGE_TARNAME "hexchat-<#= [string]::Join('.', $versionParts) #>" -#ifndef USE_IPV6 -#define socklen_t int -#endif