| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2009 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2009 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 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 local_cert_ = certificate; | 235 local_cert_ = certificate; |
| 236 return true; | 236 return true; |
| 237 } | 237 } |
| 238 | 238 |
| 239 void SetRemoteSSLCertificate(rtc::FakeSSLCertificate* cert) { | 239 void SetRemoteSSLCertificate(rtc::FakeSSLCertificate* cert) { |
| 240 remote_cert_ = cert; | 240 remote_cert_ = cert; |
| 241 } | 241 } |
| 242 | 242 |
| 243 bool IsDtlsActive() const override { return do_dtls_; } | 243 bool IsDtlsActive() const override { return do_dtls_; } |
| 244 | 244 |
| 245 bool SetSrtpCiphers(const std::vector<std::string>& ciphers) override { | 245 bool SetSrtpCryptoSuites(const std::vector<int>& ciphers) override { |
| 246 srtp_ciphers_ = ciphers; | 246 srtp_ciphers_ = ciphers; |
| 247 return true; | 247 return true; |
| 248 } | 248 } |
| 249 | 249 |
| 250 bool GetSrtpCryptoSuite(std::string* cipher) override { | 250 bool GetSrtpCryptoSuite(int* crypto_suite) override { |
| 251 if (!chosen_srtp_cipher_.empty()) { | 251 if (chosen_crypto_suite_ != rtc::SRTP_INVALID_CRYPTO_SUITE) { |
| 252 *cipher = chosen_srtp_cipher_; | 252 *crypto_suite = chosen_crypto_suite_; |
| 253 return true; | 253 return true; |
| 254 } | 254 } |
| 255 return false; | 255 return false; |
| 256 } | 256 } |
| 257 | 257 |
| 258 bool GetSslCipherSuite(int* cipher) override { return false; } | 258 bool GetSslCipherSuite(int* cipher_suite) override { return false; } |
| 259 | 259 |
| 260 rtc::scoped_refptr<rtc::RTCCertificate> GetLocalCertificate() const { | 260 rtc::scoped_refptr<rtc::RTCCertificate> GetLocalCertificate() const { |
| 261 return local_cert_; | 261 return local_cert_; |
| 262 } | 262 } |
| 263 | 263 |
| 264 bool GetRemoteSSLCertificate(rtc::SSLCertificate** cert) const override { | 264 bool GetRemoteSSLCertificate(rtc::SSLCertificate** cert) const override { |
| 265 if (!remote_cert_) | 265 if (!remote_cert_) |
| 266 return false; | 266 return false; |
| 267 | 267 |
| 268 *cert = remote_cert_->GetReference(); | 268 *cert = remote_cert_->GetReference(); |
| 269 return true; | 269 return true; |
| 270 } | 270 } |
| 271 | 271 |
| 272 bool ExportKeyingMaterial(const std::string& label, | 272 bool ExportKeyingMaterial(const std::string& label, |
| 273 const uint8_t* context, | 273 const uint8_t* context, |
| 274 size_t context_len, | 274 size_t context_len, |
| 275 bool use_context, | 275 bool use_context, |
| 276 uint8_t* result, | 276 uint8_t* result, |
| 277 size_t result_len) override { | 277 size_t result_len) override { |
| 278 if (!chosen_srtp_cipher_.empty()) { | 278 if (chosen_crypto_suite_ != rtc::SRTP_INVALID_CRYPTO_SUITE) { |
| 279 memset(result, 0xff, result_len); | 279 memset(result, 0xff, result_len); |
| 280 return true; | 280 return true; |
| 281 } | 281 } |
| 282 | 282 |
| 283 return false; | 283 return false; |
| 284 } | 284 } |
| 285 | 285 |
| 286 void NegotiateSrtpCiphers() { | 286 void NegotiateSrtpCiphers() { |
| 287 for (std::vector<std::string>::const_iterator it1 = srtp_ciphers_.begin(); | 287 for (std::vector<int>::const_iterator it1 = srtp_ciphers_.begin(); |
| 288 it1 != srtp_ciphers_.end(); ++it1) { | 288 it1 != srtp_ciphers_.end(); ++it1) { |
| 289 for (std::vector<std::string>::const_iterator it2 = | 289 for (std::vector<int>::const_iterator it2 = dest_->srtp_ciphers_.begin(); |
| 290 dest_->srtp_ciphers_.begin(); | |
| 291 it2 != dest_->srtp_ciphers_.end(); ++it2) { | 290 it2 != dest_->srtp_ciphers_.end(); ++it2) { |
| 292 if (*it1 == *it2) { | 291 if (*it1 == *it2) { |
| 293 chosen_srtp_cipher_ = *it1; | 292 chosen_crypto_suite_ = *it1; |
| 294 dest_->chosen_srtp_cipher_ = *it2; | 293 dest_->chosen_crypto_suite_ = *it2; |
| 295 return; | 294 return; |
| 296 } | 295 } |
| 297 } | 296 } |
| 298 } | 297 } |
| 299 } | 298 } |
| 300 | 299 |
| 301 bool GetStats(ConnectionInfos* infos) override { | 300 bool GetStats(ConnectionInfos* infos) override { |
| 302 ConnectionInfo info; | 301 ConnectionInfo info; |
| 303 infos->clear(); | 302 infos->clear(); |
| 304 infos->push_back(info); | 303 infos->push_back(info); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 315 private: | 314 private: |
| 316 enum State { STATE_INIT, STATE_CONNECTING, STATE_CONNECTED }; | 315 enum State { STATE_INIT, STATE_CONNECTING, STATE_CONNECTED }; |
| 317 Transport* transport_; | 316 Transport* transport_; |
| 318 FakeTransportChannel* dest_ = nullptr; | 317 FakeTransportChannel* dest_ = nullptr; |
| 319 State state_ = STATE_INIT; | 318 State state_ = STATE_INIT; |
| 320 bool async_ = false; | 319 bool async_ = false; |
| 321 Candidates remote_candidates_; | 320 Candidates remote_candidates_; |
| 322 rtc::scoped_refptr<rtc::RTCCertificate> local_cert_; | 321 rtc::scoped_refptr<rtc::RTCCertificate> local_cert_; |
| 323 rtc::FakeSSLCertificate* remote_cert_ = nullptr; | 322 rtc::FakeSSLCertificate* remote_cert_ = nullptr; |
| 324 bool do_dtls_ = false; | 323 bool do_dtls_ = false; |
| 325 std::vector<std::string> srtp_ciphers_; | 324 std::vector<int> srtp_ciphers_; |
| 326 std::string chosen_srtp_cipher_; | 325 int chosen_crypto_suite_ = rtc::SRTP_INVALID_CRYPTO_SUITE; |
| 327 int receiving_timeout_ = -1; | 326 int receiving_timeout_ = -1; |
| 328 bool gather_continually_ = false; | 327 bool gather_continually_ = false; |
| 329 IceRole role_ = ICEROLE_UNKNOWN; | 328 IceRole role_ = ICEROLE_UNKNOWN; |
| 330 uint64_t tiebreaker_ = 0; | 329 uint64_t tiebreaker_ = 0; |
| 331 std::string ice_ufrag_; | 330 std::string ice_ufrag_; |
| 332 std::string ice_pwd_; | 331 std::string ice_pwd_; |
| 333 std::string remote_ice_ufrag_; | 332 std::string remote_ice_ufrag_; |
| 334 std::string remote_ice_pwd_; | 333 std::string remote_ice_pwd_; |
| 335 IceMode remote_ice_mode_ = ICEMODE_FULL; | 334 IceMode remote_ice_mode_ = ICEMODE_FULL; |
| 336 rtc::SSLProtocolVersion ssl_max_version_ = rtc::SSL_PROTOCOL_DTLS_10; | 335 rtc::SSLProtocolVersion ssl_max_version_ = rtc::SSL_PROTOCOL_DTLS_10; |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 535 } | 534 } |
| 536 } | 535 } |
| 537 | 536 |
| 538 private: | 537 private: |
| 539 bool fail_create_channel_; | 538 bool fail_create_channel_; |
| 540 }; | 539 }; |
| 541 | 540 |
| 542 } // namespace cricket | 541 } // namespace cricket |
| 543 | 542 |
| 544 #endif // WEBRTC_P2P_BASE_FAKETRANSPORTCONTROLLER_H_ | 543 #endif // WEBRTC_P2P_BASE_FAKETRANSPORTCONTROLLER_H_ |
| OLD | NEW |