Skip to content

Commit

Permalink
Update QUICHE from 45374cbe5 to 7df7521b0 (envoyproxy#31061)
Browse files Browse the repository at this point in the history
https://github.com/google/quiche/compare/45374cbe5..7df7521b0

$ git log 45374cbe5..7df7521b0 --date=short --no-merges --format="%ad %al %s"

2023-11-22 quiche-dev Tighten QuicheBuffer API.
2023-11-22 bnc Do not serialize default `urgency` value, even if `incremental` is set.
2023-11-22 davidben Switch from absl::in_place to std::in_place
2023-11-21 quiche-dev Fix warnings in Lexan projects.
2023-11-21 martinduke Store reference to session in MoqtClient, use QUICHE_EXPORT
2023-11-20 wub Remove spammy log in QuicGsoBatchWriter.
2023-11-20 vasilvv Add a function to parse WebTransport subprotocol negotiation response.
2023-11-17 bnc Flush buffered decoder stream data in qpack_round_trip_fuzzer.
2023-11-17 rch Add a QUIC protocol flag to disable the QPACK dynamic table in QUIC servers.
2023-11-17 martinduke Fix failure in net/quic/mobile:quic_udp_socket_test_ios
2023-11-17 rch Change quic_spdy_session_test.cc to initialize session_ in an explicit Initialize() method to allow for flags to be flipped before the session is constructed.
2023-11-16 rch No public description
this functionally reverts one of the above changes by default setting a flag to false. It was causing test failures and is being debugged separately.

Risk Level: low
Testing: existing tests
Docs Changes: n/a
Release Notes: n/a

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>

---------

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
  • Loading branch information
alyssawilk authored Nov 29, 2023
1 parent b19956a commit 74fc1c2
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 3 deletions.
1 change: 1 addition & 0 deletions bazel/external/quiche.BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -2825,6 +2825,7 @@ envoy_cc_library(
copts = quiche_copts,
repository = "@envoy",
tags = ["nofips"],
visibility = ["//visibility:public"],
deps = [
":quiche_common_platform_export",
"@com_google_absl//absl/functional:any_invocable",
Expand Down
6 changes: 3 additions & 3 deletions bazel/repository_locations.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -1156,12 +1156,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://github.com/google/quiche",
version = "45374cbe5557a6d3da7aa1a43c969314f7b1894e",
sha256 = "bd4c88d4bb74e3f0ddc2f854be95f7223157a641743c319aadf1f37b51197015",
version = "7df7521b026b6bafb34e8a5211ff8e435332464c",
sha256 = "b477d0d5d2fe7d0ce79e6dc824da45fdbedc8ea54bada5749bb087554ac2cc62",
urls = ["https://github.com/google/quiche/archive/{version}.tar.gz"],
strip_prefix = "quiche-{version}",
use_category = ["controlplane", "dataplane_core"],
release_date = "2023-11-16",
release_date = "2023-11-22",
cpe = "N/A",
license = "BSD-3-Clause",
license_url = "https://github.com/google/quiche/blob/{version}/LICENSE",
Expand Down
1 change: 1 addition & 0 deletions source/common/quic/platform/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ envoy_quiche_platform_impl_cc_library(
":quiche_logging_impl_lib",
"//source/common/buffer:buffer_lib",
"@com_github_google_quiche//:quiche_common_buffer_allocator_lib",
"@com_github_google_quiche//:quiche_common_callbacks",
],
)

Expand Down
4 changes: 4 additions & 0 deletions source/common/quic/platform/quiche_flags_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ namespace {
template <typename T> constexpr T maybeOverride(absl::string_view /*name*/, T val) { return val; }

template <> constexpr bool maybeOverride<bool>(absl::string_view name, bool val) {
if (name == "quic_reloadable_flag_quic_limit_sending_max_streams2") {
// Causes CI failures for RetryStreamingCancelDueToBufferOverflow
return false;
}
if (name == "quic_reloadable_flag_quic_disable_version_draft_29") {
// Envoy only supports RFC-v1 in the long term, so disable IETF draft 29 implementation by
// default.
Expand Down
10 changes: 10 additions & 0 deletions source/common/quic/platform/quiche_mem_slice_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,16 @@ QuicheMemSliceImpl::QuicheMemSliceImpl(std::unique_ptr<char[]> buffer, size_t le
ASSERT(this->length() == length);
}

QuicheMemSliceImpl::QuicheMemSliceImpl(char buffer[], size_t length,
SingleUseCallback<void(const char*)> deleter)
: fragment_(std::make_unique<Envoy::Buffer::BufferFragmentImpl>(
buffer, length, [&](const void* p, size_t, const Envoy::Buffer::BufferFragmentImpl*) {
std::move(deleter)(reinterpret_cast<const char*>(p));
})) {
single_slice_buffer_.addBufferFragment(*fragment_);
ASSERT(this->length() == length);
}

QuicheMemSliceImpl::~QuicheMemSliceImpl() {
ASSERT(fragment_ == nullptr || (firstSliceLength(single_slice_buffer_) == fragment_->size() &&
data() == fragment_->data()));
Expand Down
2 changes: 2 additions & 0 deletions source/common/quic/platform/quiche_mem_slice_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include "source/common/buffer/buffer_impl.h"

#include "quiche/common/quiche_buffer_allocator.h"
#include "quiche/common/quiche_callbacks.h"

namespace quiche {

Expand All @@ -28,6 +29,7 @@ class QuicheMemSliceImpl {
// Constructs a QuicheMemSliceImpl by taking ownership of the memory in `buffer`.
QuicheMemSliceImpl(quiche::QuicheBuffer buffer);
QuicheMemSliceImpl(std::unique_ptr<char[]> buffer, size_t length);
QuicheMemSliceImpl(char buffer[], size_t length, SingleUseCallback<void(const char*)>);

// Constructs a QuicheMemSliceImpl and moves the first slice of `buffer` into
// it. Prerequisite: `buffer` must be non-empty, and its first slice must
Expand Down

0 comments on commit 74fc1c2

Please sign in to comment.