Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(539)

Side by Side Diff: webrtc/p2p/base/dtlstransportchannel.h

Issue 2761143002: Support encrypted RTP extensions (RFC 6904) (Closed)
Patch Set: Fix compile error on win_x64 bots. Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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_
OLDNEW
« no previous file with comments | « webrtc/media/engine/webrtcmediaengine_unittest.cc ('k') | webrtc/p2p/base/dtlstransportchannel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698