Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

quiche: update QUICHE tar ball #17618

Merged
merged 3 commits into from
Aug 9, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions bazel/external/quiche.BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -1758,6 +1758,26 @@ envoy_cc_library(
deps = [":quic_core_time_lib"],
)

envoy_cc_library(
name = "quic_core_connection_context_lib",
srcs = [
"quiche/quic/core/quic_connection_context.cc",
],
hdrs = [
"quiche/quic/core/quic_connection_context.h",
],
copts = quiche_copts,
external_deps = [
"abseil_str_format",
],
repository = "@envoy",
tags = ["nofips"],
deps = [
":quic_platform_export",
":quiche_common_platform",
],
)

envoy_cc_library(
name = "quic_core_connection_id_manager",
srcs = ["quiche/quic/core/quic_connection_id_manager.cc"],
Expand Down Expand Up @@ -1791,6 +1811,7 @@ envoy_cc_library(
":quic_core_bandwidth_lib",
":quic_core_blocked_writer_interface_lib",
":quic_core_config_lib",
":quic_core_connection_context_lib",
":quic_core_connection_id_manager",
":quic_core_connection_stats_lib",
":quic_core_crypto_crypto_handshake_lib",
Expand Down Expand Up @@ -3972,6 +3993,7 @@ envoy_cc_library(
"quiche/common/platform/api/quiche_flags.h",
"quiche/common/platform/api/quiche_logging.h",
"quiche/common/platform/api/quiche_prefetch.h",
"quiche/common/platform/api/quiche_thread_local.h",
"quiche/common/platform/api/quiche_time_utils.h",
],
repository = "@envoy",
Expand All @@ -3988,6 +4010,7 @@ envoy_cc_library(
name = "quiche_common_platform_default_quiche_platform_impl_export_lib",
hdrs = [
"quiche/common/platform/default/quiche_platform_impl/quiche_export_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_thread_local_impl.h",
],
repository = "@envoy",
tags = ["nofips"],
Expand Down
6 changes: 3 additions & 3 deletions bazel/repository_locations.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -808,12 +808,12 @@ REPOSITORY_LOCATIONS_SPEC = dict(
project_name = "QUICHE",
project_desc = "QUICHE (QUIC, HTTP/2, Etc) is Google‘s implementation of QUIC and related protocols",
project_url = "https://quiche.googlesource.com/quiche",
version = "5dd7a030209f9a6b5043bebd8ac3ee54f18d1d08",
sha256 = "306342cb35cb9d8baea079c7b924b0133c53cbf182b251655e589d3b4604dc41",
version = "29fb6fc501e4df5874129408b5474a91eaa9b7a0",
sha256 = "32e7b8ce4e91bb45b617bbf9721132f9218b86d9b3821ebfa32b1c7fc01aafae",
Comment on lines +811 to +812
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please update release_date = "2021-08-06", based on the commit https://quiche.googlesource.com/quiche/+/29fb6fc501e4df5874129408b5474a91eaa9b7a0

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

# Static snapshot of https://quiche.googlesource.com/quiche/+archive/{version}.tar.gz
urls = ["https://storage.googleapis.com/quiche-envoy-integration/{version}.tar.gz"],
use_category = ["dataplane_core"],
release_date = "2021-07-16",
release_date = "2021-08-06",
cpe = "N/A",
),
com_googlesource_googleurl = dict(
Expand Down
5 changes: 5 additions & 0 deletions source/common/quic/envoy_quic_proof_source_base.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ void EnvoyQuicProofSourceBase::GetProof(const quic::QuicSocketAddress& /*server_
NOT_REACHED_GCOVR_EXCL_LINE;
}

absl::InlinedVector<uint16_t, 8> EnvoyQuicProofSourceBase::SupportedTlsSignatureAlgorithms() const {
// Return empty here to defer rejecting unexpected algorithm to ComputeTlsSignature().
return {};
}

void EnvoyQuicProofSourceBase::ComputeTlsSignature(
const quic::QuicSocketAddress& server_address, const quic::QuicSocketAddress& client_address,
const std::string& hostname, uint16_t signature_algorithm, absl::string_view in,
Expand Down
1 change: 1 addition & 0 deletions source/common/quic/envoy_quic_proof_source_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ class EnvoyQuicProofSourceBase : public quic::ProofSource,
const std::string& hostname, uint16_t signature_algorithm,
absl::string_view in,
std::unique_ptr<quic::ProofSource::SignatureCallback> callback) override;
absl::InlinedVector<uint16_t, 8> SupportedTlsSignatureAlgorithms() const override;

protected:
virtual void signPayload(const quic::QuicSocketAddress& server_address,
Expand Down
7 changes: 0 additions & 7 deletions source/common/quic/platform/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -276,10 +276,3 @@ envoy_cc_library(
"@com_googlesource_quiche//:quiche_common_lib",
],
)

envoy_cc_library(
name = "quiche_common_platform_export_impl_lib",
hdrs = ["quiche_export_impl.h"],
tags = ["nofips"],
visibility = ["//visibility:public"],
)
17 changes: 17 additions & 0 deletions test/common/quic/envoy_quic_client_stream_test.cc
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
#if defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Winvalid-offsetof"
#endif

#include "quiche/quic/core/crypto/null_encrypter.h"

#if defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

#include "source/common/quic/envoy_quic_alarm_factory.h"
#include "source/common/quic/envoy_quic_client_connection.h"
#include "source/common/quic/envoy_quic_client_stream.h"
Expand Down Expand Up @@ -70,6 +82,11 @@ class EnvoyQuicClientStreamTest : public testing::Test {
void SetUp() override {
quic_session_.Initialize();
quic_connection_->setEnvoyConnection(quic_session_);
quic_connection_->SetEncrypter(
quic::ENCRYPTION_FORWARD_SECURE,
std::make_unique<quic::NullEncrypter>(quic::Perspective::IS_CLIENT));
quic_connection_->SetDefaultEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);

setQuicConfigWithDefaultValues(quic_session_.config());
quic_session_.OnConfigNegotiated();
quic_connection_->setUpConnectionSocket(delegate_);
Expand Down
6 changes: 6 additions & 0 deletions test/common/quic/envoy_quic_server_stream_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#pragma GCC diagnostic ignored "-Winvalid-offsetof"
#endif

#include "quiche/quic/core/crypto/null_encrypter.h"
#include "quiche/quic/test_tools/quic_connection_peer.h"
#include "quiche/quic/test_tools/quic_session_peer.h"

Expand Down Expand Up @@ -83,6 +84,11 @@ class EnvoyQuicServerStreamTest : public testing::Test {
void SetUp() override {
quic_session_.Initialize();
setQuicConfigWithDefaultValues(quic_session_.config());
quic_connection_.SetEncrypter(
quic::ENCRYPTION_FORWARD_SECURE,
std::make_unique<quic::NullEncrypter>(quic::Perspective::IS_SERVER));
quic_connection_.SetDefaultEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);

quic_session_.OnConfigNegotiated();
spdy_request_headers_[":authority"] = host_;
spdy_request_headers_[":method"] = "POST";
Expand Down
4 changes: 2 additions & 2 deletions test/common/quic/test_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ class MockEnvoyQuicSession : public quic::QuicSpdySession, public QuicFilterMana
MOCK_METHOD(quic::QuicConsumedData, WritevData,
(quic::QuicStreamId id, size_t write_length, quic::QuicStreamOffset offset,
quic::StreamSendingState state, quic::TransmissionType type,
absl::optional<quic::EncryptionLevel> level));
quic::EncryptionLevel level));
MOCK_METHOD(bool, ShouldYield, (quic::QuicStreamId id));
MOCK_METHOD(void, MaybeSendRstStreamFrame,
(quic::QuicStreamId id, quic::QuicRstStreamErrorCode error,
Expand Down Expand Up @@ -188,7 +188,7 @@ class MockEnvoyQuicClientSession : public EnvoyQuicClientSession {
MOCK_METHOD(quic::QuicConsumedData, WritevData,
(quic::QuicStreamId id, size_t write_length, quic::QuicStreamOffset offset,
quic::StreamSendingState state, quic::TransmissionType type,
absl::optional<quic::EncryptionLevel> level));
quic::EncryptionLevel level));
MOCK_METHOD(bool, ShouldYield, (quic::QuicStreamId id));
MOCK_METHOD(void, dumpState, (std::ostream&, int), (const));

Expand Down
5 changes: 4 additions & 1 deletion test/integration/quic_http_integration_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,10 @@ class QuicHttpIntegrationTest : public HttpIntegrationTest,
: HttpIntegrationTest(Http::CodecType::HTTP3, GetParam(),
ConfigHelper::quicHttpProxyConfig()),
supported_versions_(quic::CurrentSupportedHttp3Versions()), conn_helper_(*dispatcher_),
alarm_factory_(*dispatcher_, *conn_helper_.GetClock()) {}
alarm_factory_(*dispatcher_, *conn_helper_.GetClock()) {
// Enable this flag for test coverage.
SetQuicReloadableFlag(quic_tls_set_signature_algorithm_prefs, true);
}

~QuicHttpIntegrationTest() override {
cleanupUpstreamAndDownstream();
Expand Down