Updated Branches:
  refs/heads/master 0ae84eee4 -> d5d555901

TS-1937: Prevent assert on SSL forward proxy connect.


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

Branch: refs/heads/master
Commit: d5d555901b70760f157fbc975ce71edd47f0e39e
Parents: 0ae84ee
Author: Alan M. Carroll <[email protected]>
Authored: Tue Jun 4 13:32:18 2013 -0500
Committer: Alan M. Carroll <[email protected]>
Committed: Tue Jun 4 13:32:18 2013 -0500

----------------------------------------------------------------------
 CHANGES                             |    2 ++
 iocore/net/SSLNextProtocolAccept.cc |    6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d5d55590/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 0ddd9af..2adebc1 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
                                                          -*- coding: utf-8 -*-
   Changes with Apache Traffic Server 3.3.3
 
+  *) [TS-1937] Prevent assert on SSL forward proxy connect.
+
   *) [TS-1907] Using the "ipv6" option for port configuration cancels the 
"ssl" option.
 
   *) [TS-1927] Make ats_base64_decode able to handle the URL variant

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d5d55590/iocore/net/SSLNextProtocolAccept.cc
----------------------------------------------------------------------
diff --git a/iocore/net/SSLNextProtocolAccept.cc 
b/iocore/net/SSLNextProtocolAccept.cc
index a03da15..bfc2f0b 100644
--- a/iocore/net/SSLNextProtocolAccept.cc
+++ b/iocore/net/SSLNextProtocolAccept.cc
@@ -66,8 +66,8 @@ ssl_netvc_cast(int event, void * edata)
 struct SSLNextProtocolTrampoline : public Continuation
 {
   explicit
-  SSLNextProtocolTrampoline(const SSLNextProtocolAccept * npn)
-    : Continuation(new_ProxyMutex()), npnParent(npn)
+  SSLNextProtocolTrampoline(const SSLNextProtocolAccept * npn, ProxyMutex* 
mutex)
+    : Continuation(mutex), npnParent(npn)
   {
     SET_HANDLER(&SSLNextProtocolTrampoline::ioCompletionEvent);
   }
@@ -124,7 +124,7 @@ SSLNextProtocolAccept::mainEvent(int event, void * edata)
     // the endpoint that there is an accept to handle until the read completes
     // and we know which protocol was negotiated.
     netvc->registerNextProtocolSet(&this->protoset);
-    netvc->do_io(VIO::READ, NEW(new SSLNextProtocolTrampoline(this)), 0, 
this->buffer, 0);
+    netvc->do_io(VIO::READ, NEW(new SSLNextProtocolTrampoline(this, 
netvc->mutex)), 0, this->buffer, 0);
     return EVENT_CONT;
   default:
     netvc->do_io(VIO::CLOSE);

Reply via email to