Index: webrtc/p2p/base/dtlstransportchannel.cc |
diff --git a/webrtc/p2p/base/dtlstransportchannel.cc b/webrtc/p2p/base/dtlstransportchannel.cc |
index 148a19108d4149ea76ba9680375037ebb398aae9..51bfb6706f4a83b4ee4ceefb91c0346f3806d395 100644 |
--- a/webrtc/p2p/base/dtlstransportchannel.cc |
+++ b/webrtc/p2p/base/dtlstransportchannel.cc |
@@ -230,6 +230,7 @@ bool DtlsTransportChannelWrapper::SetRemoteFingerprint( |
if (!SetupDtls()) { |
dtls_state_ = STATE_CLOSED; |
+ set_dtls_transport_state(DTLS_TRANSPORT_FAILED); |
return false; |
} |
@@ -239,8 +240,9 @@ bool DtlsTransportChannelWrapper::SetRemoteFingerprint( |
bool DtlsTransportChannelWrapper::GetRemoteSSLCertificate( |
rtc::SSLCertificate** cert) const { |
- if (!dtls_) |
+ if (!dtls_) { |
return false; |
+ } |
return dtls_->GetPeerCertificate(cert); |
} |
@@ -286,8 +288,9 @@ bool DtlsTransportChannelWrapper::SetupDtls() { |
bool DtlsTransportChannelWrapper::SetSrtpCiphers( |
const std::vector<std::string>& ciphers) { |
- if (srtp_ciphers_ == ciphers) |
+ if (srtp_ciphers_ == ciphers) { |
return true; |
+ } |
if (dtls_state_ == STATE_STARTED) { |
LOG(LS_WARNING) << "Ignoring new SRTP ciphers while DTLS is negotiating"; |
@@ -538,6 +541,7 @@ void DtlsTransportChannelWrapper::OnDtlsEvent(rtc::StreamInterface* dtls, |
// sure we don't accidentally frob the state if it's closed. |
dtls_state_ = STATE_OPEN; |
set_writable(true); |
+ set_dtls_transport_state(DTLS_TRANSPORT_CONNECTED); |
} |
} |
if (sig & rtc::SE_READ) { |
@@ -556,6 +560,8 @@ void DtlsTransportChannelWrapper::OnDtlsEvent(rtc::StreamInterface* dtls, |
} |
set_writable(false); |
dtls_state_ = STATE_CLOSED; |
+ set_dtls_transport_state(err ? DTLS_TRANSPORT_FAILED |
+ : DTLS_TRANSPORT_CLOSED); |
} |
} |
@@ -564,12 +570,14 @@ bool DtlsTransportChannelWrapper::MaybeStartDtls() { |
if (dtls_->StartSSLWithPeer()) { |
LOG_J(LS_ERROR, this) << "Couldn't start DTLS handshake"; |
dtls_state_ = STATE_CLOSED; |
+ set_dtls_transport_state(DTLS_TRANSPORT_FAILED); |
return false; |
} |
LOG_J(LS_INFO, this) |
<< "DtlsTransportChannelWrapper: Started DTLS handshake"; |
dtls_state_ = STATE_STARTED; |
+ set_dtls_transport_state(DTLS_TRANSPORT_CONNECTING); |
pthatcher1
2015/10/20 20:28:06
Please see if we can reduce down to one dtls_state
Taylor Brandstetter
2015/10/21 16:28:16
Done.
|
} |
return true; |
} |