diff options
author | clement <clement@FreeBSD.org> | 2004-08-19 03:11:12 +0800 |
---|---|---|
committer | clement <clement@FreeBSD.org> | 2004-08-19 03:11:12 +0800 |
commit | 6e1a239a01bd30136dfc04e0c5d00bc813059645 (patch) | |
tree | 811423c2778f9da844218a6ce27594d360e036b9 /www/mod_perl | |
parent | b92347fbbc5b92e577d343964c031d22e2de7e8b (diff) | |
download | freebsd-ports-gnome-6e1a239a01bd30136dfc04e0c5d00bc813059645.tar.gz freebsd-ports-gnome-6e1a239a01bd30136dfc04e0c5d00bc813059645.tar.zst freebsd-ports-gnome-6e1a239a01bd30136dfc04e0c5d00bc813059645.zip |
- Fix buil with apache13 + ipv6
Set APACHE_PORT or define WITH_APACHE_IPV6
PR: ports/68158
Submitted by: SoD <sod at cd dot pri dot ee>
Obtained from: NetBSD
Diffstat (limited to 'www/mod_perl')
-rw-r--r-- | www/mod_perl/Makefile | 4 | ||||
-rw-r--r-- | www/mod_perl/files/patch-Makefile.PL (renamed from www/mod_perl/files/patch-aa) | 0 | ||||
-rw-r--r-- | www/mod_perl/files/patch-src:modules:perl:Connection.xs | 39 |
3 files changed, 43 insertions, 0 deletions
diff --git a/www/mod_perl/Makefile b/www/mod_perl/Makefile index e88fb95ad830..0d196c266410 100644 --- a/www/mod_perl/Makefile +++ b/www/mod_perl/Makefile @@ -40,6 +40,10 @@ MAN3= Apache.3 Apache::Constants.3 Apache::ExtUtils.3 \ mod_perl_cvs.3 mod_perl_method_handlers.3 mod_perl_traps.3 \ mod_perl_tuning.3 +.if defined(WITH_APACHE_IPV6) && ${APACHE_PORT:Mipv6} +CFLAGS+= -DAPACHE6 +.endif + .include <bsd.port.pre.mk> post-install: diff --git a/www/mod_perl/files/patch-aa b/www/mod_perl/files/patch-Makefile.PL index b8df70a4f89d..b8df70a4f89d 100644 --- a/www/mod_perl/files/patch-aa +++ b/www/mod_perl/files/patch-Makefile.PL diff --git a/www/mod_perl/files/patch-src:modules:perl:Connection.xs b/www/mod_perl/files/patch-src:modules:perl:Connection.xs new file mode 100644 index 000000000000..22eea28838da --- /dev/null +++ b/www/mod_perl/files/patch-src:modules:perl:Connection.xs @@ -0,0 +1,39 @@ +--- src/modules/perl/Connection.xs.orig Fri Nov 23 06:19:44 2001 ++++ src/modules/perl/Connection.xs Fri Nov 23 10:29:44 2001 +@@ -78,7 +78,11 @@ + RETVAL = newSVpv((char *)&conn->remote_addr, + sizeof conn->remote_addr); + if(sv_addr) { ++#ifdef APACHE6 ++ struct sockaddr_storage addr; ++#else + struct sockaddr_in addr; ++#endif + STRLEN sockaddrlen; + char * new_addr = SvPV(sv_addr,sockaddrlen); + if (sockaddrlen != sizeof(addr)) { +@@ -106,7 +110,26 @@ + #else + conn->remote_ip = pstrdup(conn->pool, (char *)SvPV(ST(1),na)); + #endif ++#ifdef APACHE6 ++ { ++ struct addrinfo hints, *res0; ++ int error; ++ ++ memset(&hints, 0, sizeof(hints)); ++ hints.ai_family = PF_UNSPEC; ++ hints.ai_flags = AI_NUMERICHOST; ++ error = getaddrinfo(conn->remote_ip, NULL, &hints, &res0); ++ if (!error) { ++ memcpy(&conn->remote_addr, res0->ai_addr, res0->ai_addrlen); ++ freeaddrinfo(res0); ++ } else { ++ croak("Bad ip address in remote_ip getaddrinfo failed %s", ++ gai_strerror(error)); ++ } ++ } ++#else + conn->remote_addr.sin_addr.s_addr = inet_addr(conn->remote_ip); ++#endif + } |