fielding 97/05/26 21:41:55
Modified: src CHANGES httpd.h http_config.h http_main.c
http_protocol.c
Log:
If multiple requests on a single connection are used to retrieve
data from different virtual hosts, the virtual host list would be
scanned starting with the most recently used VH instead of the first,
causing most virtual hosts to be ignored. Fix required API version bump.
Submitted by: Paul Sutton (Martin Mares, PR#610)
Reviewed by: Roy Fielding, Randy Terbush, Ed Khortof
Revision Changes Path
1.279 +6 -0 apache/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache/src/CHANGES,v
retrieving revision 1.278
retrieving revision 1.279
diff -C3 -r1.278 -r1.279
*** CHANGES 1997/05/27 03:57:18 1.278
--- CHANGES 1997/05/27 04:41:48 1.279
***************
*** 1,5 ****
--- 1,11 ----
Changes with Apache 1.2
+ *) If multiple requests on a single connection are used to retrieve
+ data from different virtual hosts, the virtual host list would be
+ scanned starting with the most recently used VH instead of the first,
+ causing most virtual hosts to be ignored.
+ [Paul Sutton and Martin Mares] PR#610
+
*) The OS/2 handling of process group was broken by a porting patch for
MPE, so restored prior code for OS/2. [Roy Fielding and Garey Smiley]
1.105 +1 -0 apache/src/httpd.h
Index: httpd.h
===================================================================
RCS file: /export/home/cvs/apache/src/httpd.h,v
retrieving revision 1.104
retrieving revision 1.105
diff -C3 -r1.104 -r1.105
*** httpd.h 1997/05/14 19:22:51 1.104
--- httpd.h 1997/05/27 04:41:49 1.105
***************
*** 533,538 ****
--- 533,539 ----
pool *pool;
server_rec *server;
+ server_rec *base_server; /* Physical vhost this conn come in on */
/* Information about the connection itself */
1.29 +1 -1 apache/src/http_config.h
Index: http_config.h
===================================================================
RCS file: /export/home/cvs/apache/src/http_config.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -C3 -r1.28 -r1.29
*** http_config.h 1997/04/27 10:13:16 1.28
--- http_config.h 1997/05/27 04:41:49 1.29
***************
*** 226,232 ****
* handle it back-compatibly, or at least signal an error).
*/
! #define MODULE_MAGIC_NUMBER 19970427
#define STANDARD_MODULE_STUFF MODULE_MAGIC_NUMBER, -1, __FILE__, NULL
/* Generic accessors for other modules to get at their own module-specific
--- 226,232 ----
* handle it back-compatibly, or at least signal an error).
*/
! #define MODULE_MAGIC_NUMBER 19970526
#define STANDARD_MODULE_STUFF MODULE_MAGIC_NUMBER, -1, __FILE__, NULL
/* Generic accessors for other modules to get at their own module-specific
1.146 +1 -0 apache/src/http_main.c
Index: http_main.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_main.c,v
retrieving revision 1.145
retrieving revision 1.146
diff -C3 -r1.145 -r1.146
*** http_main.c 1997/05/27 03:57:18 1.145
--- http_main.c 1997/05/27 04:41:50 1.146
***************
*** 1613,1618 ****
--- 1613,1619 ----
conn->local_addr = *saddr;
conn->server = find_virtual_server(saddr->sin_addr,
ntohs(saddr->sin_port),
server);
+ conn->base_server = conn->server;
conn->client = inout;
conn->remote_addr = *remaddr;
1.123 +1 -0 apache/src/http_protocol.c
Index: http_protocol.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_protocol.c,v
retrieving revision 1.122
retrieving revision 1.123
diff -C3 -r1.122 -r1.123
*** http_protocol.c 1997/05/27 04:14:20 1.122
--- http_protocol.c 1997/05/27 04:41:51 1.123
***************
*** 761,766 ****
--- 761,767 ----
request_rec *r = (request_rec *)pcalloc (conn->pool,
sizeof(request_rec));
r->connection = conn;
+ conn->server = conn->base_server;
r->server = conn->server;
r->pool = make_sub_pool(conn->pool);