You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by br...@apache.org on 2013/01/30 22:03:55 UTC

git commit: TS-1679: FetchSM cannot handle POST bodies > 32kb

Updated Branches:
  refs/heads/master 561269868 -> 0514ba2ab


TS-1679: FetchSM cannot handle POST bodies > 32kb


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/0514ba2a
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/0514ba2a
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/0514ba2a

Branch: refs/heads/master
Commit: 0514ba2ab92aa374188f3b5d73e53e49013d6deb
Parents: 5612698
Author: Brian Geffon <br...@apache.org>
Authored: Wed Jan 30 12:52:15 2013 -0800
Committer: Brian Geffon <br...@apache.org>
Committed: Wed Jan 30 12:52:15 2013 -0800

----------------------------------------------------------------------
 CHANGES          |    2 ++
 proxy/FetchSM.cc |    6 +++++-
 2 files changed, 7 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0514ba2a/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 85cfbe6..ab2448f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,7 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 3.3.1
+  *) [TS-1676] FetchSM (TSFetchUrl) cannot handle POST bodies > 32kb.
+
   *) [TS-1675] Adding API method TSHttpTxnClientIncomingPortSet
 
   *) [TS-1674] TSStatIntDecrement is broken: the logic is flawed.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0514ba2a/proxy/FetchSM.cc
----------------------------------------------------------------------
diff --git a/proxy/FetchSM.cc b/proxy/FetchSM.cc
index bf78aba..36a6547 100644
--- a/proxy/FetchSM.cc
+++ b/proxy/FetchSM.cc
@@ -191,7 +191,11 @@ FetchSM::process_fetch_write(int event)
     req_finished = true;
     break;
   case TS_EVENT_VCONN_WRITE_READY:
-    break; //just ignore this event 
+    // data is processed in chunks of 32k; if there is more than 32k
+    // of input data, we have to continue reenabling until all data is
+    // read (we have already written all the data to the buffer)
+    ((PluginVC *) http_vc)->reenable(write_vio);
+    break;
   case TS_EVENT_ERROR:
     //InvokePlugin( TS_EVENT_ERROR, NULL);
       InvokePlugin( callback_events.failure_event_id, NULL);