patch to apache for IPv6 only httpd

Curtis Villamizar curtis at occnc.com
Sat Aug 11 21:23:12 UTC 2012


FYI-

This very simple patch prevents an assert when httpd is run on a
server that has no IPv4 address.  An example is a BSD jail running
with only an IPv6 address on the interface (no loopback so no
127.0.0.1 address to bind to).

Copy the patch below into the files directory as
/usr/ports/www/apache22/files/patch-server__config.c

The port maintainer is on the Cc.  No bug has been reported.

BTW- I noticed this a long time ago.  I don't remember if I reported
it or forgot to.  Appologies if this is a duplicate.  It is not in the
httpd-2.2.22.tar.bz2 tarball, in the distinfo dated 23 July 2012.

Curtis


--- ./server/config.c.orig	2010-10-07 09:56:54.000000000 -0700
+++ ./server/config.c	2011-09-26 21:20:35.000000000 -0700
@@ -1979,6 +1979,9 @@
     /* NOT virtual host; don't match any real network interface */
     rv = apr_sockaddr_info_get(&s->addrs->host_addr,
                                NULL, APR_INET, 0, 0, p);
+    if (rv != APR_SUCCESS)
+        rv = apr_sockaddr_info_get(&s->addrs->host_addr,
+                                   NULL, APR_UNSPEC, 0, 0, p);
     ap_assert(rv == APR_SUCCESS); /* otherwise: bug or no storage */
 
     s->addrs->host_port = 0; /* matches any port */


More information about the freebsd-apache mailing list