You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by jp...@apache.org on 2014/04/23 22:16:53 UTC
git commit: TS-2616: Sanitize duplicate Transfer-Encoding: chunked
headers
Repository: trafficserver
Updated Branches:
refs/heads/master a2d3a52a6 -> 94ed95b15
TS-2616: Sanitize duplicate Transfer-Encoding: chunked headers
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/94ed95b1
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/94ed95b1
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/94ed95b1
Branch: refs/heads/master
Commit: 94ed95b15ee7486eb7286d05ac65117690808ecf
Parents: a2d3a52
Author: Dimitry Andric <di...@andric.com>
Authored: Wed Apr 23 13:16:23 2014 -0700
Committer: James Peach <jp...@apache.org>
Committed: Wed Apr 23 13:16:23 2014 -0700
----------------------------------------------------------------------
CHANGES | 3 +++
proxy/http/HttpTransact.cc | 8 ++++----
2 files changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/94ed95b1/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 906d9b6..6ffcde2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
-*- coding: utf-8 -*-
Changes with Apache Traffic Server 5.0.0
+ *) [TS-2616] Sanitize duplicate Transfer-Encoding: chunked headers.
+ Author: Dimitry Andric <di...@andric.com>
+
*) [TS-645] Remove broken hard restart from traffic_shell.
*) [TS-2562] Improve init script support for Debian/Ubuntu.
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/94ed95b1/proxy/http/HttpTransact.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
index 636d84f..c646869 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -5832,11 +5832,10 @@ HttpTransact::initialize_state_variables_from_response(State* s, HTTPHdr* incomi
while (enc_value) {
const char *wks_value = hdrtoken_string_to_wks(enc_value, enc_val_len);
- // FIX ME: What is chunked appears more than once? Old
- // code didn't deal with this so I don't either
if (wks_value == HTTP_VALUE_CHUNKED) {
- if (!s->cop_test_page)
+ if (!s->cop_test_page) {
DebugTxn("http_hdrs", "[init_state_vars_from_resp] transfer encoding: chunked!");
+ }
s->current.server->transfer_encoding = CHUNKED_ENCODING;
s->hdr_info.response_content_length = HTTP_UNDEFINED_CL;
@@ -5853,7 +5852,8 @@ HttpTransact::initialize_state_variables_from_response(State* s, HTTPHdr* incomi
// Loop over the all the values in existing Trans-enc header and
// copy the ones that aren't our chunked value to a new field
while (new_enc_val) {
- if (new_enc_val != enc_value) {
+ const char *new_wks_value = hdrtoken_string_to_wks(new_enc_val, new_enc_len);
+ if (new_wks_value != wks_value) {
if (new_enc_field) {
new_enc_field->value_append(incoming_response->m_heap, incoming_response->m_mime, new_enc_val, new_enc_len, true);
} else {