summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2024-01-15 22:14:15 +0100
committerAlexander Barton <alex@barton.de>2024-01-16 22:32:33 +0100
commitccb0cf3170047d7bf372c9a43c4a6dfee1228126 (patch)
tree3545d5f8c18e0e2843ccc0c70c71a1c249863a33
parent00dc9d284564f1c05026120d2d72c580a1705a05 (diff)
downloadngircd-ccb0cf3170047d7bf372c9a43c4a6dfee1228126.tar.gz
ngircd-ccb0cf3170047d7bf372c9a43c4a6dfee1228126.zip
Autodetect support for IPv6 by default
Until now, IPv6 support was disabled by default, which seems a bit
outdated in 2024. Note: You still can pass "--enable-ipv6" or
"--disable-ipv6" to the ./configure script to forcefully activate or
deactivate IPv6 support.
-rw-r--r--ChangeLog4
-rw-r--r--INSTALL.md7
-rw-r--r--configure.ng26
3 files changed, 24 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 56d79e6d..3d4ddcf2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,10 @@
 
 ngIRCd 27
 
+  - Autodetect support for IPv6 by default: Until now, IPv6 support was disabled
+    by default, which seems a bit outdated in 2024. Note: You still can pass
+    "--enable-ipv6"/"--disable-ipv6" to the ./configure script to forcefully
+    activate or deactivate IPv6 support.
   - Update config.guess and config.sub to recent versions
   - Remove the unmaintained contrib/MacOSX/ folder: this includes the Xcode
     project as well as the outdated macOS "Package Maker" configuration. The
diff --git a/INSTALL.md b/INSTALL.md
index b5ad20ed..28b1da33 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -353,11 +353,12 @@ standard locations.
   Enable support for SSL/TLS using OpenSSL or GnuTLS libraries.
   See `doc/SSL.txt` for details.
 
-- IPv6:
+- IPv6 (autodetected by default):
 
-  `--enable-ipv6`
+  `--enable-ipv6` / `--disable-ipv6`
 
-  Adds support for version 6 of the Internet Protocol.
+  Enable (disable) support for version 6 of the Internet Protocol, which should
+  be available on most modern UNIX-like operating systems by default.
 
 ## Configuration
 
diff --git a/configure.ng b/configure.ng
index ff376a50..195e4067 100644
--- a/configure.ng
+++ b/configure.ng
@@ -1,6 +1,6 @@
 #
 # ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors
+# Copyright (c)2001-2024 Alexander Barton (alex@barton.de) and Contributors
 #
 # 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
@@ -639,18 +639,24 @@ if test "$x_ircplus_on" = "yes"; then
 fi
 
 # enable support for IPv6?
-x_ipv6_on=no
+
+x_ipv6_on=yes
 AC_ARG_ENABLE(ipv6,
-	AS_HELP_STRING([--enable-ipv6],
-		       [enable IPv6 protocol support]),
-	if test "$enableval" = "yes"; then x_ipv6_on=yes; fi
+	AS_HELP_STRING([--disable-ipv6],
+		       [disable IPv6 protocol support (autodetected by default)]),
+	[	if test "$enableval" = "no"; then
+			x_ipv6_on=no
+		else
+			AC_CHECK_FUNCS(
+				[getaddrinfo getnameinfo],,
+				AC_MSG_ERROR([required function missing for IPv6 support!])
+			)
+		fi
+	],
+	[	AC_CHECK_FUNCS([getaddrinfo getnameinfo],, x_ipv6_on=no)
+	]
 )
 if test "$x_ipv6_on" = "yes"; then
-	# getaddrinfo() and getnameinfo() are optional when not compiling
-	# with IPv6 support, but are required for IPv6 to work!
-	AC_CHECK_FUNCS([ \
-		getaddrinfo getnameinfo \
-		],,AC_MSG_ERROR([required function missing for IPv6 support!]))
 	AC_DEFINE(WANT_IPV6, 1)
 fi