httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@apache.org (Ralf S. Engelschall)
Subject cvs commit: apache/src CHANGES http_protocol.c http_request.c mod_browser.c
Date Thu, 31 Jul 1997 08:19:54 GMT
rse         97/07/31 01:19:53

  Modified:    src       Tag: APACHE_1_2_X  CHANGES http_protocol.c
                        http_request.c mod_browser.c
  Log:
  "force-response-1.0" now only applies to requests which are HTTP/1.0 to begin
  with.  "nokeepalive" now works for HTTP/1.1 clients.  Added "downgrade-1.0"
  which causes Apache to pretend it received a 1.0.  Additionally mod_browser
  now triggers during translate_name to workaround a deficiency in the
  header_parse phase.
  
  PR:	875
  Submitted by:	Dean Gaudet
  Reviewed by:	Roy Fielding, Ralf S. Engelschall, Jim Jagielski
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.286.2.34 +7 -0      apache/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.286.2.33
  retrieving revision 1.286.2.34
  diff -u -r1.286.2.33 -r1.286.2.34
  --- CHANGES	1997/07/30 15:25:27	1.286.2.33
  +++ CHANGES	1997/07/31 08:19:47	1.286.2.34
  @@ -1,5 +1,12 @@
   Changes with Apache 1.2.2
   
  +  *) "force-response-1.0" now only applies to requests which are HTTP/1.0 to
  +     begin with.  "nokeepalive" now works for HTTP/1.1 clients.  Added
  +     "downgrade-1.0" which causes Apache to pretend it received a 1.0.
  +     Additionally mod_browser now triggers during translate_name to workaround
  +     a deficiency in the header_parse phase.
  +     [Dean Gaudet] PR#875
  +
     *) get_client_block() returns wrong length if policy is 
        REQUEST_CHUNKED_DECHUNK.
        [Kenichi Hori <ken@d2.bs1.fc.nec.co.jp>] PR#815
  
  
  
  1.126.2.5 +9 -6      apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.126.2.4
  retrieving revision 1.126.2.5
  diff -u -r1.126.2.4 -r1.126.2.5
  --- http_protocol.c	1997/07/30 15:25:29	1.126.2.4
  +++ http_protocol.c	1997/07/31 08:19:48	1.126.2.5
  @@ -281,8 +281,9 @@
        *   and the response status does not require a close;
        *   and the response generator has not already indicated close;
        *   and the client did not request non-persistence (Connection: close);
  +     *   and    we haven't been configured to ignore the buggy twit
  +     *       or they're a buggy twit coming through a HTTP/1.1 proxy
        *   and    the client is requesting an HTTP/1.0-style keep-alive
  -     *          and we haven't been configured to ignore the buggy twit,
        *       or the client claims to be HTTP/1.1 compliant (perhaps a proxy);
        *   THEN we can be persistent, which requires more headers be output.
        *
  @@ -304,9 +305,10 @@
           !status_drops_connection(r->status) &&
           !wimpy &&
           !find_token(r->pool, conn, "close") &&
  -        (((ka_sent = find_token(r->pool, conn, "keep-alive")) &&
  -          !table_get(r->subprocess_env, "nokeepalive")) ||
  -         (r->proto_num >= 1001))
  +	(!table_get(r->subprocess_env, "nokeepalive") ||
  +	 table_get(r->headers_in, "Via")) &&
  +	((ka_sent = find_token(r->pool, conn, "keep-alive")) ||
  +	   (r->proto_num >= 1001))
          ) {
   	char header[256];
   	int left = r->server->keep_alive_max - r->connection->keepalives;
  @@ -1041,8 +1043,9 @@
       
       if (!r->status_line)
           r->status_line = status_lines[index_of_response(r->status)];
  -    
  -    if (table_get(r->subprocess_env,"force-response-1.0"))
  +
  +    if (r->proto_num == 1000
  +	&& table_get(r->subprocess_env,"force-response-1.0"))
   	protocol = "HTTP/1.0";
       else
   	protocol = SERVER_PROTOCOL;
  
  
  
  1.50.2.5  +4 -0      apache/src/http_request.c
  
  Index: http_request.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_request.c,v
  retrieving revision 1.50.2.4
  retrieving revision 1.50.2.5
  diff -u -r1.50.2.4 -r1.50.2.5
  --- http_request.c	1997/07/19 20:17:41	1.50.2.4
  +++ http_request.c	1997/07/31 08:19:49	1.50.2.5
  @@ -937,6 +937,10 @@
   	return;
       }
   
  +    if (r->proto_num > 1000 && table_get (r->subprocess_env, "downgrade-1.0"))
{
  +	r->proto_num = 1000;
  +    }
  +
       /* NB: directory_walk() clears the per_dir_config, so we don't inherit from
          location_walk() above */
   
  
  
  
  1.9.2.1   +4 -4      apache/src/mod_browser.c
  
  Index: mod_browser.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/mod_browser.c,v
  retrieving revision 1.9
  retrieving revision 1.9.2.1
  diff -u -r1.9 -r1.9.2.1
  --- mod_browser.c	1997/04/24 23:35:21	1.9
  +++ mod_browser.c	1997/07/31 08:19:50	1.9.2.1
  @@ -139,7 +139,7 @@
   { NULL },
   };
   
  -int parse_headers_browser_module(request_rec *r)
  +static int browser_match(request_rec *r)
   {
       server_rec *s = r->server;
       browser_server_config_rec *sconf = get_module_config (s->module_config,
  @@ -166,7 +166,7 @@
   	}
       }
   
  -    return OK;  
  +    return DECLINED;  
   }
   
   module browser_module = {
  @@ -178,12 +178,12 @@
      merge_browser_config,     	/* merge server configs */
      browser_module_cmds,		/* command table */
      NULL,			/* handlers */
  -   NULL,			/* filename translation */
  +   browser_match,		/* filename translation */
      NULL,			/* check_user_id */
      NULL,			/* check auth */
      NULL,			/* check access */
      NULL,			/* type_checker */
      NULL,			/* fixups */
      NULL,			/* logger */
  -   parse_headers_browser_module	/* header parser */
  +   NULL				/* header parser */
   };
  
  
  

Mime
View raw message