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);