-diff -Nur apache_1.3.28.orig/README.v6 apache_1.3.28/README.v6
--- apache_1.3.28.orig/README.v6 Thu Jan 1 01:00:00 1970
+++ apache_1.3.28/README.v6 Fri Jul 25 11:01:55 2003
@@ -0,0 +1,166 @@
+ http://www.v6.linux.or.jp/
+ YOSHIFUJI Hideaki, USAGI Project
+ http://www.linux-ipv6.org/
-diff -Nur apache_1.3.28.orig/conf/httpd.conf-dist apache_1.3.28/conf/httpd.conf-dist
--- apache_1.3.28.orig/conf/httpd.conf-dist Wed Jul 16 21:36:41 2003
+++ apache_1.3.28/conf/httpd.conf-dist Fri Jul 25 11:01:55 2003
@@ -174,6 +174,11 @@
#
# BindAddress: You can support virtual hosts with this option. This directive
# is used to tell the server which IP address to listen to. It can either
-diff -Nur apache_1.3.28.orig/configure.v6 apache_1.3.28/configure.v6
--- apache_1.3.28.orig/configure.v6 Thu Jan 1 01:00:00 1970
+++ apache_1.3.28/configure.v6 Fri Jul 25 11:01:55 2003
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+./configure --enable-rule=INET6 --enable-module=proxy $*
-diff -Nur apache_1.3.28.orig/src/Configuration.tmpl apache_1.3.28/src/Configuration.tmpl
--- apache_1.3.28.orig/src/Configuration.tmpl Fri Jul 25 11:00:49 2003
+++ apache_1.3.28/src/Configuration.tmpl Fri Jul 25 11:01:55 2003
@@ -191,6 +191,9 @@
Rule CYGWIN_WINSOCK=no
# DEV_RANDOM:
-diff -Nur apache_1.3.28.orig/src/Configure apache_1.3.28/src/Configure
--- apache_1.3.28.orig/src/Configure Fri Jul 25 11:00:49 2003
+++ apache_1.3.28/src/Configure Fri Jul 25 11:01:55 2003
@@ -238,6 +238,7 @@
####################################################################
## More building ap_config_auto.h
##
-diff -Nur apache_1.3.28.orig/src/ap/ap_snprintf.c apache_1.3.28/src/ap/ap_snprintf.c
--- apache_1.3.28.orig/src/ap/ap_snprintf.c Mon Feb 3 18:13:17 2003
+++ apache_1.3.28/src/ap/ap_snprintf.c Fri Jul 25 11:01:55 2003
@@ -73,6 +73,7 @@
else {
s = S_NULL;
s_len = S_NULL_LEN;
-diff -Nur apache_1.3.28.orig/src/include/ap.h apache_1.3.28/src/include/ap.h
--- apache_1.3.28.orig/src/include/ap.h Mon Feb 3 18:13:17 2003
+++ apache_1.3.28/src/include/ap.h Fri Jul 25 11:01:55 2003
@@ -95,7 +95,8 @@
* %pp takes a void * and outputs it in hex
*
* The %p hacks are to force gcc's printf warning code to skip
-diff -Nur apache_1.3.28.orig/src/include/ap_config.h apache_1.3.28/src/include/ap_config.h
--- apache_1.3.28.orig/src/include/ap_config.h Mon May 5 13:45:49 2003
+++ apache_1.3.28/src/include/ap_config.h Fri Jul 25 11:01:55 2003
@@ -411,6 +411,10 @@
#ifdef __cplusplus
}
#endif
-diff -Nur apache_1.3.28.orig/src/include/http_conf_globals.h apache_1.3.28/src/include/http_conf_globals.h
--- apache_1.3.28.orig/src/include/http_conf_globals.h Fri Jul 25 11:00:49 2003
+++ apache_1.3.28/src/include/http_conf_globals.h Fri Jul 25 11:01:55 2003
@@ -82,7 +82,8 @@
extern listen_rec *ap_listeners;
extern API_VAR_EXPORT int ap_daemons_to_start;
extern API_VAR_EXPORT int ap_daemons_min_free;
-diff -Nur apache_1.3.28.orig/src/include/http_vhost.h apache_1.3.28/src/include/http_vhost.h
--- apache_1.3.28.orig/src/include/http_vhost.h Mon Feb 3 18:13:19 2003
+++ apache_1.3.28/src/include/http_vhost.h Fri Jul 25 11:01:55 2003
@@ -73,7 +73,7 @@
/* given an ip address only, give our best guess as to what vhost it is */
API_EXPORT(void) ap_update_vhost_given_ip(conn_rec *conn);
-diff -Nur apache_1.3.28.orig/src/include/httpd.h apache_1.3.28/src/include/httpd.h
--- apache_1.3.28.orig/src/include/httpd.h Fri Jul 25 11:00:49 2003
+++ apache_1.3.28/src/include/httpd.h Fri Jul 25 11:01:55 2003
@@ -904,8 +904,8 @@
extern API_VAR_EXPORT time_t ap_restart_time;
-diff -Nur apache_1.3.28.orig/src/include/sa_len.h apache_1.3.28/src/include/sa_len.h
--- apache_1.3.28.orig/src/include/sa_len.h Thu Jan 1 01:00:00 1970
+++ apache_1.3.28/src/include/sa_len.h Fri Jul 25 11:01:55 2003
@@ -0,0 +1,41 @@
+}
+#endif /* SA_LEN */
+#endif /* HAVE_SOCKADDR_LEN */
-diff -Nur apache_1.3.28.orig/src/include/sockaddr_storage.h apache_1.3.28/src/include/sockaddr_storage.h
--- apache_1.3.28.orig/src/include/sockaddr_storage.h Thu Jan 1 01:00:00 1970
+++ apache_1.3.28/src/include/sockaddr_storage.h Fri Jul 25 11:01:55 2003
@@ -0,0 +1,53 @@
+#define su_port su_si.si_port
+
+#endif /* NEED_SOCKADDR_STORAGE */
-diff -Nur apache_1.3.28.orig/src/main/getaddrinfo.c apache_1.3.28/src/main/getaddrinfo.c
--- apache_1.3.28.orig/src/main/getaddrinfo.c Thu Jan 1 01:00:00 1970
+++ apache_1.3.28/src/main/getaddrinfo.c Fri Jul 25 11:01:55 2003
@@ -0,0 +1,162 @@
+ }
+ return EAI_NODATA;
+}
-diff -Nur apache_1.3.28.orig/src/main/getnameinfo.c apache_1.3.28/src/main/getnameinfo.c
--- apache_1.3.28.orig/src/main/getnameinfo.c Thu Jan 1 01:00:00 1970
+++ apache_1.3.28/src/main/getnameinfo.c Fri Jul 25 11:01:55 2003
@@ -0,0 +1,95 @@
+ return EAI_NODATA;
+ return 0;
+}
-diff -Nur apache_1.3.28.orig/src/main/http_config.c apache_1.3.28/src/main/http_config.c
--- apache_1.3.28.orig/src/main/http_config.c Fri Jul 25 11:00:49 2003
+++ apache_1.3.28/src/main/http_config.c Fri Jul 25 11:01:55 2003
@@ -1591,7 +1591,6 @@
}
---- apache_1.3.31/src/main/http_core.c.orig Mon May 3 22:15:26 2004
-+++ apache_1.3.31/src/main/http_core.c Wed May 12 13:06:21 2004
+--- apache_1.3.34/src/main/http_core.c.orig 2005-06-28 20:03:25.000000000 +0200
++++ apache_1.3.34/src/main/http_core.c 2005-10-18 10:14:09.000000000 +0200
@@ -28,6 +28,7 @@
#include "util_md5.h"
#include "scoreboard.h"
#ifdef USE_MMAP_FILES
#include <sys/mman.h>
-@@ -565,7 +565,7 @@
+@@ -570,7 +571,7 @@
* file if you care. So the adhoc value should do.
*/
- return ap_psprintf(r->pool,"%pp%pp%pp%pp%pp",
-- (void *)&((r->connection->local_addr).sin_addr ),
-+ (void *)&(((struct sockaddr_in *)&(r->connection->local_addr))->sin_addr),
+ return ap_psprintf(r->pool,"%pA%pp%pp%pp%pp",
+- &r->connection->local_addr.sin_addr,
++ &((struct sockaddr_in *)&(r->connection->local_addr))->sin_addr,
(void *)ap_user_name,
(void *)ap_listeners,
(void *)ap_server_argv0,
-@@ -660,7 +661,9 @@
+@@ -666,7 +667,9 @@
*/
static ap_inline void do_double_reverse (conn_rec *conn)
{
if (conn->double_reverse) {
/* already done */
-@@ -672,19 +675,43 @@
+@@ -678,30 +681,54 @@
conn->remote_host = ""; /* prevent another lookup */
return;
}
+ conn->double_reverse = ok ? 1 : -1;
+ freeaddrinfo(res0);
/* invalidate possible reverse-resolved hostname if forward lookup fails */
- conn->remote_host = "";
+- conn->remote_host = "";
++ if(!ok)
++ conn->remote_host = "";
}
-@@ -692,10 +719,9 @@
+
API_EXPORT(const char *) ap_get_remote_host(conn_rec *conn, void *dir_config,
int type)
{
/* If we haven't checked the host name, and we want to */
if (dir_config) {
-@@ -717,10 +743,14 @@
+@@ -723,10 +750,14 @@
|| hostname_lookups != HOSTNAME_LOOKUP_OFF)) {
old_stat = ap_update_child_status(conn->child_num, SERVER_BUSY_DNS,
(request_rec*)NULL);
ap_str_tolower(conn->remote_host);
if (hostname_lookups == HOSTNAME_LOOKUP_DOUBLE) {
-@@ -798,6 +828,7 @@
+@@ -804,6 +835,7 @@
{
conn_rec *conn = r->connection;
core_dir_config *d;
d = (core_dir_config *)ap_get_module_config(r->per_dir_config,
&core_module);
-@@ -807,23 +838,22 @@
+@@ -813,23 +845,22 @@
}
if (d->use_canonical_name == USE_CANONICAL_NAME_DNS) {
if (conn->local_host == NULL) {
(void) ap_update_child_status(conn->child_num, old_stat, r);
}
return conn->local_host;
-@@ -835,7 +865,7 @@
+@@ -841,7 +872,7 @@
API_EXPORT(unsigned) ap_get_server_port(const request_rec *r)
{
unsigned port;
core_dir_config *d =
(core_dir_config *)ap_get_module_config(r->per_dir_config, &core_module);
-@@ -2621,12 +2651,25 @@
+@@ -2647,12 +2678,25 @@
static const char *set_bind_address(cmd_parms *cmd, void *dummy, char *arg)
{
return NULL;
}
-@@ -2658,48 +2701,71 @@
+@@ -2684,48 +2728,71 @@
return NULL;
}
new->fd = -1;
new->used = 0;
new->next = ap_listeners;
-@@ -3602,7 +3668,7 @@
+@@ -3650,7 +3717,7 @@
{ "ThreadStackSize", set_threadstacksize, NULL, RSRC_CONF, TAKE1,
"Stack size each created thread will use."},
#endif
"A port number or a numeric IP address and a port number"},
{ "SendBufferSize", set_send_buffer_size, NULL, RSRC_CONF, TAKE1,
"Send buffer size in bytes"},
-@@ -3636,7 +3702,7 @@
+@@ -3684,7 +3751,7 @@
"Name of the config file to be included" },
{ "LogLevel", set_loglevel, NULL, RSRC_CONF, TAKE1,
"Level of verbosity in error logging" },
"A numeric IP address:port, or the name of a host" },
#ifdef _OSD_POSIX
{ "BS2000Account", set_bs2000_account, NULL, RSRC_CONF, TAKE1,
-diff -Nur apache_1.3.28.orig/src/main/http_main.c apache_1.3.28/src/main/http_main.c
--- apache_1.3.28.orig/src/main/http_main.c Fri Jul 25 11:00:49 2003
+++ apache_1.3.28/src/main/http_main.c Fri Jul 25 12:13:12 2003
@@ -124,6 +124,8 @@
/* otherwise we're stuck with just the main server
* and no name-based vhosts
*/
-diff -Nur apache_1.3.28.orig/src/main/rfc1413.c apache_1.3.28/src/main/rfc1413.c
--- apache_1.3.28.orig/src/main/rfc1413.c Mon Feb 3 18:13:23 2003
+++ apache_1.3.28/src/main/rfc1413.c Fri Jul 25 12:15:05 2003
@@ -82,6 +82,7 @@
}
ap_set_callback_and_alarm(NULL, 0);
ap_pclosesocket(conn->pool, sock);
-diff -Nur apache_1.3.28.orig/src/main/util.c apache_1.3.28/src/main/util.c
--- apache_1.3.28.orig/src/main/util.c Mon Feb 3 18:13:23 2003
+++ apache_1.3.28/src/main/util.c Fri Jul 25 11:01:55 2003
@@ -2017,52 +2017,87 @@
+#ifdef NEED_GETNAMEINFO
+#include "getnameinfo.c"
+#endif
-diff -Nur apache_1.3.28.orig/src/main/util_script.c apache_1.3.28/src/main/util_script.c
--- apache_1.3.28.orig/src/main/util_script.c Mon Feb 3 18:13:23 2003
+++ apache_1.3.28/src/main/util_script.c Fri Jul 25 11:01:55 2003
@@ -67,6 +67,7 @@
if (c->user) {
ap_table_addn(e, "REMOTE_USER", c->user);
-diff -Nur apache_1.3.28.orig/src/main/util_uri.c apache_1.3.28/src/main/util_uri.c
--- apache_1.3.28.orig/src/main/util_uri.c Mon Feb 3 18:13:24 2003
+++ apache_1.3.28/src/main/util_uri.c Fri Jul 25 11:01:55 2003
@@ -424,6 +424,12 @@
if (s == NULL) {
return HTTP_BAD_REQUEST;
}
-diff -Nur apache_1.3.28.orig/src/modules/proxy/mod_proxy.c apache_1.3.28/src/modules/proxy/mod_proxy.c
--- apache_1.3.28.orig/src/modules/proxy/mod_proxy.c Fri Jul 25 11:00:49 2003
+++ apache_1.3.28/src/modules/proxy/mod_proxy.c Fri Jul 25 11:01:55 2003
@@ -574,11 +574,31 @@
new->port = port;
return NULL;
}
-diff -Nur apache_1.3.28.orig/src/modules/proxy/mod_proxy.h apache_1.3.28/src/modules/proxy/mod_proxy.h
--- apache_1.3.28.orig/src/modules/proxy/mod_proxy.h Mon Feb 3 18:13:26 2003
+++ apache_1.3.28/src/modules/proxy/mod_proxy.h Fri Jul 25 11:01:55 2003
@@ -310,7 +310,7 @@
int ap_proxy_garbage_init(server_rec *, pool *);
/* This function is called by ap_table_do() for all header lines */
int ap_proxy_send_hdr_line(void *p, const char *key, const char *value);
-diff -Nur apache_1.3.28.orig/src/modules/proxy/proxy_connect.c apache_1.3.28/src/modules/proxy/proxy_connect.c
--- apache_1.3.28.orig/src/modules/proxy/proxy_connect.c Mon Feb 3 18:13:26 2003
+++ apache_1.3.28/src/modules/proxy/proxy_connect.c Fri Jul 25 11:27:12 2003
@@ -113,14 +113,15 @@
if (i == -1) {
ap_pclosesocket(r->pool, sock);
return ap_proxyerror(r, HTTP_INTERNAL_SERVER_ERROR, ap_pstrcat(r->pool,
-diff -Nur apache_1.3.28.orig/src/modules/proxy/proxy_ftp.c apache_1.3.28/src/modules/proxy/proxy_ftp.c
--- apache_1.3.28.orig/src/modules/proxy/proxy_ftp.c Mon Feb 3 18:13:26 2003
+++ apache_1.3.28/src/modules/proxy/proxy_ftp.c Fri Jul 25 11:18:38 2003
@@ -62,6 +62,7 @@
do
csd = accept(dsock, (struct sockaddr *)&server, &clen);
while (csd == -1 && errno == EINTR);
---- apache_1.3.31/src/modules/proxy/proxy_http.c.orig Wed May 12 12:56:16 2004
-+++ apache_1.3.31/src/modules/proxy/proxy_http.c Wed May 12 14:09:27 2004
+--- apache_1.3.34/src/modules/proxy/proxy_http.c.orig 2005-10-18 09:56:15.000000000 +0200
++++ apache_1.3.34/src/modules/proxy/proxy_http.c 2005-10-18 10:15:06.000000000 +0200
@@ -113,9 +113,8 @@
table *req_hdrs, *resp_hdrs;
array_header *reqhdrs_arr;
- memset(&server, '\0', sizeof(server));
- server.sin_family = AF_INET;
--
+-
/* We break the URL into host, port, path-search */
urlptr = strstr(url, "://");
if (i == -1) {
if (proxyhost != NULL)
return DECLINED; /* try again another way */
-@@ -564,17 +575,30 @@
+@@ -591,17 +602,30 @@
ap_table_set(resp_hdrs, "Content-Location", proxy_location_reverse_map(r, urlstr));
/* check if NoCache directive on this host */
/*
* update the cache file, possibly even fulfilling the request if it
* turns out a conditional allowed us to serve the object from the
-diff -Nur apache_1.3.28.orig/src/modules/proxy/proxy_util.c apache_1.3.28/src/modules/proxy/proxy_util.c
--- apache_1.3.28.orig/src/modules/proxy/proxy_util.c Mon Feb 3 18:13:26 2003
+++ apache_1.3.28/src/modules/proxy/proxy_util.c Fri Jul 25 11:01:55 2003
@@ -64,6 +64,7 @@
ap_kill_timeout(r);
--- apache_1.3.31/src/modules/standard/mod_access.c.orig Sun Mar 7 22:47:14 2004
-+++ apache_1.3.31/src/modules/standard/mod_access.c Fri May 14 21:42:47 2004
++++ apache_1.3.31/src/modules/standard/mod_access.c Sat May 15 00:05:40 2004
@@ -31,7 +31,10 @@
T_ALL,
T_IP,
} x;
enum allowdeny_type type;
} allowdeny;
-@@ -124,94 +133,231 @@
+@@ -124,94 +133,242 @@
}
else if ((s = strchr(where, '/'))) {
+ freeaddrinfo(resmask);
a->type = T_FAIL;
- return "invalid ip address";
-+ return "network/netmask resolved to multiple addresses";
- }
+- }
- while (ap_isdigit(*t)) {
- ++t;
- }
- if (*t == '.') {
- *t++ = 0;
-- }
++ return "network/netmask resolved to multiple addresses";
+ }
- else if (*t) {
+ memcpy(&mask, resmask->ai_addr, resmask->ai_addrlen);
+ freeaddrinfo(resmask);
}
- a->x.ip.net.s_addr = ntohl(a->x.ip.net.s_addr);
- a->x.ip.mask.s_addr = ntohl(a->x.ip.mask.s_addr);
++ /* mask network address */
++ switch (a->type) {
++ case T_IP:
++ a->x.ip.net.s_addr &= a->x.ip.mask.s_addr;
++ break;
++ case T_IP6:
++ a->x.ip6.net6.s6_addr32[0] &= a->x.ip6.mask6.s6_addr32[0];
++ a->x.ip6.net6.s6_addr32[1] &= a->x.ip6.mask6.s6_addr32[1];
++ a->x.ip6.net6.s6_addr32[2] &= a->x.ip6.mask6.s6_addr32[2];
++ a->x.ip6.net6.s6_addr32[3] &= a->x.ip6.mask6.s6_addr32[3];
++ }
}
else {
- a->type = T_HOST;
return NULL;
}
-@@ -275,13 +421,63 @@
+@@ -275,13 +432,63 @@
return 1;
case T_IP:
case T_HOST:
if (!gothost) {
remotehost = ap_get_remote_host(r->connection, r->per_dir_config,
-diff -Nur apache_1.3.28.orig/src/modules/standard/mod_unique_id.c apache_1.3.28/src/modules/standard/mod_unique_id.c
--- apache_1.3.28.orig/src/modules/standard/mod_unique_id.c Mon Feb 3 18:13:30 2003
+++ apache_1.3.28/src/modules/standard/mod_unique_id.c Fri Jul 25 11:01:55 2003
@@ -67,10 +67,22 @@
/*
* If we use 0 as the initial counter we have a little less protection
-diff -Nur apache_1.3.28.orig/src/support/ab.c apache_1.3.28/src/support/ab.c
--- apache_1.3.28.orig/src/support/ab.c Sun Jul 6 19:52:27 2003
+++ apache_1.3.28/src/support/ab.c Fri Jul 25 11:01:55 2003
@@ -158,6 +158,8 @@
+#ifdef NEED_GETADDRINFO
+#include "../main/getaddrinfo.c"
+#endif
-diff -Nur apache_1.3.28.orig/src/support/logresolve.c apache_1.3.28/src/support/logresolve.c
--- apache_1.3.28.orig/src/support/logresolve.c Wed May 23 00:52:21 2001
+++ apache_1.3.28/src/support/logresolve.c Fri Jul 25 11:01:55 2003
@@ -54,7 +54,9 @@
dcfg = ap_get_module_config(r->per_dir_config, &usertrack_module);
--- apache_1.3.31/src/modules/standard/mod_rewrite.c.orig Wed May 12 14:57:09 2004
+++ apache_1.3.31/src/modules/standard/mod_rewrite.c Wed May 12 15:40:04 2004
-@@ -3651,8 +3651,19 @@
+@@ -48,6 +48,7 @@
+
+
+ #include "mod_rewrite.h"
++#include "sa_len.h"
+
+ #ifndef NO_WRITEV
+ #ifndef NETWARE
+@@ -3651,8 +3652,19 @@
result = r->connection->remote_ip;
}
else if (strcasecmp(var, "REMOTE_PORT") == 0) {