Landing Recent QUIC changes until 2016-07-02 02:45 UTC
There are no flags to be updated.
Reduce a LOG(WARNING) to a DLOG(WARNING).
Merge internal change: 126469292
https://codereview.chromium.org/2131553002/
Add async variant of ProofSource::GetProof
Merge internal change: 126468067
https://codereview.chromium.org/2125063003/
Require support for X509 certificates in QUIC CHLO PDMDs. Protected by --quic_require_x509
Merge internal change: 126463885
https://codereview.chromium.org/2126053003/
Allow WindowedFilter to use arbitrary time type instead of QuicTime. No functional change.
Merge internal change: 126432842
https://codereview.chromium.org/2127153002/
Finish the comment in QuicWallTime.
Merge internal change: 126423259
https://codereview.chromium.org/2131543002/
Use small_map instead of unordered_map for storing QUIC streams.
Merge internal change: 126407199
https://codereview.chromium.org/2128253002/
Use overloaded operators with QuicTime for addition, subtraction and scalar
multiplication. No functional change.
This change removes Add, Subtract and Multiply methods from QuicTime and
QuicTime::Delta and introduces the corresponding overloads for operators "+",
"-" and "*". They behave in a manner that is "obvious, unsurprising, and
consistent with the corresponding built-in operators".
The goal here is to both to improve code readability, and to allow polymorphism
between QuicTime and integral types in certain contexts.
Merge internal change: 126407046
https://codereview.chromium.org/2125303002/
Deprecate --quic_sslr_limit_reduction.
Merge internal change: 126352469
https://codereview.chromium.org/2124093002/
use std::unique_ptr for the callback argument of QUIC's ProofVerifier::Verify proof to make ownership clear.
Merge internal change: 126331456
https://codereview.chromium.org/2126023002/
Change a LOG(WARNING) to a DLOG(WARNING). No functional change.
Merge internal change: 126402784
https://codereview.chromium.org/2122313003/
Deprectate --quic_ignore_srbf
Merge internal change: 126400472
https://codereview.chromium.org/2126903002/
refactor quic_dispatcher_test.cc to make test extensible.
Merge internal change: 126327823
https://codereview.chromium.org/2128043002/
Downgrade entering/leaving batch mode log messages to DVLOG(2).
Merge internal change: 126326347
https://codereview.chromium.org/2125163002/
Adds a DebugString method to QuicStreamSequencer.
Merge internal change: 126205965
https://codereview.chromium.org/2129723002/
minor rearrangement of code only. No functional change intended, not flag-protected.
Merge internal change: 126189095
https://codereview.chromium.org/2125993002/
Deprecate --quic_reply_to_rej.
Merge internal change: 126102870
https://codereview.chromium.org/2129713002/
Adds a QuicUtil::HexDump method that provides better debug output of binary data.
Example output:
48 65 6c 6c 6f 2c 20 51 55 49 43 21 20 54 68 69 |Hello, QUIC! Thi|
73 20 73 74 72 69 6e 67 20 73 68 6f 75 6c 64 20 |s string should |
62 65 20 6c 6f 6e 67 20 65 6e 6f 75 67 68 20 74 |be long enough t|
6f 20 73 70 61 6e 20 6d 75 6c 74 69 70 6c 65 20 |o span multiple |
6c 69 6e 65 73 20 6f 66 20 6f 75 74 70 75 74 2e |lines of output.|
01 02 03 04 |.... |
Merge internal change: 126091835
https://codereview.chromium.org/2121293003/
Add a bool demand_x509_proof argument to QuicCryptoClientConfig::FillInchoateClientHello to conditionally add x509 related fields to QUIC CHLOs.
Merge internal change: 126089643
https://codereview.chromium.org/2121383004/
Buffer undecryptable QUIC packets in the Dispatcher when doing cheap stateless rejects.
Protected by --quic_use_cheap_stateless_rejects
Merge internal change: 126002268
https://codereview.chromium.org/2128623002/
Deprecating --quic_cede_correctly
Merge internal change: 125956747
https://codereview.chromium.org/2127983002/
BUG=
[email protected]
Review-Url: https://codereview.chromium.org/2130103002
Cr-Commit-Position: refs/heads/master@{#404315}
diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_verifier_chromium.cc
index 096374a..621eb1f 100644
--- a/net/quic/crypto/proof_verifier_chromium.cc
+++ b/net/quic/crypto/proof_verifier_chromium.cc
@@ -76,7 +76,7 @@
const std::string& signature,
std::string* error_details,
std::unique_ptr<ProofVerifyDetails>* verify_details,
- ProofVerifierCallback* callback);
+ std::unique_ptr<ProofVerifierCallback> callback);
private:
enum State {
@@ -180,7 +180,7 @@
const string& signature,
std::string* error_details,
std::unique_ptr<ProofVerifyDetails>* verify_details,
- ProofVerifierCallback* callback) {
+ std::unique_ptr<ProofVerifierCallback> callback) {
DCHECK(error_details);
DCHECK(verify_details);
DCHECK(callback);
@@ -246,7 +246,7 @@
*verify_details = std::move(verify_details_);
return QUIC_SUCCESS;
case ERR_IO_PENDING:
- callback_.reset(callback);
+ callback_ = std::move(callback);
return QUIC_PENDING;
default:
*error_details = error_details_;
@@ -491,7 +491,7 @@
const ProofVerifyContext* verify_context,
std::string* error_details,
std::unique_ptr<ProofVerifyDetails>* verify_details,
- ProofVerifierCallback* callback) {
+ std::unique_ptr<ProofVerifierCallback> callback) {
if (!verify_context) {
*error_details = "Missing context";
return QUIC_FAILURE;
@@ -504,7 +504,7 @@
chromium_context->cert_verify_flags, chromium_context->net_log));
QuicAsyncStatus status = job->VerifyProof(
hostname, port, server_config, quic_version, chlo_hash, certs, cert_sct,
- signature, error_details, verify_details, callback);
+ signature, error_details, verify_details, std::move(callback));
if (status == QUIC_PENDING) {
active_jobs_.insert(job.release());
}