]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Eliminate creation of a temporary table in ap_get_mime_headers_core()
authorPaul J. Reder <rederpj@apache.org>
Tue, 15 Jul 2003 21:03:14 +0000 (21:03 +0000)
committerPaul J. Reder <rederpj@apache.org>
Tue, 15 Jul 2003 21:03:14 +0000 (21:03 +0000)
Submitted by: Joe Schaefer <joe+gmane@sunstarsys.com>
Reviewed by: Brian Pane
Backported by: Paul J. Reder

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_2_0_BRANCH@100639 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
server/protocol.c

diff --git a/CHANGES b/CHANGES
index 5be9c2636fcb6362d8023a401db7736d26da0b0d..25d7350912372d234068a58e415ca55cb6a87eb3 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,10 @@
 Changes with Apache 2.0.48
 
+  *) Eliminate creation of a temporary table in ap_get_mime_headers_core()
+     Submitted by: Joe Schaefer <joe+gmane@sunstarsys.com>
+     Reviewed by: Brian Pane
+     Backported: Paul J. Reder
+
   *) Added FreeBSD directory layout. PR 21100.
      [Sander Holthaus <info@orangexl.com>, AndrĂ© Malo]
 
diff --git a/STATUS b/STATUS
index 342c1d20f4913b4d31f8d8a996bf06d03570a308..e8038b6c6b9f4beb818db4e2d134033dfc8d50b9 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -1,5 +1,5 @@
 APACHE 2.0 STATUS:                                              -*-text-*-
-Last modified at [$Date: 2003/07/15 19:09:22 $]
+Last modified at [$Date: 2003/07/15 21:03:13 $]
 
 Release:
 
@@ -69,22 +69,20 @@ PATCHES TO PORT FROM 2.1
       rewritten request using "proxy:". The code was adding multiple "proxy:"
       fields in the rewritten URI. PR: 13946.
       http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/mappers/mod_rewrite.c.diff?r1=1.153&r2=1.154
+      http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/mappers/mod_rewrite.c.diff?r1=1.154&r2=1.155
+      http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/mappers/mod_rewrite.c.diff?r1=1.156&r2=1.157
       +1: rederpj, nd (besides my further comments on dev@)
 
     * ap_get_mime_headers_core(): Remove LWS between header token and ':'
       delimeter. (2616 compliance)
       server/protocol.c: r1.133
       http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/protocol.c.diff?r1=1.132&r2=1.133
+      http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/protocol.c.diff?r1=1.133&r2=1.134
+      http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/protocol.c.diff?r1=1.134&r2=1.135
       +1: rederpj, nd (though I think it's actually a bad request, being lenient
           is probably the best here), trawick (prefer style changes in
           r1.135 to be committed at same time), jim
 
-    * ap_get_mime_headers(): eliminate the temporary table used to
-      combine duplicate headers (performance enhancement)
-      server/protocol.c: r1.132
-      http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/protocol.c.diff?r1=1.131&r2=1.132&diff_format=h
-      +1: brianp, jerenkrantz, rederpj, nd
-
     * Replace some of the mutex locking in the worker MPM with
       atomic operations for higher concurrency.
       server/mpm/worker/fdqueue.c 1.24, 1.25
@@ -866,6 +864,9 @@ EXPERIMENTAL MODULES:
       (mod_mem_cache: MCacheMaxObjectCount) and
       (mod_cache: CacheForceCompletion). 
 
+    * Fix RFC 2616 compliance issues. Including PRs: 15852, 15866,
+      15868, 15869, 15870, 16133, 16135, 16136, 16521, 19441.
+
     mod_auth_ldap/util_ldap:
     * General stabilization and testing
     
index 251b32bc34c572e344c37937039da9b56814b8c4..cda5a57ba1cb4226a3b1e7e3d3f900106f9971ad 100644 (file)
@@ -705,10 +705,6 @@ AP_DECLARE(void) ap_get_mime_headers_core(request_rec *r, apr_bucket_brigade *bb
     char *value;
     apr_size_t len;
     int fields_read = 0;
-    apr_table_t *tmp_headers;
-
-    /* We'll use apr_table_overlap later to merge these into r->headers_in. */
-    tmp_headers = apr_table_make(r->pool, 50);
 
     /*
      * Read header lines until we get the empty separator line, a read error,
@@ -798,7 +794,6 @@ AP_DECLARE(void) ap_get_mime_headers_core(request_rec *r, apr_bucket_brigade *bb
                     ++value;            /* Skip to start of value   */
                 }
 
-                apr_table_addn(tmp_headers, last_field, value);
 
                 /* reset the alloc_len so that we'll allocate a new
                  * buffer if we have to do any more folding: we can't
@@ -825,7 +820,7 @@ AP_DECLARE(void) ap_get_mime_headers_core(request_rec *r, apr_bucket_brigade *bb
         }
     }
 
-    apr_table_overlap(r->headers_in, tmp_headers, APR_OVERLAP_TABLES_MERGE);
+    apr_table_compress(r->headers_in, APR_OVERLAP_TABLES_MERGE);
 }
 
 AP_DECLARE(void) ap_get_mime_headers(request_rec *r)