OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2011 The WebRTC Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 class DtlsTransport : public DtlsTransportInternal { | 87 class DtlsTransport : public DtlsTransportInternal { |
88 public: | 88 public: |
89 // |ice_transport| is the ICE transport this DTLS transport is wrapping. | 89 // |ice_transport| is the ICE transport this DTLS transport is wrapping. |
90 // | 90 // |
91 // |crypto_options| are the options used for the DTLS handshake. This affects | 91 // |crypto_options| are the options used for the DTLS handshake. This affects |
92 // whether GCM crypto suites are negotiated. | 92 // whether GCM crypto suites are negotiated. |
93 explicit DtlsTransport(IceTransportInternal* ice_transport, | 93 explicit DtlsTransport(IceTransportInternal* ice_transport, |
94 const rtc::CryptoOptions& crypto_options); | 94 const rtc::CryptoOptions& crypto_options); |
95 ~DtlsTransport() override; | 95 ~DtlsTransport() override; |
96 | 96 |
| 97 const rtc::CryptoOptions& crypto_options() const override { |
| 98 return crypto_options_; |
| 99 } |
| 100 |
97 DtlsTransportState dtls_state() const override { return dtls_state_; } | 101 DtlsTransportState dtls_state() const override { return dtls_state_; } |
98 | 102 |
99 const std::string& transport_name() const override { return transport_name_; } | 103 const std::string& transport_name() const override { return transport_name_; } |
100 | 104 |
101 int component() const override { return component_; } | 105 int component() const override { return component_; } |
102 | 106 |
103 // Returns false if no local certificate was set, or if the peer doesn't | 107 // Returns false if no local certificate was set, or if the peer doesn't |
104 // support DTLS. | 108 // support DTLS. |
105 bool IsDtlsActive() const override { return dtls_active_; } | 109 bool IsDtlsActive() const override { return dtls_active_; } |
106 | 110 |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 // Underlying ice_transport, not owned by this class. | 215 // Underlying ice_transport, not owned by this class. |
212 IceTransportInternal* const ice_transport_; | 216 IceTransportInternal* const ice_transport_; |
213 std::unique_ptr<rtc::SSLStreamAdapter> dtls_; // The DTLS stream | 217 std::unique_ptr<rtc::SSLStreamAdapter> dtls_; // The DTLS stream |
214 StreamInterfaceChannel* | 218 StreamInterfaceChannel* |
215 downward_; // Wrapper for ice_transport_, owned by dtls_. | 219 downward_; // Wrapper for ice_transport_, owned by dtls_. |
216 std::vector<int> srtp_ciphers_; // SRTP ciphers to use with DTLS. | 220 std::vector<int> srtp_ciphers_; // SRTP ciphers to use with DTLS. |
217 bool dtls_active_ = false; | 221 bool dtls_active_ = false; |
218 rtc::scoped_refptr<rtc::RTCCertificate> local_certificate_; | 222 rtc::scoped_refptr<rtc::RTCCertificate> local_certificate_; |
219 rtc::SSLRole ssl_role_; | 223 rtc::SSLRole ssl_role_; |
220 rtc::SSLProtocolVersion ssl_max_version_; | 224 rtc::SSLProtocolVersion ssl_max_version_; |
| 225 rtc::CryptoOptions crypto_options_; |
221 rtc::Buffer remote_fingerprint_value_; | 226 rtc::Buffer remote_fingerprint_value_; |
222 std::string remote_fingerprint_algorithm_; | 227 std::string remote_fingerprint_algorithm_; |
223 | 228 |
224 // Cached DTLS ClientHello packet that was received before we started the | 229 // Cached DTLS ClientHello packet that was received before we started the |
225 // DTLS handshake. This could happen if the hello was received before the | 230 // DTLS handshake. This could happen if the hello was received before the |
226 // ice transport became writable, or before a remote fingerprint was received. | 231 // ice transport became writable, or before a remote fingerprint was received. |
227 rtc::Buffer cached_client_hello_; | 232 rtc::Buffer cached_client_hello_; |
228 | 233 |
229 bool receiving_ = false; | 234 bool receiving_ = false; |
230 bool writable_ = false; | 235 bool writable_ = false; |
231 | 236 |
232 RTC_DISALLOW_COPY_AND_ASSIGN(DtlsTransport); | 237 RTC_DISALLOW_COPY_AND_ASSIGN(DtlsTransport); |
233 }; | 238 }; |
234 | 239 |
235 } // namespace cricket | 240 } // namespace cricket |
236 | 241 |
237 #endif // WEBRTC_P2P_BASE_DTLSTRANSPORTCHANNEL_H_ | 242 #endif // WEBRTC_P2P_BASE_DTLSTRANSPORTCHANNEL_H_ |
OLD | NEW |