Repository: trafficserver
Updated Branches:
  refs/heads/master d2df73de5 -> d89f702d1


TS-3325 TSHttpTxnConfigIntSet(txn, TS_CONFIG_HTTP_CACHE_HTTP, 0) can crash

Make skipping the rest of the cache states work if something turns off http
caching later in the transaction.


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

Branch: refs/heads/master
Commit: d89f702d1d308f0b28e995cc65e885669d09cdae
Parents: d2df73d
Author: William Bardwell <[email protected]>
Authored: Wed Jan 28 12:38:07 2015 -0500
Committer: William Bardwell <[email protected]>
Committed: Wed Jan 28 12:52:30 2015 -0500

----------------------------------------------------------------------
 CHANGES                    | 2 ++
 proxy/http/HttpTransact.cc | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d89f702d/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 9ab6246..79fd869 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 5.3.0
 
+  *) [TS-3325] TSHttpTxnConfigIntSet(txn, TS_CONFIG_HTTP_CACHE_HTTP, 0) can 
crash
+
   *) [TS-3338] Update the list of gauges in the epic plugin.
 
   *) [TS-3337] Remove internal plugin SDK versioning.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d89f702d/proxy/http/HttpTransact.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
index ee04888..7e3678e 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -1725,7 +1725,7 @@ HttpTransact::OSDNSLookup(State* s)
           (((s->hdr_info.client_request.presence(MIME_PRESENCE_RANGE) && 
!s->txn_conf->cache_range_write) ||
             s->range_setup == RANGE_NOT_SATISFIABLE || s->range_setup == 
RANGE_NOT_HANDLED))) {
         TRANSACT_RETURN(SM_ACTION_API_OS_DNS, HandleCacheOpenReadMiss);
-      } else if (s->cache_lookup_result == HttpTransact::CACHE_LOOKUP_SKIPPED) 
{
+      } else if (!s->txn_conf->cache_http || s->cache_lookup_result == 
HttpTransact::CACHE_LOOKUP_SKIPPED) {
         TRANSACT_RETURN(SM_ACTION_API_OS_DNS, LookupSkipOpenServer);
         // DNS Lookup is done after LOOKUP Skipped  and after we get response
         // from the DNS we need to call LookupSkipOpenServer

Reply via email to