From 61196f55f5d92589369b4fe1df9a790925d8f715 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Fri, 31 Jan 2020 13:34:59 -0500
Subject: [PATCH] tls session: use newState and call onStateChange's callback

Change-Id: I7fb16f21046eaf4bb6aa88a3af3d97da4c0a4e08
---
 src/jamidht/p2p.cpp          | 4 ++--
 src/security/tls_session.cpp | 4 ++--
 src/sip/siptransport.cpp     | 1 -
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/jamidht/p2p.cpp b/src/jamidht/p2p.cpp
index 2a0cf2d8a5..9b6463ab5e 100644
--- a/src/jamidht/p2p.cpp
+++ b/src/jamidht/p2p.cpp
@@ -490,8 +490,8 @@ private:
             *peerCertificate_);
         tls_ep_->setOnStateChange([this, ice=std::move(ice)] (tls::TlsSessionState state) {
             if (state == tls::TlsSessionState::SHUTDOWN) {
-                JAMI_WARN() << "TLS connection failure from peer "
-                            << peer_.toString();
+                if (!connected_)
+                    JAMI_WARN() << "TLS connection failure from peer " << peer_.toString();
                 ice->cancelOperations(); // This will stop current PeerChannel operations
                 cancel();
             } else if (state == tls::TlsSessionState::ESTABLISHED) {
diff --git a/src/security/tls_session.cpp b/src/security/tls_session.cpp
index d2fa9beea1..b39dcb4239 100644
--- a/src/security/tls_session.cpp
+++ b/src/security/tls_session.cpp
@@ -316,7 +316,7 @@ TlsSession::TlsSessionImpl::TlsSessionImpl(std::unique_ptr<SocketType>&& transpo
 
 TlsSession::TlsSessionImpl::~TlsSessionImpl()
 {
-    state_ = TlsSessionState::SHUTDOWN;
+    newState_ = TlsSessionState::SHUTDOWN;
     stateCondition_.notify_all();
     rxCv_.notify_all();
     thread_.join();
@@ -1305,7 +1305,7 @@ TlsSession::currentCipherSuiteId(std::array<uint8_t, 2>& cs_id) const
 void
 TlsSession::shutdown()
 {
-    pimpl_->state_ = TlsSessionState::SHUTDOWN;
+    pimpl_->newState_ = TlsSessionState::SHUTDOWN;
     pimpl_->stateCondition_.notify_all();
     pimpl_->rxCv_.notify_one(); // unblock waiting FSM
 }
diff --git a/src/sip/siptransport.cpp b/src/sip/siptransport.cpp
index 1d3738d35d..c2d69c8123 100644
--- a/src/sip/siptransport.cpp
+++ b/src/sip/siptransport.cpp
@@ -214,7 +214,6 @@ SipTransportBroker::transportStateChanged(pjsip_transport* tp,
         std::lock_guard<std::mutex> lock(transportMapMutex_);
         auto key = transports_.find(tp);
         if (key == transports_.end()) {
-            JAMI_WARN("spurious pjsip transport state change");
             return;
         }
 
-- 
GitLab