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

Side by Side Diff: webrtc/p2p/quic/quictransportchannel.cc

Issue 1886623002: Add QuicDataChannel and QuicDataTransport classes (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Make QuicDataChannel::Message public so QuicDataTransport can use it for handling messages Created 4 years, 7 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 2016 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2016 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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 // and establish an insecure QUIC connection. 97 // and establish an insecure QUIC connection.
98 // TODO(mikescarlett): Remove when secure P2P QUIC handshake is possible. 98 // TODO(mikescarlett): Remove when secure P2P QUIC handshake is possible.
99 class InsecureProofVerifier : public net::ProofVerifier { 99 class InsecureProofVerifier : public net::ProofVerifier {
100 public: 100 public:
101 InsecureProofVerifier() {} 101 InsecureProofVerifier() {}
102 ~InsecureProofVerifier() override {} 102 ~InsecureProofVerifier() override {}
103 103
104 // ProofVerifier override. 104 // ProofVerifier override.
105 net::QuicAsyncStatus VerifyProof( 105 net::QuicAsyncStatus VerifyProof(
106 const std::string& hostname, 106 const std::string& hostname,
107 const uint16_t port,
107 const std::string& server_config, 108 const std::string& server_config,
109 net::QuicVersion quic_version,
110 base::StringPiece chlo_hash,
108 const std::vector<std::string>& certs, 111 const std::vector<std::string>& certs,
109 const std::string& cert_sct, 112 const std::string& cert_sct,
110 const std::string& signature, 113 const std::string& signature,
111 const net::ProofVerifyContext* verify_context, 114 const net::ProofVerifyContext* context,
112 std::string* error_details, 115 std::string* error_details,
113 scoped_ptr<net::ProofVerifyDetails>* verify_details, 116 std::unique_ptr<net::ProofVerifyDetails>* details,
114 net::ProofVerifierCallback* callback) override { 117 net::ProofVerifierCallback* callback) override {
115 LOG(LS_INFO) << "VerifyProof() ignoring credentials and returning success"; 118 LOG(LS_INFO) << "VerifyProof() ignoring credentials and returning success";
116 return net::QUIC_SUCCESS; 119 return net::QUIC_SUCCESS;
117 } 120 }
118 }; 121 };
119 122
120 } // namespace 123 } // namespace
121 124
122 namespace cricket { 125 namespace cricket {
123 126
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 << "Error generating input keying material for HKDF."; 481 << "Error generating input keying material for HKDF.";
479 return false; 482 return false;
480 } 483 }
481 quic_crypto_server_config_.reset(new net::QuicCryptoServerConfig( 484 quic_crypto_server_config_.reset(new net::QuicCryptoServerConfig(
482 source_address_token_secret, helper_.GetRandomGenerator(), 485 source_address_token_secret, helper_.GetRandomGenerator(),
483 proof_source)); 486 proof_source));
484 // Provide server with serialized config string to prove ownership. 487 // Provide server with serialized config string to prove ownership.
485 net::QuicCryptoServerConfig::ConfigOptions options; 488 net::QuicCryptoServerConfig::ConfigOptions options;
486 quic_crypto_server_config_->AddDefaultConfig(helper_.GetRandomGenerator(), 489 quic_crypto_server_config_->AddDefaultConfig(helper_.GetRandomGenerator(),
487 helper_.GetClock(), options); 490 helper_.GetClock(), options);
491 quic_compressed_certs_cache_.reset(new net::QuicCompressedCertsCache(
492 net::QuicCompressedCertsCache::kQuicCompressedCertsCacheSize));
493 // TODO(mikescarlett): Add support for stateless rejects.
494 bool use_stateless_rejects_if_peer_supported = false;
488 net::QuicCryptoServerStream* crypto_stream = 495 net::QuicCryptoServerStream* crypto_stream =
489 new net::QuicCryptoServerStream(quic_crypto_server_config_.get(), 496 new net::QuicCryptoServerStream(quic_crypto_server_config_.get(),
497 quic_compressed_certs_cache_.get(),
498 use_stateless_rejects_if_peer_supported,
490 quic_.get()); 499 quic_.get());
491 quic_->StartServerHandshake(crypto_stream); 500 quic_->StartServerHandshake(crypto_stream);
492 LOG_J(LS_INFO, this) << "QuicTransportChannel: Started server handshake."; 501 LOG_J(LS_INFO, this) << "QuicTransportChannel: Started server handshake.";
493 } 502 }
494 return true; 503 return true;
495 } 504 }
496 505
497 bool QuicTransportChannel::HandleQuicPacket(const char* data, size_t size) { 506 bool QuicTransportChannel::HandleQuicPacket(const char* data, size_t size) {
498 ASSERT(rtc::Thread::Current() == worker_thread_); 507 ASSERT(rtc::Thread::Current() == worker_thread_);
499 return quic_->OnReadPacket(data, size); 508 return quic_->OnReadPacket(data, size);
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 return quic_->CreateOutgoingDynamicStream(priority); 587 return quic_->CreateOutgoingDynamicStream(priority);
579 } 588 }
580 return nullptr; 589 return nullptr;
581 } 590 }
582 591
583 void QuicTransportChannel::OnIncomingStream(ReliableQuicStream* stream) { 592 void QuicTransportChannel::OnIncomingStream(ReliableQuicStream* stream) {
584 SignalIncomingStream(stream); 593 SignalIncomingStream(stream);
585 } 594 }
586 595
587 } // namespace cricket 596 } // namespace cricket
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698