commit:     552b68046ac0ecf4feaf52a77a73f663c379610a
Author:     Daniel Campbell <zlg <AT> gentoo <DOT> org>
AuthorDate: Tue Nov  7 09:38:11 2017 +0000
Commit:     Daniel Campbell <zlg <AT> gentoo <DOT> org>
CommitDate: Tue Nov  7 09:47:39 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=552b6804

www-servers/lighttpd: correct USE="-ipv6" behavior

Thanks to nicorac & upstream for the patch, to Oschtan for reporting,
and Felix Janda for the lead.

Closes: https://bugs.gentoo.org/636650
Package-Manager: Portage-2.3.13, Repoman-2.3.4

 ...ighttpd-1.4.47-3d257ec3-respect-HAVE_IPV6.patch | 31 ++++++++++++++++++++++
 www-servers/lighttpd/lighttpd-1.4.47.ebuild        |  4 +++
 2 files changed, 35 insertions(+)

diff --git 
a/www-servers/lighttpd/files/lighttpd-1.4.47-3d257ec3-respect-HAVE_IPV6.patch 
b/www-servers/lighttpd/files/lighttpd-1.4.47-3d257ec3-respect-HAVE_IPV6.patch
new file mode 100644
index 00000000000..7916ac0b53f
--- /dev/null
+++ 
b/www-servers/lighttpd/files/lighttpd-1.4.47-3d257ec3-respect-HAVE_IPV6.patch
@@ -0,0 +1,31 @@
+Backport upstream fixes for Gentoo bug #636650
+
+Original upstream commit message:
+
+Author: nicorac <claudio.nic...@gmail.com>
+Date:   Wed Oct 25 16:48:24 2017 +0200
+
+    [core] fix build --disable-ipv6 (fixes #2832)
+    
+    x-ref:
+      "Build error on systems without IPV6 support (regression from 1.4.46)"
+      https://redmine.lighttpd.net/issues/2832
+    
+    github: closes #87
+
+--- a/src/network.c
++++ b/src/network.c
+@@ -77,9 +77,13 @@ static void network_host_normalize_addr_str(buffer *host, 
sock_addr *addr) {
+     if (addr->plain.sa_family == AF_INET6)
+         buffer_append_string_len(host, CONST_STR_LEN("]"));
+     if (addr->plain.sa_family != AF_UNIX) {
++      #ifdef HAVE_IPV6
+         unsigned short port = (addr->plain.sa_family == AF_INET)
+           ? ntohs(addr->ipv4.sin_port)
+           : ntohs(addr->ipv6.sin6_port);
++      #else
++        unsigned short port = ntohs(addr->ipv4.sin_port);
++      #endif
+         buffer_append_string_len(host, CONST_STR_LEN(":"));
+         buffer_append_int(host, (int)port);
+     }

diff --git a/www-servers/lighttpd/lighttpd-1.4.47.ebuild 
b/www-servers/lighttpd/lighttpd-1.4.47.ebuild
index 69a3db322f6..7267b9187d2 100644
--- a/www-servers/lighttpd/lighttpd-1.4.47.ebuild
+++ b/www-servers/lighttpd/lighttpd-1.4.47.ebuild
@@ -51,6 +51,10 @@ RDEPEND="${CDEPEND}
        selinux? ( sec-policy/selinux-apache )
 "
 
+PATCHES=(
+       "${FILESDIR}/${P}-3d257ec3-respect-HAVE_IPV6.patch"
+)
+
 # update certain parts of lighttpd.conf based on conditionals
 update_config() {
        local config="${D}/etc/lighttpd/lighttpd.conf"

Reply via email to