##
## Annotated patch file: eapi.patch
## Copyright (c) 1998-2001 Ralf S. Engelschall, All Rights Reserved.
-## Created on: 11-May-2004
+## Created on: 18-Oct-2005
##
## This file assembles changes to existing Apache source files
## between the original Apache and the patched variant. It can be
| Patch in implementation of the EAPI rule.
+---------------------------------------------------------------------------
Index: src/Configure
---- src/Configure 11 May 2004 18:28:09 -0000 1.1.1.23
-+++ src/Configure 11 May 2004 18:32:15 -0000 1.26
-@@ -1855,6 +1855,72 @@
+--- src/Configure 18 Oct 2005 06:26:22 -0000 1.1.1.26
++++ src/Configure 18 Oct 2005 06:27:34 -0000 1.29
+@@ -1867,6 +1867,72 @@
fi
####################################################################
| Add the build support for the ap_hook.c and ap_ctx.c sources (Win32)
+---------------------------------------------------------------------------
Index: src/ap/ap.mak
---- src/ap/ap.mak 18 Jul 2003 15:44:30 -0000 1.1.1.10
-+++ src/ap/ap.mak 18 Jul 2003 15:56:58 -0000 1.10
+--- src/ap/ap.mak 18 Oct 2005 06:26:22 -0000 1.1.1.11
++++ src/ap/ap.mak 18 Oct 2005 06:27:34 -0000 1.11
@@ -44,6 +44,9 @@
-@erase "$(INTDIR)\ap_cpystrn.obj"
-@erase "$(INTDIR)\ap_fnmatch.obj"
| EAPI-aware modules and standard modules.
+---------------------------------------------------------------------------
Index: src/include/ap_mmn.h
---- src/include/ap_mmn.h 11 May 2004 18:28:12 -0000 1.1.1.13
-+++ src/include/ap_mmn.h 11 May 2004 18:32:15 -0000 1.13
-@@ -205,7 +205,23 @@
- * in core_dir_config.
+--- src/include/ap_mmn.h 18 Oct 2005 06:26:23 -0000 1.1.1.14
++++ src/include/ap_mmn.h 18 Oct 2005 06:27:34 -0000 1.14
+@@ -206,7 +206,23 @@
+ * 19990320.18 - trace_enable member added to core server_config
*/
+/*
| function.
+---------------------------------------------------------------------------
Index: src/include/httpd.h
---- src/include/httpd.h 11 May 2004 18:28:12 -0000 1.1.1.23
-+++ src/include/httpd.h 11 May 2004 18:32:15 -0000 1.33
+--- src/include/httpd.h 18 Oct 2005 06:26:24 -0000 1.1.1.26
++++ src/include/httpd.h 18 Oct 2005 06:27:34 -0000 1.36
@@ -27,7 +27,19 @@
/* Headers in which EVERYONE has an interest... */
| Patch the shared memory pool support into the Apache pool facility.
+---------------------------------------------------------------------------
Index: src/main/alloc.c
---- src/main/alloc.c 11 May 2004 18:28:13 -0000 1.1.1.16
-+++ src/main/alloc.c 11 May 2004 18:32:15 -0000 1.25
+--- src/main/alloc.c 22 Oct 2004 10:15:50 -0000 1.1.1.17
++++ src/main/alloc.c 22 Oct 2004 10:18:59 -0000 1.26
@@ -21,6 +21,10 @@
*/
| variables are initialized.
+---------------------------------------------------------------------------
Index: src/main/http_config.c
---- src/main/http_config.c 11 May 2004 18:28:14 -0000 1.1.1.17
-+++ src/main/http_config.c 11 May 2004 18:32:15 -0000 1.20
+--- src/main/http_config.c 22 Oct 2004 10:15:50 -0000 1.1.1.18
++++ src/main/http_config.c 22 Oct 2004 10:18:59 -0000 1.21
@@ -557,6 +557,20 @@
m->name = tmp;
}
if ((l[0] == '#') || (!l[0]))
return NULL;
-@@ -1424,6 +1474,10 @@
+@@ -1428,6 +1478,10 @@
s->limit_req_fieldsize = main_server->limit_req_fieldsize;
s->limit_req_fields = main_server->limit_req_fields;
*ps = s;
return ap_parse_vhost_addrs(p, hostname, s);
-@@ -1535,6 +1589,10 @@
+@@ -1539,6 +1593,10 @@
s->module_config = create_server_config(p, s);
s->lookup_defaults = create_default_per_dir_config(p);
| is added plus the initialization of one more `ctx' variable.
+---------------------------------------------------------------------------
Index: src/main/http_main.c
---- src/main/http_main.c 11 May 2004 18:28:14 -0000 1.1.1.22
-+++ src/main/http_main.c 11 May 2004 18:32:15 -0000 1.44
+--- src/main/http_main.c 18 Oct 2005 06:26:25 -0000 1.1.1.24
++++ src/main/http_main.c 18 Oct 2005 06:27:34 -0000 1.47
@@ -242,6 +242,9 @@
int ap_dump_settings = 0;
#ifndef NETWARE
static APACHE_TLS int volatile exit_after_unblock = 0;
#endif
-@@ -1541,6 +1568,10 @@
- ap_log_transaction(log_req);
+@@ -1543,6 +1570,9 @@
}
+ ap_bsetflag(save_req->connection->client, B_EOUT, 1);
+#ifdef EAPI
+ ap_call_close_connection_hook(save_req->connection);
+#endif /* EAPI */
-+
- ap_bsetflag(save_req->connection->client, B_EOUT, 1);
ap_bclose(save_req->connection->client);
-@@ -1549,6 +1580,9 @@
- ap_longjmp(jmpbuffer, 1);
+ if (!ap_standalone)
+@@ -1551,6 +1581,9 @@
}
else { /* abort the connection */
+ ap_bsetflag(current_conn->client, B_EOUT, 1);
+#ifdef EAPI
+ ap_call_close_connection_hook(current_conn);
+#endif /* EAPI */
- ap_bsetflag(current_conn->client, B_EOUT, 1);
ap_bclose(current_conn->client);
current_conn->aborted = 1;
-@@ -1851,10 +1885,16 @@
+ }
+@@ -1852,10 +1885,16 @@
/* Send any leftover data to the client, but never try to again */
if (ap_bflush(r->connection->client) == -1) {
ap_bsetflag(r->connection->client, B_EOUT, 1);
/* Close our half of the connection --- send the client a FIN */
-@@ -2553,6 +2593,9 @@
+@@ -2554,6 +2593,9 @@
/* Clear the pool - including any registered cleanups */
ap_destroy_pool(pglobal);
#endif
exit(code);
}
-@@ -3623,6 +3666,24 @@
+@@ -3624,6 +3666,24 @@
conn->remote_addr = *remaddr;
conn->remote_ip = ap_pstrdup(conn->pool,
inet_ntoa(conn->remote_addr.sin_addr));
return conn;
}
-@@ -4133,6 +4194,15 @@
+@@ -4134,6 +4194,15 @@
printf("Server's Module Magic Number: %u:%u\n",
MODULE_MAGIC_NUMBER_MAJOR, MODULE_MAGIC_NUMBER_MINOR);
printf("Server compiled with....\n");
#ifdef TPF
show_os_specific_compile_settings();
#endif
-@@ -4307,6 +4377,22 @@
+@@ -4308,6 +4377,22 @@
ap_server_pre_read_config = ap_make_array(pcommands, 1, sizeof(char *));
ap_server_post_read_config = ap_make_array(pcommands, 1, sizeof(char *));
ap_server_config_defines = ap_make_array(pcommands, 1, sizeof(char *));
}
#ifndef MULTITHREAD
-@@ -4808,6 +4894,9 @@
+@@ -4809,6 +4894,9 @@
ap_sync_scoreboard_image();
if (ap_scoreboard_image->global.running_generation != ap_my_generation) {
ap_bclose(conn_io);
clean_child_exit(0);
}
-@@ -4836,6 +4925,9 @@
+@@ -4837,6 +4925,9 @@
*/
#ifdef NO_LINGCLOSE
ap_bclose(conn_io); /* just close it */
#else
if (r && r->connection
-@@ -4846,6 +4938,9 @@
+@@ -4847,6 +4938,9 @@
lingering_close(r);
}
else {
ap_bsetflag(conn_io, B_EOUT, 1);
ap_bclose(conn_io);
}
-@@ -5619,16 +5714,31 @@
+@@ -5630,16 +5724,31 @@
usage(argv[0]);
}
}
}
child_timeouts = !ap_standalone || one_process;
-@@ -5776,6 +5886,10 @@
+@@ -5787,6 +5896,10 @@
ap_destroy_pool(r->pool);
}
ap_bclose(cio);
}
exit(0);
-@@ -6152,6 +6266,9 @@
+@@ -6163,6 +6276,9 @@
ap_kill_cleanups_for_socket(ptrans, csd);
#ifdef NO_LINGCLOSE
ap_bclose(conn_io); /* just close it */
#else
if (r && r->connection
-@@ -6162,6 +6279,9 @@
+@@ -6173,6 +6289,9 @@
lingering_close(r);
}
else {
ap_bsetflag(conn_io, B_EOUT, 1);
ap_bclose(conn_io);
}
-@@ -7737,6 +7857,10 @@
+@@ -7748,6 +7867,10 @@
if (!conf_specified)
ap_cpystrn(ap_server_confname, SERVER_CONFIG_FILE, sizeof(ap_server_confname));
if (!ap_os_is_path_absolute(ap_server_confname))
ap_cpystrn(ap_server_confname,
ap_server_root_relative(pcommands, ap_server_confname),
-@@ -7777,6 +7901,9 @@
+@@ -7788,6 +7911,9 @@
#else /* ndef WIN32 */
server_conf = ap_read_config(pconf, ptrans, ap_server_confname);
#endif
| conn_rec structures.
+---------------------------------------------------------------------------
Index: src/main/http_request.c
---- src/main/http_request.c 11 May 2004 18:28:15 -0000 1.1.1.18
-+++ src/main/http_request.c 11 May 2004 18:32:15 -0000 1.18
-@@ -1363,6 +1363,10 @@
+--- src/main/http_request.c 22 Oct 2004 10:15:57 -0000 1.1.1.19
++++ src/main/http_request.c 22 Oct 2004 10:18:59 -0000 1.19
+@@ -1372,6 +1372,10 @@
new->method = r->method;
new->method_number = r->method_number;
| request_rec structures.
+---------------------------------------------------------------------------
Index: src/main/http_protocol.c
---- src/main/http_protocol.c 11 May 2004 18:28:15 -0000 1.1.1.20
-+++ src/main/http_protocol.c 11 May 2004 18:32:15 -0000 1.20
-@@ -1160,6 +1160,10 @@
+--- src/main/http_protocol.c 18 Oct 2005 06:26:26 -0000 1.1.1.22
++++ src/main/http_protocol.c 18 Oct 2005 06:27:34 -0000 1.22
+@@ -1172,6 +1172,10 @@
r->status = HTTP_REQUEST_TIME_OUT; /* Until we get a request */
r->the_request = NULL;
#ifdef CHARSET_EBCDIC
ap_bsetflag(r->connection->client, B_ASCII2EBCDIC, r->ebcdic.conv_in = 1);
ap_bsetflag(r->connection->client, B_EBCDIC2ASCII, r->ebcdic.conv_out = 1);
-@@ -1316,6 +1320,11 @@
+@@ -1340,6 +1344,11 @@
rnew->read_body = REQUEST_NO_BODY;
rnew->main = (request_rec *) r;
| Add support for loading both EAPI and AP13 modules.
+---------------------------------------------------------------------------
Index: src/modules/standard/mod_so.c
---- src/modules/standard/mod_so.c 11 May 2004 18:28:20 -0000 1.1.1.11
-+++ src/modules/standard/mod_so.c 11 May 2004 18:32:16 -0000 1.12
-@@ -226,11 +226,24 @@
+--- src/modules/standard/mod_so.c 22 Oct 2004 10:15:57 -0000 1.1.1.12
++++ src/modules/standard/mod_so.c 22 Oct 2004 10:18:59 -0000 1.13
+@@ -266,11 +266,24 @@
* Make sure the found module structure is really a module structure
*
*/
| variables from other modules.
+---------------------------------------------------------------------------
Index: src/modules/standard/mod_rewrite.c
---- src/modules/standard/mod_rewrite.c 11 May 2004 18:28:20 -0000 1.1.1.19
-+++ src/modules/standard/mod_rewrite.c 11 May 2004 18:32:16 -0000 1.17
-@@ -3848,6 +3848,15 @@
+--- src/modules/standard/mod_rewrite.c 30 Oct 2004 13:42:28 -0000 1.1.1.21
++++ src/modules/standard/mod_rewrite.c 30 Oct 2004 13:44:00 -0000 1.19
+@@ -3863,6 +3863,15 @@
}
#endif /* ndef WIN32 && NETWARE*/
| recognize more schemes by intercepting this processing.
+---------------------------------------------------------------------------
Index: src/modules/proxy/mod_proxy.c
---- src/modules/proxy/mod_proxy.c 11 May 2004 18:28:16 -0000 1.1.1.14
-+++ src/modules/proxy/mod_proxy.c 11 May 2004 18:32:15 -0000 1.21
-@@ -175,6 +175,9 @@
+--- src/modules/proxy/mod_proxy.c 18 Oct 2005 06:26:27 -0000 1.1.1.15
++++ src/modules/proxy/mod_proxy.c 18 Oct 2005 06:27:34 -0000 1.22
+@@ -176,6 +176,9 @@
static int proxy_fixup(request_rec *r)
{
char *url, *p;
if (r->proxyreq == NOT_PROXY || strncmp(r->filename, "proxy:", 6) != 0)
return DECLINED;
-@@ -182,6 +185,14 @@
+@@ -183,6 +186,14 @@
url = &r->filename[6];
/* canonicalise each specific scheme */
if (strncasecmp(url, "http:", 5) == 0)
return ap_proxy_http_canon(r, url + 5, "http", DEFAULT_HTTP_PORT);
else if (strncasecmp(url, "ftp:", 4) == 0)
-@@ -197,9 +208,44 @@
+@@ -198,9 +209,44 @@
static void proxy_init(server_rec *r, pool *p)
{
ap_proxy_garbage_init(r, p);
/* Send a redirection if the request contains a hostname which is not */
/* fully qualified, i.e. doesn't have a domain name appended. Some proxy */
-@@ -331,6 +377,14 @@
+@@ -364,6 +410,14 @@
* CONNECT is a special method that bypasses the normal proxy
* code.
*/
if (r->method_number == M_CONNECT)
rc = ap_proxy_connect_handler(r, cr, url, ents[i].hostname,
ents[i].port);
-@@ -340,6 +394,9 @@
+@@ -373,6 +427,9 @@
ents[i].port);
else
rc = DECLINED;
/* an error or success */
if (rc != DECLINED && rc != HTTP_BAD_GATEWAY)
-@@ -354,6 +411,14 @@
+@@ -387,6 +444,14 @@
*/
/* handle the scheme */
if (r->method_number == M_CONNECT) {
return ap_proxy_connect_handler(r, cr, url, NULL, 0);
}
-@@ -951,4 +1016,10 @@
+@@ -984,4 +1049,10 @@
NULL, /* child_init */
NULL, /* child_exit */
proxy_detect /* post read-request */
| to enhance it by intercepting this processing.
+---------------------------------------------------------------------------
Index: src/modules/proxy/proxy_http.c
---- src/modules/proxy/proxy_http.c 11 May 2004 18:28:18 -0000 1.1.1.17
-+++ src/modules/proxy/proxy_http.c 11 May 2004 18:32:16 -0000 1.25
+--- src/modules/proxy/proxy_http.c 18 Oct 2005 06:26:27 -0000 1.1.1.19
++++ src/modules/proxy/proxy_http.c 18 Oct 2005 06:27:34 -0000 1.27
@@ -127,6 +127,9 @@
const char *datestr, *urlstr;
int result, major, minor;