From b15e4fc5ae7428ee8f1cd28bc2a79f74b3469eaf Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20R=C4=99korajski?= Date: Wed, 11 Apr 2001 02:39:32 +0000 Subject: [PATCH] 1332377a3f3603954a4aee597e1acf7c mod_perl-v6.patch Changed files: mod_perl-v6.patch -> 1.1 --- mod_perl-v6.patch | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 mod_perl-v6.patch diff --git a/mod_perl-v6.patch b/mod_perl-v6.patch new file mode 100644 index 0000000..d17ccb5 --- /dev/null +++ b/mod_perl-v6.patch @@ -0,0 +1,31 @@ +--- mod_perl-1.24/src/modules/perl/Connection.xs.v6 Tue Apr 11 09:49:19 2000 ++++ mod_perl-1.24/src/modules/perl/Connection.xs Fri Nov 3 08:29:29 2000 +@@ -78,7 +78,7 @@ + RETVAL = newSVpv((char *)&conn->remote_addr, + sizeof conn->remote_addr); + if(sv_addr) { +- struct sockaddr_in addr; ++ struct sockaddr_storage addr; + STRLEN sockaddrlen; + char * new_addr = SvPV(sv_addr,sockaddrlen); + if (sockaddrlen != sizeof(addr)) { +@@ -106,7 +106,18 @@ + #else + conn->remote_ip = pstrdup(conn->pool, (char *)SvPV(ST(1),na)); + #endif +- conn->remote_addr.sin_addr.s_addr = inet_addr(conn->remote_ip); ++ switch(conn->remote_addr.ss_family) ++ { ++ case AF_INET: ++ inet_pton(AF_INET, conn->remote_ip, ((struct sockaddr_in*)&conn->remote_addr)->sin_addr.s_addr); ++ break; ++ case AF_INET6: ++ inet_pton(AF_INET6, conn->remote_ip, ((struct sockaddr_in6*)&conn->remote_addr)->sin6_addr.s6_addr); ++ break; ++ default: ++ croak("Apache doesn't support this address family\n"); ++ break; ++ } + } + + OUTPUT: -- 2.44.0