From 443980e294667083b1fae386f782f97d7e074da8 Mon Sep 17 00:00:00 2001 From: Renaud Date: Fri, 25 Feb 2022 15:11:15 +0100 Subject: [PATCH 01/53] recode: 3.7.9 -> 3.7.12 --- pkgs/tools/text/recode/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix index ce377fada9f3..8c49fb5ee7fc 100644 --- a/pkgs/tools/text/recode/default.nix +++ b/pkgs/tools/text/recode/default.nix @@ -2,24 +2,27 @@ stdenv.mkDerivation rec { pname = "recode"; - version = "3.7.9"; + version = "3.7.12"; # Use official tarball, avoid need to bootstrap/generate build system src = fetchurl { url = "https://github.com/rrthomas/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz"; - sha256 = "sha256-5DIKaw9c2DfNtFT7WFQBjd+pcJEWCOHwHMLGX2M2csQ="; + hash = "sha256-TbHJB28E26oVlyb1AAhH5eWoOuyOXGT4ygQ4P2zaEtU="; }; nativeBuildInputs = [ python3 python3.pkgs.cython perl intltool flex texinfo libiconv ]; buildInputs = [ libintl ]; + enableParallelBuilding = true; + doCheck = true; meta = { homepage = "https://github.com/rrthomas/recode"; description = "Converts files between various character sets and usages"; + changelog = "https://github.com/rrthomas/recode/raw/v${version}/NEWS"; platforms = lib.platforms.unix; - license = lib.licenses.gpl2Plus; + license = with lib.licenses; [ lgpl3Plus gpl3Plus ]; maintainers = with lib.maintainers; [ jcumming ]; }; } From a31c55c3a46bf296bc774694efb7a4114735772b Mon Sep 17 00:00:00 2001 From: Aaron Andersen Date: Tue, 22 Feb 2022 21:07:38 -0500 Subject: [PATCH 02/53] krunner-ssh: init at 1.0 --- .../plasma-5/3rdparty/addons/krunner-ssh.nix | 43 +++++++++++++++++++ pkgs/desktops/plasma-5/default.nix | 1 + pkgs/top-level/aliases.nix | 1 + 3 files changed, 45 insertions(+) create mode 100644 pkgs/desktops/plasma-5/3rdparty/addons/krunner-ssh.nix diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/krunner-ssh.nix b/pkgs/desktops/plasma-5/3rdparty/addons/krunner-ssh.nix new file mode 100644 index 000000000000..caf3819a3611 --- /dev/null +++ b/pkgs/desktops/plasma-5/3rdparty/addons/krunner-ssh.nix @@ -0,0 +1,43 @@ +{ lib, stdenv, fetchFromGitLab, python3 }: +let + pythonEnv = python3.withPackages (p: with p; [ dbus-python pygobject3 ]); +in +stdenv.mkDerivation rec { + pname = "krunner-ssh"; + version = "1.0"; + + src = fetchFromGitLab { + owner = "Programie"; + repo = "krunner-ssh"; + rev = version; + sha256 = "sha256-rFTTvmetDeN6t0axVc+8t1TRiuyPBpwqhvsq2IFxa/A="; + }; + + postPatch = '' + sed -e "s|Exec=.*|Exec=$out/libexec/runner.py|" -i ssh-runner.service + ''; + + nativeBuildInputs = [ + pythonEnv + ]; + + installPhase = '' + runHook preInstall + + patchShebangs runner.py + + install -m 0755 -D runner.py $out/libexec/runner.py + install -m 0755 -D ssh-runner.desktop $out/share/kservices5/ssh-runner.desktop + install -m 0755 -D ssh-runner.service $out/share/dbus-1/services/com.selfcoders.ssh-runner.service + + runHook postInstall + ''; + + meta = with lib; { + description = "A simple backend for KRunner providing SSH hosts from your .ssh/known_hosts file as search results"; + homepage = "https://selfcoders.com/projects/krunner-ssh"; + license = licenses.mit; + maintainers = with maintainers; [ aanderse ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix index 0eafc182e46f..072d999b1a92 100644 --- a/pkgs/desktops/plasma-5/default.nix +++ b/pkgs/desktops/plasma-5/default.nix @@ -161,6 +161,7 @@ let kwin-dynamic-workspaces = callPackage ./3rdparty/kwin/scripts/dynamic-workspaces.nix { }; kwin-tiling = callPackage ./3rdparty/kwin/scripts/tiling.nix { }; krohnkite = callPackage ./3rdparty/kwin/scripts/krohnkite.nix { }; + krunner-ssh = callPackage ./3rdparty/addons/krunner-ssh.nix { }; krunner-symbols = callPackage ./3rdparty/addons/krunner-symbols.nix { }; lightly = callPackage ./3rdparty/lightly { }; parachute = callPackage ./3rdparty/kwin/scripts/parachute.nix { }; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index ab07fd2c9267..c0e215b6b5c9 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1327,6 +1327,7 @@ mapAliases ({ kwin-dynamic-workspaces kwin-tiling krohnkite + krunner-ssh krunner-symbols ; inherit (libsForQt5) From 24288c9b356102d4bb39eb6d6c44ce390171a06d Mon Sep 17 00:00:00 2001 From: ajs124 Date: Fri, 25 Feb 2022 02:43:38 +0100 Subject: [PATCH 03/53] envoy: drop patches forgotten in 00e54055e1e7d3fbaacced361a8999a6e2ac8104 --- .../0001-quiche-update-QUICHE-tar-13949.patch | 2980 ----------------- ...patch-to-make-it-compile-under-GCC10.patch | 91 - 2 files changed, 3071 deletions(-) delete mode 100644 pkgs/servers/http/envoy/0001-quiche-update-QUICHE-tar-13949.patch delete mode 100644 pkgs/servers/http/envoy/0002-Add-upb-patch-to-make-it-compile-under-GCC10.patch diff --git a/pkgs/servers/http/envoy/0001-quiche-update-QUICHE-tar-13949.patch b/pkgs/servers/http/envoy/0001-quiche-update-QUICHE-tar-13949.patch deleted file mode 100644 index 4bf0a0d0e95d..000000000000 --- a/pkgs/servers/http/envoy/0001-quiche-update-QUICHE-tar-13949.patch +++ /dev/null @@ -1,2980 +0,0 @@ -From 97d7c456e03d4a11157fac17c7b8cbcee1d8a657 Mon Sep 17 00:00:00 2001 -From: danzh -Date: Mon, 16 Nov 2020 14:27:13 -0500 -Subject: [PATCH] quiche: update QUICHE tar (#13949) - -Signed-off-by: Dan Zhang ---- - bazel/envoy_internal.bzl | 2 + - bazel/external/quiche.BUILD | 85 +-- - bazel/repository_locations.bzl | 6 +- - source/extensions/quic_listeners/quiche/BUILD | 1 + - .../quiche/active_quic_listener.cc | 2 +- - .../quiche/envoy_quic_client_connection.cc | 2 +- - .../quiche/envoy_quic_client_stream.cc | 1 + - .../quiche/envoy_quic_connection.cc | 6 +- - .../quiche/envoy_quic_connection.h | 1 + - .../quiche/envoy_quic_dispatcher.cc | 6 +- - .../quiche/envoy_quic_dispatcher.h | 2 +- - .../quiche/envoy_quic_proof_source.cc | 2 +- - .../quiche/envoy_quic_proof_source.h | 2 +- - .../quiche/envoy_quic_proof_source_base.cc | 7 +- - .../quiche/envoy_quic_proof_source_base.h | 6 +- - .../quiche/envoy_quic_proof_verifier_base.cc | 4 +- - .../quiche/envoy_quic_server_connection.cc | 10 +- - .../quiche/envoy_quic_server_connection.h | 1 + - .../quic_listeners/quiche/platform/BUILD | 42 +- - .../quiche/platform/flags_impl.cc | 108 +++- - .../quiche/platform/flags_impl.h | 46 +- - .../quiche/platform/flags_list.h | 502 ------------------ - .../quiche/platform/http2_flags_impl.h | 4 +- - .../quiche/platform/quic_aligned_impl.h | 18 - - .../quiche/platform/quic_cert_utils_impl.cc | 38 +- - .../quiche/platform/quic_cert_utils_impl.h | 9 +- - .../quiche/platform/quic_fallthrough_impl.h | 11 - - .../quiche/platform/quic_file_utils_impl.cc | 4 +- - .../quiche/platform/quic_file_utils_impl.h | 6 +- - .../quiche/platform/quic_flags_impl.h | 6 +- - .../platform/quic_hostname_utils_impl.cc | 6 +- - .../platform/quic_hostname_utils_impl.h | 8 +- - .../quiche/platform/quic_macros_impl.h | 13 - - .../platform/quic_mem_slice_span_impl.cc | 3 +- - .../platform/quic_mem_slice_span_impl.h | 9 +- - ..._ptr_util_impl.h => quic_testvalue_impl.h} | 11 +- - .../platform/quic_udp_socket_platform_impl.h | 3 + - .../quiche/platform/quiche_arraysize_impl.h | 11 - - .../quiche/platform/quiche_optional_impl.h | 17 - - .../quiche/platform/quiche_text_utils_impl.h | 63 +-- - .../quiche/platform/quiche_time_utils_impl.cc | 4 +- - .../quiche/platform/quiche_time_utils_impl.h | 4 +- - .../platform/spdy_endianness_util_impl.h | 29 - - .../quiche/platform/spdy_flags_impl.h | 4 +- - .../quiche/platform/spdy_string_utils_impl.h | 2 +- - .../spdy_server_push_utils_for_envoy.cc | 10 +- - .../quiche/envoy_quic_client_session_test.cc | 2 +- - .../quiche/envoy_quic_client_stream_test.cc | 44 +- - .../quiche/envoy_quic_proof_source_test.cc | 6 +- - .../quiche/envoy_quic_proof_verifier_test.cc | 8 +- - .../quiche/envoy_quic_server_session_test.cc | 3 +- - .../quiche/envoy_quic_server_stream_test.cc | 53 +- - .../quic_listeners/quiche/platform/BUILD | 22 - - .../quiche/platform/http2_platform_test.cc | 22 +- - .../quiche/platform/quic_platform_test.cc | 61 +-- - .../quiche/platform/quic_test_output_impl.cc | 15 +- - .../quiche/platform/quic_test_output_impl.h | 12 +- - .../quiche/platform/quiche_platform_test.cc | 39 -- - .../quiche/platform/spdy_platform_test.cc | 20 +- - .../quic_listeners/quiche/test_proof_source.h | 2 +- - .../quic_listeners/quiche/test_utils.h | 4 +- - 61 files changed, 396 insertions(+), 1054 deletions(-) - delete mode 100644 source/extensions/quic_listeners/quiche/platform/flags_list.h - delete mode 100644 source/extensions/quic_listeners/quiche/platform/quic_aligned_impl.h - delete mode 100644 source/extensions/quic_listeners/quiche/platform/quic_fallthrough_impl.h - delete mode 100644 source/extensions/quic_listeners/quiche/platform/quic_macros_impl.h - rename source/extensions/quic_listeners/quiche/platform/{quiche_ptr_util_impl.h => quic_testvalue_impl.h} (52%) - delete mode 100644 source/extensions/quic_listeners/quiche/platform/quiche_arraysize_impl.h - delete mode 100644 source/extensions/quic_listeners/quiche/platform/quiche_optional_impl.h - delete mode 100644 source/extensions/quic_listeners/quiche/platform/spdy_endianness_util_impl.h - delete mode 100644 test/extensions/quic_listeners/quiche/platform/quiche_platform_test.cc - -diff --git a/bazel/envoy_internal.bzl b/bazel/envoy_internal.bzl -index 5ad86609a..3f9ddfd23 100644 ---- a/bazel/envoy_internal.bzl -+++ b/bazel/envoy_internal.bzl -@@ -54,6 +54,8 @@ def envoy_copts(repository, test = False): - }) + select({ - repository + "//bazel:clang_build": ["-fno-limit-debug-info", "-Wgnu-conditional-omitted-operand", "-Wc++2a-extensions", "-Wrange-loop-analysis"], - repository + "//bazel:gcc_build": ["-Wno-maybe-uninitialized"], -+ # TODO: Replace with /Zc:preprocessor for cl.exe versions >= 16.5 -+ repository + "//bazel:windows_x86_64": ["-experimental:preprocessor", "-Wv:19.4"], - "//conditions:default": [], - }) + select({ - repository + "//bazel:no_debug_info": ["-g0"], -diff --git a/bazel/external/quiche.BUILD b/bazel/external/quiche.BUILD -index 7541909aa..b6b208fc5 100644 ---- a/bazel/external/quiche.BUILD -+++ b/bazel/external/quiche.BUILD -@@ -57,16 +57,12 @@ quiche_common_copts = [ - "-Wno-unused-function", - # quic_inlined_frame.h uses offsetof() to optimize memory usage in frames. - "-Wno-invalid-offsetof", -- "-Wno-range-loop-analysis", - ] - - quiche_copts = select({ - # Ignore unguarded #pragma GCC statements in QUICHE sources - "@envoy//bazel:windows_x86_64": ["-wd4068"], - # Remove these after upstream fix. -- "@envoy//bazel:gcc_build": [ -- "-Wno-sign-compare", -- ] + quiche_common_copts, - "//conditions:default": quiche_common_copts, - }) - -@@ -737,7 +733,6 @@ envoy_cc_library( - hdrs = [ - "quiche/spdy/platform/api/spdy_bug_tracker.h", - "quiche/spdy/platform/api/spdy_containers.h", -- "quiche/spdy/platform/api/spdy_endianness_util.h", - "quiche/spdy/platform/api/spdy_estimate_memory_usage.h", - "quiche/spdy/platform/api/spdy_flags.h", - "quiche/spdy/platform/api/spdy_logging.h", -@@ -935,6 +930,7 @@ envoy_cc_library( - copts = quiche_copts, - repository = "@envoy", - deps = [ -+ ":http2_hpack_huffman_hpack_huffman_encoder_lib", - ":spdy_core_protocol_lib", - ":spdy_platform", - ], -@@ -1049,19 +1045,16 @@ envoy_cc_library( - envoy_cc_library( - name = "quic_platform_base", - hdrs = [ -- "quiche/quic/platform/api/quic_aligned.h", - "quiche/quic/platform/api/quic_bug_tracker.h", - "quiche/quic/platform/api/quic_client_stats.h", - "quiche/quic/platform/api/quic_containers.h", - "quiche/quic/platform/api/quic_error_code_wrappers.h", - "quiche/quic/platform/api/quic_estimate_memory_usage.h", - "quiche/quic/platform/api/quic_exported_stats.h", -- "quiche/quic/platform/api/quic_fallthrough.h", - "quiche/quic/platform/api/quic_flag_utils.h", - "quiche/quic/platform/api/quic_flags.h", - "quiche/quic/platform/api/quic_iovec.h", - "quiche/quic/platform/api/quic_logging.h", -- "quiche/quic/platform/api/quic_macros.h", - "quiche/quic/platform/api/quic_map_util.h", - "quiche/quic/platform/api/quic_mem_slice.h", - "quiche/quic/platform/api/quic_prefetch.h", -@@ -1072,6 +1065,7 @@ envoy_cc_library( - "quiche/quic/platform/api/quic_stream_buffer_allocator.h", - "quiche/quic/platform/api/quic_string_utils.h", - "quiche/quic/platform/api/quic_uint128.h", -+ "quiche/quic/platform/api/quic_testvalue.h", - # TODO: uncomment the following files as implementations are added. - # "quiche/quic/platform/api/quic_fuzzed_data_provider.h", - # "quiche/quic/platform/api/quic_test_loopback.h", -@@ -1147,7 +1141,6 @@ envoy_cc_test_library( - hdrs = ["quiche/quic/platform/api/quic_port_utils.h"], - repository = "@envoy", - tags = ["nofips"], -- deps = ["@envoy//test/extensions/quic_listeners/quiche/platform:quic_platform_port_utils_impl_lib"], - ) - - envoy_cc_library( -@@ -1216,15 +1209,14 @@ envoy_cc_test_library( - ) - - envoy_cc_library( -- name = "quiche_common_platform_endian", -- hdrs = ["quiche/common/platform/api/quiche_endian.h"], -+ name = "quiche_common_endian_lib", -+ hdrs = ["quiche/common/quiche_endian.h"], - repository = "@envoy", - tags = ["nofips"], - visibility = ["//visibility:public"], - deps = - [ - ":quiche_common_platform_export", -- "@envoy//source/extensions/quic_listeners/quiche/platform:quiche_common_platform_endian_impl_lib", - ], - ) - -@@ -1932,6 +1924,7 @@ envoy_cc_library( - visibility = ["//visibility:public"], - deps = [ - ":quic_core_clock_lib", -+ ":quic_core_crypto_certificate_view_lib", - ":quic_core_crypto_encryption_lib", - ":quic_core_crypto_hkdf_lib", - ":quic_core_crypto_proof_source_interface_lib", -@@ -2167,6 +2160,15 @@ envoy_cc_library( - ], - ) - -+envoy_cc_library( -+ name = "quic_core_flags_list_lib", -+ hdrs = ["quiche/quic/core/quic_flags_list.h"], -+ copts = quiche_copts, -+ repository = "@envoy", -+ tags = ["nofips"], -+ visibility = ["//visibility:public"], -+) -+ - envoy_cc_library( - name = "quic_core_framer_lib", - srcs = ["quiche/quic/core/quic_framer.cc"], -@@ -2339,6 +2341,7 @@ envoy_cc_library( - repository = "@envoy", - tags = ["nofips"], - deps = [ -+ ":http2_constants_lib", - ":quic_core_data_lib", - ":quic_core_error_codes_lib", - ":quic_core_http_http_frames_lib", -@@ -2723,6 +2726,27 @@ envoy_cc_library( - ], - ) - -+envoy_cc_library( -+ name = "quic_core_path_validator_lib", -+ srcs = ["quiche/quic/core/quic_path_validator.cc"], -+ hdrs = ["quiche/quic/core/quic_path_validator.h"], -+ copts = quiche_copts, -+ repository = "@envoy", -+ tags = ["nofips"], -+ deps = [ -+ ":quic_core_alarm_factory_interface_lib", -+ ":quic_core_alarm_interface_lib", -+ ":quic_core_arena_scoped_ptr_lib", -+ ":quic_core_clock_lib", -+ ":quic_core_constants_lib", -+ ":quic_core_crypto_random_lib", -+ ":quic_core_one_block_arena_lib", -+ ":quic_core_packet_writer_interface_lib", -+ ":quic_core_types_lib", -+ ":quic_platform", -+ ], -+) -+ - envoy_cc_library( - name = "quic_core_process_packet_interface_lib", - hdrs = ["quiche/quic/core/quic_process_packet_interface.h"], -@@ -2735,6 +2759,15 @@ envoy_cc_library( - ], - ) - -+envoy_cc_library( -+ name = "quic_core_protocol_flags_list_lib", -+ hdrs = ["quiche/quic/core/quic_protocol_flags_list.h"], -+ copts = quiche_copts, -+ repository = "@envoy", -+ tags = ["nofips"], -+ visibility = ["//visibility:public"], -+) -+ - envoy_cc_library( - name = "quic_core_qpack_blocking_manager_lib", - srcs = ["quiche/quic/core/qpack/qpack_blocking_manager.cc"], -@@ -2896,6 +2929,7 @@ envoy_cc_library( - deps = [ - ":http2_decoder_decode_buffer_lib", - ":http2_decoder_decode_status_lib", -+ ":quic_core_error_codes_lib", - ":quic_core_qpack_qpack_instruction_decoder_lib", - ":quic_core_qpack_qpack_instructions_lib", - ":quic_core_qpack_qpack_stream_receiver_lib", -@@ -3368,7 +3402,7 @@ envoy_cc_library( - ":quic_core_error_codes_lib", - ":quic_core_time_lib", - ":quic_platform_base", -- ":quiche_common_platform_endian", -+ ":quiche_common_endian_lib", - ], - ) - -@@ -3420,6 +3454,7 @@ envoy_cc_library( - repository = "@envoy", - tags = ["nofips"], - deps = [ -+ ":quic_core_circular_deque_lib", - ":quic_core_connection_stats_lib", - ":quic_core_packets_lib", - ":quic_core_session_notifier_interface_lib", -@@ -3459,6 +3494,7 @@ envoy_cc_library( - deps = [ - ":quic_core_versions_lib", - ":quic_platform_base", -+ ":quiche_common_endian_lib", - ], - ) - -@@ -3475,7 +3511,6 @@ envoy_cc_library( - ":quic_core_tag_lib", - ":quic_core_types_lib", - ":quic_platform_base", -- ":quiche_common_platform_endian", - ], - ) - -@@ -3746,6 +3781,7 @@ envoy_cc_test_library( - ":quic_core_packet_creator_lib", - ":quic_core_packet_writer_interface_lib", - ":quic_core_packets_lib", -+ ":quic_core_path_validator_lib", - ":quic_core_received_packet_manager_lib", - ":quic_core_sent_packet_manager_lib", - ":quic_core_server_id_lib", -@@ -3836,25 +3872,10 @@ envoy_cc_test_library( - deps = [":epoll_server_platform"], - ) - --envoy_cc_library( -- name = "quiche_common_platform_optional", -- hdrs = ["quiche/common/platform/api/quiche_optional.h"], -- repository = "@envoy", -- tags = ["nofips"], -- visibility = ["//visibility:public"], -- deps = [ -- ":quiche_common_platform_export", -- "@envoy//source/extensions/quic_listeners/quiche/platform:quiche_common_platform_optional_impl_lib", -- ], --) -- - envoy_cc_library( - name = "quiche_common_platform", - hdrs = [ -- "quiche/common/platform/api/quiche_arraysize.h", - "quiche/common/platform/api/quiche_logging.h", -- "quiche/common/platform/api/quiche_optional.h", -- "quiche/common/platform/api/quiche_ptr_util.h", - "quiche/common/platform/api/quiche_str_cat.h", - "quiche/common/platform/api/quiche_string_piece.h", - "quiche/common/platform/api/quiche_text_utils.h", -@@ -3866,7 +3887,6 @@ envoy_cc_library( - visibility = ["//visibility:public"], - deps = [ - ":quiche_common_platform_export", -- ":quiche_common_platform_optional", - "@envoy//source/extensions/quic_listeners/quiche/platform:quiche_common_platform_impl_lib", - ], - ) -@@ -3874,7 +3894,6 @@ envoy_cc_library( - envoy_cc_test_library( - name = "quiche_common_platform_test", - srcs = [ -- "quiche/common/platform/api/quiche_endian_test.cc", - "quiche/common/platform/api/quiche_str_cat_test.cc", - "quiche/common/platform/api/quiche_text_utils_test.cc", - "quiche/common/platform/api/quiche_time_utils_test.cc", -@@ -3884,7 +3903,6 @@ envoy_cc_test_library( - tags = ["nofips"], - deps = [ - ":quiche_common_platform", -- ":quiche_common_platform_endian", - "@envoy//test/extensions/quic_listeners/quiche/platform:quiche_common_platform_test_impl_lib", - ], - ) -@@ -3904,8 +3922,8 @@ envoy_cc_library( - tags = ["nofips"], - visibility = ["//visibility:public"], - deps = [ -+ ":quiche_common_endian_lib", - ":quiche_common_platform", -- ":quiche_common_platform_endian", - ], - ) - -@@ -3944,6 +3962,7 @@ envoy_cc_test( - deps = [ - ":http2_platform", - ":http2_test_tools_random", -+ ":quiche_common_test_tools_test_utils_lib", - ], - ) - -diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl -index 6eba5a821..19ddc76e8 100644 ---- a/bazel/repository_locations.bzl -+++ b/bazel/repository_locations.bzl -@@ -671,9 +671,9 @@ DEPENDENCY_REPOSITORIES_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", -- # Static snapshot of https://quiche.googlesource.com/quiche/+archive/f555d99a084cdd086a349548c70fb558ac5847cf.tar.gz -- version = "f555d99a084cdd086a349548c70fb558ac5847cf", -- sha256 = "1833f08e7b0f18b49d7498b029b7f3e6559a82113ec82a98a9e945553756e351", -+ # Static snapshot of https://quiche.googlesource.com/quiche/+archive/ecc28c0d7428f3323ea26eb1ddb98a5e06b23dea.tar.gz -+ version = "ecc28c0d7428f3323ea26eb1ddb98a5e06b23dea", -+ sha256 = "52680dea984dbe899c27176155578b97276e1f1516b7c3a63fb16ba593061859", - urls = ["https://storage.googleapis.com/quiche-envoy-integration/{version}.tar.gz"], - use_category = ["dataplane_ext"], - extensions = ["envoy.transport_sockets.quic"], -diff --git a/source/extensions/quic_listeners/quiche/BUILD b/source/extensions/quic_listeners/quiche/BUILD -index 29eb78d15..a90cfde6d 100644 ---- a/source/extensions/quic_listeners/quiche/BUILD -+++ b/source/extensions/quic_listeners/quiche/BUILD -@@ -212,6 +212,7 @@ envoy_cc_library( - "//source/common/buffer:buffer_lib", - "//source/common/common:assert_lib", - "//source/common/http:header_map_lib", -+ "//source/common/http:header_utility_lib", - "//source/extensions/quic_listeners/quiche/platform:quic_platform_mem_slice_storage_impl_lib", - "@com_googlesource_quiche//:quic_core_http_client_lib", - ], -diff --git a/source/extensions/quic_listeners/quiche/active_quic_listener.cc b/source/extensions/quic_listeners/quiche/active_quic_listener.cc -index f4808adc5..86912292a 100644 ---- a/source/extensions/quic_listeners/quiche/active_quic_listener.cc -+++ b/source/extensions/quic_listeners/quiche/active_quic_listener.cc -@@ -55,7 +55,7 @@ ActiveQuicListener::ActiveQuicListener( - quic::QuicRandom* const random = quic::QuicRandom::GetInstance(); - random->RandBytes(random_seed_, sizeof(random_seed_)); - crypto_config_ = std::make_unique( -- quiche::QuicheStringPiece(reinterpret_cast(random_seed_), sizeof(random_seed_)), -+ absl::string_view(reinterpret_cast(random_seed_), sizeof(random_seed_)), - quic::QuicRandom::GetInstance(), - std::make_unique(listen_socket_, listener_config.filterChainManager(), - stats_), -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_client_connection.cc b/source/extensions/quic_listeners/quiche/envoy_quic_client_connection.cc -index e79b08ad9..95d63729d 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_client_connection.cc -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_client_connection.cc -@@ -43,7 +43,7 @@ EnvoyQuicClientConnection::EnvoyQuicClientConnection( - const quic::ParsedQuicVersionVector& supported_versions, Event::Dispatcher& dispatcher, - Network::ConnectionSocketPtr&& connection_socket) - : EnvoyQuicConnection( -- server_connection_id, -+ server_connection_id, quic::QuicSocketAddress(), - envoyIpAddressToQuicSocketAddress(connection_socket->remoteAddress()->ip()), helper, - alarm_factory, writer, owns_writer, quic::Perspective::IS_CLIENT, supported_versions, - std::move(connection_socket)), -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_client_stream.cc b/source/extensions/quic_listeners/quiche/envoy_quic_client_stream.cc -index 866e35416..a759b26b1 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_client_stream.cc -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_client_stream.cc -@@ -20,6 +20,7 @@ - - #include "common/buffer/buffer_impl.h" - #include "common/http/header_map_impl.h" -+#include "common/http/header_utility.h" - #include "common/common/assert.h" - - namespace Envoy { -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_connection.cc b/source/extensions/quic_listeners/quiche/envoy_quic_connection.cc -index dcc311a6e..d813dfe4b 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_connection.cc -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_connection.cc -@@ -6,6 +6,7 @@ namespace Envoy { - namespace Quic { - - EnvoyQuicConnection::EnvoyQuicConnection(const quic::QuicConnectionId& server_connection_id, -+ quic::QuicSocketAddress initial_self_address, - quic::QuicSocketAddress initial_peer_address, - quic::QuicConnectionHelperInterface& helper, - quic::QuicAlarmFactory& alarm_factory, -@@ -13,8 +14,9 @@ EnvoyQuicConnection::EnvoyQuicConnection(const quic::QuicConnectionId& server_co - quic::Perspective perspective, - const quic::ParsedQuicVersionVector& supported_versions, - Network::ConnectionSocketPtr&& connection_socket) -- : quic::QuicConnection(server_connection_id, initial_peer_address, &helper, &alarm_factory, -- writer, owns_writer, perspective, supported_versions), -+ : quic::QuicConnection(server_connection_id, initial_self_address, initial_peer_address, -+ &helper, &alarm_factory, writer, owns_writer, perspective, -+ supported_versions), - connection_socket_(std::move(connection_socket)) {} - - EnvoyQuicConnection::~EnvoyQuicConnection() { connection_socket_->close(); } -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_connection.h b/source/extensions/quic_listeners/quiche/envoy_quic_connection.h -index f4c8589d7..f8543bc93 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_connection.h -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_connection.h -@@ -26,6 +26,7 @@ class EnvoyQuicConnection : public quic::QuicConnection, - protected Logger::Loggable { - public: - EnvoyQuicConnection(const quic::QuicConnectionId& server_connection_id, -+ quic::QuicSocketAddress initial_self_address, - quic::QuicSocketAddress initial_peer_address, - quic::QuicConnectionHelperInterface& helper, - quic::QuicAlarmFactory& alarm_factory, quic::QuicPacketWriter* writer, -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_dispatcher.cc b/source/extensions/quic_listeners/quiche/envoy_quic_dispatcher.cc -index ba8f7f3a8..e6351f643 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_dispatcher.cc -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_dispatcher.cc -@@ -48,11 +48,11 @@ void EnvoyQuicDispatcher::OnConnectionClosed(quic::QuicConnectionId connection_i - } - - std::unique_ptr EnvoyQuicDispatcher::CreateQuicSession( -- quic::QuicConnectionId server_connection_id, const quic::QuicSocketAddress& /*self_address*/, -- const quic::QuicSocketAddress& peer_address, quiche::QuicheStringPiece /*alpn*/, -+ quic::QuicConnectionId server_connection_id, const quic::QuicSocketAddress& self_address, -+ const quic::QuicSocketAddress& peer_address, absl::string_view /*alpn*/, - const quic::ParsedQuicVersion& version) { - auto quic_connection = std::make_unique( -- server_connection_id, peer_address, *helper(), *alarm_factory(), writer(), -+ server_connection_id, self_address, peer_address, *helper(), *alarm_factory(), writer(), - /*owns_writer=*/false, quic::ParsedQuicVersionVector{version}, listen_socket_); - auto quic_session = std::make_unique( - config(), quic::ParsedQuicVersionVector{version}, std::move(quic_connection), this, -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_dispatcher.h b/source/extensions/quic_listeners/quiche/envoy_quic_dispatcher.h -index 589ff5327..d59307f41 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_dispatcher.h -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_dispatcher.h -@@ -62,7 +62,7 @@ protected: - std::unique_ptr - CreateQuicSession(quic::QuicConnectionId server_connection_id, - const quic::QuicSocketAddress& self_address, -- const quic::QuicSocketAddress& peer_address, quiche::QuicheStringPiece alpn, -+ const quic::QuicSocketAddress& peer_address, absl::string_view alpn, - const quic::ParsedQuicVersion& version) override; - - private: -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_proof_source.cc b/source/extensions/quic_listeners/quiche/envoy_quic_proof_source.cc -index 1f65e4e7e..967765829 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_proof_source.cc -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_proof_source.cc -@@ -36,7 +36,7 @@ EnvoyQuicProofSource::GetCertChain(const quic::QuicSocketAddress& server_address - - void EnvoyQuicProofSource::signPayload( - const quic::QuicSocketAddress& server_address, const quic::QuicSocketAddress& client_address, -- const std::string& hostname, uint16_t signature_algorithm, quiche::QuicheStringPiece in, -+ const std::string& hostname, uint16_t signature_algorithm, absl::string_view in, - std::unique_ptr callback) { - CertConfigWithFilterChain res = - getTlsCertConfigAndFilterChain(server_address, client_address, hostname); -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_proof_source.h b/source/extensions/quic_listeners/quiche/envoy_quic_proof_source.h -index 6e1c74c92..e22bf3465 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_proof_source.h -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_proof_source.h -@@ -28,7 +28,7 @@ protected: - // quic::ProofSource - void signPayload(const quic::QuicSocketAddress& server_address, - const quic::QuicSocketAddress& client_address, const std::string& hostname, -- uint16_t signature_algorithm, quiche::QuicheStringPiece in, -+ uint16_t signature_algorithm, absl::string_view in, - std::unique_ptr callback) override; - - private: -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_proof_source_base.cc b/source/extensions/quic_listeners/quiche/envoy_quic_proof_source_base.cc -index 2c82c04d9..9ad3cb07f 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_proof_source_base.cc -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_proof_source_base.cc -@@ -21,7 +21,7 @@ void EnvoyQuicProofSourceBase::GetProof(const quic::QuicSocketAddress& server_ad - const std::string& hostname, - const std::string& server_config, - quic::QuicTransportVersion /*transport_version*/, -- quiche::QuicheStringPiece chlo_hash, -+ absl::string_view chlo_hash, - std::unique_ptr callback) { - quic::QuicReferenceCountedPointer chain = - GetCertChain(server_address, client_address, hostname); -@@ -68,13 +68,12 @@ void EnvoyQuicProofSourceBase::GetProof(const quic::QuicSocketAddress& server_ad - auto signature_callback = std::make_unique(std::move(callback), chain); - - signPayload(server_address, client_address, hostname, sign_alg, -- quiche::QuicheStringPiece(payload.get(), payload_size), -- std::move(signature_callback)); -+ absl::string_view(payload.get(), payload_size), std::move(signature_callback)); - } - - void EnvoyQuicProofSourceBase::ComputeTlsSignature( - const quic::QuicSocketAddress& server_address, const quic::QuicSocketAddress& client_address, -- const std::string& hostname, uint16_t signature_algorithm, quiche::QuicheStringPiece in, -+ const std::string& hostname, uint16_t signature_algorithm, absl::string_view in, - std::unique_ptr callback) { - signPayload(server_address, client_address, hostname, signature_algorithm, in, - std::move(callback)); -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_proof_source_base.h b/source/extensions/quic_listeners/quiche/envoy_quic_proof_source_base.h -index b7d76981e..a9e7e8c3f 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_proof_source_base.h -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_proof_source_base.h -@@ -57,7 +57,7 @@ public: - void GetProof(const quic::QuicSocketAddress& server_address, - const quic::QuicSocketAddress& client_address, const std::string& hostname, - const std::string& server_config, quic::QuicTransportVersion /*transport_version*/, -- quiche::QuicheStringPiece chlo_hash, -+ absl::string_view chlo_hash, - std::unique_ptr callback) override; - - TicketCrypter* GetTicketCrypter() override { return nullptr; } -@@ -65,14 +65,14 @@ public: - void ComputeTlsSignature(const quic::QuicSocketAddress& server_address, - const quic::QuicSocketAddress& client_address, - const std::string& hostname, uint16_t signature_algorithm, -- quiche::QuicheStringPiece in, -+ absl::string_view in, - std::unique_ptr callback) override; - - protected: - virtual void signPayload(const quic::QuicSocketAddress& server_address, - const quic::QuicSocketAddress& client_address, - const std::string& hostname, uint16_t signature_algorithm, -- quiche::QuicheStringPiece in, -+ absl::string_view in, - std::unique_ptr callback) PURE; - - private: -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_proof_verifier_base.cc b/source/extensions/quic_listeners/quiche/envoy_quic_proof_verifier_base.cc -index 229b3ab36..e37590529 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_proof_verifier_base.cc -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_proof_verifier_base.cc -@@ -58,8 +58,8 @@ bool EnvoyQuicProofVerifierBase::verifySignature(const std::string& server_confi - *error_details = "QuicPacketWriter error."; - return false; - } -- bool valid = cert_view->VerifySignature(quiche::QuicheStringPiece(payload.get(), payload_size), -- signature, sign_alg); -+ bool valid = cert_view->VerifySignature(absl::string_view(payload.get(), payload_size), signature, -+ sign_alg); - if (!valid) { - *error_details = "Signature is not valid."; - } -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_server_connection.cc b/source/extensions/quic_listeners/quiche/envoy_quic_server_connection.cc -index b8fa94221..974c6c8eb 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_server_connection.cc -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_server_connection.cc -@@ -11,11 +11,13 @@ namespace Quic { - - EnvoyQuicServerConnection::EnvoyQuicServerConnection( - const quic::QuicConnectionId& server_connection_id, -- quic::QuicSocketAddress initial_peer_address, quic::QuicConnectionHelperInterface& helper, -- quic::QuicAlarmFactory& alarm_factory, quic::QuicPacketWriter* writer, bool owns_writer, -+ quic::QuicSocketAddress initial_self_address, quic::QuicSocketAddress initial_peer_address, -+ quic::QuicConnectionHelperInterface& helper, quic::QuicAlarmFactory& alarm_factory, -+ quic::QuicPacketWriter* writer, bool owns_writer, - const quic::ParsedQuicVersionVector& supported_versions, Network::Socket& listen_socket) -- : EnvoyQuicConnection(server_connection_id, initial_peer_address, helper, alarm_factory, writer, -- owns_writer, quic::Perspective::IS_SERVER, supported_versions, -+ : EnvoyQuicConnection(server_connection_id, initial_self_address, initial_peer_address, helper, -+ alarm_factory, writer, owns_writer, quic::Perspective::IS_SERVER, -+ supported_versions, - std::make_unique( - // Wraps the real IoHandle instance so that if the connection socket - // gets closed, the real IoHandle won't be affected. -diff --git a/source/extensions/quic_listeners/quiche/envoy_quic_server_connection.h b/source/extensions/quic_listeners/quiche/envoy_quic_server_connection.h -index 7b7fac05e..7625fad02 100644 ---- a/source/extensions/quic_listeners/quiche/envoy_quic_server_connection.h -+++ b/source/extensions/quic_listeners/quiche/envoy_quic_server_connection.h -@@ -10,6 +10,7 @@ namespace Quic { - class EnvoyQuicServerConnection : public EnvoyQuicConnection { - public: - EnvoyQuicServerConnection(const quic::QuicConnectionId& server_connection_id, -+ quic::QuicSocketAddress initial_self_address, - quic::QuicSocketAddress initial_peer_address, - quic::QuicConnectionHelperInterface& helper, - quic::QuicAlarmFactory& alarm_factory, quic::QuicPacketWriter* writer, -diff --git a/source/extensions/quic_listeners/quiche/platform/BUILD b/source/extensions/quic_listeners/quiche/platform/BUILD -index f53e07b58..839664d52 100644 ---- a/source/extensions/quic_listeners/quiche/platform/BUILD -+++ b/source/extensions/quic_listeners/quiche/platform/BUILD -@@ -36,15 +36,16 @@ envoy_extension_package() - envoy_cc_library( - name = "flags_impl_lib", - srcs = ["flags_impl.cc"], -- hdrs = [ -- "flags_impl.h", -- "flags_list.h", -- ], -+ hdrs = ["flags_impl.h"], - external_deps = [ - "abseil_base", - "abseil_synchronization", - ], - visibility = ["//visibility:public"], -+ deps = [ -+ "@com_googlesource_quiche//:quic_core_flags_list_lib", -+ "@com_googlesource_quiche//:quic_core_protocol_flags_list_lib", -+ ], - ) - - envoy_cc_library( -@@ -62,7 +63,6 @@ envoy_cc_library( - envoy_cc_library( - name = "http2_platform_impl_lib", - hdrs = [ -- "http2_arraysize_impl.h", - "http2_bug_tracker_impl.h", - "http2_containers_impl.h", - "http2_estimate_memory_usage_impl.h", -@@ -74,7 +74,6 @@ envoy_cc_library( - ], - external_deps = [ - "abseil_base", -- "abseil_optional", - "abseil_str_format", - ], - visibility = ["//visibility:public"], -@@ -114,16 +113,13 @@ envoy_cc_library( - "quic_mem_slice_impl.cc", - ], - hdrs = [ -- "quic_aligned_impl.h", - "quic_client_stats_impl.h", - "quic_containers_impl.h", - "quic_error_code_wrappers_impl.h", - "quic_estimate_memory_usage_impl.h", -- "quic_fallthrough_impl.h", - "quic_flag_utils_impl.h", - "quic_flags_impl.h", - "quic_iovec_impl.h", -- "quic_macros_impl.h", - "quic_map_util_impl.h", - "quic_mem_slice_impl.h", - "quic_prefetch_impl.h", -@@ -132,6 +128,7 @@ envoy_cc_library( - "quic_server_stats_impl.h", - "quic_stack_trace_impl.h", - "quic_stream_buffer_allocator_impl.h", -+ "quic_testvalue_impl.h", - "quic_uint128_impl.h", - ], - external_deps = [ -@@ -141,7 +138,6 @@ envoy_cc_library( - "abseil_memory", - "abseil_node_hash_map", - "abseil_node_hash_set", -- "abseil_optional", - ], - tags = ["nofips"], - visibility = ["//visibility:public"], -@@ -236,6 +232,7 @@ envoy_cc_library( - }), - repository = "@envoy", - tags = ["nofips"], -+ visibility = ["//visibility:public"], - ) - - envoy_cc_library( -@@ -250,23 +247,12 @@ envoy_cc_library( - ], - ) - --envoy_cc_library( -- name = "quiche_common_platform_optional_impl_lib", -- hdrs = ["quiche_optional_impl.h"], -- external_deps = [ -- "abseil_node_hash_map", -- ], -- visibility = ["//visibility:public"], --) -- - envoy_cc_library( - name = "quiche_common_platform_impl_lib", - srcs = ["quiche_time_utils_impl.cc"], - hdrs = [ -- "quiche_arraysize_impl.h", - "quiche_logging_impl.h", - "quiche_map_util_impl.h", -- "quiche_ptr_util_impl.h", - "quiche_str_cat_impl.h", - "quiche_string_piece_impl.h", - "quiche_text_utils_impl.h", -@@ -281,17 +267,14 @@ envoy_cc_library( - deps = [ - ":quic_platform_logging_impl_lib", - ":string_utils_lib", -- "@com_googlesource_quiche//:quiche_common_platform_optional", - ], - ) - - envoy_cc_library( - name = "spdy_platform_impl_lib", - hdrs = [ -- "spdy_arraysize_impl.h", - "spdy_bug_tracker_impl.h", - "spdy_containers_impl.h", -- "spdy_endianness_util_impl.h", - "spdy_estimate_memory_usage_impl.h", - "spdy_flags_impl.h", - "spdy_logging_impl.h", -@@ -331,14 +314,3 @@ envoy_cc_library( - tags = ["nofips"], - visibility = ["//visibility:public"], - ) -- --envoy_cc_library( -- name = "quiche_common_platform_endian_impl_lib", -- hdrs = ["quiche_endian_impl.h"], -- tags = ["nofips"], -- visibility = ["//visibility:public"], -- deps = [ -- "quiche_common_platform_export_impl_lib", -- "//source/common/common:byte_order_lib", -- ], --) -diff --git a/source/extensions/quic_listeners/quiche/platform/flags_impl.cc b/source/extensions/quic_listeners/quiche/platform/flags_impl.cc -index 70fb182d6..9d4ea89ce 100644 ---- a/source/extensions/quic_listeners/quiche/platform/flags_impl.cc -+++ b/source/extensions/quic_listeners/quiche/platform/flags_impl.cc -@@ -15,12 +15,24 @@ namespace quiche { - - namespace { - --absl::flat_hash_map MakeFlagMap() { -+absl::flat_hash_map makeFlagMap() { - absl::flat_hash_map flags; - --#define QUICHE_FLAG(type, flag, value, help) flags.emplace(FLAGS_##flag->name(), FLAGS_##flag); --#include "extensions/quic_listeners/quiche/platform/flags_list.h" --#undef QUICHE_FLAG -+#define QUIC_FLAG(flag, ...) flags.emplace(flag->name(), flag); -+#include "quiche/quic/core/quic_flags_list.h" -+ QUIC_FLAG(FLAGS_quic_reloadable_flag_spdy_testonly_default_false, false) -+ QUIC_FLAG(FLAGS_quic_reloadable_flag_spdy_testonly_default_true, true) -+ QUIC_FLAG(FLAGS_quic_restart_flag_spdy_testonly_default_false, false) -+ QUIC_FLAG(FLAGS_quic_restart_flag_spdy_testonly_default_true, true) -+ QUIC_FLAG(FLAGS_quic_reloadable_flag_http2_testonly_default_false, false) -+ QUIC_FLAG(FLAGS_quic_reloadable_flag_http2_testonly_default_true, true) -+ QUIC_FLAG(FLAGS_quic_restart_flag_http2_testonly_default_false, false) -+ QUIC_FLAG(FLAGS_quic_restart_flag_http2_testonly_default_true, true) -+#undef QUIC_FLAG -+ -+#define QUIC_PROTOCOL_FLAG(type, flag, ...) flags.emplace(FLAGS_##flag->name(), FLAGS_##flag); -+#include "quiche/quic/core/quic_protocol_flags_list.h" -+#undef QUIC_PROTOCOL_FLAG - - return flags; - } -@@ -28,75 +40,123 @@ absl::flat_hash_map MakeFlagMap() { - } // namespace - - // static --FlagRegistry& FlagRegistry::GetInstance() { -+FlagRegistry& FlagRegistry::getInstance() { - static auto* instance = new FlagRegistry(); - return *instance; - } - --FlagRegistry::FlagRegistry() : flags_(MakeFlagMap()) {} -+FlagRegistry::FlagRegistry() : flags_(makeFlagMap()) {} - --void FlagRegistry::ResetFlags() const { -+void FlagRegistry::resetFlags() const { - for (auto& kv : flags_) { -- kv.second->ResetValue(); -+ kv.second->resetValue(); - } - } - --Flag* FlagRegistry::FindFlag(const std::string& name) const { -+Flag* FlagRegistry::findFlag(const std::string& name) const { - auto it = flags_.find(name); - return (it != flags_.end()) ? it->second : nullptr; - } - --template <> bool TypedFlag::SetValueFromString(const std::string& value_str) { -+template <> bool TypedFlag::setValueFromString(const std::string& value_str) { - static const auto* kTrueValues = new std::set({"1", "t", "true", "y", "yes"}); - static const auto* kFalseValues = new std::set({"0", "f", "false", "n", "no"}); - auto lower = absl::AsciiStrToLower(value_str); - if (kTrueValues->find(lower) != kTrueValues->end()) { -- SetValue(true); -+ setValue(true); - return true; - } - if (kFalseValues->find(lower) != kFalseValues->end()) { -- SetValue(false); -+ setValue(false); - return true; - } - return false; - } - --template <> bool TypedFlag::SetValueFromString(const std::string& value_str) { -+template <> bool TypedFlag::setValueFromString(const std::string& value_str) { - int32_t value; - if (absl::SimpleAtoi(value_str, &value)) { -- SetValue(value); -+ setValue(value); - return true; - } - return false; - } - --template <> bool TypedFlag::SetValueFromString(const std::string& value_str) { -+template <> bool TypedFlag::setValueFromString(const std::string& value_str) { - int64_t value; - if (absl::SimpleAtoi(value_str, &value)) { -- SetValue(value); -+ setValue(value); - return true; - } - return false; - } - --template <> bool TypedFlag::SetValueFromString(const std::string& value_str) { -+template <> bool TypedFlag::setValueFromString(const std::string& value_str) { - double value; - if (absl::SimpleAtod(value_str, &value)) { -- SetValue(value); -+ setValue(value); - return true; - } - return false; - } - --template <> bool TypedFlag::SetValueFromString(const std::string& value_str) { -- SetValue(value_str); -+template <> bool TypedFlag::setValueFromString(const std::string& value_str) { -+ setValue(value_str); - return true; - } - -+template <> bool TypedFlag::setValueFromString(const std::string& value_str) { -+ unsigned long value; -+ if (absl::SimpleAtoi(value_str, &value)) { -+ setValue(value); -+ return true; -+ } -+ return false; -+} -+ -+template <> bool TypedFlag::setValueFromString(const std::string& value_str) { -+ unsigned long long value; -+ if (absl::SimpleAtoi(value_str, &value)) { -+ setValue(value); -+ return true; -+ } -+ return false; -+} -+ - // Flag definitions --#define QUICHE_FLAG(type, flag, value, help) \ -- TypedFlag* FLAGS_##flag = new TypedFlag(#flag, value, help); --#include "extensions/quic_listeners/quiche/platform/flags_list.h" --#undef QUICHE_FLAG -+#define QUIC_FLAG(flag, value) TypedFlag* flag = new TypedFlag(#flag, value, ""); -+#include "quiche/quic/core/quic_flags_list.h" -+QUIC_FLAG(FLAGS_quic_reloadable_flag_spdy_testonly_default_false, false) -+QUIC_FLAG(FLAGS_quic_reloadable_flag_spdy_testonly_default_true, true) -+QUIC_FLAG(FLAGS_quic_restart_flag_spdy_testonly_default_false, false) -+QUIC_FLAG(FLAGS_quic_restart_flag_spdy_testonly_default_true, true) -+QUIC_FLAG(FLAGS_quic_reloadable_flag_http2_testonly_default_false, false) -+QUIC_FLAG(FLAGS_quic_reloadable_flag_http2_testonly_default_true, true) -+QUIC_FLAG(FLAGS_quic_restart_flag_http2_testonly_default_false, false) -+QUIC_FLAG(FLAGS_quic_restart_flag_http2_testonly_default_true, true) -+ -+#undef QUIC_FLAG -+ -+#define STRINGIFY(X) #X -+ -+#define DEFINE_QUIC_PROTOCOL_FLAG_IMPL(type, flag, value, help) \ -+ TypedFlag* FLAGS_##flag = new TypedFlag(STRINGIFY(FLAGS_##flag), value, help); -+ -+#define DEFINE_QUIC_PROTOCOL_FLAG_SINGLE_VALUE(type, flag, value, doc) \ -+ DEFINE_QUIC_PROTOCOL_FLAG_IMPL(type, flag, value, doc) -+ -+#define DEFINE_QUIC_PROTOCOL_FLAG_TWO_VALUES(type, flag, internal_value, external_value, doc) \ -+ DEFINE_QUIC_PROTOCOL_FLAG_IMPL(type, flag, external_value, doc) -+ -+// Select the right macro based on the number of arguments. -+#define GET_6TH_ARG(arg1, arg2, arg3, arg4, arg5, arg6, ...) arg6 -+ -+#define QUIC_PROTOCOL_FLAG_MACRO_CHOOSER(...) \ -+ GET_6TH_ARG(__VA_ARGS__, DEFINE_QUIC_PROTOCOL_FLAG_TWO_VALUES, \ -+ DEFINE_QUIC_PROTOCOL_FLAG_SINGLE_VALUE) -+ -+#define QUIC_PROTOCOL_FLAG(...) QUIC_PROTOCOL_FLAG_MACRO_CHOOSER(__VA_ARGS__)(__VA_ARGS__) -+#include "quiche/quic/core/quic_protocol_flags_list.h" -+#undef QUIC_PROTOCOL_FLAG - - } // namespace quiche -diff --git a/source/extensions/quic_listeners/quiche/platform/flags_impl.h b/source/extensions/quic_listeners/quiche/platform/flags_impl.h -index 5db939925..83ed8430c 100644 ---- a/source/extensions/quic_listeners/quiche/platform/flags_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/flags_impl.h -@@ -26,13 +26,13 @@ public: - ~FlagRegistry() = default; - - // Return singleton instance. -- static FlagRegistry& GetInstance(); -+ static FlagRegistry& getInstance(); - - // Reset all registered flags to their default values. -- void ResetFlags() const; -+ void resetFlags() const; - - // Look up a flag by name. -- Flag* FindFlag(const std::string& name) const; -+ Flag* findFlag(const std::string& name) const; - - private: - FlagRegistry(); -@@ -48,10 +48,10 @@ public: - virtual ~Flag() = default; - - // Set flag value from given string, returning true iff successful. -- virtual bool SetValueFromString(const std::string& value_str) = 0; -+ virtual bool setValueFromString(const std::string& value_str) = 0; - - // Reset flag to default value. -- virtual void ResetValue() = 0; -+ virtual void resetValue() = 0; - - // Return flag name. - std::string name() const { return name_; } -@@ -70,15 +70,15 @@ public: - TypedFlag(const char* name, T default_value, const char* help) - : Flag(name, help), value_(default_value), default_value_(default_value) {} - -- bool SetValueFromString(const std::string& value_str) override; -+ bool setValueFromString(const std::string& value_str) override; - -- void ResetValue() override { -+ void resetValue() override { - absl::MutexLock lock(&mutex_); - value_ = default_value_; - } - - // Set flag value. -- void SetValue(T value) { -+ void setValue(T value) { - absl::MutexLock lock(&mutex_); - value_ = value; - } -@@ -96,15 +96,29 @@ private: - }; - - // SetValueFromString specializations --template <> bool TypedFlag::SetValueFromString(const std::string& value_str); --template <> bool TypedFlag::SetValueFromString(const std::string& value_str); --template <> bool TypedFlag::SetValueFromString(const std::string& value_str); --template <> bool TypedFlag::SetValueFromString(const std::string& value_str); --template <> bool TypedFlag::SetValueFromString(const std::string& value_str); -+template <> bool TypedFlag::setValueFromString(const std::string& value_str); -+template <> bool TypedFlag::setValueFromString(const std::string& value_str); -+template <> bool TypedFlag::setValueFromString(const std::string& value_str); -+template <> bool TypedFlag::setValueFromString(const std::string& value_str); -+template <> bool TypedFlag::setValueFromString(const std::string& value_str); -+template <> bool TypedFlag::setValueFromString(const std::string& value_str); -+template <> bool TypedFlag::setValueFromString(const std::string& value_str); - - // Flag declarations --#define QUICHE_FLAG(type, flag, value, help) extern TypedFlag* FLAGS_##flag; --#include "extensions/quic_listeners/quiche/platform/flags_list.h" --#undef QUICHE_FLAG -+#define QUIC_FLAG(flag, ...) extern TypedFlag* flag; -+#include "quiche/quic/core/quic_flags_list.h" -+QUIC_FLAG(FLAGS_quic_reloadable_flag_spdy_testonly_default_false, false) -+QUIC_FLAG(FLAGS_quic_reloadable_flag_spdy_testonly_default_true, true) -+QUIC_FLAG(FLAGS_quic_restart_flag_spdy_testonly_default_false, false) -+QUIC_FLAG(FLAGS_quic_restart_flag_spdy_testonly_default_true, true) -+QUIC_FLAG(FLAGS_quic_reloadable_flag_http2_testonly_default_false, false) -+QUIC_FLAG(FLAGS_quic_reloadable_flag_http2_testonly_default_true, true) -+QUIC_FLAG(FLAGS_quic_restart_flag_http2_testonly_default_false, false) -+QUIC_FLAG(FLAGS_quic_restart_flag_http2_testonly_default_true, true) -+#undef QUIC_FLAG -+ -+#define QUIC_PROTOCOL_FLAG(type, flag, ...) extern TypedFlag* FLAGS_##flag; -+#include "quiche/quic/core/quic_protocol_flags_list.h" -+#undef QUIC_PROTOCOL_FLAG - - } // namespace quiche -diff --git a/source/extensions/quic_listeners/quiche/platform/flags_list.h b/source/extensions/quic_listeners/quiche/platform/flags_list.h -deleted file mode 100644 -index 7e9e20a7c..000000000 ---- a/source/extensions/quic_listeners/quiche/platform/flags_list.h -+++ /dev/null -@@ -1,502 +0,0 @@ --// This file intentionally does not have header guards. It is intended to be --// included multiple times, each time with a different definition of --// QUICHE_FLAG. -- --// NOLINT(namespace-envoy) -- --// This file is part of the QUICHE platform implementation, and is not to be --// consumed or referenced directly by other Envoy code. It serves purely as a --// porting layer for QUICHE. -- --// This file is generated by //third_party/quic/tools:quic_flags_list in --// Google3. -- --#if defined(QUICHE_FLAG) -- --QUICHE_FLAG( -- bool, http2_reloadable_flag_http2_backend_alpn_failure_error_code, false, -- "If true, the GFE will return a new ResponseCodeDetails error when ALPN to the backend fails.") -- --QUICHE_FLAG(bool, http2_reloadable_flag_http2_ip_based_cwnd_exp, true, -- "If true, enable IP address based CWND bootstrapping experiment with different " -- "bandwidth models and priorities in HTTP2.") -- --QUICHE_FLAG( -- bool, http2_reloadable_flag_http2_load_based_goaway_warning, false, -- "If true, load-based connection closures will send a warning GOAWAY before the actual GOAWAY.") -- --QUICHE_FLAG(bool, http2_reloadable_flag_http2_security_requirement_for_client3, false, -- "If true, check whether client meets security requirements during SSL handshake. If " -- "flag is true and client does not meet security requirements, do not negotiate HTTP/2 " -- "with client or terminate the session with SPDY_INADEQUATE_SECURITY if HTTP/2 is " -- "already negotiated. The spec contains both cipher and TLS version requirements.") -- --QUICHE_FLAG(bool, http2_reloadable_flag_http2_websocket_detection, false, -- "If true, uses a HTTP/2-specific method of detecting websocket upgrade requests.") -- --QUICHE_FLAG(bool, http2_reloadable_flag_permissive_http2_switch, false, -- "If true, the GFE allows both HTTP/1.0 and HTTP/1.1 versions in HTTP/2 upgrade " -- "requests/responses.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_advertise_quic_for_https_for_debugips, false, "") -- --QUICHE_FLAG(bool, quic_reloadable_flag_advertise_quic_for_https_for_external_users, false, "") -- --QUICHE_FLAG(bool, quic_reloadable_flag_gclb_quic_allow_alia, true, -- "If gfe2_reloadable_flag_gclb_use_alia is also true, use Alia for GCLB QUIC " -- "handshakes. To be used as a big red button if there's a problem with Alia/QUIC.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_abort_qpack_on_stream_close, false, -- "If true, abort async QPACK header decompression in QuicSpdyStream::OnClose().") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_ack_delay_alarm_granularity, false, -- "When true, ensure the ACK delay is never less than the alarm granularity when ACK " -- "decimation is enabled.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_add_missing_connected_checks, false, -- "If true, add missing connected checks.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_add_silent_idle_timeout, true, -- "If true, when server is silently closing connections due to idle timeout, serialize " -- "the connection close packets which will be added to time wait list.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_add_stream_info_to_idle_close_detail, false, -- "If true, include stream information in idle timeout connection close detail.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_allow_backend_set_stream_ttl, false, -- "If true, check backend response header for X-Response-Ttl. If it is provided, the " -- "stream TTL is set. A QUIC stream will be immediately canceled when tries to write " -- "data if this TTL expired.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_allow_client_enabled_bbr_v2, true, -- "If true, allow client to enable BBRv2 on server via connection option 'B2ON'.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_alpn_dispatch, false, -- "Support different QUIC sessions, as indicated by ALPN. Used for QBONE.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_bbr2_avoid_too_low_probe_bw_cwnd, false, -- "If true, QUIC BBRv2's PROBE_BW mode will not reduce cwnd below BDP+ack_height.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_bbr2_fewer_startup_round_trips, false, -- "When true, the 1RTT and 2RTT connection options decrease the number of round trips in " -- "BBRv2 STARTUP without a 25% bandwidth increase to 1 or 2 round trips respectively.") -- --QUICHE_FLAG( -- bool, quic_reloadable_flag_quic_bbr2_limit_inflight_hi, false, -- "When true, the B2HI connection option limits reduction of inflight_hi to (1-Beta)*CWND.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_bbr2_use_post_inflight_to_detect_queuing, false, -- "If true, QUIC BBRv2 will use inflight byte after congestion event to detect queuing " -- "during PROBE_UP.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_bbr_no_bytes_acked_in_startup_recovery, false, -- "When in STARTUP and recovery, do not add bytes_acked to QUIC BBR's CWND in " -- "CalculateCongestionWindow()") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_bootstrap_cwnd_by_spdy_priority, true, -- "If true, bootstrap initial QUIC cwnd by SPDY priorities.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_cap_large_client_initial_rtt, true, -- "If true, cap client suggested initial RTT to 1s if it is longer than 1s.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_clean_up_spdy_session_destructor, false, -- "If true, QuicSpdySession's destructor won't need to do cleanup.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_close_connection_in_on_can_write_with_blocked_writer, -- false, -- "If true, close connection if writer is still blocked while OnCanWrite is called.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_close_connection_on_serialization_failure, false, -- "If true, close connection on packet serialization failures.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_conservative_bursts, false, -- "If true, set burst token to 2 in cwnd bootstrapping experiment.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_conservative_cwnd_and_pacing_gains, false, -- "If true, uses conservative cwnd gain and pacing gain when cwnd gets bootstrapped.") -- --QUICHE_FLAG( -- bool, quic_reloadable_flag_quic_copy_bbr_cwnd_to_bbr2, false, -- "If true, when switching from BBR to BBRv2, BBRv2 will use BBR's cwnd as its initial cwnd.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_default_enable_5rto_blackhole_detection2, true, -- "If true, default-enable 5RTO blachole detection.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_default_on_pto, false, -- "If true, default on PTO which unifies TLP + RTO loss recovery.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_default_to_bbr, true, -- "When true, defaults to BBR congestion control instead of Cubic.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_default_to_bbr_v2, false, -- "If true, use BBRv2 as the default congestion controller. Takes precedence over " -- "--quic_default_to_bbr.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_disable_server_blackhole_detection, false, -- "If true, disable blackhole detection on server side.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_disable_version_draft_27, false, -- "If true, disable QUIC version h3-27.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_disable_version_draft_29, false, -- "If true, disable QUIC version h3-29.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_disable_version_q043, false, -- "If true, disable QUIC version Q043.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_disable_version_q046, false, -- "If true, disable QUIC version Q046.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_disable_version_q050, false, -- "If true, disable QUIC version Q050.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_disable_version_t050, false, -- "If true, disable QUIC version h3-T050.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_disable_version_t051, false, -- "If true, disable QUIC version h3-T051.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_discard_initial_packet_with_key_dropped, false, -- "If true, discard INITIAL packet if the key has been dropped.") -- --QUICHE_FLAG( -- bool, quic_reloadable_flag_quic_do_not_accept_stop_waiting, false, -- "In v44 and above, where STOP_WAITING is never sent, close the connection if it's received.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_donot_reset_ideal_next_packet_send_time, false, -- "If true, stop resetting ideal_next_packet_send_time_ in pacing sender.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_enable_loss_detection_experiment_at_gfe, false, -- "If ture, enable GFE-picked loss detection experiment.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_enable_loss_detection_tuner, false, -- "If true, allow QUIC loss detection tuning to be enabled by connection option ELDT.") -- --QUICHE_FLAG( -- bool, quic_reloadable_flag_quic_enable_mtu_discovery_at_server, false, -- "If true, QUIC will default enable MTU discovery at server, with a target of 1450 bytes.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_enabled, false, "") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_fix_arm_pto_for_application_data, false, -- "If true, do not arm PTO for application data until handshake confirmed.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_fix_bytes_left_for_batch_write, false, -- "If true, convert bytes_left_for_batch_write_ to unsigned int.") -- --QUICHE_FLAG( -- bool, quic_reloadable_flag_quic_fix_http3_goaway_stream_id, false, -- "If true, send the lowest stream ID that can be retried by the client in a GOAWAY frame. If " -- "false, send the highest received stream ID, which actually should not be retried.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_fix_out_of_order_sending, false, -- "If true, fix a potential out of order sending caused by handshake gets confirmed " -- "while the coalescer is not empty.") -- --QUICHE_FLAG( -- bool, quic_reloadable_flag_quic_fix_pto_pending_timer_count, false, -- "If true, make sure there is pending timer credit when trying to PTO retransmit any packets.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_fix_undecryptable_packets2, false, -- "If true, remove processed undecryptable packets.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_get_stream_information_from_stream_map, true, -- "If true, gQUIC will only consult stream_map in QuicSession::GetNumActiveStreams().") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_give_sent_packet_to_debug_visitor_after_sent, false, -- "If true, QUIC connection will pass sent packet information to the debug visitor after " -- "a packet is recorded as sent in sent packet manager.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_http3_new_default_urgency_value, false, -- "If true, QuicStream::kDefaultUrgency is 3, otherwise 1.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_ip_based_cwnd_exp, true, -- "If true, enable IP address based CWND bootstrapping experiment with different " -- "bandwidth models and priorities. ") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_listener_never_fake_epollout, false, -- "If true, QuicListener::OnSocketIsWritable will always return false, which means there " -- "will never be a fake EPOLLOUT event in the next epoll iteration.") -- --QUICHE_FLAG(bool, -- quic_reloadable_flag_quic_neuter_initial_packet_in_coalescer_with_initial_key_discarded, -- false, "If true, neuter initial packet in the coalescer when discarding initial keys.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_no_dup_experiment_id_2, false, -- "If true, transport connection stats doesn't report duplicated experiments for same " -- "connection.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_no_silent_close_for_idle_timeout, true, -- "If true, always send connection close for idle timeout if NSLC is received.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_only_set_uaid_in_tcs_visitor, false, -- "If true, QuicTransportConnectionStatsVisitor::PopulateTransportConnectionStats will " -- "be the only place where TCS's uaid field is set.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_only_truncate_long_cids, true, -- "In IETF QUIC, only truncate long CIDs from the client's Initial, don't modify them.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_preferred_altsvc_version, false, -- "When true, we will send a preferred QUIC version at the start of our Alt-Svc list.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_proxy_write_packed_strings, false, -- "If true, QuicProxyDispatcher will write packed_client_address and packed_server_vip " -- "in TcpProxyHeaderProto.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_record_frontend_service_vip_mapping, true, -- "If true, for L1 GFE, as requests come in, record frontend service to VIP mapping " -- "which is used to announce VIP in SHLO for proxied sessions. ") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_record_received_min_ack_delay, false, -- "If true, record the received min_ack_delay in transport parameters to QUIC config.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_reject_all_traffic, false, "") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_remove_zombie_streams, true, -- "If true, QuicSession doesn't keep a separate zombie_streams. Instead, all streams are " -- "stored in stream_map_.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_require_handshake_confirmation, false, -- "If true, require handshake confirmation for QUIC connections, functionally disabling " -- "0-rtt handshakes.") -- --QUICHE_FLAG( -- bool, quic_reloadable_flag_quic_send_key_update_not_yet_supported, false, -- "When true, QUIC+TLS versions will send the key_update_not_yet_supported transport parameter.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_send_path_response, false, -- "If true, send PATH_RESPONSE upon receiving PATH_CHALLENGE regardless of perspective. " -- "--gfe2_reloadable_flag_quic_start_peer_migration_earlier has to be true before turn " -- "on this flag.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_send_timestamps, false, -- "When the STMP connection option is sent by the client, timestamps in the QUIC ACK " -- "frame are sent and processed.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_server_push, false, -- "If true, enable server push feature on QUIC.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_set_resumed_ssl_session_early, false, -- "If true, set resumed_ssl_session if this is a 0-RTT connection.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_start_peer_migration_earlier, false, -- "If true, while reading an IETF quic packet, start peer migration immediately when " -- "detecting the existence of any non-probing frame instead of at the end of the packet.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_stop_sending_uses_ietf_error_code, false, -- "If true, use IETF QUIC application error codes in STOP_SENDING frames. If false, use " -- "QuicRstStreamErrorCodes.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_testonly_default_false, false, -- "A testonly reloadable flag that will always default to false.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_testonly_default_true, true, -- "A testonly reloadable flag that will always default to true.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_unified_iw_options, false, -- "When true, set the initial congestion control window from connection options in " -- "QuicSentPacketManager rather than TcpCubicSenderBytes.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_use_header_stage_idle_list2, false, -- "If true, use header stage idle list for QUIC connections in GFE.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_quic_use_leto_key_exchange, false, -- "If true, QUIC will attempt to use the Leto key exchange service and only fall back to " -- "local key exchange if that fails.") -- --QUICHE_FLAG(bool, quic_reloadable_flag_send_quic_fallback_server_config_on_leto_error, false, -- "If true and using Leto for QUIC shared-key calculations, GFE will react to a failure " -- "to contact Leto by sending a REJ containing a fallback ServerConfig, allowing the " -- "client to continue the handshake.") -- --QUICHE_FLAG( -- bool, quic_restart_flag_dont_fetch_quic_private_keys_from_leto, false, -- "If true, GFE will not request private keys when fetching QUIC ServerConfigs from Leto.") -- --QUICHE_FLAG(bool, quic_restart_flag_quic_adjust_initial_cwnd_by_gws, true, -- "If true, GFE informs backend that a client request is the first one on the connection " -- "via frontline header \"first_request=1\". Also, adjust initial cwnd based on " -- "X-Google-Gws-Initial-Cwnd-Mode sent by GWS.") -- --QUICHE_FLAG( -- bool, quic_restart_flag_quic_allow_loas_multipacket_chlo, false, -- "If true, inspects QUIC CHLOs for kLOAS and early creates sessions to allow multi-packet CHLOs") -- --QUICHE_FLAG( -- bool, quic_restart_flag_quic_disable_gws_cwnd_experiment, false, -- "If true, X-Google-Gws-Initial-Cwnd-Mode related header sent by GWS becomes no-op for QUIC.") -- --QUICHE_FLAG(bool, quic_restart_flag_quic_enable_tls_resumption_v4, true, -- "If true, enables support for TLS resumption in QUIC.") -- --QUICHE_FLAG(bool, quic_restart_flag_quic_enable_zero_rtt_for_tls_v2, true, -- "If true, support for IETF QUIC 0-rtt is enabled.") -- --QUICHE_FLAG(bool, quic_restart_flag_quic_offload_pacing_to_usps2, false, -- "If true, QUIC offload pacing when using USPS as egress method.") -- --QUICHE_FLAG(bool, quic_restart_flag_quic_rx_ring_use_tpacket_v3, false, -- "If true, use TPACKET_V3 for QuicRxRing instead of TPACKET_V2.") -- --QUICHE_FLAG(bool, quic_restart_flag_quic_should_accept_new_connection, false, -- "If true, reject QUIC CHLO packets when dispatcher is asked to do so.") -- --QUICHE_FLAG(bool, quic_restart_flag_quic_support_release_time_for_gso, false, -- "If true, QuicGsoBatchWriter will support release time if it is available and the " -- "process has the permission to do so.") -- --QUICHE_FLAG(bool, quic_restart_flag_quic_testonly_default_false, false, -- "A testonly restart flag that will always default to false.") -- --QUICHE_FLAG(bool, quic_restart_flag_quic_testonly_default_true, true, -- "A testonly restart flag that will always default to true.") -- --QUICHE_FLAG( -- bool, quic_restart_flag_quic_use_leto_for_quic_configs, false, -- "If true, use Leto to fetch QUIC server configs instead of using the seeds from Memento.") -- --QUICHE_FLAG(bool, quic_restart_flag_quic_use_pigeon_socket_to_backend, false, -- "If true, create a shared pigeon socket for all quic to backend connections and switch " -- "to use it after successful handshake.") -- --QUICHE_FLAG(bool, spdy_reloadable_flag_quic_bootstrap_cwnd_by_spdy_priority, true, -- "If true, bootstrap initial QUIC cwnd by SPDY priorities.") -- --QUICHE_FLAG(bool, spdy_reloadable_flag_quic_clean_up_spdy_session_destructor, false, -- "If true, QuicSpdySession's destructor won't need to do cleanup.") -- --QUICHE_FLAG( -- bool, spdy_reloadable_flag_spdy_discard_response_body_if_disallowed, false, -- "If true, SPDY will discard all response body bytes when response code indicates no response " -- "body should exist. Previously, we only discard partial bytes on the first response processing " -- "and the rest of the response bytes would still be delivered even though the response code " -- "said there should not be any body associated with the response code.") -- --QUICHE_FLAG(bool, quic_allow_chlo_buffering, true, -- "If true, allows packets to be buffered in anticipation of a " -- "future CHLO, and allow CHLO packets to be buffered until next " -- "iteration of the event loop.") -- --QUICHE_FLAG(bool, quic_disable_pacing_for_perf_tests, false, "If true, disable pacing in QUIC") -- --QUICHE_FLAG(bool, quic_enforce_single_packet_chlo, true, -- "If true, enforce that QUIC CHLOs fit in one packet") -- --QUICHE_FLAG(int64_t, quic_time_wait_list_max_connections, 600000, -- "Maximum number of connections on the time-wait list. " -- "A negative value implies no configured limit.") -- --QUICHE_FLAG(int64_t, quic_time_wait_list_seconds, 200, -- "Time period for which a given connection_id should live in " -- "the time-wait state.") -- --QUICHE_FLAG(double, quic_bbr_cwnd_gain, 2.0f, -- "Congestion window gain for QUIC BBR during PROBE_BW phase.") -- --QUICHE_FLAG(int32_t, quic_buffered_data_threshold, 8 * 1024, -- "If buffered data in QUIC stream is less than this " -- "threshold, buffers all provided data or asks upper layer for more data") -- --QUICHE_FLAG(int32_t, quic_send_buffer_max_data_slice_size, 4 * 1024, -- "Max size of data slice in bytes for QUIC stream send buffer.") -- --QUICHE_FLAG(int32_t, quic_lumpy_pacing_size, 2, -- "Number of packets that the pacing sender allows in bursts during " -- "pacing. This flag is ignored if a flow's estimated bandwidth is " -- "lower than 1200 kbps.") -- --QUICHE_FLAG(double, quic_lumpy_pacing_cwnd_fraction, 0.25f, -- "Congestion window fraction that the pacing sender allows in bursts " -- "during pacing.") -- --QUICHE_FLAG(int32_t, quic_max_pace_time_into_future_ms, 10, -- "Max time that QUIC can pace packets into the future in ms.") -- --QUICHE_FLAG(double, quic_pace_time_into_future_srtt_fraction, 0.125f, -- "Smoothed RTT fraction that a connection can pace packets into the future.") -- --QUICHE_FLAG(bool, quic_export_server_num_packets_per_write_histogram, false, -- "If true, export number of packets written per write operation histogram.") -- --QUICHE_FLAG(bool, quic_disable_version_negotiation_grease_randomness, false, -- "If true, use predictable version negotiation versions.") -- --QUICHE_FLAG(bool, quic_enable_http3_grease_randomness, true, -- "If true, use random greased settings and frames.") -- --QUICHE_FLAG(int64_t, quic_max_tracked_packet_count, 10000, "Maximum number of tracked packets.") -- --QUICHE_FLAG(bool, quic_prober_uses_length_prefixed_connection_ids, false, -- "If true, QuicFramer::WriteClientVersionNegotiationProbePacket uses " -- "length-prefixed connection IDs.") -- --QUICHE_FLAG(bool, quic_client_convert_http_header_name_to_lowercase, true, -- "If true, HTTP request header names sent from QuicSpdyClientBase(and " -- "descendents) will be automatically converted to lower case.") -- --QUICHE_FLAG(bool, quic_enable_http3_server_push, false, -- "If true, server push will be allowed in QUIC versions that use HTTP/3.") -- --QUICHE_FLAG(int32_t, quic_bbr2_default_probe_bw_base_duration_ms, 2000, -- "The default minimum duration for BBRv2-native probes, in milliseconds.") -- --QUICHE_FLAG(int32_t, quic_bbr2_default_probe_bw_max_rand_duration_ms, 1000, -- "The default upper bound of the random amount of BBRv2-native " -- "probes, in milliseconds.") -- --QUICHE_FLAG(int32_t, quic_bbr2_default_probe_rtt_period_ms, 10000, -- "The default period for entering PROBE_RTT, in milliseconds.") -- --QUICHE_FLAG(double, quic_bbr2_default_loss_threshold, 0.02, -- "The default loss threshold for QUIC BBRv2, should be a value " -- "between 0 and 1.") -- --QUICHE_FLAG(int32_t, quic_bbr2_default_startup_full_loss_count, 8, -- "The default minimum number of loss marking events to exit STARTUP.") -- --QUICHE_FLAG(int32_t, quic_bbr2_default_probe_bw_full_loss_count, 2, -- "The default minimum number of loss marking events to exit PROBE_UP phase.") -- --QUICHE_FLAG(double, quic_bbr2_default_inflight_hi_headroom, 0.01, -- "The default fraction of unutilized headroom to try to leave in path " -- "upon high loss.") -- --QUICHE_FLAG(int32_t, quic_bbr2_default_initial_ack_height_filter_window, 10, -- "The default initial value of the max ack height filter's window length.") -- --QUICHE_FLAG(double, quic_ack_aggregation_bandwidth_threshold, 1.0, -- "If the bandwidth during ack aggregation is smaller than (estimated " -- "bandwidth * this flag), consider the current aggregation completed " -- "and starts a new one.") -- --QUICHE_FLAG(int32_t, quic_anti_amplification_factor, 5, -- "Anti-amplification factor. Before address validation, server will " -- "send no more than factor times bytes received.") -- --QUICHE_FLAG(int32_t, quic_max_buffered_crypto_bytes, 16 * 1024, -- "The maximum amount of CRYPTO frame data that can be buffered.") -- --QUICHE_FLAG(int32_t, quic_max_aggressive_retransmittable_on_wire_ping_count, 0, -- "If set to non-zero, the maximum number of consecutive pings that " -- "can be sent with aggressive initial retransmittable on wire timeout " -- "if there is no new data received. After which, the timeout will be " -- "exponentially back off until exceeds the default ping timeout.") -- --QUICHE_FLAG(int32_t, quic_max_congestion_window, 2000, "The maximum congestion window in packets.") -- --QUICHE_FLAG(int32_t, quic_max_streams_window_divisor, 2, -- "The divisor that controls how often MAX_STREAMS frame is sent.") -- --QUICHE_FLAG(bool, http2_reloadable_flag_http2_testonly_default_false, false, -- "A testonly reloadable flag that will always default to false.") -- --QUICHE_FLAG(bool, http2_restart_flag_http2_testonly_default_false, false, -- "A testonly restart flag that will always default to false.") -- --QUICHE_FLAG(bool, spdy_reloadable_flag_spdy_testonly_default_false, false, -- "A testonly reloadable flag that will always default to false.") -- --QUICHE_FLAG(bool, spdy_restart_flag_spdy_testonly_default_false, false, -- "A testonly restart flag that will always default to false.") -- --#endif -diff --git a/source/extensions/quic_listeners/quiche/platform/http2_flags_impl.h b/source/extensions/quic_listeners/quiche/platform/http2_flags_impl.h -index 7d2561469..dc6fe5429 100644 ---- a/source/extensions/quic_listeners/quiche/platform/http2_flags_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/http2_flags_impl.h -@@ -8,10 +8,10 @@ - - #include "extensions/quic_listeners/quiche/platform/flags_impl.h" - --#define GetHttp2ReloadableFlagImpl(flag) quiche::FLAGS_http2_reloadable_flag_##flag->value() -+#define GetHttp2ReloadableFlagImpl(flag) quiche::FLAGS_quic_reloadable_flag_##flag->value() - - #define SetHttp2ReloadableFlagImpl(flag, value) \ -- quiche::FLAGS_http2_reloadable_flag_##flag->SetValue(value) -+ quiche::FLAGS_quic_reloadable_flag_##flag->setValue(value) - - #define HTTP2_CODE_COUNT_N_IMPL(flag, instance, total) \ - do { \ -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_aligned_impl.h b/source/extensions/quic_listeners/quiche/platform/quic_aligned_impl.h -deleted file mode 100644 -index 3f595380b..000000000 ---- a/source/extensions/quic_listeners/quiche/platform/quic_aligned_impl.h -+++ /dev/null -@@ -1,18 +0,0 @@ --#pragma once -- --#include "absl/base/optimization.h" -- --// NOLINT(namespace-envoy) -- --// This file is part of the QUICHE platform implementation, and is not to be --// consumed or referenced directly by other Envoy code. It serves purely as a --// porting layer for QUICHE. -- --#define QUIC_ALIGN_OF_IMPL alignof --#ifdef _MSC_VER --#define QUIC_ALIGNED_IMPL(X) __declspec(align(X)) --#else --#define QUIC_ALIGNED_IMPL(X) __attribute__((aligned(X))) --#endif --#define QUIC_CACHELINE_ALIGNED_IMPL ABSL_CACHELINE_ALIGNED --#define QUIC_CACHELINE_SIZE_IMPL ABSL_CACHELINE_SIZE -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_cert_utils_impl.cc b/source/extensions/quic_listeners/quiche/platform/quic_cert_utils_impl.cc -index 2a886a12c..27b977908 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quic_cert_utils_impl.cc -+++ b/source/extensions/quic_listeners/quiche/platform/quic_cert_utils_impl.cc -@@ -10,25 +10,7 @@ - - namespace quic { - --// static --bool QuicCertUtilsImpl::ExtractSubjectNameFromDERCert(quiche::QuicheStringPiece cert, -- quiche::QuicheStringPiece* subject_out) { -- CBS tbs_certificate; -- if (!SeekToSubject(cert, &tbs_certificate)) { -- return false; -- } -- -- CBS subject; -- if (!CBS_get_asn1_element(&tbs_certificate, &subject, CBS_ASN1_SEQUENCE)) { -- return false; -- } -- *subject_out = -- absl::string_view(reinterpret_cast(CBS_data(&subject)), CBS_len(&subject)); -- return true; --} -- --// static --bool QuicCertUtilsImpl::SeekToSubject(quiche::QuicheStringPiece cert, CBS* tbs_certificate) { -+bool seekToSubject(absl::string_view cert, CBS* tbs_certificate) { - CBS der; - CBS_init(&der, reinterpret_cast(cert.data()), cert.size()); - CBS certificate; -@@ -65,4 +47,22 @@ bool QuicCertUtilsImpl::SeekToSubject(quiche::QuicheStringPiece cert, CBS* tbs_c - return true; - } - -+// static -+// NOLINTNEXTLINE(readability-identifier-naming) -+bool QuicCertUtilsImpl::ExtractSubjectNameFromDERCert(absl::string_view cert, -+ absl::string_view* subject_out) { -+ CBS tbs_certificate; -+ if (!seekToSubject(cert, &tbs_certificate)) { -+ return false; -+ } -+ -+ CBS subject; -+ if (!CBS_get_asn1_element(&tbs_certificate, &subject, CBS_ASN1_SEQUENCE)) { -+ return false; -+ } -+ *subject_out = -+ absl::string_view(reinterpret_cast(CBS_data(&subject)), CBS_len(&subject)); -+ return true; -+} -+ - } // namespace quic -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_cert_utils_impl.h b/source/extensions/quic_listeners/quiche/platform/quic_cert_utils_impl.h -index 0c41b9dbc..29b882b7d 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quic_cert_utils_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/quic_cert_utils_impl.h -@@ -6,18 +6,15 @@ - // consumed or referenced directly by other Envoy code. It serves purely as a - // porting layer for QUICHE. - -+#include "absl/strings/string_view.h" - #include "openssl/base.h" --#include "quiche/common/platform/api/quiche_string_piece.h" - - namespace quic { - - class QuicCertUtilsImpl { - public: -- static bool ExtractSubjectNameFromDERCert(quiche::QuicheStringPiece cert, -- quiche::QuicheStringPiece* subject_out); -- --private: -- static bool SeekToSubject(quiche::QuicheStringPiece cert, CBS* tbs_certificate); -+ // NOLINTNEXTLINE(readability-identifier-naming) -+ static bool ExtractSubjectNameFromDERCert(absl::string_view cert, absl::string_view* subject_out); - }; - - } // namespace quic -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_fallthrough_impl.h b/source/extensions/quic_listeners/quiche/platform/quic_fallthrough_impl.h -deleted file mode 100644 -index aa9d6bc36..000000000 ---- a/source/extensions/quic_listeners/quiche/platform/quic_fallthrough_impl.h -+++ /dev/null -@@ -1,11 +0,0 @@ --#pragma once -- --// NOLINT(namespace-envoy) -- --// This file is part of the QUICHE platform implementation, and is not to be --// consumed or referenced directly by other Envoy code. It serves purely as a --// porting layer for QUICHE. -- --#include "absl/base/macros.h" -- --#define QUIC_FALLTHROUGH_INTENDED_IMPL ABSL_FALLTHROUGH_INTENDED -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_file_utils_impl.cc b/source/extensions/quic_listeners/quiche/platform/quic_file_utils_impl.cc -index 91d52c44a..b2e396fab 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quic_file_utils_impl.cc -+++ b/source/extensions/quic_listeners/quiche/platform/quic_file_utils_impl.cc -@@ -36,6 +36,7 @@ void depthFirstTraverseDirectory(const std::string& dirname, std::vector ReadFileContentsImpl(const std::string& dirname) { - std::vector files; - depthFirstTraverseDirectory(dirname, files); -@@ -43,7 +44,8 @@ std::vector ReadFileContentsImpl(const std::string& dirname) { - } - - // Reads the contents of |filename| as a string into |contents|. --void ReadFileContentsImpl(quiche::QuicheStringPiece filename, std::string* contents) { -+// NOLINTNEXTLINE(readability-identifier-naming) -+void ReadFileContentsImpl(absl::string_view filename, std::string* contents) { - #ifdef WIN32 - Envoy::Filesystem::InstanceImplWin32 fs; - #else -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_file_utils_impl.h b/source/extensions/quic_listeners/quiche/platform/quic_file_utils_impl.h -index 654c1ad18..25c31e9de 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quic_file_utils_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/quic_file_utils_impl.h -@@ -8,7 +8,7 @@ - - #include - --#include "quiche/common/platform/api/quiche_string_piece.h" -+#include "absl/strings/string_view.h" - - namespace quic { - -@@ -16,6 +16,7 @@ namespace quic { - * Traverses the directory |dirname| and returns all of the files it contains. - * @param dirname full path without trailing '/'. - */ -+// NOLINTNEXTLINE(readability-identifier-naming)` - std::vector ReadFileContentsImpl(const std::string& dirname); - - /** -@@ -23,6 +24,7 @@ std::vector ReadFileContentsImpl(const std::string& dirname); - * @param filename the full path to the file. - * @param contents output location of the file content. - */ --void ReadFileContentsImpl(quiche::QuicheStringPiece filename, std::string* contents); -+// NOLINTNEXTLINE(readability-identifier-naming) -+void ReadFileContentsImpl(absl::string_view filename, std::string* contents); - - } // namespace quic -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_flags_impl.h b/source/extensions/quic_listeners/quiche/platform/quic_flags_impl.h -index 872495f2d..d562bb1a4 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quic_flags_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/quic_flags_impl.h -@@ -15,16 +15,16 @@ - #define GetQuicFlagImpl(flag) (quiche::flag)->value() - - // |flag| is the global flag variable, which is a pointer to TypedFlag. --#define SetQuicFlagImpl(flag, value) (quiche::flag)->SetValue(value) -+#define SetQuicFlagImpl(flag, value) (quiche::flag)->setValue(value) - - #define GetQuicReloadableFlagImpl(flag) quiche::FLAGS_quic_reloadable_flag_##flag->value() - - #define SetQuicReloadableFlagImpl(flag, value) \ -- quiche::FLAGS_quic_reloadable_flag_##flag->SetValue(value) -+ quiche::FLAGS_quic_reloadable_flag_##flag->setValue(value) - - #define GetQuicRestartFlagImpl(flag) quiche::FLAGS_quic_restart_flag_##flag->value() - --#define SetQuicRestartFlagImpl(flag, value) quiche::FLAGS_quic_restart_flag_##flag->SetValue(value) -+#define SetQuicRestartFlagImpl(flag, value) quiche::FLAGS_quic_restart_flag_##flag->setValue(value) - - // Not wired into command-line parsing. - #define DEFINE_QUIC_COMMAND_LINE_FLAG_IMPL(type, flag, value, help) \ -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_hostname_utils_impl.cc b/source/extensions/quic_listeners/quiche/platform/quic_hostname_utils_impl.cc -index bcbafb566..75849611d 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quic_hostname_utils_impl.cc -+++ b/source/extensions/quic_listeners/quiche/platform/quic_hostname_utils_impl.cc -@@ -19,7 +19,8 @@ - namespace quic { - - // static --bool QuicHostnameUtilsImpl::IsValidSNI(quiche::QuicheStringPiece sni) { -+// NOLINTNEXTLINE(readability-identifier-naming) -+bool QuicHostnameUtilsImpl::IsValidSNI(absl::string_view sni) { - // TODO(wub): Implement it on top of GoogleUrl, once it is available. - - return sni.find_last_of('.') != std::string::npos && -@@ -27,7 +28,8 @@ bool QuicHostnameUtilsImpl::IsValidSNI(quiche::QuicheStringPiece sni) { - } - - // static --std::string QuicHostnameUtilsImpl::NormalizeHostname(quiche::QuicheStringPiece hostname) { -+// NOLINTNEXTLINE(readability-identifier-naming) -+std::string QuicHostnameUtilsImpl::NormalizeHostname(absl::string_view hostname) { - // TODO(wub): Implement it on top of GoogleUrl, once it is available. - std::string host = absl::AsciiStrToLower(hostname); - -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_hostname_utils_impl.h b/source/extensions/quic_listeners/quiche/platform/quic_hostname_utils_impl.h -index 2b7ed4357..67cd787d0 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quic_hostname_utils_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/quic_hostname_utils_impl.h -@@ -6,7 +6,7 @@ - // consumed or referenced directly by other Envoy code. It serves purely as a - // porting layer for QUICHE. - --#include "quiche/common/platform/api/quiche_string_piece.h" -+#include "absl/strings/string_view.h" - #include "quiche/quic/platform/api/quic_export.h" - - namespace quic { -@@ -18,7 +18,8 @@ public: - // (2) check that the hostname contains valid characters only; and - // (3) contains at least one dot. - // NOTE(wub): Only (3) is implemented for now. -- static bool IsValidSNI(quiche::QuicheStringPiece sni); -+ // NOLINTNEXTLINE(readability-identifier-naming) -+ static bool IsValidSNI(absl::string_view sni); - - // Normalize a hostname: - // (1) Canonicalize it, similar to what Chromium does in -@@ -27,7 +28,8 @@ public: - // (3) Remove the trailing '.'. - // WARNING: May mutate |hostname| in place. - // NOTE(wub): Only (2) and (3) are implemented for now. -- static std::string NormalizeHostname(quiche::QuicheStringPiece hostname); -+ // NOLINTNEXTLINE(readability-identifier-naming) -+ static std::string NormalizeHostname(absl::string_view hostname); - - private: - QuicHostnameUtilsImpl() = delete; -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_macros_impl.h b/source/extensions/quic_listeners/quiche/platform/quic_macros_impl.h -deleted file mode 100644 -index b8b70a042..000000000 ---- a/source/extensions/quic_listeners/quiche/platform/quic_macros_impl.h -+++ /dev/null -@@ -1,13 +0,0 @@ --#pragma once -- --// NOLINT(namespace-envoy) -- --// This file is part of the QUICHE platform implementation, and is not to be --// consumed or referenced directly by other Envoy code. It serves purely as a --// porting layer for QUICHE. -- --#include "absl/base/attributes.h" -- --#define QUIC_MUST_USE_RESULT_IMPL ABSL_MUST_USE_RESULT --#define QUIC_UNUSED_IMPL ABSL_ATTRIBUTE_UNUSED --#define QUIC_CONST_INIT_IMPL ABSL_CONST_INIT -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_mem_slice_span_impl.cc b/source/extensions/quic_listeners/quiche/platform/quic_mem_slice_span_impl.cc -index c2eb527d6..9e46c37df 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quic_mem_slice_span_impl.cc -+++ b/source/extensions/quic_listeners/quiche/platform/quic_mem_slice_span_impl.cc -@@ -10,7 +10,8 @@ - - namespace quic { - --quiche::QuicheStringPiece QuicMemSliceSpanImpl::GetData(size_t index) { -+// NOLINTNEXTLINE(readability-identifier-naming) -+absl::string_view QuicMemSliceSpanImpl::GetData(size_t index) { - Envoy::Buffer::RawSliceVector slices = buffer_->getRawSlices(/*max_slices=*/index + 1); - ASSERT(slices.size() > index); - return {reinterpret_cast(slices[index].mem_), slices[index].len_}; -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_mem_slice_span_impl.h b/source/extensions/quic_listeners/quiche/platform/quic_mem_slice_span_impl.h -index 1824fb8d1..ef40e6387 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quic_mem_slice_span_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/quic_mem_slice_span_impl.h -@@ -9,7 +9,7 @@ - #include "envoy/buffer/buffer.h" - - #include "absl/container/fixed_array.h" --#include "quiche/common/platform/api/quiche_string_piece.h" -+#include "absl/strings/string_view.h" - #include "quiche/quic/core/quic_types.h" - #include "quiche/quic/platform/api/quic_mem_slice.h" - -@@ -43,9 +43,13 @@ public: - } - - // QuicMemSliceSpan -- quiche::QuicheStringPiece GetData(size_t index); -+ // NOLINTNEXTLINE(readability-identifier-naming) -+ absl::string_view GetData(size_t index); -+ // NOLINTNEXTLINE(readability-identifier-naming) - QuicByteCount total_length() { return buffer_->length(); }; -+ // NOLINTNEXTLINE(readability-identifier-naming) - size_t NumSlices() { return buffer_->getRawSlices().size(); } -+ // NOLINTNEXTLINE(readability-identifier-naming) - template QuicByteCount ConsumeAll(ConsumeFunction consume); - bool empty() const { return buffer_->length() == 0; } - -@@ -54,6 +58,7 @@ private: - }; - - template -+// NOLINTNEXTLINE(readability-identifier-naming) - QuicByteCount QuicMemSliceSpanImpl::ConsumeAll(ConsumeFunction consume) { - size_t saved_length = 0; - for (auto& slice : buffer_->getRawSlices()) { -diff --git a/source/extensions/quic_listeners/quiche/platform/quiche_ptr_util_impl.h b/source/extensions/quic_listeners/quiche/platform/quic_testvalue_impl.h -similarity index 52% -rename from source/extensions/quic_listeners/quiche/platform/quiche_ptr_util_impl.h -rename to source/extensions/quic_listeners/quiche/platform/quic_testvalue_impl.h -index aaebe5d5c..4b0201c35 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quiche_ptr_util_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/quic_testvalue_impl.h -@@ -6,12 +6,11 @@ - // consumed or referenced directly by other Envoy code. It serves purely as a - // porting layer for QUICHE. - --#include "absl/memory/memory.h" -+#include "absl/strings/string_view.h" - --namespace quiche { -+namespace quic { - --template std::unique_ptr QuicheWrapUniqueImpl(T* ptr) { -- return absl::WrapUnique(ptr); --} -+// NOLINTNEXTLINE(readability-identifier-naming) -+template void AdjustTestValueImpl(absl::string_view /*label*/, T* /*var*/) {} - --} // namespace quiche -+} // namespace quic -diff --git a/source/extensions/quic_listeners/quiche/platform/quic_udp_socket_platform_impl.h b/source/extensions/quic_listeners/quiche/platform/quic_udp_socket_platform_impl.h -index 248cfc193..1e88abe46 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quic_udp_socket_platform_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/quic_udp_socket_platform_impl.h -@@ -19,4 +19,7 @@ inline bool GetGooglePacketHeadersFromControlMessageImpl(struct ::cmsghdr* /*cms - return false; - } - -+// NOLINTNEXTLINE(readability-identifier-naming) -+inline void SetGoogleSocketOptionsImpl(int /*fd*/) {} -+ - } // namespace quic -diff --git a/source/extensions/quic_listeners/quiche/platform/quiche_arraysize_impl.h b/source/extensions/quic_listeners/quiche/platform/quiche_arraysize_impl.h -deleted file mode 100644 -index 7a23b53da..000000000 ---- a/source/extensions/quic_listeners/quiche/platform/quiche_arraysize_impl.h -+++ /dev/null -@@ -1,11 +0,0 @@ --#pragma once -- --#include "absl/base/macros.h" -- --// NOLINT(namespace-envoy) -- --// This file is part of the QUICHE platform implementation, and is not to be --// consumed or referenced directly by other Envoy code. It serves purely as a --// porting layer for QUICHE. -- --#define QUICHE_ARRAYSIZE_IMPL(array) ABSL_ARRAYSIZE(array) -diff --git a/source/extensions/quic_listeners/quiche/platform/quiche_optional_impl.h b/source/extensions/quic_listeners/quiche/platform/quiche_optional_impl.h -deleted file mode 100644 -index f8b2b6c08..000000000 ---- a/source/extensions/quic_listeners/quiche/platform/quiche_optional_impl.h -+++ /dev/null -@@ -1,17 +0,0 @@ --#pragma once -- --#include "absl/types/optional.h" -- --// NOLINT(namespace-envoy) -- --// This file is part of the QUICHE platform implementation, and is not to be --// consumed or referenced directly by other Envoy code. It serves purely as a --// porting layer for QUICHE. -- --namespace quiche { -- --template using QuicheOptionalImpl = absl::optional; -- --#define QUICHE_NULLOPT_IMPL absl::nullopt -- --} // namespace quiche -diff --git a/source/extensions/quic_listeners/quiche/platform/quiche_text_utils_impl.h b/source/extensions/quic_listeners/quiche/platform/quiche_text_utils_impl.h -index 3a6d1a393..7b87c1cd6 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quiche_text_utils_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/quiche_text_utils_impl.h -@@ -2,7 +2,6 @@ - - #include "common/common/base64.h" - --#include "extensions/quic_listeners/quiche/platform/quiche_optional_impl.h" - #include "extensions/quic_listeners/quiche/platform/quiche_string_piece_impl.h" - #include "extensions/quic_listeners/quiche/platform/string_utils.h" - -@@ -13,6 +12,7 @@ - #include "absl/strings/str_cat.h" - #include "absl/strings/str_format.h" - #include "absl/strings/str_split.h" -+#include "absl/types/optional.h" - - // NOLINT(namespace-envoy) - -@@ -25,58 +25,16 @@ namespace quiche { - class QuicheTextUtilsImpl { - public: - // NOLINTNEXTLINE(readability-identifier-naming) -- static bool StartsWith(QuicheStringPieceImpl data, QuicheStringPieceImpl prefix) { -- return absl::StartsWith(data, prefix); -- } -- -- // NOLINTNEXTLINE(readability-identifier-naming) -- static bool EndsWith(QuicheStringPieceImpl data, QuicheStringPieceImpl suffix) { -- return absl::EndsWith(data, suffix); -- } -- -- // NOLINTNEXTLINE(readability-identifier-naming) -- static bool EndsWithIgnoreCase(QuicheStringPieceImpl data, QuicheStringPieceImpl suffix) { -- return absl::EndsWithIgnoreCase(data, suffix); -- } -- -- // NOLINTNEXTLINE(readability-identifier-naming) -- static std::string ToLower(QuicheStringPieceImpl data) { return absl::AsciiStrToLower(data); } -+ static std::string ToLower(absl::string_view data) { return absl::AsciiStrToLower(data); } - - // NOLINTNEXTLINE(readability-identifier-naming) -- static void RemoveLeadingAndTrailingWhitespace(QuicheStringPieceImpl* data) { -+ static void RemoveLeadingAndTrailingWhitespace(absl::string_view* data) { - *data = absl::StripAsciiWhitespace(*data); - } - -- // NOLINTNEXTLINE(readability-identifier-naming) -- static bool StringToUint64(QuicheStringPieceImpl in, uint64_t* out) { -- return absl::SimpleAtoi(in, out); -- } -- -- // NOLINTNEXTLINE(readability-identifier-naming) -- static bool StringToInt(QuicheStringPieceImpl in, int* out) { return absl::SimpleAtoi(in, out); } -- -- // NOLINTNEXTLINE(readability-identifier-naming) -- static bool StringToUint32(QuicheStringPieceImpl in, uint32_t* out) { -- return absl::SimpleAtoi(in, out); -- } -- -- // NOLINTNEXTLINE(readability-identifier-naming) -- static bool StringToSizeT(QuicheStringPieceImpl in, size_t* out) { -- return absl::SimpleAtoi(in, out); -- } -- -- // NOLINTNEXTLINE(readability-identifier-naming) -- static std::string Uint64ToString(uint64_t in) { return absl::StrCat(in); } -- -- // NOLINTNEXTLINE(readability-identifier-naming) -- static std::string HexEncode(QuicheStringPieceImpl data) { return absl::BytesToHexString(data); } -- - // NOLINTNEXTLINE(readability-identifier-naming) - static std::string Hex(uint32_t v) { return absl::StrCat(absl::Hex(v)); } - -- // NOLINTNEXTLINE(readability-identifier-naming) -- static std::string HexDecode(QuicheStringPieceImpl data) { return absl::HexStringToBytes(data); } -- - // NOLINTNEXTLINE(readability-identifier-naming) - static void Base64Encode(const uint8_t* data, size_t data_len, std::string* output) { - *output = -@@ -84,27 +42,28 @@ public: - } - - // NOLINTNEXTLINE(readability-identifier-naming) -- static QuicheOptionalImpl Base64Decode(QuicheStringPieceImpl input) { -+ static absl::optional Base64Decode(absl::string_view input) { - return Envoy::Base64::decodeWithoutPadding(input); - } - - // NOLINTNEXTLINE(readability-identifier-naming) -- static std::string HexDump(QuicheStringPieceImpl binary_data) { -- return quiche::HexDump(binary_data); -- } -+ static std::string Uint64ToString(uint64_t in) { return absl::StrCat(in); } -+ -+ // NOLINTNEXTLINE(readability-identifier-naming) -+ static std::string HexDump(absl::string_view binary_data) { return quiche::HexDump(binary_data); } - - // NOLINTNEXTLINE(readability-identifier-naming) -- static bool ContainsUpperCase(QuicheStringPieceImpl data) { -+ static bool ContainsUpperCase(absl::string_view data) { - return std::any_of(data.begin(), data.end(), absl::ascii_isupper); - } - - // NOLINTNEXTLINE(readability-identifier-naming) -- static bool IsAllDigits(QuicheStringPieceImpl data) { -+ static bool IsAllDigits(absl::string_view data) { - return std::all_of(data.begin(), data.end(), absl::ascii_isdigit); - } - - // NOLINTNEXTLINE(readability-identifier-naming) -- static std::vector Split(QuicheStringPieceImpl data, char delim) { -+ static std::vector Split(absl::string_view data, char delim) { - return absl::StrSplit(data, delim); - } - }; -diff --git a/source/extensions/quic_listeners/quiche/platform/quiche_time_utils_impl.cc b/source/extensions/quic_listeners/quiche/platform/quiche_time_utils_impl.cc -index 3260eafee..5387e0598 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quiche_time_utils_impl.cc -+++ b/source/extensions/quic_listeners/quiche/platform/quiche_time_utils_impl.cc -@@ -9,7 +9,7 @@ - namespace quiche { - - namespace { --QuicheOptional quicheUtcDateTimeToUnixSecondsInner(int year, int month, int day, int hour, -+absl::optional quicheUtcDateTimeToUnixSecondsInner(int year, int month, int day, int hour, - int minute, int second) { - const absl::CivilSecond civil_time(year, month, day, hour, minute, second); - if (second != 60 && (civil_time.year() != year || civil_time.month() != month || -@@ -24,7 +24,7 @@ QuicheOptional quicheUtcDateTimeToUnixSecondsInner(int year, int month, - } // namespace - - // NOLINTNEXTLINE(readability-identifier-naming) --QuicheOptional QuicheUtcDateTimeToUnixSecondsImpl(int year, int month, int day, int hour, -+absl::optional QuicheUtcDateTimeToUnixSecondsImpl(int year, int month, int day, int hour, - int minute, int second) { - // Handle leap seconds without letting any other irregularities happen. - if (second == 60) { -diff --git a/source/extensions/quic_listeners/quiche/platform/quiche_time_utils_impl.h b/source/extensions/quic_listeners/quiche/platform/quiche_time_utils_impl.h -index a1b70b70a..5e2ef7956 100644 ---- a/source/extensions/quic_listeners/quiche/platform/quiche_time_utils_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/quiche_time_utils_impl.h -@@ -10,12 +10,12 @@ - - #include "absl/time/civil_time.h" - #include "absl/time/time.h" --#include "quiche/common/platform/api/quiche_optional.h" -+#include "absl/types/optional.h" - - namespace quiche { - - // NOLINTNEXTLINE(readability-identifier-naming) --QuicheOptional QuicheUtcDateTimeToUnixSecondsImpl(int year, int month, int day, int hour, -+absl::optional QuicheUtcDateTimeToUnixSecondsImpl(int year, int month, int day, int hour, - int minute, int second); - - } // namespace quiche -diff --git a/source/extensions/quic_listeners/quiche/platform/spdy_endianness_util_impl.h b/source/extensions/quic_listeners/quiche/platform/spdy_endianness_util_impl.h -deleted file mode 100644 -index 737b81ee2..000000000 ---- a/source/extensions/quic_listeners/quiche/platform/spdy_endianness_util_impl.h -+++ /dev/null -@@ -1,29 +0,0 @@ --#pragma once -- --#include -- --#include "envoy/common/platform.h" -- --// NOLINT(namespace-envoy) -- --// This file is part of the QUICHE platform implementation, and is not to be --// consumed or referenced directly by other Envoy code. It serves purely as a --// porting layer for QUICHE. -- --namespace spdy { -- --inline uint16_t SpdyNetToHost16Impl(uint16_t x) { return ntohs(x); } -- --inline uint32_t SpdyNetToHost32Impl(uint32_t x) { return ntohl(x); } -- --// TODO: implement --inline uint64_t SpdyNetToHost64Impl(uint64_t /*x*/) { return 0; } -- --inline uint16_t SpdyHostToNet16Impl(uint16_t x) { return htons(x); } -- --inline uint32_t SpdyHostToNet32Impl(uint32_t x) { return htonl(x); } -- --// TODO: implement --inline uint64_t SpdyHostToNet64Impl(uint64_t /*x*/) { return 0; } -- --} // namespace spdy -diff --git a/source/extensions/quic_listeners/quiche/platform/spdy_flags_impl.h b/source/extensions/quic_listeners/quiche/platform/spdy_flags_impl.h -index a3cbd680f..833562fab 100644 ---- a/source/extensions/quic_listeners/quiche/platform/spdy_flags_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/spdy_flags_impl.h -@@ -8,9 +8,9 @@ - - #include "extensions/quic_listeners/quiche/platform/flags_impl.h" - --#define GetSpdyReloadableFlagImpl(flag) quiche::FLAGS_spdy_reloadable_flag_##flag->value() -+#define GetSpdyReloadableFlagImpl(flag) quiche::FLAGS_quic_reloadable_flag_##flag->value() - --#define GetSpdyRestartFlagImpl(flag) quiche::FLAGS_spdy_restart_flag_##flag->value() -+#define GetSpdyRestartFlagImpl(flag) quiche::FLAGS_quic_restart_flag_##flag->value() - - #define SPDY_CODE_COUNT_N_IMPL(flag, instance, total) \ - do { \ -diff --git a/source/extensions/quic_listeners/quiche/platform/spdy_string_utils_impl.h b/source/extensions/quic_listeners/quiche/platform/spdy_string_utils_impl.h -index 41fa3cad8..4b01b2dbd 100644 ---- a/source/extensions/quic_listeners/quiche/platform/spdy_string_utils_impl.h -+++ b/source/extensions/quic_listeners/quiche/platform/spdy_string_utils_impl.h -@@ -50,7 +50,7 @@ inline std::string SpdyHexEncodeUInt32AndTrimImpl(uint32_t data) { - inline std::string SpdyHexDumpImpl(absl::string_view data) { return quiche::HexDump(data); } - - struct SpdyStringPieceCaseHashImpl { -- size_t operator()(quiche::QuicheStringPiece data) const { -+ size_t operator()(absl::string_view data) const { - std::string lower = absl::AsciiStrToLower(data); - return absl::Hash()(lower); - } -diff --git a/source/extensions/quic_listeners/quiche/spdy_server_push_utils_for_envoy.cc b/source/extensions/quic_listeners/quiche/spdy_server_push_utils_for_envoy.cc -index 3bd0bc295..5ac5738c4 100644 ---- a/source/extensions/quic_listeners/quiche/spdy_server_push_utils_for_envoy.cc -+++ b/source/extensions/quic_listeners/quiche/spdy_server_push_utils_for_envoy.cc -@@ -12,25 +12,29 @@ using spdy::SpdyHeaderBlock; - namespace quic { - - // static -+// NOLINTNEXTLINE(readability-identifier-naming) - std::string SpdyServerPushUtils::GetPromisedUrlFromHeaders(const SpdyHeaderBlock& /*headers*/) { - NOT_IMPLEMENTED_GCOVR_EXCL_LINE; - } - - // static - std::string -+// NOLINTNEXTLINE(readability-identifier-naming) - SpdyServerPushUtils::GetPromisedHostNameFromHeaders(const SpdyHeaderBlock& /*headers*/) { - NOT_IMPLEMENTED_GCOVR_EXCL_LINE; - } - - // static -+// NOLINTNEXTLINE(readability-identifier-naming) - bool SpdyServerPushUtils::PromisedUrlIsValid(const SpdyHeaderBlock& /*headers*/) { - NOT_IMPLEMENTED_GCOVR_EXCL_LINE; - } - - // static --std::string SpdyServerPushUtils::GetPushPromiseUrl(quiche::QuicheStringPiece /*scheme*/, -- quiche::QuicheStringPiece /*authority*/, -- quiche::QuicheStringPiece /*path*/) { -+// NOLINTNEXTLINE(readability-identifier-naming) -+std::string SpdyServerPushUtils::GetPushPromiseUrl(absl::string_view /*scheme*/, -+ absl::string_view /*authority*/, -+ absl::string_view /*path*/) { - NOT_IMPLEMENTED_GCOVR_EXCL_LINE; - } - -diff --git a/test/extensions/quic_listeners/quiche/envoy_quic_client_session_test.cc b/test/extensions/quic_listeners/quiche/envoy_quic_client_session_test.cc -index e2d90d916..8fa7d9fe9 100644 ---- a/test/extensions/quic_listeners/quiche/envoy_quic_client_session_test.cc -+++ b/test/extensions/quic_listeners/quiche/envoy_quic_client_session_test.cc -@@ -49,9 +49,9 @@ public: - Network::ConnectionSocketPtr&& connection_socket) - : EnvoyQuicClientConnection(server_connection_id, helper, alarm_factory, &writer, false, - supported_versions, dispatcher, std::move(connection_socket)) { -- SetDefaultEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE); - SetEncrypter(quic::ENCRYPTION_FORWARD_SECURE, - std::make_unique(quic::Perspective::IS_CLIENT)); -+ SetDefaultEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE); - } - - MOCK_METHOD(void, SendConnectionClosePacket, (quic::QuicErrorCode, const std::string&)); -diff --git a/test/extensions/quic_listeners/quiche/envoy_quic_client_stream_test.cc b/test/extensions/quic_listeners/quiche/envoy_quic_client_stream_test.cc -index 98359c618..f3b02f4cc 100644 ---- a/test/extensions/quic_listeners/quiche/envoy_quic_client_stream_test.cc -+++ b/test/extensions/quic_listeners/quiche/envoy_quic_client_stream_test.cc -@@ -48,11 +48,11 @@ public: - quic_session_.ActivateStream(std::unique_ptr(quic_stream_)); - EXPECT_CALL(quic_session_, ShouldYield(_)).WillRepeatedly(testing::Return(false)); - EXPECT_CALL(quic_session_, WritevData(_, _, _, _, _, _)) -- .WillRepeatedly(Invoke([](quic::QuicStreamId, size_t write_length, quic::QuicStreamOffset, -- quic::StreamSendingState state, bool, -- quiche::QuicheOptional) { -- return quic::QuicConsumedData{write_length, state != quic::NO_FIN}; -- })); -+ .WillRepeatedly( -+ Invoke([](quic::QuicStreamId, size_t write_length, quic::QuicStreamOffset, -+ quic::StreamSendingState state, bool, absl::optional) { -+ return quic::QuicConsumedData{write_length, state != quic::NO_FIN}; -+ })); - EXPECT_CALL(writer_, WritePacket(_, _, _, _, _)) - .WillRepeatedly(Invoke([](const char*, size_t buf_len, const quic::QuicIpAddress&, - const quic::QuicSocketAddress&, quic::PerPacketOptions*) { -@@ -146,7 +146,7 @@ TEST_P(EnvoyQuicClientStreamTest, PostRequestAndResponse) { - std::unique_ptr data_buffer; - quic::QuicByteCount data_frame_header_length = - quic::HttpEncoder::SerializeDataFrameHeader(response_body_.length(), &data_buffer); -- quiche::QuicheStringPiece data_frame_header(data_buffer.get(), data_frame_header_length); -+ absl::string_view data_frame_header(data_buffer.get(), data_frame_header_length); - data = absl::StrCat(data_frame_header, response_body_); - } - quic::QuicStreamFrame frame(stream_id_, false, 0, data); -@@ -184,7 +184,7 @@ TEST_P(EnvoyQuicClientStreamTest, OutOfOrderTrailers) { - std::unique_ptr data_buffer; - quic::QuicByteCount data_frame_header_length = - quic::HttpEncoder::SerializeDataFrameHeader(response_body_.length(), &data_buffer); -- quiche::QuicheStringPiece data_frame_header(data_buffer.get(), data_frame_header_length); -+ absl::string_view data_frame_header(data_buffer.get(), data_frame_header_length); - data = absl::StrCat(data_frame_header, response_body_); - } - quic::QuicStreamFrame frame(stream_id_, false, 0, data); -@@ -301,11 +301,11 @@ TEST_P(EnvoyQuicClientStreamTest, HeadersContributeToWatermarkIquic) { - // Unblock writing now, and this will write out 16kB data and cause stream to - // be blocked by the flow control limit. - EXPECT_CALL(quic_session_, WritevData(_, _, _, _, _, _)) -- .WillOnce(Invoke([](quic::QuicStreamId, size_t write_length, quic::QuicStreamOffset, -- quic::StreamSendingState state, bool, -- quiche::QuicheOptional) { -- return quic::QuicConsumedData{write_length, state != quic::NO_FIN}; -- })); -+ .WillOnce( -+ Invoke([](quic::QuicStreamId, size_t write_length, quic::QuicStreamOffset, -+ quic::StreamSendingState state, bool, absl::optional) { -+ return quic::QuicConsumedData{write_length, state != quic::NO_FIN}; -+ })); - EXPECT_CALL(stream_callbacks_, onBelowWriteBufferLowWatermark()); - quic_session_.OnCanWrite(); - EXPECT_TRUE(quic_stream_->IsFlowControlBlocked()); -@@ -315,20 +315,20 @@ TEST_P(EnvoyQuicClientStreamTest, HeadersContributeToWatermarkIquic) { - 32 * 1024); - quic_stream_->OnWindowUpdateFrame(window_update1); - EXPECT_CALL(quic_session_, WritevData(_, _, _, _, _, _)) -- .WillOnce(Invoke([](quic::QuicStreamId, size_t write_length, quic::QuicStreamOffset, -- quic::StreamSendingState state, bool, -- quiche::QuicheOptional) { -- return quic::QuicConsumedData{write_length, state != quic::NO_FIN}; -- })); -+ .WillOnce( -+ Invoke([](quic::QuicStreamId, size_t write_length, quic::QuicStreamOffset, -+ quic::StreamSendingState state, bool, absl::optional) { -+ return quic::QuicConsumedData{write_length, state != quic::NO_FIN}; -+ })); - quic_session_.OnCanWrite(); - // No data should be buffered at this point. - - EXPECT_CALL(quic_session_, WritevData(_, _, _, _, _, _)) -- .WillOnce(Invoke([](quic::QuicStreamId, size_t, quic::QuicStreamOffset, -- quic::StreamSendingState state, bool, -- quiche::QuicheOptional) { -- return quic::QuicConsumedData{0u, state != quic::NO_FIN}; -- })); -+ .WillOnce( -+ Invoke([](quic::QuicStreamId, size_t, quic::QuicStreamOffset, -+ quic::StreamSendingState state, bool, absl::optional) { -+ return quic::QuicConsumedData{0u, state != quic::NO_FIN}; -+ })); - // Send more data. If watermark bytes counting were not cleared in previous - // OnCanWrite, this write would have caused the stream to exceed its high watermark. - std::string request1(16 * 1024 - 3, 'a'); -diff --git a/test/extensions/quic_listeners/quiche/envoy_quic_proof_source_test.cc b/test/extensions/quic_listeners/quiche/envoy_quic_proof_source_test.cc -index cbf66f511..8a493a8e8 100644 ---- a/test/extensions/quic_listeners/quiche/envoy_quic_proof_source_test.cc -+++ b/test/extensions/quic_listeners/quiche/envoy_quic_proof_source_test.cc -@@ -25,7 +25,7 @@ namespace Quic { - class TestGetProofCallback : public quic::ProofSource::Callback { - public: - TestGetProofCallback(bool& called, bool should_succeed, const std::string& server_config, -- quic::QuicTransportVersion& version, quiche::QuicheStringPiece chlo_hash, -+ quic::QuicTransportVersion& version, absl::string_view chlo_hash, - Network::FilterChain& filter_chain) - : called_(called), should_succeed_(should_succeed), server_config_(server_config), - version_(version), chlo_hash_(chlo_hash), expected_filter_chain_(filter_chain) { -@@ -100,7 +100,7 @@ private: - bool should_succeed_; - const std::string& server_config_; - const quic::QuicTransportVersion& version_; -- quiche::QuicheStringPiece chlo_hash_; -+ absl::string_view chlo_hash_; - Network::FilterChain& expected_filter_chain_; - NiceMock store_; - Event::GlobalTimeSystem time_system_; -@@ -178,7 +178,7 @@ protected: - quic::QuicSocketAddress server_address_; - quic::QuicSocketAddress client_address_; - quic::QuicTransportVersion version_{quic::QUIC_VERSION_UNSUPPORTED}; -- quiche::QuicheStringPiece chlo_hash_{"aaaaa"}; -+ absl::string_view chlo_hash_{"aaaaa"}; - std::string server_config_{"Server Config"}; - std::string expected_certs_{quic::test::kTestCertificateChainPem}; - std::string pkey_{quic::test::kTestCertificatePrivateKeyPem}; -diff --git a/test/extensions/quic_listeners/quiche/envoy_quic_proof_verifier_test.cc b/test/extensions/quic_listeners/quiche/envoy_quic_proof_verifier_test.cc -index 4a1dfe144..9cdc169cd 100644 ---- a/test/extensions/quic_listeners/quiche/envoy_quic_proof_verifier_test.cc -+++ b/test/extensions/quic_listeners/quiche/envoy_quic_proof_verifier_test.cc -@@ -163,7 +163,7 @@ TEST_F(EnvoyQuicProofVerifierTest, VerifyProofFailureEmptyCertChain) { - std::unique_ptr cert_view = - quic::CertificateView::ParseSingleCertificate(leaf_cert_); - quic::QuicTransportVersion version{quic::QUIC_VERSION_UNSUPPORTED}; -- quiche::QuicheStringPiece chlo_hash{"aaaaa"}; -+ absl::string_view chlo_hash{"aaaaa"}; - std::string server_config{"Server Config"}; - const std::string ocsp_response; - const std::string cert_sct; -@@ -181,7 +181,7 @@ TEST_F(EnvoyQuicProofVerifierTest, VerifyProofFailureInvalidLeafCert) { - std::unique_ptr cert_view = - quic::CertificateView::ParseSingleCertificate(leaf_cert_); - quic::QuicTransportVersion version{quic::QUIC_VERSION_UNSUPPORTED}; -- quiche::QuicheStringPiece chlo_hash{"aaaaa"}; -+ absl::string_view chlo_hash{"aaaaa"}; - std::string server_config{"Server Config"}; - const std::string ocsp_response; - const std::string cert_sct; -@@ -197,7 +197,7 @@ TEST_F(EnvoyQuicProofVerifierTest, VerifyProofFailureInvalidLeafCert) { - TEST_F(EnvoyQuicProofVerifierTest, VerifyProofFailureUnsupportedECKey) { - configCertVerificationDetails(true); - quic::QuicTransportVersion version{quic::QUIC_VERSION_UNSUPPORTED}; -- quiche::QuicheStringPiece chlo_hash{"aaaaa"}; -+ absl::string_view chlo_hash{"aaaaa"}; - std::string server_config{"Server Config"}; - const std::string ocsp_response; - const std::string cert_sct; -@@ -236,7 +236,7 @@ TEST_F(EnvoyQuicProofVerifierTest, VerifyProofFailureInvalidSignature) { - std::unique_ptr cert_view = - quic::CertificateView::ParseSingleCertificate(leaf_cert_); - quic::QuicTransportVersion version{quic::QUIC_VERSION_UNSUPPORTED}; -- quiche::QuicheStringPiece chlo_hash{"aaaaa"}; -+ absl::string_view chlo_hash{"aaaaa"}; - std::string server_config{"Server Config"}; - const std::string ocsp_response; - const std::string cert_sct; -diff --git a/test/extensions/quic_listeners/quiche/envoy_quic_server_session_test.cc b/test/extensions/quic_listeners/quiche/envoy_quic_server_session_test.cc -index 05307c6b9..4fc376857 100644 ---- a/test/extensions/quic_listeners/quiche/envoy_quic_server_session_test.cc -+++ b/test/extensions/quic_listeners/quiche/envoy_quic_server_session_test.cc -@@ -61,6 +61,7 @@ public: - const quic::ParsedQuicVersionVector& supported_versions, - Network::Socket& listen_socket) - : EnvoyQuicServerConnection(quic::test::TestConnectionId(), -+ quic::QuicSocketAddress(quic::QuicIpAddress::Any4(), 12345), - quic::QuicSocketAddress(quic::QuicIpAddress::Loopback4(), 12345), - helper, alarm_factory, &writer, /*owns_writer=*/false, - supported_versions, listen_socket) {} -@@ -201,10 +202,10 @@ public: - crypto_stream_ = test_crypto_stream; - } - quic::test::QuicServerSessionBasePeer::SetCryptoStream(&envoy_quic_session_, crypto_stream); -- quic_connection_->SetDefaultEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE); - quic_connection_->SetEncrypter( - quic::ENCRYPTION_FORWARD_SECURE, - std::make_unique(quic::Perspective::IS_SERVER)); -+ quic_connection_->SetDefaultEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE); - } - - bool installReadFilter() { -diff --git a/test/extensions/quic_listeners/quiche/envoy_quic_server_stream_test.cc b/test/extensions/quic_listeners/quiche/envoy_quic_server_stream_test.cc -index c2fd31c6f..f602e2c9a 100644 ---- a/test/extensions/quic_listeners/quiche/envoy_quic_server_stream_test.cc -+++ b/test/extensions/quic_listeners/quiche/envoy_quic_server_stream_test.cc -@@ -51,6 +51,7 @@ public: - POOL_GAUGE(listener_config_.listenerScope()), - POOL_HISTOGRAM(listener_config_.listenerScope()))}), - quic_connection_(quic::test::TestConnectionId(), -+ quic::QuicSocketAddress(quic::QuicIpAddress::Any6(), 123), - quic::QuicSocketAddress(quic::QuicIpAddress::Any6(), 12345), - connection_helper_, alarm_factory_, &writer_, - /*owns_writer=*/false, {quic_version_}, *listener_config_.socket_), -@@ -66,11 +67,11 @@ public: - quic_session_.ActivateStream(std::unique_ptr(quic_stream_)); - EXPECT_CALL(quic_session_, ShouldYield(_)).WillRepeatedly(testing::Return(false)); - EXPECT_CALL(quic_session_, WritevData(_, _, _, _, _, _)) -- .WillRepeatedly(Invoke([](quic::QuicStreamId, size_t write_length, quic::QuicStreamOffset, -- quic::StreamSendingState state, bool, -- quiche::QuicheOptional) { -- return quic::QuicConsumedData{write_length, state != quic::NO_FIN}; -- })); -+ .WillRepeatedly( -+ Invoke([](quic::QuicStreamId, size_t write_length, quic::QuicStreamOffset, -+ quic::StreamSendingState state, bool, absl::optional) { -+ return quic::QuicConsumedData{write_length, state != quic::NO_FIN}; -+ })); - EXPECT_CALL(writer_, WritePacket(_, _, _, _, _)) - .WillRepeatedly(Invoke([](const char*, size_t buf_len, const quic::QuicIpAddress&, - const quic::QuicSocketAddress&, quic::PerPacketOptions*) { -@@ -110,7 +111,7 @@ public: - std::unique_ptr data_buffer; - quic::QuicByteCount data_frame_header_length = - quic::HttpEncoder::SerializeDataFrameHeader(body.length(), &data_buffer); -- quiche::QuicheStringPiece data_frame_header(data_buffer.get(), data_frame_header_length); -+ absl::string_view data_frame_header(data_buffer.get(), data_frame_header_length); - data = absl::StrCat(data_frame_header, body); - } - return data; -@@ -397,11 +398,11 @@ TEST_P(EnvoyQuicServerStreamTest, HeadersContributeToWatermarkIquic) { - - // Make the stream blocked by congestion control. - EXPECT_CALL(quic_session_, WritevData(_, _, _, _, _, _)) -- .WillOnce(Invoke([](quic::QuicStreamId, size_t /*write_length*/, quic::QuicStreamOffset, -- quic::StreamSendingState state, bool, -- quiche::QuicheOptional) { -- return quic::QuicConsumedData{0u, state != quic::NO_FIN}; -- })); -+ .WillOnce( -+ Invoke([](quic::QuicStreamId, size_t /*write_length*/, quic::QuicStreamOffset, -+ quic::StreamSendingState state, bool, absl::optional) { -+ return quic::QuicConsumedData{0u, state != quic::NO_FIN}; -+ })); - quic_stream_->encodeHeaders(response_headers_, /*end_stream=*/false); - - // Encode 16kB -10 bytes request body. Because the high watermark is 16KB, with previously -@@ -415,11 +416,11 @@ TEST_P(EnvoyQuicServerStreamTest, HeadersContributeToWatermarkIquic) { - // Unblock writing now, and this will write out 16kB data and cause stream to - // be blocked by the flow control limit. - EXPECT_CALL(quic_session_, WritevData(_, _, _, _, _, _)) -- .WillOnce(Invoke([](quic::QuicStreamId, size_t write_length, quic::QuicStreamOffset, -- quic::StreamSendingState state, bool, -- quiche::QuicheOptional) { -- return quic::QuicConsumedData{write_length, state != quic::NO_FIN}; -- })); -+ .WillOnce( -+ Invoke([](quic::QuicStreamId, size_t write_length, quic::QuicStreamOffset, -+ quic::StreamSendingState state, bool, absl::optional) { -+ return quic::QuicConsumedData{write_length, state != quic::NO_FIN}; -+ })); - EXPECT_CALL(stream_callbacks_, onBelowWriteBufferLowWatermark()); - quic_session_.OnCanWrite(); - EXPECT_TRUE(quic_stream_->IsFlowControlBlocked()); -@@ -429,20 +430,20 @@ TEST_P(EnvoyQuicServerStreamTest, HeadersContributeToWatermarkIquic) { - 32 * 1024); - quic_stream_->OnWindowUpdateFrame(window_update1); - EXPECT_CALL(quic_session_, WritevData(_, _, _, _, _, _)) -- .WillOnce(Invoke([](quic::QuicStreamId, size_t write_length, quic::QuicStreamOffset, -- quic::StreamSendingState state, bool, -- quiche::QuicheOptional) { -- return quic::QuicConsumedData{write_length, state != quic::NO_FIN}; -- })); -+ .WillOnce( -+ Invoke([](quic::QuicStreamId, size_t write_length, quic::QuicStreamOffset, -+ quic::StreamSendingState state, bool, absl::optional) { -+ return quic::QuicConsumedData{write_length, state != quic::NO_FIN}; -+ })); - quic_session_.OnCanWrite(); - // No data should be buffered at this point. - - EXPECT_CALL(quic_session_, WritevData(_, _, _, _, _, _)) -- .WillRepeatedly(Invoke([](quic::QuicStreamId, size_t, quic::QuicStreamOffset, -- quic::StreamSendingState state, bool, -- quiche::QuicheOptional) { -- return quic::QuicConsumedData{0u, state != quic::NO_FIN}; -- })); -+ .WillRepeatedly( -+ Invoke([](quic::QuicStreamId, size_t, quic::QuicStreamOffset, -+ quic::StreamSendingState state, bool, absl::optional) { -+ return quic::QuicConsumedData{0u, state != quic::NO_FIN}; -+ })); - // Send more data. If watermark bytes counting were not cleared in previous - // OnCanWrite, this write would have caused the stream to exceed its high watermark. - std::string response1(16 * 1024 - 3, 'a'); -diff --git a/test/extensions/quic_listeners/quiche/platform/BUILD b/test/extensions/quic_listeners/quiche/platform/BUILD -index 420e812b8..7dbb08d82 100644 ---- a/test/extensions/quic_listeners/quiche/platform/BUILD -+++ b/test/extensions/quic_listeners/quiche/platform/BUILD -@@ -9,16 +9,6 @@ licenses(["notice"]) # Apache 2 - - envoy_package() - --envoy_cc_test( -- name = "quiche_platform_test", -- srcs = ["quiche_platform_test.cc"], -- external_deps = ["quiche_common_platform"], -- deps = [ -- "@com_googlesource_quiche//:quiche_common_platform", -- "@com_googlesource_quiche//:quiche_common_platform_endian", -- ], --) -- - envoy_cc_test( - name = "http2_platform_test", - srcs = ["http2_platform_test.cc"], -@@ -63,7 +53,6 @@ envoy_cc_test( - "@com_googlesource_quiche//:quic_platform_mem_slice_span", - "@com_googlesource_quiche//:quic_platform_mem_slice_storage", - "@com_googlesource_quiche//:quic_platform_mock_log", -- "@com_googlesource_quiche//:quic_platform_port_utils", - "@com_googlesource_quiche//:quic_platform_sleep", - "@com_googlesource_quiche//:quic_platform_system_event_loop", - "@com_googlesource_quiche//:quic_platform_test", -@@ -150,17 +139,6 @@ envoy_cc_test_library( - deps = ["@com_googlesource_quiche//:quic_platform_base"], - ) - --envoy_cc_test_library( -- name = "quic_platform_port_utils_impl_lib", -- srcs = ["quic_port_utils_impl.cc"], -- hdrs = ["quic_port_utils_impl.h"], -- tags = ["nofips"], -- deps = [ -- "//source/common/network:utility_lib", -- "//test/test_common:environment_lib", -- ], --) -- - envoy_cc_test_library( - name = "quic_platform_test_mem_slice_vector_impl_lib", - hdrs = ["quic_test_mem_slice_vector_impl.h"], -diff --git a/test/extensions/quic_listeners/quiche/platform/http2_platform_test.cc b/test/extensions/quic_listeners/quiche/platform/http2_platform_test.cc -index 069a79eab..35aee5d27 100644 ---- a/test/extensions/quic_listeners/quiche/platform/http2_platform_test.cc -+++ b/test/extensions/quic_listeners/quiche/platform/http2_platform_test.cc -@@ -72,20 +72,14 @@ TEST(Http2PlatformTest, Http2Log) { - HTTP2_DLOG_EVERY_N(ERROR, 2) << "DLOG_EVERY_N(ERROR, 2)"; - } - --TEST(Http2PlatformTest, Http2StringPiece) { -- std::string s = "bar"; -- quiche::QuicheStringPiece sp(s); -- EXPECT_EQ('b', sp[0]); --} -- - TEST(Http2PlatformTest, Http2Macro) { - EXPECT_DEBUG_DEATH(HTTP2_UNREACHABLE(), ""); - EXPECT_DEATH(HTTP2_DIE_IF_NULL(nullptr), ""); - } - - TEST(Http2PlatformTest, Http2Flags) { -- auto& flag_registry = quiche::FlagRegistry::GetInstance(); -- flag_registry.ResetFlags(); -+ auto& flag_registry = quiche::FlagRegistry::getInstance(); -+ flag_registry.resetFlags(); - EXPECT_FALSE(GetHttp2ReloadableFlag(http2_testonly_default_false)); - SetHttp2ReloadableFlag(http2_testonly_default_false, true); - EXPECT_TRUE(GetHttp2ReloadableFlag(http2_testonly_default_false)); -@@ -93,22 +87,22 @@ TEST(Http2PlatformTest, Http2Flags) { - for (std::string s : {"1", "t", "true", "TRUE", "y", "yes", "Yes"}) { - SetHttp2ReloadableFlag(http2_testonly_default_false, false); - EXPECT_FALSE(GetHttp2ReloadableFlag(http2_testonly_default_false)); -- EXPECT_TRUE(flag_registry.FindFlag("http2_reloadable_flag_http2_testonly_default_false") -- ->SetValueFromString(s)); -+ EXPECT_TRUE(flag_registry.findFlag("FLAGS_quic_reloadable_flag_http2_testonly_default_false") -+ ->setValueFromString(s)); - EXPECT_TRUE(GetHttp2ReloadableFlag(http2_testonly_default_false)); - } - for (std::string s : {"0", "f", "false", "FALSE", "n", "no", "No"}) { - SetHttp2ReloadableFlag(http2_testonly_default_false, true); - EXPECT_TRUE(GetHttp2ReloadableFlag(http2_testonly_default_false)); -- EXPECT_TRUE(flag_registry.FindFlag("http2_reloadable_flag_http2_testonly_default_false") -- ->SetValueFromString(s)); -+ EXPECT_TRUE(flag_registry.findFlag("FLAGS_quic_reloadable_flag_http2_testonly_default_false") -+ ->setValueFromString(s)); - EXPECT_FALSE(GetHttp2ReloadableFlag(http2_testonly_default_false)); - } - for (std::string s : {"some", "invalid", "values", ""}) { - SetHttp2ReloadableFlag(http2_testonly_default_false, false); - EXPECT_FALSE(GetHttp2ReloadableFlag(http2_testonly_default_false)); -- EXPECT_FALSE(flag_registry.FindFlag("http2_reloadable_flag_http2_testonly_default_false") -- ->SetValueFromString(s)); -+ EXPECT_FALSE(flag_registry.findFlag("FLAGS_quic_reloadable_flag_http2_testonly_default_false") -+ ->setValueFromString(s)); - EXPECT_FALSE(GetHttp2ReloadableFlag(http2_testonly_default_false)); - } - } -diff --git a/test/extensions/quic_listeners/quiche/platform/quic_platform_test.cc b/test/extensions/quic_listeners/quiche/platform/quic_platform_test.cc -index 68141aa94..902ad1a9e 100644 ---- a/test/extensions/quic_listeners/quiche/platform/quic_platform_test.cc -+++ b/test/extensions/quic_listeners/quiche/platform/quic_platform_test.cc -@@ -30,7 +30,6 @@ - #include "gtest/gtest.h" - #include "quiche/common/platform/api/quiche_string_piece.h" - #include "quiche/epoll_server/fake_simple_epoll_server.h" --#include "quiche/quic/platform/api/quic_aligned.h" - #include "quiche/quic/platform/api/quic_bug_tracker.h" - #include "quiche/quic/platform/api/quic_cert_utils.h" - #include "quiche/quic/platform/api/quic_client_stats.h" -@@ -42,7 +41,6 @@ - #include "quiche/quic/platform/api/quic_flags.h" - #include "quiche/quic/platform/api/quic_hostname_utils.h" - #include "quiche/quic/platform/api/quic_logging.h" --#include "quiche/quic/platform/api/quic_macros.h" - #include "quiche/quic/platform/api/quic_map_util.h" - #include "quiche/quic/platform/api/quic_mem_slice.h" - #include "quiche/quic/platform/api/quic_mem_slice_span.h" -@@ -50,7 +48,6 @@ - #include "quiche/quic/platform/api/quic_mock_log.h" - #include "quiche/quic/platform/api/quic_mutex.h" - #include "quiche/quic/platform/api/quic_pcc_sender.h" --#include "quiche/quic/platform/api/quic_port_utils.h" - #include "quiche/quic/platform/api/quic_ptr_util.h" - #include "quiche/quic/platform/api/quic_server_stats.h" - #include "quiche/quic/platform/api/quic_sleep.h" -@@ -92,8 +89,6 @@ protected: - const int verbosity_log_threshold_; - }; - --TEST_F(QuicPlatformTest, QuicAlignOf) { EXPECT_LT(0, QUIC_ALIGN_OF(int)); } -- - enum class TestEnum { ZERO = 0, ONE, TWO, COUNT }; - - TEST_F(QuicPlatformTest, QuicBugTracker) { -@@ -468,9 +463,9 @@ TEST_F(QuicPlatformTest, QuicCertUtils) { - unsigned char* der = nullptr; - int len = i2d_X509(x509_cert.get(), &der); - ASSERT_GT(len, 0); -- quiche::QuicheStringPiece out; -+ absl::string_view out; - QuicCertUtils::ExtractSubjectNameFromDERCert( -- quiche::QuicheStringPiece(reinterpret_cast(der), len), &out); -+ absl::string_view(reinterpret_cast(der), len), &out); - EXPECT_EQ("0z1\v0\t\x6\x3U\x4\x6\x13\x2US1\x13" - "0\x11\x6\x3U\x4\b\f\nCalifornia1\x16" - "0\x14\x6\x3U\x4\a\f\rSan Francisco1\r" -@@ -566,8 +561,8 @@ TEST_F(QuicPlatformTest, MonotonicityWithFakeEpollClock) { - } - - TEST_F(QuicPlatformTest, QuicFlags) { -- auto& flag_registry = quiche::FlagRegistry::GetInstance(); -- flag_registry.ResetFlags(); -+ auto& flag_registry = quiche::FlagRegistry::getInstance(); -+ flag_registry.resetFlags(); - - EXPECT_FALSE(GetQuicReloadableFlag(quic_testonly_default_false)); - EXPECT_TRUE(GetQuicReloadableFlag(quic_testonly_default_true)); -@@ -583,14 +578,15 @@ TEST_F(QuicPlatformTest, QuicFlags) { - SetQuicFlag(FLAGS_quic_time_wait_list_seconds, 100); - EXPECT_EQ(100, GetQuicFlag(FLAGS_quic_time_wait_list_seconds)); - -- flag_registry.ResetFlags(); -+ flag_registry.resetFlags(); - EXPECT_FALSE(GetQuicReloadableFlag(quic_testonly_default_false)); - EXPECT_TRUE(GetQuicRestartFlag(quic_testonly_default_true)); - EXPECT_EQ(200, GetQuicFlag(FLAGS_quic_time_wait_list_seconds)); -- flag_registry.FindFlag("quic_reloadable_flag_quic_testonly_default_false") -- ->SetValueFromString("true"); -- flag_registry.FindFlag("quic_restart_flag_quic_testonly_default_true")->SetValueFromString("0"); -- flag_registry.FindFlag("quic_time_wait_list_seconds")->SetValueFromString("100"); -+ flag_registry.findFlag("FLAGS_quic_reloadable_flag_quic_testonly_default_false") -+ ->setValueFromString("true"); -+ flag_registry.findFlag("FLAGS_quic_restart_flag_quic_testonly_default_true") -+ ->setValueFromString("0"); -+ flag_registry.findFlag("FLAGS_quic_time_wait_list_seconds")->setValueFromString("100"); - EXPECT_TRUE(GetQuicReloadableFlag(quic_testonly_default_false)); - EXPECT_FALSE(GetQuicRestartFlag(quic_testonly_default_true)); - EXPECT_EQ(100, GetQuicFlag(FLAGS_quic_time_wait_list_seconds)); -@@ -661,35 +657,6 @@ TEST_F(FileUtilsTest, ReadFileContents) { - EXPECT_EQ(data, output); - } - --TEST_F(QuicPlatformTest, PickUnsedPort) { -- int port = QuicPickServerPortForTestsOrDie(); -- std::vector supported_versions = -- Envoy::TestEnvironment::getIpVersionsForTest(); -- for (auto ip_version : supported_versions) { -- Envoy::Network::Address::InstanceConstSharedPtr addr = -- Envoy::Network::Test::getCanonicalLoopbackAddress(ip_version); -- Envoy::Network::Address::InstanceConstSharedPtr addr_with_port = -- Envoy::Network::Utility::getAddressWithPort(*addr, port); -- Envoy::Network::SocketImpl sock(Envoy::Network::Socket::Type::Datagram, addr_with_port); -- // binding of given port should success. -- EXPECT_EQ(0, sock.bind(addr_with_port).rc_); -- } --} -- --TEST_F(QuicPlatformTest, FailToPickUnsedPort) { -- Envoy::Api::MockOsSysCalls os_sys_calls; -- Envoy::TestThreadsafeSingletonInjector os_calls(&os_sys_calls); -- // Actually create sockets. -- EXPECT_CALL(os_sys_calls, socket(_, _, _)).WillRepeatedly([](int domain, int type, int protocol) { -- os_fd_t fd = ::socket(domain, type, protocol); -- return Envoy::Api::SysCallSocketResult{fd, errno}; -- }); -- // Fail bind call's to mimic port exhaustion. -- EXPECT_CALL(os_sys_calls, bind(_, _, _)) -- .WillRepeatedly(Return(Envoy::Api::SysCallIntResult{-1, SOCKET_ERROR_ADDR_IN_USE})); -- EXPECT_DEATH(QuicPickServerPortForTestsOrDie(), "Failed to pick a port for test."); --} -- - TEST_F(QuicPlatformTest, TestEnvoyQuicBufferAllocator) { - QuicStreamBufferAllocator allocator; - Envoy::Stats::TestUtil::MemoryTest memory_test; -@@ -711,14 +678,6 @@ TEST_F(QuicPlatformTest, TestSystemEventLoop) { - QuicSystemEventLoop("dummy"); - } - --QUIC_MUST_USE_RESULT bool dummyTestFunction() { return false; } -- --TEST_F(QuicPlatformTest, TestQuicMacros) { -- // Just make sure it compiles. -- EXPECT_FALSE(dummyTestFunction()); -- int a QUIC_UNUSED; --} -- - TEST(EnvoyQuicMemSliceTest, ConstructMemSliceFromBuffer) { - std::string str(512, 'b'); - // Fragment needs to out-live buffer. -diff --git a/test/extensions/quic_listeners/quiche/platform/quic_test_output_impl.cc b/test/extensions/quic_listeners/quiche/platform/quic_test_output_impl.cc -index 556f6cd3e..9eaf8532a 100644 ---- a/test/extensions/quic_listeners/quiche/platform/quic_test_output_impl.cc -+++ b/test/extensions/quic_listeners/quiche/platform/quic_test_output_impl.cc -@@ -19,7 +19,7 @@ - namespace quic { - namespace { - --void QuicRecordTestOutputToFile(const std::string& filename, quiche::QuicheStringPiece data) { -+void quicRecordTestOutputToFile(const std::string& filename, absl::string_view data) { - const char* output_dir_env = std::getenv("QUIC_TEST_OUTPUT_DIR"); - if (output_dir_env == nullptr) { - QUIC_LOG(WARNING) << "Could not save test output since QUIC_TEST_OUTPUT_DIR is not set"; -@@ -64,11 +64,13 @@ void QuicRecordTestOutputToFile(const std::string& filename, quiche::QuicheStrin - } - } // namespace - --void QuicSaveTestOutputImpl(quiche::QuicheStringPiece filename, quiche::QuicheStringPiece data) { -- QuicRecordTestOutputToFile(filename.data(), data); -+// NOLINTNEXTLINE(readability-identifier-naming) -+void QuicSaveTestOutputImpl(absl::string_view filename, absl::string_view data) { -+ quicRecordTestOutputToFile(filename.data(), data); - } - --bool QuicLoadTestOutputImpl(quiche::QuicheStringPiece filename, std::string* data) { -+// NOLINTNEXTLINE(readability-identifier-naming) -+bool QuicLoadTestOutputImpl(absl::string_view filename, std::string* data) { - const char* read_dir_env = std::getenv("QUIC_TEST_OUTPUT_DIR"); - if (read_dir_env == nullptr) { - QUIC_LOG(WARNING) << "Could not load test output since QUIC_TEST_OUTPUT_DIR is not set"; -@@ -96,7 +98,8 @@ bool QuicLoadTestOutputImpl(quiche::QuicheStringPiece filename, std::string* dat - return true; - } - --void QuicRecordTraceImpl(quiche::QuicheStringPiece identifier, quiche::QuicheStringPiece data) { -+// NOLINTNEXTLINE(readability-identifier-naming) -+void QuicRecordTraceImpl(absl::string_view identifier, absl::string_view data) { - const testing::TestInfo* test_info = testing::UnitTest::GetInstance()->current_test_info(); - - std::string timestamp = absl::FormatTime("%Y%m%d%H%M%S", absl::Now(), absl::LocalTimeZone()); -@@ -104,7 +107,7 @@ void QuicRecordTraceImpl(quiche::QuicheStringPiece identifier, quiche::QuicheStr - std::string filename = fmt::sprintf("%s.%s.%s.%s.qtr", test_info->name(), - test_info->test_case_name(), identifier.data(), timestamp); - -- QuicRecordTestOutputToFile(filename, data); -+ quicRecordTestOutputToFile(filename, data); - } - - } // namespace quic -diff --git a/test/extensions/quic_listeners/quiche/platform/quic_test_output_impl.h b/test/extensions/quic_listeners/quiche/platform/quic_test_output_impl.h -index a1c6c7305..fcf0c47b3 100644 ---- a/test/extensions/quic_listeners/quiche/platform/quic_test_output_impl.h -+++ b/test/extensions/quic_listeners/quiche/platform/quic_test_output_impl.h -@@ -6,14 +6,16 @@ - // consumed or referenced directly by other Envoy code. It serves purely as a - // porting layer for QUICHE. - --#include "quiche/common/platform/api/quiche_string_piece.h" -+#include "absl/strings/string_view.h" - - namespace quic { -+// NOLINTNEXTLINE(readability-identifier-naming) -+void QuicSaveTestOutputImpl(absl::string_view filename, absl::string_view data); - --void QuicSaveTestOutputImpl(quiche::QuicheStringPiece filename, quiche::QuicheStringPiece data); -+// NOLINTNEXTLINE(readability-identifier-naming) -+bool QuicLoadTestOutputImpl(absl::string_view filename, std::string* data); - --bool QuicLoadTestOutputImpl(quiche::QuicheStringPiece filename, std::string* data); -- --void QuicRecordTraceImpl(quiche::QuicheStringPiece identifier, quiche::QuicheStringPiece data); -+// NOLINTNEXTLINE(readability-identifier-naming) -+void QuicRecordTraceImpl(absl::string_view identifier, absl::string_view data); - - } // namespace quic -diff --git a/test/extensions/quic_listeners/quiche/platform/quiche_platform_test.cc b/test/extensions/quic_listeners/quiche/platform/quiche_platform_test.cc -deleted file mode 100644 -index a733894b5..000000000 ---- a/test/extensions/quic_listeners/quiche/platform/quiche_platform_test.cc -+++ /dev/null -@@ -1,39 +0,0 @@ --// NOLINT(namespace-envoy) -- --// This file is part of the QUICHE platform implementation, and is not to be --// consumed or referenced directly by other Envoy code. It serves purely as a --// porting layer for QUICHE. -- --#include "gtest/gtest.h" --#include "quiche/common/platform/api/quiche_arraysize.h" --#include "quiche/common/platform/api/quiche_endian.h" --#include "quiche/common/platform/api/quiche_optional.h" --#include "quiche/common/platform/api/quiche_ptr_util.h" --#include "quiche/common/platform/api/quiche_string_piece.h" -- --namespace quiche { -- --TEST(QuichePlatformTest, Arraysize) { -- int array[] = {0, 1, 2, 3, 4}; -- EXPECT_EQ(5, QUICHE_ARRAYSIZE(array)); --} -- --TEST(QuichePlatformTest, StringPiece) { -- std::string s = "bar"; -- QuicheStringPiece sp(s); -- EXPECT_EQ('b', sp[0]); --} -- --TEST(QuichePlatformTest, WrapUnique) { -- auto p = QuicheWrapUnique(new int(6)); -- EXPECT_EQ(6, *p); --} -- --TEST(QuichePlatformTest, TestQuicheOptional) { -- QuicheOptional maybe_a; -- EXPECT_FALSE(maybe_a.has_value()); -- maybe_a = 1; -- EXPECT_EQ(1, *maybe_a); --} -- --} // namespace quiche -diff --git a/test/extensions/quic_listeners/quiche/platform/spdy_platform_test.cc b/test/extensions/quic_listeners/quiche/platform/spdy_platform_test.cc -index 56453e232..eeae58c0a 100644 ---- a/test/extensions/quic_listeners/quiche/platform/spdy_platform_test.cc -+++ b/test/extensions/quic_listeners/quiche/platform/spdy_platform_test.cc -@@ -8,7 +8,6 @@ - #include "gtest/gtest.h" - #include "quiche/spdy/platform/api/spdy_bug_tracker.h" - #include "quiche/spdy/platform/api/spdy_containers.h" --#include "quiche/spdy/platform/api/spdy_endianness_util.h" - #include "quiche/spdy/platform/api/spdy_estimate_memory_usage.h" - #include "quiche/spdy/platform/api/spdy_flags.h" - #include "quiche/spdy/platform/api/spdy_logging.h" -@@ -47,11 +46,6 @@ TEST(SpdyPlatformTest, SpdyHashSet) { - EXPECT_EQ(0, hset.count("qux")); - } - --TEST(SpdyPlatformTest, SpdyEndianness) { -- EXPECT_EQ(0x1234, spdy::SpdyNetToHost16(spdy::SpdyHostToNet16(0x1234))); -- EXPECT_EQ(0x12345678, spdy::SpdyNetToHost32(spdy::SpdyHostToNet32(0x12345678))); --} -- - TEST(SpdyPlatformTest, SpdyEstimateMemoryUsage) { - std::string s = "foo"; - // Stubbed out to always return 0. -@@ -92,19 +86,19 @@ TEST(SpdyPlatformTest, SpdyTestHelpers) { - } - - TEST(SpdyPlatformTest, SpdyFlags) { -- auto& flag_registry = quiche::FlagRegistry::GetInstance(); -- flag_registry.ResetFlags(); -+ auto& flag_registry = quiche::FlagRegistry::getInstance(); -+ flag_registry.resetFlags(); - EXPECT_FALSE(GetSpdyReloadableFlag(spdy_testonly_default_false)); - EXPECT_FALSE(GetSpdyRestartFlag(spdy_testonly_default_false)); - -- flag_registry.FindFlag("spdy_reloadable_flag_spdy_testonly_default_false") -- ->SetValueFromString("true"); -+ flag_registry.findFlag("FLAGS_quic_reloadable_flag_spdy_testonly_default_false") -+ ->setValueFromString("true"); - EXPECT_TRUE(GetSpdyReloadableFlag(spdy_testonly_default_false)); - EXPECT_FALSE(GetSpdyRestartFlag(spdy_testonly_default_false)); - -- flag_registry.ResetFlags(); -- flag_registry.FindFlag("spdy_restart_flag_spdy_testonly_default_false") -- ->SetValueFromString("yes"); -+ flag_registry.resetFlags(); -+ flag_registry.findFlag("FLAGS_quic_restart_flag_spdy_testonly_default_false") -+ ->setValueFromString("yes"); - EXPECT_FALSE(GetSpdyReloadableFlag(spdy_testonly_default_false)); - EXPECT_TRUE(GetSpdyRestartFlag(spdy_testonly_default_false)); - } -diff --git a/test/extensions/quic_listeners/quiche/test_proof_source.h b/test/extensions/quic_listeners/quiche/test_proof_source.h -index a249b4314..bbedfd6c7 100644 ---- a/test/extensions/quic_listeners/quiche/test_proof_source.h -+++ b/test/extensions/quic_listeners/quiche/test_proof_source.h -@@ -36,7 +36,7 @@ protected: - void signPayload(const quic::QuicSocketAddress& /*server_address*/, - const quic::QuicSocketAddress& /*client_address*/, - const std::string& /*hostname*/, uint16_t /*signature_algorithm*/, -- quiche::QuicheStringPiece in, -+ absl::string_view in, - std::unique_ptr callback) override { - callback->Run(true, absl::StrCat("Fake signature for { ", in, " }"), - std::make_unique(filter_chain_)); -diff --git a/test/extensions/quic_listeners/quiche/test_utils.h b/test/extensions/quic_listeners/quiche/test_utils.h -index 102f7608e..7f0ea78e8 100644 ---- a/test/extensions/quic_listeners/quiche/test_utils.h -+++ b/test/extensions/quic_listeners/quiche/test_utils.h -@@ -46,7 +46,7 @@ public: - MOCK_METHOD(quic::QuicConsumedData, WritevData, - (quic::QuicStreamId id, size_t write_length, quic::QuicStreamOffset offset, - quic::StreamSendingState state, quic::TransmissionType type, -- quiche::QuicheOptional level)); -+ absl::optional level)); - MOCK_METHOD(bool, ShouldYield, (quic::QuicStreamId id)); - - absl::string_view requestedServerName() const override { -@@ -90,7 +90,7 @@ public: - MOCK_METHOD(quic::QuicConsumedData, WritevData, - (quic::QuicStreamId id, size_t write_length, quic::QuicStreamOffset offset, - quic::StreamSendingState state, quic::TransmissionType type, -- quiche::QuicheOptional level)); -+ absl::optional level)); - MOCK_METHOD(bool, ShouldYield, (quic::QuicStreamId id)); - - absl::string_view requestedServerName() const override { --- -2.29.2 - diff --git a/pkgs/servers/http/envoy/0002-Add-upb-patch-to-make-it-compile-under-GCC10.patch b/pkgs/servers/http/envoy/0002-Add-upb-patch-to-make-it-compile-under-GCC10.patch deleted file mode 100644 index 370682efaa39..000000000000 --- a/pkgs/servers/http/envoy/0002-Add-upb-patch-to-make-it-compile-under-GCC10.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 8b531c41f956b27e4be32b430db2e7a44e0cdd3e Mon Sep 17 00:00:00 2001 -From: Luke Granger-Brown -Date: Thu, 7 Jan 2021 11:09:18 +0000 -Subject: [PATCH] Add upb patch to make it compile under GCC10 - ---- - bazel/repositories.bzl | 5 +++- - bazel/upb2.patch | 55 ++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 59 insertions(+), 1 deletion(-) - create mode 100644 bazel/upb2.patch - -diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl -index 64d61ea49..c6cadc9df 100644 ---- a/bazel/repositories.bzl -+++ b/bazel/repositories.bzl -@@ -811,7 +811,10 @@ def _com_github_grpc_grpc(): - def _upb(): - _repository_impl( - name = "upb", -- patches = ["@envoy//bazel:upb.patch"], -+ patches = [ -+ "@envoy//bazel:upb.patch", -+ "@envoy//bazel:upb2.patch", -+ ], - patch_args = ["-p1"], - ) - -diff --git a/bazel/upb2.patch b/bazel/upb2.patch -new file mode 100644 -index 000000000..6e436c61b ---- /dev/null -+++ b/bazel/upb2.patch -@@ -0,0 +1,55 @@ -+From 9bd23dab4240b015321a53c45b3c9e4847fbf020 Mon Sep 17 00:00:00 2001 -+From: Joshua Haberman -+Date: Tue, 7 Apr 2020 15:22:11 -0700 -+Subject: [PATCH] Changed upb status to suit GCC10's warning about strncpy(). -+ (#268) -+ -+Added tests for all cases. Also removed ellipses from truncated -+messages, they were more trouble than they are worth. -+--- -+ tests/test_generated_code.c | 33 +++++++++++++++++++++++++++++++++ -+ upb/upb.c | 17 +++-------------- -+ 2 files changed, 36 insertions(+), 14 deletions(-) -+ -+diff --git a/upb/upb.c b/upb/upb.c -+index cb2cdfd9d..258192d79 100644 -+--- a/upb/upb.c -++++ b/upb/upb.c -+@@ -11,17 +11,6 @@ -+ -+ #include "upb/port_def.inc" -+ -+-/* Guarantee null-termination and provide ellipsis truncation. -+- * It may be tempting to "optimize" this by initializing these final -+- * four bytes up-front and then being careful never to overwrite them, -+- * this is safer and simpler. */ -+-static void nullz(upb_status *status) { -+- const char *ellipsis = "..."; -+- size_t len = strlen(ellipsis); -+- UPB_ASSERT(sizeof(status->msg) > len); -+- memcpy(status->msg + sizeof(status->msg) - len, ellipsis, len); -+-} -+- -+ /* upb_status *****************************************************************/ -+ -+ void upb_status_clear(upb_status *status) { -+@@ -37,8 +26,8 @@ const char *upb_status_errmsg(const upb_status *status) { return status->msg; } -+ void upb_status_seterrmsg(upb_status *status, const char *msg) { -+ if (!status) return; -+ status->ok = false; -+- strncpy(status->msg, msg, sizeof(status->msg)); -+- nullz(status); -++ strncpy(status->msg, msg, UPB_STATUS_MAX_MESSAGE - 1); -++ status->msg[UPB_STATUS_MAX_MESSAGE - 1] = '\0'; -+ } -+ -+ void upb_status_seterrf(upb_status *status, const char *fmt, ...) { -+@@ -52,7 +41,7 @@ void upb_status_vseterrf(upb_status *status, const char *fmt, va_list args) { -+ if (!status) return; -+ status->ok = false; -+ _upb_vsnprintf(status->msg, sizeof(status->msg), fmt, args); -+- nullz(status); -++ status->msg[UPB_STATUS_MAX_MESSAGE - 1] = '\0'; -+ } -+ -+ /* upb_alloc ******************************************************************/ --- -2.29.2 - From 5b272a024e5828877d744e8c88e446701844b396 Mon Sep 17 00:00:00 2001 From: ajs124 Date: Thu, 24 Feb 2022 02:36:53 +0100 Subject: [PATCH 04/53] envoy: 1.19.1 -> 1.21.1 --- pkgs/servers/http/envoy/default.nix | 32 +++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix index c81d79dbb24b..0c5038898ea3 100644 --- a/pkgs/servers/http/envoy/default.nix +++ b/pkgs/servers/http/envoy/default.nix @@ -1,6 +1,8 @@ { lib +, bazel_4 , buildBazelPackage , fetchFromGitHub +, fetchpatch , stdenv , cmake , gn @@ -8,6 +10,7 @@ , jdk , ninja , python3 +, linuxHeaders , nixosTests }: @@ -17,23 +20,24 @@ let # However, the version string is more useful for end-users. # These are contained in a attrset of their own to make it obvious that # people should update both. - version = "1.19.1"; - commit = "a2a1e3eed4214a38608ec223859fcfa8fb679b14"; + version = "1.21.1"; + rev = "af50070ee60866874b0a9383daf9364e884ded22"; }; in buildBazelPackage rec { pname = "envoy"; - version = srcVer.version; + inherit (srcVer) version; + bazel = bazel_4; src = fetchFromGitHub { owner = "envoyproxy"; repo = "envoy"; - rev = srcVer.commit; - hash = "sha256:1v1hv4blrppnhllsxd9d3k2wl6nhd59r4ydljy389na3bb41jwf9"; + inherit (srcVer) rev ; + hash = "sha256:11mm72zmb479ss585jzqzhklyyqmdadnvr91ghzvjxc0j2a1hrr4"; extraPostFetch = '' chmod -R +w $out rm $out/.bazelversion - echo ${srcVer.commit} > $out/SOURCE_VERSION + echo ${srcVer.rev} > $out/SOURCE_VERSION sed -i 's/GO_VERSION = ".*"/GO_VERSION = "host"/g' $out/bazel/dependency_imports.bzl ''; }; @@ -48,6 +52,14 @@ buildBazelPackage rec { --replace '"''$$WEE8_BUILD_ARGS"' '"''$$WEE8_BUILD_ARGS use_gold=false"' ''; + patches = [ + # make linux/tcp.h relative. drop when upgrading to >1.21 + (fetchpatch { + url = "https://github.com/envoyproxy/envoy/commit/68448aae7a78a3123097b6ea96016b270457e7b8.patch"; + sha256 = "123kv3x37p8fgfp29jhw5xg5js5q5ipibs8hsm7gzfd5bcllnpfh"; + }) + ]; + nativeBuildInputs = [ cmake python3 @@ -57,8 +69,12 @@ buildBazelPackage rec { ninja ]; + buildInputs = [ + linuxHeaders + ]; + fetchAttrs = { - sha256 = "sha256:0vnl0gq6nhvyzz39jg1bvvna0xyhxalg71bp1jbxib7ql026004r"; + sha256 = "0f7mls2zrpjjvbz6pgkzrvr55bv05xn2l76j9i1r0cf367qqfkz8"; dontUseCmakeConfigure = true; dontUseGnConfigure = true; preInstall = '' @@ -84,7 +100,7 @@ buildBazelPackage rec { dontUseGnConfigure = true; dontUseNinjaInstall = true; preConfigure = '' - sed -i 's,#!/usr/bin/env bash,#!${stdenv.shell},' $bazelOut/external/rules_foreign_cc/tools/build_defs/framework.bzl + sed -i 's,#!/usr/bin/env bash,#!${stdenv.shell},' $bazelOut/external/rules_foreign_cc/foreign_cc/private/framework/toolchains/linux_commands.bzl # Add paths to Nix store back. sed -i \ From cf0f406ed6d65f11f18c1234f3f300a1200a3201 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Wed, 2 Mar 2022 15:18:58 +0000 Subject: [PATCH 05/53] pam: Fix google-authenticator reference --- nixos/modules/security/pam.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 9f295db84fd6..c0ef8b5f30bd 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -518,7 +518,7 @@ let auth optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so ${optionalString cfg.gnupg.storeOnly " store-only"} '' + optionalString cfg.googleAuthenticator.enable '' - auth required ${pkgs.googleAuthenticator}/lib/security/pam_google_authenticator.so no_increment_hotp + auth required ${pkgs.google-authenticator}/lib/security/pam_google_authenticator.so no_increment_hotp '' + optionalString cfg.duoSecurity.enable '' auth required ${pkgs.duo-unix}/lib/security/pam_duo.so From df745a16f643e0e320daf2c41300bf9238e691e1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 2 Mar 2022 18:31:16 +0000 Subject: [PATCH 06/53] umockdev: 0.17.6 -> 0.17.7 --- pkgs/development/libraries/umockdev/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix index b00177960d3b..286f5ccc3fcf 100644 --- a/pkgs/development/libraries/umockdev/default.nix +++ b/pkgs/development/libraries/umockdev/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "umockdev"; - version = "0.17.6"; + version = "0.17.7"; outputs = [ "bin" "out" "dev" "devdoc" ]; src = fetchurl { url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-X60zN3orHU8lOfRVCfbHTdrleKxB7ILCIGvXSZLdoSk="; + sha256 = "sha256-BdZCoW3QHM4Oue4bpuSFsuwIU1vsZ5pjqVv9TfGNC7U="; }; nativeBuildInputs = [ From 4a701a51aa7f0affc43fb9187f08e436577d2704 Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Wed, 2 Mar 2022 23:43:33 -0800 Subject: [PATCH 07/53] spice-gtk: fix build for withPolkit==false case The spice-gtk/default.nix expression provides an option, withPolkit, to decide whether or not the library should be compiled with support for polkit. Currently setting that argument to false results in a build failure: Run-time dependency polkit-gobject-1 found: NO (tried pkgconfig) meson.build:207:0: ERROR: Dependency "polkit-gobject-1" not found, tried pkgconfig It appears that at some point spice-gtk began requiring the meson flag -Dpolkit=disabled in this case. This commit adds that flag when !withPolkit. --- pkgs/development/libraries/spice-gtk/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix index 16cf654914d1..db5db61c6e99 100644 --- a/pkgs/development/libraries/spice-gtk/default.nix +++ b/pkgs/development/libraries/spice-gtk/default.nix @@ -124,6 +124,8 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dusb-acl-helper-dir=${placeholder "out"}/bin" "-Dusb-ids-path=${hwdata}/share/hwdata/usb.ids" + ] ++ lib.optionals (!withPolkit) [ + "-Dpolkit=disabled" ]; meta = with lib; { From ab8ff08fd995d0e410b9fe0ecccf900bb9e79c21 Mon Sep 17 00:00:00 2001 From: ajs124 Date: Thu, 3 Mar 2022 18:26:43 +0100 Subject: [PATCH 08/53] prometheus-varnish-exporter: 1.6 -> 1.6.1 --- pkgs/servers/monitoring/prometheus/varnish-exporter.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix index 27eb3721c95d..8f9e5884ae7c 100644 --- a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "prometheus_varnish_exporter"; - version = "1.6"; + version = "1.6.1"; src = fetchFromGitHub { owner = "jonnenauha"; repo = "prometheus_varnish_exporter"; rev = version; - sha256 = "1cp7c1w237r271m8b1y8pj5jy7j2iadp4vbislxfyp4kga9i4dcc"; + sha256 = "15w2ijz621caink2imlp1666j0ih5pmlj62cbzggyb34ncl37ifn"; }; - vendorSha256 = "1cslg29l9mmyhpdz14ca9m18iaz4hhznplz8fmi3wa3l8r7ih751"; + vendorSha256 = "00i9znb1pk5jpmyhxfg9zbw935fk3c1r0qrgf868xlcf9p8x2rrz"; nativeBuildInputs = [ makeWrapper ]; From 14ada3add8cb4410c86ca0068c5f905994a1fd1f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 4 Mar 2022 03:46:48 +0000 Subject: [PATCH 09/53] consul-template: 0.27.2 -> 0.28.0 --- pkgs/tools/system/consul-template/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/system/consul-template/default.nix b/pkgs/tools/system/consul-template/default.nix index 7a16c5ab592c..5d09020eec34 100644 --- a/pkgs/tools/system/consul-template/default.nix +++ b/pkgs/tools/system/consul-template/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "consul-template"; - version = "0.27.2"; + version = "0.28.0"; src = fetchFromGitHub { owner = "hashicorp"; repo = "consul-template"; rev = "v${version}"; - sha256 = "sha256-Uqb0HXaYHGcW7lkUNLa2oXM0gu+SWwpv+NdPnOO87cs="; + sha256 = "sha256-9NsudhalFm0km7BmK+2QzK9LxirrVtIFzNrugpw4f8g="; }; - vendorSha256 = "sha256-my4ECzmvrPhbKlcEptQ0xi4lYxHm42IrEsOvcetuMeQ="; + vendorSha256 = "sha256-SUbQPzFZUBgFZvaLc8730hZhJvt3/ni306Vt3EZMOmU="; # consul-template tests depend on vault and consul services running to # execute tests so we skip them here From 71237d0c8e72ea9935e43bba98d820c19cec6e47 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 4 Mar 2022 10:56:37 +0000 Subject: [PATCH 10/53] limesctl: 2.0.1 -> 3.0.0 --- pkgs/applications/misc/limesctl/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/limesctl/default.nix b/pkgs/applications/misc/limesctl/default.nix index eadd6c8db55a..73c8abaa13fe 100644 --- a/pkgs/applications/misc/limesctl/default.nix +++ b/pkgs/applications/misc/limesctl/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "limesctl"; - version = "2.0.1"; + version = "3.0.0"; src = fetchFromGitHub { owner = "sapcc"; repo = pname; rev = "v${version}"; - sha256 = "sha256-E6LwNiCykBqjkifUSi6oBWqCEhkRO+03HSKn4p45kh0="; + sha256 = "sha256-52Tq6gKozM/IFUyAy8N+YDqlbcFNQw6b2tc268Zco6g="; }; - vendorSha256 = "sha256-SzgiWqPuDZuSH8I9im8r+06E085PWyHwLjwxcaoJgQo="; + vendorSha256 = "sha256-7QEb5J5IaxisKjbulyHq5PGVeKAX022Pz+5OV5qD7Uo="; subPackages = [ "." ]; From dffdae60a33c1cf65988c59d2d00df290ecb0a46 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 4 Mar 2022 11:53:04 +0000 Subject: [PATCH 11/53] python310Packages.google-resumable-media: 2.3.0 -> 2.3.1 --- .../python-modules/google-resumable-media/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-resumable-media/default.nix b/pkgs/development/python-modules/google-resumable-media/default.nix index ff545339da80..0b81aa71eba6 100644 --- a/pkgs/development/python-modules/google-resumable-media/default.nix +++ b/pkgs/development/python-modules/google-resumable-media/default.nix @@ -12,11 +12,11 @@ buildPythonPackage rec { pname = "google-resumable-media"; - version = "2.3.0"; + version = "2.3.1"; src = fetchPypi { inherit pname version; - sha256 = "sha256-Gn3OV5CwRRjtwCws4zllVWZg1klXEG1mqUUIbitkJXI="; + sha256 = "sha256-H02LFRlnZv34qGD9LPqmGEE4cH7F+SHNGDQGel39Lbc="; }; propagatedBuildInputs = [ google-auth google-crc32c requests ]; From d9a87bf933b71a65ab3a050effe9da9600b0b5a6 Mon Sep 17 00:00:00 2001 From: nixpkgs-upkeep-bot Date: Fri, 4 Mar 2022 12:10:05 +0000 Subject: [PATCH 12/53] vscode: 1.64.2 -> 1.65.0 --- pkgs/applications/editors/vscode/vscode.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix index 496dbe2496d1..5e8337f6b0ed 100644 --- a/pkgs/applications/editors/vscode/vscode.nix +++ b/pkgs/applications/editors/vscode/vscode.nix @@ -14,17 +14,17 @@ let archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz"; sha256 = { - x86_64-linux = "0gv71l9cidkbbv7b1dsfyn7lnlwcmjds9qx6nrh7alymdm1xa2xr"; - x86_64-darwin = "1is795040xb3l23crblwf056wsvsi4dip3lkwhlblhkpsl0048f1"; - aarch64-linux = "186dy6h3krc6fqvmh1nay1dk5109kl9p25kx37jkbzf2qhnpibm8"; - aarch64-darwin = "04xc5fy4wcplfrigbm624dpzxd2m4rkq979xr1i57p3d20i96s6g"; - armv7l-linux = "1k7bfmrfw16zpn33p7ycxpp6g9xh8aypmf61nrkx2jn99nxy5d3s"; + x86_64-linux = "04lyih67vcf2hficvlv1r25k8k48n9x15sbqrfp1syzhy5i4zch3"; + x86_64-darwin = "0460mh1ah9hswn8ihais5hzvz453r36ay2bb3hy3z1grfs3s5blk"; + aarch64-linux = "1db2r4ja0srya2lw900l4mk24xva00kf7vxajcb7q0rab4cpfr3n"; + aarch64-darwin = "04c43ibbarsqdm1wcsmsi9rnfsl3lyq638d3j0dj94xifk0v61j9"; + armv7l-linux = "1qzi2biy5mjbxdgcakzmid68ykq6vrgj4lqmz0jk3g46r4kpnrgd"; }.${system}; in callPackage ./generic.nix rec { # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.64.2"; + version = "1.65.0"; pname = "vscode"; executableName = "code" + lib.optionalString isInsiders "-insiders"; From ba21f946e378b311e5c249132010c3d6220861e0 Mon Sep 17 00:00:00 2001 From: nixpkgs-upkeep-bot Date: Fri, 4 Mar 2022 12:11:10 +0000 Subject: [PATCH 13/53] vscodium: 1.64.2 -> 1.65.0 --- pkgs/applications/editors/vscode/vscodium.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix index b1ab8c57ee8b..39c04314af08 100644 --- a/pkgs/applications/editors/vscode/vscodium.nix +++ b/pkgs/applications/editors/vscode/vscodium.nix @@ -13,10 +13,10 @@ let archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; sha256 = { - x86_64-linux = "0ldfp4r7nb9npvjadgj63sd369nqmbgf5y4kpp93slsy1lbs0bk8"; - x86_64-darwin = "05z0jx2cc1askzzdxa8vxj8gp0v9rm1jw6005bpmijvyb8s2d30w"; - aarch64-linux = "1a5fyxzz51rb0af0wv3xh2h87yq00y5k501p7idqhj0zvd5mpqh6"; - armv7l-linux = "05byi0aba516whzry5qkxfkm82sy2dgv1m0hyycmnkb2dwmb552m"; + x86_64-linux = "0a38bjkksna7q2lhcm1hgfn189jw3k8svw0jf591bpq7jvknim1v"; + x86_64-darwin = "173rhavczm0k9qgrlz68rdvwsmy3ynq2g14shx9gipchr1i0rih5"; + aarch64-linux = "00xkhwvxmyiyy9k1vh23sqyib584qafzs1m57xraqq3n8098jrng"; + armv7l-linux = "0lqq54hnv4b1m47cya7196cn00jwslcsh5ykicgq0dxljrcawi0y"; }.${system}; sourceRoot = { @@ -31,7 +31,7 @@ in # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.64.2"; + version = "1.65.0"; pname = "vscodium"; executableName = "codium"; From c738e61a9491674bf19cfb540d6756c8c227ad21 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 20 Jan 2022 02:12:07 +0000 Subject: [PATCH 14/53] qemu: put virtiofsd in bin/ According to the QEMU documentation, virtiofsd is supposed to be run directly by users. It therefore makes sense to have it in bin/, so it will be in PATH. Such a change wouldn't make sense upstream, because it would then conflict with the virtiofsd package, which is generally preferred if available. But in Nixpkgs, we don't have to worry about that and can just make QEMU's virtiofsd a lower priority than the one from the dedicated package. [1]: https://qemu.readthedocs.io/en/latest/tools/virtiofsd.html Fixes: https://github.com/NixOS/nixpkgs/issues/113172 ("QEmu: virtiofsd prone to be garbage collected.") Fixes: https://github.com/NixOS/nixpkgs/pull/153007 ("nixos/libvirtd: add ${cfg.qemu.package}/libexec to PATH") --- pkgs/applications/virtualization/qemu/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 2c220c7d3637..2c2094763cc6 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -220,6 +220,7 @@ stdenv.mkDerivation rec { # Add a ‘qemu-kvm’ wrapper for compatibility/convenience. postInstall = '' + ln -s $out/libexec/virtiofsd $out/bin ln -s $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} $out/bin/qemu-kvm ''; @@ -240,5 +241,6 @@ stdenv.mkDerivation rec { mainProgram = "qemu-kvm"; maintainers = with maintainers; [ eelco qyliss ]; platforms = platforms.unix; + priority = 10; # Prefer virtiofsd from the virtiofsd package. }; } From 2e46cc1f00cd965cef074d655b3813832c71a745 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Na=C3=AFm=20Favier?= Date: Sun, 13 Feb 2022 16:25:24 +0100 Subject: [PATCH 15/53] nixos/earlyoom: remove useKernelOOMKiller This option is deprecated and ignored by earlyoom since 1.2. --- nixos/modules/services/system/earlyoom.nix | 35 ++++++++++------------ 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/nixos/modules/services/system/earlyoom.nix b/nixos/modules/services/system/earlyoom.nix index 452efc736439..b355df056bc1 100644 --- a/nixos/modules/services/system/earlyoom.nix +++ b/nixos/modules/services/system/earlyoom.nix @@ -39,20 +39,12 @@ in ''; }; - useKernelOOMKiller= mkOption { - type = types.bool; - default = false; - description = '' - Use kernel OOM killer instead of own user-space implementation. - ''; - }; - + # TODO: remove or warn after 1.7 (https://github.com/rfjakob/earlyoom/commit/7ebc4554) ignoreOOMScoreAdjust = mkOption { type = types.bool; default = false; description = '' Ignore oom_score_adjust values of processes. - User-space implementation only. ''; }; @@ -87,16 +79,21 @@ in }; }; + imports = [ + (mkRemovedOptionModule [ "services" "earlyoom" "useKernelOOMKiller" ] '' + This option is deprecated and ignored by earlyoom since 1.2. + '') + ]; + config = mkIf ecfg.enable { assertions = [ { assertion = ecfg.freeMemThreshold > 0 && ecfg.freeMemThreshold <= 100; message = "Needs to be a positive percentage"; } { assertion = ecfg.freeSwapThreshold > 0 && ecfg.freeSwapThreshold <= 100; message = "Needs to be a positive percentage"; } - { assertion = !ecfg.useKernelOOMKiller || !ecfg.ignoreOOMScoreAdjust; - message = "Both options in conjunction do not make sense"; } ]; + # TODO: reimplement this option as -N after 1.7 (https://github.com/rfjakob/earlyoom/commit/afe03606) warnings = optional (ecfg.notificationsCommand != null) "`services.earlyoom.notificationsCommand` is deprecated and ignored by earlyoom since 1.6."; @@ -107,15 +104,13 @@ in serviceConfig = { StandardOutput = "null"; StandardError = "journal"; - ExecStart = '' - ${pkgs.earlyoom}/bin/earlyoom \ - -m ${toString ecfg.freeMemThreshold} \ - -s ${toString ecfg.freeSwapThreshold} \ - ${optionalString ecfg.useKernelOOMKiller "-k"} \ - ${optionalString ecfg.ignoreOOMScoreAdjust "-i"} \ - ${optionalString ecfg.enableDebugInfo "-d"} \ - ${optionalString ecfg.enableNotifications "-n"} - ''; + ExecStart = concatStringsSep " " ([ + "${pkgs.earlyoom}/bin/earlyoom" + "-m ${toString ecfg.freeMemThreshold}" + "-s ${toString ecfg.freeSwapThreshold}" + ] ++ optional ecfg.ignoreOOMScoreAdjust "-i" + ++ optional ecfg.enableDebugInfo "-d" + ++ optional ecfg.enableNotifications "-n"); }; }; From 56095bf066d844bd42b205f60e78bb4ec6ab3585 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 4 Mar 2022 13:06:13 +0000 Subject: [PATCH 16/53] php74Packages.phpstan: 1.4.6 -> 1.4.7 --- pkgs/development/php-packages/phpstan/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix index b00da4972f67..9f8a5feb8a74 100644 --- a/pkgs/development/php-packages/phpstan/default.nix +++ b/pkgs/development/php-packages/phpstan/default.nix @@ -1,14 +1,14 @@ { mkDerivation, fetchurl, makeWrapper, lib, php }: let pname = "phpstan"; - version = "1.4.6"; + version = "1.4.7"; in mkDerivation { inherit pname version; src = fetchurl { url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar"; - sha256 = "sha256-h19rFEs7VrdlxGS1qeYJnO5aQaKzpFZTdsN2h3Hmm0w="; + sha256 = "sha256-bsSdFfUVQnbDFH8hO1Z9sHA2w7pMHlLEx1hsgDdCUmE="; }; dontUnpack = true; From 38246ed1942a9f6f55e28c8c452cec9f3c3ad772 Mon Sep 17 00:00:00 2001 From: Yaya Date: Thu, 3 Mar 2022 18:02:27 +0000 Subject: [PATCH 17/53] nixos/snowflake-proxy: init This commit introduces snowflake-proxy [1], a system to circumvent internet censorship. [1] https://snowflake.torproject.org/ --- .../from_md/release-notes/rl-2205.section.xml | 7 ++ .../manual/release-notes/rl-2205.section.md | 2 + nixos/modules/module-list.nix | 1 + .../services/networking/snowflake-proxy.nix | 81 +++++++++++++++++++ 4 files changed, 91 insertions(+) create mode 100644 nixos/modules/services/networking/snowflake-proxy.nix diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 4f9cd121799f..2bcfc86b432b 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -120,6 +120,13 @@ services.heisenbridge. + + + snowflake-proxy, + a system to defeat internet censorship. Available as + services.snowflake-proxy. + + ergochat, a modern diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index de384c102dc7..650ace8d9d2a 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -37,6 +37,8 @@ In addition to numerous new and upgraded packages, this release has the followin - [heisenbridge](https://github.com/hifi/heisenbridge), a bouncer-style Matrix IRC bridge. Available as [services.heisenbridge](options.html#opt-services.heisenbridge.enable). +- [snowflake-proxy](https://snowflake.torproject.org/), a system to defeat internet censorship. Available as [services.snowflake-proxy](options.html#opt-services.snowflake-proxy.enable). + - [ergochat](https://ergo.chat), a modern IRC with IRCv3 features. Available as [services.ergochat](options.html#opt-services.ergochat.enable). - [PowerDNS-Admin](https://github.com/ngoduykhanh/PowerDNS-Admin), a web interface for the PowerDNS server. Available at [services.powerdns-admin](options.html#opt-services.powerdns-admin.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index c102f4c97ee3..7bce1119d738 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -877,6 +877,7 @@ ./services/networking/shorewall6.nix ./services/networking/shout.nix ./services/networking/sniproxy.nix + ./services/networking/snowflake-proxy.nix ./services/networking/smartdns.nix ./services/networking/smokeping.nix ./services/networking/softether.nix diff --git a/nixos/modules/services/networking/snowflake-proxy.nix b/nixos/modules/services/networking/snowflake-proxy.nix new file mode 100644 index 000000000000..2124644ed9b5 --- /dev/null +++ b/nixos/modules/services/networking/snowflake-proxy.nix @@ -0,0 +1,81 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.snowflake-proxy; +in +{ + options = { + services.snowflake-proxy = { + enable = mkEnableOption "System to defeat internet censorship"; + + broker = mkOption { + description = "Broker URL (default \"https://snowflake-broker.torproject.net/\")"; + type = with types; nullOr str; + default = null; + }; + + capacity = mkOption { + description = "Limits the amount of maximum concurrent clients allowed."; + type = with types; nullOr int; + default = null; + }; + + relay = mkOption { + description = "websocket relay URL (default \"wss://snowflake.bamsoftware.com/\")"; + type = with types; nullOr str; + default = null; + }; + + stun = mkOption { + description = "STUN broker URL (default \"stun:stun.stunprotocol.org:3478\")"; + type = with types; nullOr str; + default = null; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.snowflake-proxy = { + wantedBy = [ "network-online.target" ]; + serviceConfig = { + ExecStart = + "${pkgs.snowflake}/bin/proxy " + concatStringsSep " " ( + optional (cfg.broker != null) "-broker ${cfg.broker}" + ++ optional (cfg.capacity != null) "-capacity ${builtins.toString cfg.capacity}" + ++ optional (cfg.relay != null) "-relay ${cfg.relay}" + ++ optional (cfg.stun != null) "-stun ${cfg.stun}" + ); + + # Security Hardening + # Refer to systemd.exec(5) for option descriptions. + CapabilityBoundingSet = ""; + + # implies RemoveIPC=, PrivateTmp=, NoNewPrivileges=, RestrictSUIDSGID=, + # ProtectSystem=strict, ProtectHome=read-only + DynamicUser = true; + LockPersonality = true; + PrivateDevices = true; + PrivateUsers = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectProc = "invisible"; + ProtectKernelModules = true; + ProtectKernelTunables = true; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictNamespaces = true; + RestrictRealtime = true; + SystemCallArchitectures = "native"; + SystemCallFilter = "~@clock @cpu-emulation @debug @mount @obsolete @reboot @swap @privileged @resources"; + UMask = "0077"; + }; + }; + }; + + meta.maintainers = with maintainers; [ yayayayaka ]; +} From cb3adf5bf20197b7ccb3b00bcdd6cfabb1d5807f Mon Sep 17 00:00:00 2001 From: Dmitriy <43755002+psydvl@users.noreply.github.com> Date: Thu, 3 Mar 2022 08:29:26 +0300 Subject: [PATCH 18/53] vk-messenger: 5.2.3 -> 5.3.2 --- .../instant-messengers/vk-messenger/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix b/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix index 51b119aa6de5..5fb0f14f36a0 100644 --- a/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix +++ b/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix @@ -4,20 +4,20 @@ let pname = "vk-messenger"; - version = "5.2.3"; + version = "5.3.2"; src = { i686-linux = fetchurl { url = "https://desktop.userapi.com/rpm/master/vk-${version}.i686.rpm"; - sha256 = "09zi2rzsank6lhw1z9yar1rp634y6qskvr2i0rvqg2fij7cy6w19"; + sha256 = "L0nE0zW4LP8udcE8uPy+cH9lLuQsUSq7cF13Gv7w2rI="; }; x86_64-linux = fetchurl { url = "https://desktop.userapi.com/rpm/master/vk-${version}.x86_64.rpm"; - sha256 = "1m6saanpv1k5wc5s58jpf0wsgjsj7haabx8nycm1fjyhky1chirb"; + sha256 = "spDw9cfDSlIuCwOqREsqXC19tx62TiAz9fjIS9lYjSQ="; }; x86_64-darwin = fetchurl { - url = "https://web.archive.org/web/20210310071550/https://desktop.userapi.com/mac/master/vk.dmg"; - sha256 = "0j5qsr0fyl55d0x46xm4h2ykwr4y9z1dsllhqx5lnc15nc051s9b"; + url = "https://web.archive.org/web/20220302083827/https://desktop.userapi.com/mac/master/vk.dmg"; + sha256 = "hxK8I9sF6njfCxSs1KBCHfnG81JGKUgHKAeFLtuCNe0="; }; }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); From 7db71a91056efe56fef6e4325a3a07d5806c5b9c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 3 Mar 2022 09:13:22 +0000 Subject: [PATCH 19/53] lagrange: 1.10.6 -> 1.11.1 --- pkgs/applications/networking/browsers/lagrange/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix index bf370dd6ec0c..00d0bc8f6fd5 100644 --- a/pkgs/applications/networking/browsers/lagrange/default.nix +++ b/pkgs/applications/networking/browsers/lagrange/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "lagrange"; - version = "1.10.6"; + version = "1.11.1"; src = fetchFromGitHub { owner = "skyjake"; repo = "lagrange"; rev = "v${version}"; - sha256 = "sha256-N4NB4lfWIN+jreAuaaGKRdpgwHy2CKrPrGxu1iSCZyU="; + sha256 = "sha256-RrdD+G8DKOBm0TpmRQg1uMGNFAlAADFeK3h6oyo5RZ4="; fetchSubmodules = true; }; From f6c6d63d1ce68f3458cdbe34cf7337dde5022630 Mon Sep 17 00:00:00 2001 From: Johannes Arnold Date: Wed, 2 Mar 2022 00:09:44 +0100 Subject: [PATCH 20/53] shellspec: init at 0.28.1 --- pkgs/tools/misc/shellspec/default.nix | 34 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/tools/misc/shellspec/default.nix diff --git a/pkgs/tools/misc/shellspec/default.nix b/pkgs/tools/misc/shellspec/default.nix new file mode 100644 index 000000000000..27eead6e1c3a --- /dev/null +++ b/pkgs/tools/misc/shellspec/default.nix @@ -0,0 +1,34 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "shellspec"; + version = "0.28.1"; + + src = fetchFromGitHub { + owner = "shellspec"; + repo = pname; + rev = version; + sha256 = "1ib5qp29f2fmivwnv6hq35qhvdxz42xgjlkvy0i3qn758riyqf46"; + }; + + makeFlags = [ "PREFIX=${placeholder "out"}" ]; + + checkPhase = '' + ./shellspec --no-banner --task fixture:stat:prepare + ./shellspec --no-banner spec --jobs "$(nproc)" + ''; + + # "Building" the script happens in Docker + dontBuild = true; + + meta = with lib; { + description = + "A full-featured BDD unit testing framework for bash, ksh, zsh, dash and all POSIX shells"; + homepage = "https://shellspec.info/"; + changelog = + "https://github.com/shellspec/shellspec/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ j0hax ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d6813e01ab85..9a3531492d1c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9745,6 +9745,8 @@ with pkgs; shelldap = callPackage ../tools/misc/shelldap { }; + shellspec = callPackage ../tools/misc/shellspec { }; + schema2ldif = callPackage ../tools/text/schema2ldif { }; sharedown = callPackage ../tools/misc/sharedown { }; From f73281a7278fecbae3ad35a4e46d69dcda6fee11 Mon Sep 17 00:00:00 2001 From: Julio Borja Barra Date: Tue, 1 Mar 2022 22:22:04 +0100 Subject: [PATCH 21/53] smug: init at 0.2.7 --- pkgs/tools/misc/smug/default.nix | 24 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/tools/misc/smug/default.nix diff --git a/pkgs/tools/misc/smug/default.nix b/pkgs/tools/misc/smug/default.nix new file mode 100644 index 000000000000..afa21afa6666 --- /dev/null +++ b/pkgs/tools/misc/smug/default.nix @@ -0,0 +1,24 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "smug"; + version = "0.2.7"; + + subPackages = [ "." ]; + + src = fetchFromGitHub { + owner = "ivaaaan"; + repo = "smug"; + rev = "3399f02a6e01324f5bb881f6b049c9e8d94733ee"; + sha256 = "178125835dhnaq9k42yv4pfxpyhgb5179wrxkimb59fy0nk8jzx8"; + }; + + vendorSha256 = "1rba5rpvlr8dyhj145b5i57pm4skfpj3vm7vydkn79k6ak6x985x"; + + meta = with lib; { + homepage = "https://github.com/ivaaaan/smug"; + description = "Smug - tmux session manager"; + license = licenses.mit; + maintainers = with maintainers; [ juboba ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9a3531492d1c..2fd3683e3c6d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9878,6 +9878,8 @@ with pkgs; smu = callPackage ../tools/text/smu { }; + smug = callPackage ../tools/misc/smug { }; + smpq = callPackage ../applications/misc/smpq { }; sn0int = callPackage ../tools/security/sn0int { }; From 315ed6fad04b9bb54bbacddfcaa9154a33699413 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 14 Oct 2021 18:48:16 +0200 Subject: [PATCH 22/53] =?UTF-8?q?ocamlPackages.camlp5:=20disable=20for=20O?= =?UTF-8?q?Caml=20=E2=89=A5=204.13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/tools/ocaml/camlp5/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/tools/ocaml/camlp5/default.nix b/pkgs/development/tools/ocaml/camlp5/default.nix index e94e98d8f723..65debca11c23 100644 --- a/pkgs/development/tools/ocaml/camlp5/default.nix +++ b/pkgs/development/tools/ocaml/camlp5/default.nix @@ -1,6 +1,7 @@ { lib, stdenv, fetchFromGitHub, ocaml, perl }: if lib.versionOlder ocaml.version "4.02" +|| lib.versionOlder "4.13" ocaml.version then throw "camlp5 is not available for OCaml ${ocaml.version}" else From 5bd7b7017bb0c85bafb456b574b54b04bc822fc1 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 14 Oct 2021 19:17:36 +0200 Subject: [PATCH 23/53] =?UTF-8?q?ocamlPackages.wasm:=20disable=20for=20OCa?= =?UTF-8?q?ml=20=E2=89=A5=204.13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/ocaml-modules/wasm/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/ocaml-modules/wasm/default.nix b/pkgs/development/ocaml-modules/wasm/default.nix index bf7fcb66fe5c..6b0008912906 100644 --- a/pkgs/development/ocaml-modules/wasm/default.nix +++ b/pkgs/development/ocaml-modules/wasm/default.nix @@ -1,6 +1,7 @@ { stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }: if !lib.versionAtLeast ocaml.version "4.02" +|| lib.versionOlder "4.13" ocaml.version then throw "wasm is not available for OCaml ${ocaml.version}" else From 87b8f79fa425022d2305937a6b234bb02902b883 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 17 Oct 2021 22:05:58 +0200 Subject: [PATCH 24/53] =?UTF-8?q?ocamlPackages.ocaml-migrate-parsetree:=20?= =?UTF-8?q?disable=20with=20OCaml=20=E2=89=A5=204.13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix index 5d8d967bf4fd..009d95992fb7 100644 --- a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix +++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix @@ -1,5 +1,9 @@ { lib, fetchFromGitHub, buildDunePackage, ocaml, result, ppx_derivers }: +if lib.versionOlder "4.13" ocaml.version +then throw "ocaml-migrate-parsetree-1.8 is not available for OCaml ${ocaml.version}" +else + buildDunePackage rec { pname = "ocaml-migrate-parsetree"; version = "1.8.0"; From b93841708700eaf02b8d9b24cadc3b9efec56699 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 13 Feb 2022 06:37:42 +0100 Subject: [PATCH 25/53] =?UTF-8?q?reason:=20disable=20for=20OCaml=20?= =?UTF-8?q?=E2=89=A5=204.13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/compilers/reason/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/compilers/reason/default.nix b/pkgs/development/compilers/reason/default.nix index 0937ff8bd840..4404a5108286 100644 --- a/pkgs/development/compilers/reason/default.nix +++ b/pkgs/development/compilers/reason/default.nix @@ -2,6 +2,9 @@ , fix, menhir, menhirLib, menhirSdk, merlin-extend, ppxlib, utop, cppo, ppx_derivers }: +lib.throwIfNot (lib.versionOlder ocaml.version "4.13") + "reason is not available for OCaml ${ocaml.version}" + stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-reason"; version = "3.7.0"; From 3436dfc72433557eb475e4d5066a4d96ad821299 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 25 Feb 2022 10:03:02 +0100 Subject: [PATCH 26/53] =?UTF-8?q?ocamlPackages.pythonlib:=20disable=20for?= =?UTF-8?q?=20OCaml=20=E2=89=A5=204.13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/ocaml-modules/janestreet/0.14.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/ocaml-modules/janestreet/0.14.nix b/pkgs/development/ocaml-modules/janestreet/0.14.nix index 7d1c85447097..2f9aeea1d628 100644 --- a/pkgs/development/ocaml-modules/janestreet/0.14.nix +++ b/pkgs/development/ocaml-modules/janestreet/0.14.nix @@ -666,6 +666,7 @@ with self; pname = "pythonlib"; hash = "0qr0mh9jiv1ham5zlz9i4im23a1vh6x1yp6dp2db2s4icmfph639"; meta.description = "A library to help writing wrappers around ocaml code for python"; + meta.broken = lib.versionAtLeast ocaml.version "4.13"; propagatedBuildInputs = [ ppx_expect ppx_let ppx_python stdio typerep ]; }; From 5db8d97e6245d373b7c58859d5e3cbee39fbf4c0 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 2 Dec 2021 13:27:53 +0100 Subject: [PATCH 27/53] haxe: use OCaml 4.12 for version 4.2 --- pkgs/development/compilers/haxe/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix index d5277899892e..4ac022be6a9f 100644 --- a/pkgs/development/compilers/haxe/default.nix +++ b/pkgs/development/compilers/haxe/default.nix @@ -3,7 +3,7 @@ let ocamlDependencies = version: if lib.versionAtLeast version "4.2" - then with ocaml-ng.ocamlPackages; [ + then with ocaml-ng.ocamlPackages_4_12; [ ocaml findlib sedlex_2 From 03fc4992af530d68ebad33c9f746adda00a75505 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 2 Dec 2021 13:37:21 +0100 Subject: [PATCH 28/53] prooftree: use OCaml 4.12 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2fd3683e3c6d..a6e7ae6b5245 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32503,7 +32503,9 @@ with pkgs; libpoly = callPackage ../applications/science/logic/poly {}; - prooftree = callPackage ../applications/science/logic/prooftree {}; + prooftree = callPackage ../applications/science/logic/prooftree { + ocamlPackages = ocaml-ng.ocamlPackages_4_12; + }; prover9 = callPackage ../applications/science/logic/prover9 { }; From d579cf4e21d4ce6c381f322bcdd35c688d577dcd Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 2 Dec 2021 13:47:24 +0100 Subject: [PATCH 29/53] ledit: use OCaml 4.12 --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a6e7ae6b5245..1237b47f79b8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7462,7 +7462,7 @@ with pkgs; leatherman = callPackage ../development/libraries/leatherman { }; ledit = callPackage ../tools/misc/ledit { - inherit (ocamlPackages) camlp5; + inherit (ocaml-ng.ocamlPackages_4_12) ocaml camlp5; }; ledmon = callPackage ../tools/system/ledmon { }; From 9da306179ad4d32998f9035cc2bcfc64729a2dcb Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 2 Dec 2021 13:50:39 +0100 Subject: [PATCH 30/53] orpie: use OCaml 4.12 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1237b47f79b8..0dd58a0a69c2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28078,7 +28078,9 @@ with pkgs; opusTools = callPackage ../applications/audio/opus-tools { }; - orpie = callPackage ../applications/misc/orpie { }; + orpie = callPackage ../applications/misc/orpie { + ocamlPackages = ocaml-ng.ocamlPackages_4_12; + }; osmo = callPackage ../applications/office/osmo { }; From 251f4cddca5b2955bfbe5f69ab078d086277b342 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 2 Dec 2021 13:51:49 +0100 Subject: [PATCH 31/53] hol_light: use OCaml 4.12 --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0dd58a0a69c2..d5de9fcf6c8d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32441,7 +32441,7 @@ with pkgs; hol = callPackage ../applications/science/logic/hol { }; - inherit (ocamlPackages) hol_light; + inherit (ocaml-ng.ocamlPackages_4_12) hol_light; hologram = callPackage ../tools/security/hologram { }; From ed7b5516016876a29a568bc37fff22b121f5769d Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 2 Dec 2021 14:29:39 +0100 Subject: [PATCH 32/53] abella: use OCaml 4.12 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d5de9fcf6c8d..b32ff5491912 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32362,7 +32362,9 @@ with pkgs; abc-verifier = callPackage ../applications/science/logic/abc {}; - abella = callPackage ../applications/science/logic/abella { }; + abella = callPackage ../applications/science/logic/abella { + ocamlPackages = ocaml-ng.ocamlPackages_4_12; + }; acgtk = callPackage ../applications/science/logic/acgtk {}; From 25a6f427eb769916a8f8ca1f7c3348250cc1cdab Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 2 Dec 2021 15:57:07 +0100 Subject: [PATCH 33/53] sks: use OCaml 4.12 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b32ff5491912..5c1aad3520cb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9830,7 +9830,9 @@ with pkgs; skippy-xd = callPackage ../tools/X11/skippy-xd {}; - sks = callPackage ../servers/sks { }; + sks = callPackage ../servers/sks { + ocamlPackages = ocaml-ng.ocamlPackages_4_12; + }; skydns = callPackage ../servers/skydns { }; From 9fd44c40572a7f6f0a3f5f94d791620bdf5b3d20 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 13 Feb 2022 06:07:44 +0100 Subject: [PATCH 34/53] stog: use OCaml 4.12 --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5c1aad3520cb..bb033b23e332 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -29007,7 +29007,7 @@ with pkgs; stalonetray = callPackage ../applications/window-managers/stalonetray {}; - inherit (ocamlPackages) stog; + inherit (ocaml-ng.ocamlPackages_4_12) stog; stp = callPackage ../applications/science/logic/stp { }; From 1a765a28275fd4bcf468ffa71025d88d0591f4a3 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 13 Feb 2022 06:34:39 +0100 Subject: [PATCH 35/53] reason: use OCaml 4.12 --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bb033b23e332..d59b5277e349 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14038,7 +14038,7 @@ with pkgs; regina = callPackage ../development/interpreters/regina { }; - inherit (ocamlPackages) reason; + inherit (ocaml-ng.ocamlPackages_4_12) reason; pixie = callPackage ../development/interpreters/pixie { }; dust = callPackage ../development/interpreters/pixie/dust.nix { }; From 28b02ff09c5be062437c2c792de85cfc57c4df4a Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Mon, 14 Feb 2022 07:04:23 +0100 Subject: [PATCH 36/53] ocamlformat: build versions [0.17.0; 0.19.0[ with OCaml 4.12 --- pkgs/development/tools/ocaml/ocamlformat/generic.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/ocaml/ocamlformat/generic.nix b/pkgs/development/tools/ocaml/ocamlformat/generic.nix index 7cd3196317fa..517ca6585fe1 100644 --- a/pkgs/development/tools/ocaml/ocamlformat/generic.nix +++ b/pkgs/development/tools/ocaml/ocamlformat/generic.nix @@ -28,8 +28,10 @@ let src = }."${version}"; }; ocamlPackages = - if lib.versionAtLeast version "0.17.0" + if lib.versionAtLeast version "0.19.0" then ocaml-ng.ocamlPackages + else if lib.versionAtLeast version "0.17.0" + then ocaml-ng.ocamlPackages_4_12 else if lib.versionAtLeast version "0.14.3" then ocaml-ng.ocamlPackages_4_10 else ocaml-ng.ocamlPackages_4_07 From f517498672b18e09737f848f235f3103bd77c275 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 25 Feb 2022 06:27:08 +0100 Subject: [PATCH 37/53] flow: use OCaml 4.12 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d59b5277e349..0d9c43ba6844 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14944,6 +14944,7 @@ with pkgs; flow = callPackage ../development/tools/analysis/flow { inherit (darwin.apple_sdk.frameworks) CoreServices; + ocamlPackages = ocaml-ng.ocamlPackages_4_12; }; fly = callPackage ../development/tools/continuous-integration/fly { }; From c0ac65d9b38de59f08c1ecaf08140766b9a01823 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 25 Feb 2022 06:27:18 +0100 Subject: [PATCH 38/53] ocaml: default to version 4.13 --- pkgs/top-level/ocaml-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 01848d823217..bf8a055e1a38 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1539,5 +1539,5 @@ in let inherit (pkgs) callPackage; in rec ocamlPackages_latest = ocamlPackages_4_13; - ocamlPackages = ocamlPackages_4_12; + ocamlPackages = ocamlPackages_4_13; } From e61bec5c0d15158a9865f12fd86618c475ba2046 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 28 Feb 2022 12:02:13 +0000 Subject: [PATCH 39/53] tboot: 1.10.3 -> 1.10.4 --- pkgs/tools/security/tboot/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/tboot/default.nix b/pkgs/tools/security/tboot/default.nix index d11426a2b48c..a33c26419e16 100644 --- a/pkgs/tools/security/tboot/default.nix +++ b/pkgs/tools/security/tboot/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "tboot"; - version = "1.10.3"; + version = "1.10.4"; src = fetchurl { url = "mirror://sourceforge/tboot/${pname}-${version}.tar.gz"; - sha256 = "sha256-ixFs9Bd6VNT1n5RU6n38hFR+m4+SBNzwrCNXRmCHgOQ="; + sha256 = "sha256-iEn6mZ0tuDBA1a2POpJEBaIM0TMVDohbVvp/6OO4nAY="; }; buildInputs = [ openssl trousers zlib ]; From 7d62054650523a1256fae4aeacf3d77ae4b5f9e7 Mon Sep 17 00:00:00 2001 From: Bruno Bzeznik Date: Mon, 28 Feb 2022 16:15:39 +0100 Subject: [PATCH 40/53] angsd: init at 0.937 --- .../science/biology/angsd/default.nix | 25 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/applications/science/biology/angsd/default.nix diff --git a/pkgs/applications/science/biology/angsd/default.nix b/pkgs/applications/science/biology/angsd/default.nix new file mode 100644 index 000000000000..02e00cd19ad6 --- /dev/null +++ b/pkgs/applications/science/biology/angsd/default.nix @@ -0,0 +1,25 @@ +{ lib, stdenv, fetchFromGitHub, htslib, zlib, bzip2, xz, curl, openssl }: + +stdenv.mkDerivation rec { + pname = "angsd"; + version = "0.937"; + + src = fetchFromGitHub { + owner = "ANGSD"; + repo = "angsd"; + sha256 = "1020gh066dprqhfi90ywqzqqnq7awn49wrkkjnizmmab52v00kxs"; + rev = "${version}"; + }; + + buildInputs = [ htslib zlib bzip2 xz curl openssl ]; + + makeFlags = [ "HTSSRC=systemwide" "prefix=$(out)" ]; + + meta = with lib; { + description = "Program for analysing NGS data"; + homepage = "http://www.popgen.dk/angsd"; + maintainers = [ maintainers.bzizou ]; + license = licenses.gpl2; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0d9c43ba6844..5136144c1b77 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31897,6 +31897,8 @@ with pkgs; alliance = callPackage ../applications/science/electronics/alliance { }; + angsd = callPackage ../applications/science/biology/angsd { }; + ants = callPackage ../applications/science/biology/ants { inherit (darwin.apple_sdk.frameworks) Cocoa; }; From af8dd58004cf54d9b463726346641a474cc5ebd4 Mon Sep 17 00:00:00 2001 From: Sebastian Blunt Date: Wed, 23 Feb 2022 19:16:26 -0800 Subject: [PATCH 41/53] maintainers: add sebastianblunt --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3e3ab5b3e2d5..fadc882f81f9 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10982,6 +10982,12 @@ githubId = 19472270; name = "Sebastian"; }; + sebastianblunt = { + name = "Sebastian Blunt"; + email = "nix@sebastianblunt.com"; + github = "sebastianblunt"; + githubId = 47431204; + }; sebbadk = { email = "sebastian@sebba.dk"; github = "SEbbaDK"; From edbfbd641d527435f62968acfc076e39397bf2d3 Mon Sep 17 00:00:00 2001 From: Sebastian Blunt Date: Wed, 23 Feb 2022 19:17:07 -0800 Subject: [PATCH 42/53] rdap: init at 2019-10-17 --- pkgs/tools/networking/rdap/default.nix | 25 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/tools/networking/rdap/default.nix diff --git a/pkgs/tools/networking/rdap/default.nix b/pkgs/tools/networking/rdap/default.nix new file mode 100644 index 000000000000..22966d7afaea --- /dev/null +++ b/pkgs/tools/networking/rdap/default.nix @@ -0,0 +1,25 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "rdap"; + version = "2019-10-17"; + vendorSha256 = "sha256-j7sE62NqbN8UrU1mM9WYGYu/tkqw56sNKQ125QQXAmo="; + + src = fetchFromGitHub { + owner = "openrdap"; + repo = "rdap"; + rev = "af93e7ef17b78dee3e346814731377d5ef7b89f3"; + sha256 = "sha256-7MR4izJommdvxDZSRxguwqJWu6KXw/X73RJxSmUD7oQ="; + }; + + doCheck = false; + + ldflags = [ "-s" "-w" "-X \"github.com/openrdap/rdap.version=OpenRDAP ${version}\"" ]; + + meta = with lib; { + homepage = "https://www.openrdap.org/"; + description = "Command line client for the Registration Data Access Protocol (RDAP)"; + license = licenses.mit; + maintainers = with maintainers; [ sebastianblunt ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5136144c1b77..fbcef04003e0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9315,6 +9315,8 @@ with pkgs; rcon = callPackage ../tools/networking/rcon { }; + rdap = callPackage ../tools/networking/rdap { }; + rdbtools = callPackage ../development/tools/rdbtools { python = python3; }; rdma-core = callPackage ../os-specific/linux/rdma-core { }; From 31077c914842426bdfd7440d2e97a07c0703b293 Mon Sep 17 00:00:00 2001 From: Jure Varlec Date: Thu, 24 Feb 2022 12:26:35 +0100 Subject: [PATCH 43/53] linuxPackages.rtl88x2bu: switch to the new, maintained repo The new repo has the same maintainer and is the continuation of the repo used prior to this commit. Closes #147053 --- pkgs/os-specific/linux/rtl88x2bu/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/rtl88x2bu/default.nix b/pkgs/os-specific/linux/rtl88x2bu/default.nix index 310dac3933f1..31d8f50a5288 100644 --- a/pkgs/os-specific/linux/rtl88x2bu/default.nix +++ b/pkgs/os-specific/linux/rtl88x2bu/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "rtl88x2bu"; - version = "${kernel.version}-unstable-2021-11-04"; + version = "${kernel.version}-unstable-2022-02-22"; src = fetchFromGitHub { owner = "morrownr"; - repo = "88x2bu"; - rev = "745d134080b74b92389ffe59c03dcfd6658f8655"; - sha256 = "0f1hsfdw3ar78kqzr4hi04kpp5wnx0hd29f9rm698k0drxaw1g44"; + repo = "88x2bu-20210702"; + rev = "6a5b7f005c071ffa179b6183ee034c98ed30db80"; + sha256 = "sha256-BqTyJpICW3D4EfHHoN5svasteJnunu2Uz449u/CmNE0="; }; hardeningDisable = [ "pic" ]; @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Realtek rtl88x2bu driver"; - homepage = "https://github.com/morrownr/88x2bu"; + homepage = "https://github.com/morrownr/88x2bu-20210702"; license = licenses.gpl2Only; platforms = platforms.linux; maintainers = [ maintainers.ralith ]; From e556e61a551c79f99ba19dcb206c87caa1e2a432 Mon Sep 17 00:00:00 2001 From: Claudius Holeksa Date: Sun, 20 Feb 2022 15:17:53 +0100 Subject: [PATCH 44/53] midimonster: init at 0.6.0 --- maintainers/maintainer-list.nix | 6 +++ pkgs/tools/audio/midimonster/default.nix | 57 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 65 insertions(+) create mode 100644 pkgs/tools/audio/midimonster/default.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index fadc882f81f9..e803c5ceb4d3 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6350,6 +6350,12 @@ githubId = 37185887; name = "Calvin Kim"; }; + keldu = { + email = "mail@keldu.de"; + github = "keldu"; + githubId = 15373888; + name = "Claudius Holeksa"; + }; kennyballou = { email = "kb@devnulllabs.io"; github = "kennyballou"; diff --git a/pkgs/tools/audio/midimonster/default.nix b/pkgs/tools/audio/midimonster/default.nix new file mode 100644 index 000000000000..3792d997aa00 --- /dev/null +++ b/pkgs/tools/audio/midimonster/default.nix @@ -0,0 +1,57 @@ +{ lib +, stdenv +, fetchurl +, zlib +, fetchFromGitHub +, gnumake +, gcc +, pkg-config +, lua5_4 +, openssl +, jack1 +, python3 +, alsa-lib +, ncurses +, libevdev +}: + +stdenv.mkDerivation rec { + pname = "midimonster"; + version = "0.6.0"; + + buildInputs = [pkg-config gnumake gcc lua5_4 openssl jack1 python3 alsa-lib ncurses libevdev]; + + src = fetchFromGitHub { + repo = "midimonster"; + owner = "cbdevnet"; + rev = "f16f7db86662fcdbf45b6373257c90c824b0b4b0"; + sha256 = "131zs4j9asq9xl72cbyi463xpkj064ca1s7i77q5jrwqysgy52sp"; +}; + + doCheck = true; + enableParallelBuilding = true; + + outputs = ["out" "man"]; + + buildPhase = '' + PLUGINS=$out/lib/midimonster make all + ''; + + installPhase = '' + PREFIX=$out make install + + mkdir -p "$man/share/man/man1" + cp assets/midimonster.1 "$man/share/man/man1" + + mkdir -p "$out/share/icons/hicolor/scalable/apps" + cp assets/MIDIMonster.svg "$out/share/icons/hicolor/scalable/apps/" + ''; + + meta = with lib; { + homepage = "https://midimonster.net"; + description = "Multi-protocol translation tool"; + license = licenses.bsd2; + platforms = platforms.unix; + maintainers = with maintainers; [keldu]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fbcef04003e0..2e5feed24382 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1077,6 +1077,8 @@ with pkgs; metapixel = callPackage ../tools/graphics/metapixel { }; + midimonster = callPackage ../tools/audio/midimonster { }; + pferd = callPackage ../tools/misc/pferd {}; qFlipper = libsForQt515.callPackage ../tools/misc/qflipper { }; From ccb1851610cb0d0ffc463fc6ebf0c6591f957f4c Mon Sep 17 00:00:00 2001 From: x10an14 Date: Thu, 17 Feb 2022 13:01:47 +0100 Subject: [PATCH 45/53] signal-desktop: Add xdg-utils/bin to PATH Since: 1. clicking on links doesn't open tab/window in default browser (tested on Sway), 2. it's got a hard-coded $PATH reference to `xdg-open` somewhere in binary (see below). When `signal-desktop` is invoked in a terminal, the output below appears each time a link is clicked on in-app: ``` (...) LaunchProcess: failed to execvp: xdg-open ``` --- .../networking/instant-messengers/signal-desktop/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index 9cc4e057995b..6d1bb0af147f 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -4,7 +4,7 @@ , libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsa-lib , cups, expat, libuuid, at-spi2-core, libappindicator-gtk3, mesa # Runtime dependencies: -, systemd, libnotify, libdbusmenu, libpulseaudio +, systemd, libnotify, libdbusmenu, libpulseaudio, xdg-utils # Unfortunately this also overwrites the UI language (not just the spell # checking language!): , hunspellDicts, spellcheckerLanguage ? null # E.g. "de_DE" @@ -84,6 +84,7 @@ in stdenv.mkDerivation rec { (lib.getLib systemd) libnotify libdbusmenu + xdg-utils ]; unpackPhase = "dpkg-deb -x $src ."; @@ -123,6 +124,7 @@ in stdenv.mkDerivation rec { --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc ] }" ${customLanguageWrapperArgs} --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}" + --suffix PATH : ${lib.makeBinPath [ xdg-utils ]} ) # Fix the desktop link From da882cddccc10149c4bdbff5fbb0e1f5fc926f79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20Kne=C5=BEevi=C4=87?= Date: Fri, 4 Mar 2022 17:01:20 +0100 Subject: [PATCH 46/53] arrow-cpp: libnsl is not necessary for building (#162757) libnsl dependency was preventing building arrow-cpp on darwin. arrow-cpp builds on darwin without issues outside of nix. The official instructions at https://arrow.apache.org/docs/developers/cpp/building.html do not mention libnsl as a dependency. Thus, this change removes libnsl from both darwin and linux platforms. --- pkgs/development/libraries/arrow-cpp/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix index 274a35c6ccfb..806df81a7080 100644 --- a/pkgs/development/libraries/arrow-cpp/default.nix +++ b/pkgs/development/libraries/arrow-cpp/default.nix @@ -19,7 +19,6 @@ , grpc , gtest , jemalloc -, libnsl , lz4 , minio , ninja @@ -39,7 +38,7 @@ , zlib , zstd , enableShared ? !stdenv.hostPlatform.isStatic -, enableFlight ? !stdenv.isDarwin # libnsl is not supported on darwin +, enableFlight ? true , enableJemalloc ? !(stdenv.isAarch64 && stdenv.isDarwin) # boost/process is broken in 1.69 on darwin, but fixed in 1.70 and # non-existent in older versions @@ -129,7 +128,6 @@ stdenv.mkDerivation rec { python3.pkgs.numpy ] ++ lib.optionals enableFlight [ grpc - libnsl openssl protobuf ] ++ lib.optionals enableS3 [ aws-sdk-cpp openssl ] From 086e8066f5b403515b9253492f0770c2148df7ea Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 4 Mar 2022 14:56:44 +0000 Subject: [PATCH 47/53] pythia: 8.306 -> 8.307 --- pkgs/development/libraries/physics/pythia/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/physics/pythia/default.nix b/pkgs/development/libraries/physics/pythia/default.nix index 03b298908bb0..d33beb665998 100644 --- a/pkgs/development/libraries/physics/pythia/default.nix +++ b/pkgs/development/libraries/physics/pythia/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "pythia"; - version = "8.306"; + version = "8.307"; src = fetchurl { url = "https://pythia.org/download/pythia83/pythia${builtins.replaceStrings ["."] [""] version}.tgz"; - sha256 = "sha256-c0gDtyKxwbU8jPLw08MHR8gPwt3l4LoUG8k5fa03qPY="; + sha256 = "sha256-5bFNRKpZQzMuMt1d2poY/dGgCFxxmOKNhA4EFn+mAT0="; }; nativeBuildInputs = [ rsync ]; From f51f02bb8a6b0435967e9cd875df56f8fe9d047d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 4 Mar 2022 16:10:04 +0000 Subject: [PATCH 48/53] python310Packages.APScheduler: 3.9.0.post1 -> 3.9.1 --- pkgs/development/python-modules/APScheduler/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/APScheduler/default.nix b/pkgs/development/python-modules/APScheduler/default.nix index 9ba564fcaac5..b6f79b6c5fc6 100644 --- a/pkgs/development/python-modules/APScheduler/default.nix +++ b/pkgs/development/python-modules/APScheduler/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "apscheduler"; - version = "3.9.0.post1"; + version = "3.9.1"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -26,7 +26,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "APScheduler"; inherit version; - hash = "sha256-I22/ckQgD/x5xsC5/30u0Q5+mF839I1KI/QUL0ln3LU="; + hash = "sha256-ZeZXS2OVSY03HQRfKop+T31Qxq0h73MT0VscfPIN8eM="; }; buildInputs = [ From 937e804f18c1cf78f9cc3294d91ef7e1a3ef26fa Mon Sep 17 00:00:00 2001 From: Luflosi Date: Fri, 4 Mar 2022 14:54:50 +0100 Subject: [PATCH 49/53] furo: 2022.2.23 -> 2022.3.4 https://github.com/pradyunsg/furo/releases/tag/2022.03.04 --- pkgs/development/python-modules/furo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/furo/default.nix b/pkgs/development/python-modules/furo/default.nix index ab196d23c2d6..615bf3ebe9c0 100644 --- a/pkgs/development/python-modules/furo/default.nix +++ b/pkgs/development/python-modules/furo/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "furo"; - version = "2022.2.23"; + version = "2022.3.4"; format = "wheel"; disable = pythonOlder "3.6"; @@ -16,7 +16,7 @@ buildPythonPackage rec { inherit pname version format; dist = "py3"; python = "py3"; - sha256 = "sha256-v+1OagURq3uvIRsxlbhRkUvxGnLlkH4HOx3pKW3jkfY="; + sha256 = "sha256-bHGCk+v4d1XwufFIseaXyeOqvXr5VWRNS8ruXOddt4E="; }; propagatedBuildInputs = [ From b2ce01a6fac1749267aee5ea8174b3a5db309c7c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 4 Mar 2022 16:00:18 +0000 Subject: [PATCH 50/53] python39Packages.awkward: 1.7.0 -> 1.8.0 --- pkgs/development/python-modules/awkward/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix index f1152da2d1d4..2b3b1e4ce8c1 100644 --- a/pkgs/development/python-modules/awkward/default.nix +++ b/pkgs/development/python-modules/awkward/default.nix @@ -11,11 +11,11 @@ buildPythonPackage rec { pname = "awkward"; - version = "1.7.0"; + version = "1.8.0"; src = fetchPypi { inherit pname version; - sha256 = "e4e642dfe496d2acb245c90e37dc18028e25d5e936421e7371ea6ba0fde6435a"; + sha256 = "sha256-ZlX6ItGx0dy5zO4NUCNQq5DFNGehC1QLdiRCK1lNLnI="; }; nativeBuildInputs = [ cmake ]; From ecfafd9ddf335191303410881cdd51ab69ac3507 Mon Sep 17 00:00:00 2001 From: Guillaume Girol Date: Tue, 1 Mar 2022 12:00:00 +0000 Subject: [PATCH 51/53] ocamlPackage.ppx_deriving: fix build with ocaml 4.07 --- pkgs/development/ocaml-modules/ppx_deriving/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/pkgs/development/ocaml-modules/ppx_deriving/default.nix index 090c8113ce48..fbe484dea044 100644 --- a/pkgs/development/ocaml-modules/ppx_deriving/default.nix +++ b/pkgs/development/ocaml-modules/ppx_deriving/default.nix @@ -5,6 +5,7 @@ , ppxlib , ppx_derivers , result +, ounit , ounit2 , ocaml-migrate-parsetree , ocaml-migrate-parsetree-2 @@ -51,7 +52,9 @@ buildDunePackage rec { ]; doCheck = true; - checkInputs = [ ounit2 ]; + checkInputs = [ + (if lib.versionAtLeast version "5.2" then ounit2 else ounit) + ]; meta = with lib; { description = "deriving is a library simplifying type-driven code generation on OCaml >=4.02."; From d486e2504ba70ea498bd9e8ea71bb0b638b1dd7c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 3 Mar 2022 08:24:35 +0000 Subject: [PATCH 52/53] python310Packages.pg8000: 1.24.0 -> 1.24.1 --- pkgs/development/python-modules/pg8000/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pg8000/default.nix b/pkgs/development/python-modules/pg8000/default.nix index 57c9f77f1fed..8653c28c878d 100644 --- a/pkgs/development/python-modules/pg8000/default.nix +++ b/pkgs/development/python-modules/pg8000/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "pg8000"; - version = "1.24.0"; + version = "1.24.1"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-BsawsGjQfONm97ztrfdqC12mph+GMCyMr/aQt/xd/ts="; + sha256 = "sha256-KRIixd39ZqP8DTIXAM9ZHIsPkw0vyEh3fWz8/1VEPOY="; }; propagatedBuildInputs = [ From fbf2e10a0d1ef929bfa37c1495fecd38bf890a2d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 4 Mar 2022 17:26:15 +0000 Subject: [PATCH 53/53] python39Packages.djangorestframework-simplejwt: 5.0.0 -> 5.1.0 --- .../python-modules/djangorestframework-simplejwt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix index 4c616bdeb274..d84a542d0bba 100644 --- a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix +++ b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix @@ -10,12 +10,12 @@ buildPythonPackage rec { pname = "djangorestframework-simplejwt"; - version = "5.0.0"; + version = "5.1.0"; src = fetchPypi { pname = "djangorestframework_simplejwt"; inherit version; - sha256 = "30b10e7732395c44d21980f773214d2b9bdeadf2a6c6809cd1a7c9abe272873c"; + sha256 = "sha256-dTI1KKe5EIQ7h5GUdG8OvDSBxK2fNU3i3RYhYGYvuVo="; }; nativeBuildInputs = [