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

Side by Side Diff: net/quic/core/crypto/quic_crypto_server_config.cc

Issue 2808273006: Landing Recent QUIC changes until Sun Apr 9 16:12:55 (Closed)
Patch Set: increment enabled_options in e2e test Created 3 years, 8 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 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/core/crypto/quic_crypto_server_config.h" 5 #include "net/quic/core/crypto/quic_crypto_server_config.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 17 matching lines...) Expand all
28 #include "net/quic/core/crypto/quic_decrypter.h" 28 #include "net/quic/core/crypto/quic_decrypter.h"
29 #include "net/quic/core/crypto/quic_encrypter.h" 29 #include "net/quic/core/crypto/quic_encrypter.h"
30 #include "net/quic/core/crypto/quic_random.h" 30 #include "net/quic/core/crypto/quic_random.h"
31 #include "net/quic/core/proto/source_address_token.pb.h" 31 #include "net/quic/core/proto/source_address_token.pb.h"
32 #include "net/quic/core/quic_flags.h" 32 #include "net/quic/core/quic_flags.h"
33 #include "net/quic/core/quic_packets.h" 33 #include "net/quic/core/quic_packets.h"
34 #include "net/quic/core/quic_socket_address_coder.h" 34 #include "net/quic/core/quic_socket_address_coder.h"
35 #include "net/quic/core/quic_utils.h" 35 #include "net/quic/core/quic_utils.h"
36 #include "net/quic/platform/api/quic_bug_tracker.h" 36 #include "net/quic/platform/api/quic_bug_tracker.h"
37 #include "net/quic/platform/api/quic_clock.h" 37 #include "net/quic/platform/api/quic_clock.h"
38 #include "net/quic/platform/api/quic_endian.h"
38 #include "net/quic/platform/api/quic_hostname_utils.h" 39 #include "net/quic/platform/api/quic_hostname_utils.h"
39 #include "net/quic/platform/api/quic_logging.h" 40 #include "net/quic/platform/api/quic_logging.h"
40 #include "net/quic/platform/api/quic_reference_counted.h" 41 #include "net/quic/platform/api/quic_reference_counted.h"
41 #include "net/quic/platform/api/quic_text_utils.h" 42 #include "net/quic/platform/api/quic_text_utils.h"
42 #include "third_party/boringssl/src/include/openssl/sha.h" 43 #include "third_party/boringssl/src/include/openssl/sha.h"
43 44
44 using std::string; 45 using std::string;
45 46
46 namespace net { 47 namespace net {
47 48
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 const QuicClock* clock, 739 const QuicClock* clock,
739 QuicRandom* rand, 740 QuicRandom* rand,
740 QuicCompressedCertsCache* compressed_certs_cache, 741 QuicCompressedCertsCache* compressed_certs_cache,
741 QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params, 742 QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> params,
742 QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config, 743 QuicReferenceCountedPointer<QuicSignedServerConfig> signed_config,
743 QuicByteCount total_framing_overhead, 744 QuicByteCount total_framing_overhead,
744 QuicByteCount chlo_packet_size, 745 QuicByteCount chlo_packet_size,
745 const QuicReferenceCountedPointer<Config>& requested_config, 746 const QuicReferenceCountedPointer<Config>& requested_config,
746 const QuicReferenceCountedPointer<Config>& primary_config, 747 const QuicReferenceCountedPointer<Config>& primary_config,
747 std::unique_ptr<ProcessClientHelloResultCallback> done_cb) const { 748 std::unique_ptr<ProcessClientHelloResultCallback> done_cb) const {
749 if (QuicUtils::IsConnectionIdWireFormatBigEndian(Perspective::IS_SERVER)) {
750 connection_id = QuicEndian::HostToNet64(connection_id);
751 }
752
748 ProcessClientHelloHelper helper(&done_cb); 753 ProcessClientHelloHelper helper(&done_cb);
749 754
750 if (found_error) { 755 if (found_error) {
751 helper.Fail(QUIC_HANDSHAKE_FAILED, "Failed to get proof"); 756 helper.Fail(QUIC_HANDSHAKE_FAILED, "Failed to get proof");
752 return; 757 return;
753 } 758 }
754 759
755 const CryptoHandshakeMessage& client_hello = 760 const CryptoHandshakeMessage& client_hello =
756 validate_chlo_result.client_hello; 761 validate_chlo_result.client_hello;
757 const ClientHelloInfo& info = validate_chlo_result.info; 762 const ClientHelloInfo& info = validate_chlo_result.info;
(...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after
1472 const QuicSignedServerConfig& signed_config, 1477 const QuicSignedServerConfig& signed_config,
1473 QuicByteCount total_framing_overhead, 1478 QuicByteCount total_framing_overhead,
1474 QuicByteCount chlo_packet_size, 1479 QuicByteCount chlo_packet_size,
1475 CryptoHandshakeMessage* out) const { 1480 CryptoHandshakeMessage* out) const {
1476 if (FLAGS_quic_reloadable_flag_enable_quic_stateless_reject_support && 1481 if (FLAGS_quic_reloadable_flag_enable_quic_stateless_reject_support &&
1477 use_stateless_rejects) { 1482 use_stateless_rejects) {
1478 QUIC_DVLOG(1) << "QUIC Crypto server config returning stateless reject " 1483 QUIC_DVLOG(1) << "QUIC Crypto server config returning stateless reject "
1479 << "with server-designated connection ID " 1484 << "with server-designated connection ID "
1480 << server_designated_connection_id; 1485 << server_designated_connection_id;
1481 out->set_tag(kSREJ); 1486 out->set_tag(kSREJ);
1487 if (QuicUtils::IsConnectionIdWireFormatBigEndian(Perspective::IS_SERVER)) {
1488 server_designated_connection_id =
1489 QuicEndian::HostToNet64(server_designated_connection_id);
1490 }
1482 out->SetValue(kRCID, server_designated_connection_id); 1491 out->SetValue(kRCID, server_designated_connection_id);
1483 } else { 1492 } else {
1484 out->set_tag(kREJ); 1493 out->set_tag(kREJ);
1485 } 1494 }
1486 out->SetStringPiece(kSCFG, config.serialized); 1495 out->SetStringPiece(kSCFG, config.serialized);
1487 out->SetStringPiece( 1496 out->SetStringPiece(
1488 kSourceAddressTokenTag, 1497 kSourceAddressTokenTag,
1489 NewSourceAddressToken(config, info.source_address_tokens, info.client_ip, 1498 NewSourceAddressToken(config, info.source_address_tokens, info.client_ip,
1490 rand, info.now, &cached_network_params)); 1499 rand, info.now, &cached_network_params));
1491 out->SetValue(kSTTL, config.expiry_time.AbsoluteDifference(now).ToSeconds()); 1500 out->SetValue(kSTTL, config.expiry_time.AbsoluteDifference(now).ToSeconds());
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
1956 expiry_time(QuicWallTime::Zero()), 1965 expiry_time(QuicWallTime::Zero()),
1957 priority(0), 1966 priority(0),
1958 source_address_token_boxer(nullptr) {} 1967 source_address_token_boxer(nullptr) {}
1959 1968
1960 QuicCryptoServerConfig::Config::~Config() {} 1969 QuicCryptoServerConfig::Config::~Config() {}
1961 1970
1962 QuicSignedServerConfig::QuicSignedServerConfig() {} 1971 QuicSignedServerConfig::QuicSignedServerConfig() {}
1963 QuicSignedServerConfig::~QuicSignedServerConfig() {} 1972 QuicSignedServerConfig::~QuicSignedServerConfig() {}
1964 1973
1965 } // namespace net 1974 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/crypto/quic_crypto_client_config_test.cc ('k') | net/quic/core/quic_connection.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698