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 2012/06/12 17:51:37 UTC
[48/50] git commit: TS-1282 Verbosity on Via header was not honored
properly
TS-1282 Verbosity on Via header was not honored properly
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/2511fd57
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/2511fd57
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/2511fd57
Branch: refs/heads/jpeach/lua
Commit: 2511fd571796480ce39bc999d70ed7d0b490a4c8
Parents: e8d05ed
Author: Leif Hedstrom <zw...@apache.org>
Authored: Wed May 30 11:52:47 2012 -0600
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Wed May 30 11:52:47 2012 -0600
----------------------------------------------------------------------
CHANGES | 4 +++
proxy/config/records.config.default.in | 3 +-
proxy/http/HttpConfig.cc | 4 +-
proxy/http/HttpTransactHeaders.cc | 40 +++++++++++++++------------
4 files changed, 30 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2511fd57/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index b40d767..e5380c7 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,8 @@
-*- coding: utf-8 -*-
+Changes with Apache Traffic Server 3.1.5 (or 3.3.0 EDIT)
+ *) [TS-1282] Verbosity settings for Via headers is broken.
+
+
Changes with Apache Traffic Server 3.1.4
*) [TS-1279] Fix build system for gcc < 4.3.
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2511fd57/proxy/config/records.config.default.in
----------------------------------------------------------------------
diff --git a/proxy/config/records.config.default.in b/proxy/config/records.config.default.in
index 5bbf60d..4fa439a 100644
--- a/proxy/config/records.config.default.in
+++ b/proxy/config/records.config.default.in
@@ -102,10 +102,11 @@ CONFIG proxy.config.alarm.abs_path STRING NULL
CONFIG proxy.config.http.server_ports STRING 8080
# Ports on the origin server to which a blind tunnel may connect.
CONFIG proxy.config.http.connect_ports STRING 443 563
- # The via settings have three values
+ # The via settings have four values
# 0 - Do not modify / set this via header
# 1 - Update the via, with normal verbosity
# 2 - Update the via, with higher verbosity
+ # 3 - Update the via, with highest verbosity
CONFIG proxy.config.http.insert_request_via_str INT 1
CONFIG proxy.config.http.insert_response_via_str INT 0
# Insert a Server: header, this has three values
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2511fd57/proxy/http/HttpConfig.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.cc b/proxy/http/HttpConfig.cc
index 3f5c1f2..0667565 100644
--- a/proxy/http/HttpConfig.cc
+++ b/proxy/http/HttpConfig.cc
@@ -1437,8 +1437,8 @@ HttpConfig::reconfigure()
params->parent_proxy_routing_enable = INT_TO_BOOL(m_master.parent_proxy_routing_enable);
params->enable_url_expandomatic = INT_TO_BOOL(m_master.enable_url_expandomatic);
- params->oride.insert_request_via_string = INT_TO_BOOL(m_master.oride.insert_request_via_string);
- params->oride.insert_response_via_string = INT_TO_BOOL(m_master.oride.insert_response_via_string);
+ params->oride.insert_request_via_string = m_master.oride.insert_request_via_string;
+ params->oride.insert_response_via_string = m_master.oride.insert_response_via_string;
params->proxy_request_via_string = ats_strdup(m_master.proxy_request_via_string);
params->proxy_request_via_string_len = (params->proxy_request_via_string) ? strlen(params->proxy_request_via_string) : 0;
params->proxy_response_via_string = ats_strdup(m_master.proxy_response_via_string);
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2511fd57/proxy/http/HttpTransactHeaders.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpTransactHeaders.cc b/proxy/http/HttpTransactHeaders.cc
index 1047290..c09d66a 100644
--- a/proxy/http/HttpTransactHeaders.cc
+++ b/proxy/http/HttpTransactHeaders.cc
@@ -1081,17 +1081,19 @@ HttpTransactHeaders::insert_via_header_in_request(HttpTransact::State *s, HTTPHd
memcpy(via_string, s->http_config_param->proxy_request_via_string, s->http_config_param->proxy_request_via_string_len);
via_string += s->http_config_param->proxy_request_via_string_len;
- *via_string++ = ' ';
- *via_string++ = '[';
+ if (s->txn_conf->insert_request_via_string > 1) {
+ *via_string++ = ' ';
+ *via_string++ = '[';
- // incoming_via can be max MAX_VIA_INDICES+1 long (i.e. around 25 or so)
- if (s->txn_conf->insert_request_via_string < 2) {
- via_string += nstrcpy(via_string, incoming_via);
- } else {
- memcpy(via_string, incoming_via + VIA_CLIENT, VIA_SERVER - VIA_CLIENT);
- via_string += VIA_SERVER - VIA_CLIENT;
+ // incoming_via can be max MAX_VIA_INDICES+1 long (i.e. around 25 or so)
+ if (s->txn_conf->insert_request_via_string > 2) { // Highest verbosity
+ via_string += nstrcpy(via_string, incoming_via);
+ } else {
+ memcpy(via_string, incoming_via + VIA_CLIENT, VIA_SERVER - VIA_CLIENT);
+ via_string += VIA_SERVER - VIA_CLIENT;
+ }
+ *via_string++ = ']';
}
- *via_string++ = ']';
*via_string++ = ')';
*via_string = 0;
@@ -1140,17 +1142,19 @@ HttpTransactHeaders::insert_via_header_in_response(HttpTransact::State *s, HTTPH
memcpy(via_string, s->http_config_param->proxy_response_via_string, s->http_config_param->proxy_response_via_string_len);
via_string += s->http_config_param->proxy_response_via_string_len;
- *via_string++ = ' ';
- *via_string++ = '[';
+ if (s->txn_conf->insert_response_via_string > 1) {
+ *via_string++ = ' ';
+ *via_string++ = '[';
- // incoming_via can be max MAX_VIA_INDICES+1 long (i.e. around 25 or so)
- if (s->txn_conf->insert_request_via_string < 2) {
- via_string += nstrcpy(via_string, incoming_via);
- } else {
- memcpy(via_string, incoming_via + VIA_CACHE, VIA_PROXY - VIA_CACHE);
- via_string += VIA_PROXY - VIA_CACHE;
+ // incoming_via can be max MAX_VIA_INDICES+1 long (i.e. around 25 or so)
+ if (s->txn_conf->insert_response_via_string > 2) { // Highest verbosity
+ via_string += nstrcpy(via_string, incoming_via);
+ } else {
+ memcpy(via_string, incoming_via + VIA_CACHE, VIA_PROXY - VIA_CACHE);
+ via_string += VIA_PROXY - VIA_CACHE;
+ }
+ *via_string++ = ']';
}
- *via_string++ = ']';
*via_string++ = ')';
*via_string = 0;