TS-1770 Unable to create remap rule for SSL sites when accessed as a forward proxy.
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/16099e85 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/16099e85 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/16099e85 Branch: refs/heads/sphinx-docs Commit: 16099e8541abc266cca0220fefb85fb904cdf48b Parents: 8650d81 Author: Mark Harrison <mark at mivok dot net> Authored: Fri May 3 15:51:07 2013 -0600 Committer: Leif Hedstrom <[email protected]> Committed: Fri May 3 15:51:07 2013 -0600 ---------------------------------------------------------------------- CHANGES | 3 +++ proxy/http/remap/UrlMappingPathIndex.h | 9 +++++++++ 2 files changed, 12 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/16099e85/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index 362fcd0..7fb4676 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,9 @@ Changes with Apache Traffic Server 3.3.3 + *) [TS-1770] Unable to create remap rule for SSL sites when accessed as a + forward proxy. Author: Mark Harrison. + *) [TS-1867] The combo_handler plugin crashes when receiving non-200 responses. Author: Conan Wang <[email protected]> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/16099e85/proxy/http/remap/UrlMappingPathIndex.h ---------------------------------------------------------------------- diff --git a/proxy/http/remap/UrlMappingPathIndex.h b/proxy/http/remap/UrlMappingPathIndex.h index d6dfc6f..b631385 100644 --- a/proxy/http/remap/UrlMappingPathIndex.h +++ b/proxy/http/remap/UrlMappingPathIndex.h @@ -72,6 +72,15 @@ private: inline UrlMappingTrie * _GetTrie(URL *url, int &idx, int port, bool search = true) const { idx = url->scheme_get_wksidx(); + // If the scheme is empty (e.g. because of a CONNECT method), guess it + // based on port + if (idx == -1) { + if (port == 80) { + idx = URL_WKSIDX_HTTP; + } else { + idx = URL_WKSIDX_HTTPS; + } + } UrlMappingGroup::const_iterator group_iter; if (search) { // normal search group_iter = m_tries.find(UrlMappingTrieKey(idx, port));
