You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2010/11/08 20:33:02 UTC

svn commit: r1032674 - in /trafficserver/traffic/trunk: CHANGES proxy/http2/HttpTransact.cc

Author: zwoop
Date: Mon Nov  8 19:33:02 2010
New Revision: 1032674

URL: http://svn.apache.org/viewvc?rev=1032674&view=rev
Log:
TS-507 Less strict tests on Content-Length header and connection close.

A separate bug will be filed to add a feature to try to close UA
connections early when appropriate / possible.

Modified:
    trafficserver/traffic/trunk/CHANGES
    trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc

Modified: trafficserver/traffic/trunk/CHANGES
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/CHANGES?rev=1032674&r1=1032673&r2=1032674&view=diff
==============================================================================
--- trafficserver/traffic/trunk/CHANGES (original)
+++ trafficserver/traffic/trunk/CHANGES Mon Nov  8 19:33:02 2010
@@ -2,6 +2,20 @@
 
 Changes with Apache Traffic Server 2.1.4
 
+  *) Make the checks when to honor the Content-Length: header less
+   strict, against origins without Keep-Alive [TS-507].
+
+  *) Eliminate old ssl_ports feature, it's completely replaced with the
+   connect_ports configuration [TS-517].
+
+  *) New script available to help build plugins, tsxs [TS-512].
+
+  *) Simple, brute force (and efficient) status code stats counters
+   [TS-509].
+
+  *) Generalize RecDumpRecordsHt to use RecDumpRecords which is a
+   callback/map pattern [TS-508].
+
   *) Fix plugin APIs to be compatible with the 64-bit changes in the
    core. This is an incompatible change with previous releases [TS-14].
 

Modified: trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc?rev=1032674&r1=1032673&r2=1032674&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc (original)
+++ trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc Mon Nov  8 19:33:02 2010
@@ -5963,28 +5963,12 @@ HttpTransact::initialize_state_variables
     s->hdr_info.response_content_length = 0;
     s->hdr_info.trust_response_cl = true;
   } else {
-    ////////////////////////////////////////////////////////
-    // this is the case that the origin server sent       //
-    // us content length. Experience says that many       //
-    // origin servers that do not support keep-alive      //
-    // lie about the content length. to avoid truncation  //
-    // of docuemnts from such server, if the server is    //
-    // not keep-alive, we set to read until the server    //
-    // closes the connection. We sent the maybe bogus     //
-    // content length to the browser, and we will correct //
-    // the cache if it turnrd out that the servers lied.  //
-    ////////////////////////////////////////////////////////
-    //TODO: We should quite possibly disable this check, it will cause us to violate the
-    // protocol in some cases (returning too much data). /leif XXX
+    // This code used to discriminate CL: headers when the origin disabled keep-alive.
     if (incoming_response->presence(MIME_PRESENCE_CONTENT_LENGTH)) {
-      if (s->current.server->keep_alive == HTTP_NO_KEEPALIVE) {
-        s->hdr_info.trust_response_cl = false;
-        s->hdr_info.response_content_length = HTTP_UNDEFINED_CL;
-      } else {
-        int64 cl = incoming_response->get_content_length();
-        s->hdr_info.response_content_length = (cl >= 0) ? cl : HTTP_UNDEFINED_CL;
-        s->hdr_info.trust_response_cl = true;
-      }
+      int64 cl = incoming_response->get_content_length();
+
+      s->hdr_info.response_content_length = (cl >= 0) ? cl : HTTP_UNDEFINED_CL;
+      s->hdr_info.trust_response_cl = true;
     } else {
       s->hdr_info.response_content_length = HTTP_UNDEFINED_CL;
       s->hdr_info.trust_response_cl = false;