@fails-components/webtransport 0.0.1-rc.0 → 0.0.1-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish-packages.yml +0 -0
- package/CMakeLists.txt +2 -0
- package/package.json +1 -1
- package/readme.md +0 -0
- package/src/http3serversession.h +1 -1
- package/src/webtransport.js +4 -2
- package/third_party/boringssl/src/CMakeLists.txt +9 -12
- package/third_party/boringssl/src/crypto/CMakeLists.txt +2 -3
- package/third_party/boringssl/src/crypto/asn1/time_support.c +206 -206
- package/third_party/boringssl/src/crypto/bio/socket_helper.c +124 -122
- package/third_party/boringssl/src/crypto/evp/digestsign.c +268 -231
- package/third_party/boringssl/src/crypto/evp/p_ec.c +286 -286
- package/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.c +246 -236
- package/third_party/boringssl/src/crypto/fipsmodule/aes/mode_wrappers.c +124 -122
- package/third_party/boringssl/src/crypto/fipsmodule/bcm.c +3 -0
- package/third_party/boringssl/src/crypto/fipsmodule/bn/bytes.c +246 -230
- package/third_party/boringssl/src/crypto/fipsmodule/bn/internal.h +734 -715
- package/third_party/boringssl/src/crypto/fipsmodule/bn/random.c +349 -341
- package/third_party/boringssl/src/crypto/fipsmodule/cipher/cipher.c +670 -648
- package/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c +1504 -1472
- package/third_party/boringssl/src/crypto/{cipher_extra → fipsmodule/cipher}/e_aesccm.c +435 -446
- package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_3des_cmac_tests.txt +0 -0
- package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_aes128_cmac_tests.txt +0 -0
- package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_aes192_cmac_tests.txt +0 -0
- package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_aes256_cmac_tests.txt +0 -0
- package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cmac.c +318 -278
- package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cmac_test.cc +268 -267
- package/third_party/boringssl/src/crypto/fipsmodule/dh/dh.c +5 -1
- package/third_party/boringssl/src/crypto/fipsmodule/ec/ec.c +11 -17
- package/third_party/boringssl/src/crypto/fipsmodule/ec/ec_key.c +15 -4
- package/third_party/boringssl/src/crypto/fipsmodule/ec/internal.h +2 -6
- package/third_party/boringssl/src/crypto/fipsmodule/ec/p224-64.c +1164 -1180
- package/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz.c +3 -3
- package/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz_test.cc +2 -2
- package/third_party/boringssl/src/crypto/fipsmodule/ec/p256.c +44 -33
- package/third_party/boringssl/src/crypto/fipsmodule/ec/scalar.c +169 -175
- package/third_party/boringssl/src/crypto/fipsmodule/ec/simple.c +352 -357
- package/third_party/boringssl/src/crypto/fipsmodule/ecdh/ecdh.c +4 -0
- package/third_party/boringssl/src/crypto/fipsmodule/ecdsa/ecdsa.c +14 -9
- package/third_party/boringssl/src/crypto/fipsmodule/hmac/hmac.c +256 -235
- package/third_party/boringssl/src/crypto/fipsmodule/rand/ctrdrbg.c +204 -202
- package/third_party/boringssl/src/crypto/fipsmodule/rsa/padding.c +702 -695
- package/third_party/boringssl/src/crypto/fipsmodule/rsa/rsa_impl.c +7 -2
- package/third_party/boringssl/src/crypto/fipsmodule/self_check/self_check.c +7 -0
- package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/internal.h +89 -0
- package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator.c +333 -0
- package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator_test.cc +2410 -0
- package/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c +359 -357
- package/third_party/boringssl/src/crypto/fipsmodule/sha/sha256.c +325 -321
- package/third_party/boringssl/src/crypto/fipsmodule/sha/sha512.c +510 -508
- package/third_party/boringssl/src/crypto/fipsmodule/tls/kdf.c +177 -165
- package/third_party/boringssl/src/crypto/internal.h +13 -0
- package/third_party/boringssl/src/crypto/trust_token/trust_token_test.cc +884 -884
- package/third_party/boringssl/src/crypto/x509/internal.h +0 -2
- package/third_party/boringssl/src/crypto/x509/t_crl.c +148 -148
- package/third_party/boringssl/src/crypto/x509/t_req.c +249 -250
- package/third_party/boringssl/src/crypto/x509/t_x509.c +2 -3
- package/third_party/boringssl/src/crypto/x509/x509_req.c +262 -304
- package/third_party/boringssl/src/crypto/x509/x509_set.c +250 -240
- package/third_party/boringssl/src/crypto/x509/x509_test.cc +466 -4
- package/third_party/boringssl/src/crypto/x509/x509cset.c +292 -279
- package/third_party/boringssl/src/crypto/x509/x509rset.c +89 -86
- package/third_party/boringssl/src/crypto/x509/x_crl.c +37 -125
- package/third_party/boringssl/src/crypto/x509/x_req.c +114 -109
- package/third_party/boringssl/src/crypto/x509/x_x509.c +394 -394
- package/third_party/boringssl/src/crypto/x509v3/v3_akey.c +11 -16
- package/third_party/boringssl/src/crypto/x509v3/v3_alt.c +644 -642
- package/third_party/boringssl/src/crypto/x509v3/v3_bcons.c +130 -133
- package/third_party/boringssl/src/crypto/x509v3/v3_bitst.c +149 -144
- package/third_party/boringssl/src/crypto/x509v3/v3_cpols.c +496 -500
- package/third_party/boringssl/src/crypto/x509v3/v3_enum.c +105 -106
- package/third_party/boringssl/src/crypto/x509v3/v3_ia5.c +126 -121
- package/third_party/boringssl/src/crypto/x509v3/v3_info.c +206 -218
- package/third_party/boringssl/src/crypto/x509v3/v3_int.c +97 -91
- package/third_party/boringssl/src/crypto/x509v3/v3_pci.c +290 -289
- package/third_party/boringssl/src/crypto/x509v3/v3_skey.c +161 -156
- package/third_party/boringssl/src/crypto/x509v3/v3_utl.c +5 -3
- package/third_party/boringssl/src/include/openssl/aead.h +480 -480
- package/third_party/boringssl/src/include/openssl/asn1.h +2 -0
- package/third_party/boringssl/src/include/openssl/base.h +1 -1
- package/third_party/boringssl/src/include/openssl/service_indicator.h +96 -0
- package/third_party/boringssl/src/include/openssl/ssl.h +7 -0
- package/third_party/boringssl/src/include/openssl/x509.h +11 -33
- package/third_party/boringssl/src/include/openssl/x509v3.h +990 -1018
- package/third_party/boringssl/src/sources.cmake +4 -4
- package/third_party/boringssl/src/ssl/internal.h +10 -0
- package/third_party/boringssl/src/ssl/ssl_lib.cc +3081 -3072
- package/third_party/boringssl/src/ssl/ssl_test.cc +46 -0
- package/third_party/boringssl/src/ssl/tls13_server.cc +4 -6
- package/third_party/boringssl/src/util/bot/DEPS +14 -27
- package/third_party/boringssl/src/util/bot/UPDATING +3 -9
- package/third_party/boringssl/src/util/bot/update_clang.py +172 -172
- package/third_party/boringssl/src/util/bot/vs_toolchain.py +3 -3
- package/third_party/quiche/.bazelrc +8 -0
- package/third_party/quiche/BUILD.bazel +7 -0
- package/third_party/quiche/WHITESPACE +3 -1
- package/third_party/quiche/WORKSPACE.bazel +87 -0
- package/third_party/quiche/build/BUILD.bazel +7 -0
- package/third_party/quiche/build/source_list.bzl +1511 -0
- package/third_party/quiche/build/source_list.gni +1511 -0
- package/third_party/quiche/build/source_list.json +1511 -0
- package/third_party/quiche/build/test.bzl +26 -0
- package/third_party/quiche/build/zlib.BUILD +25 -0
- package/third_party/quiche/quiche/BUILD.bazel +270 -0
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_enums.cc +3 -3
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_enums.h +7 -7
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_frame.cc +39 -18
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_frame.h +11 -10
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_frame_test.cc +67 -63
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_headers.cc +13 -12
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_headers.h +16 -8
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_headers_test.cc +9 -9
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_visitor_interface.h +4 -4
- package/third_party/quiche/quiche/{common/balsa → balsa}/framer_interface.h +3 -3
- package/third_party/quiche/quiche/{common/balsa → balsa}/header_api.h +3 -3
- package/third_party/quiche/quiche/{common/balsa → balsa}/header_properties.cc +1 -1
- package/third_party/quiche/quiche/{common/balsa → balsa}/header_properties.h +3 -3
- package/third_party/quiche/quiche/{common/balsa → balsa}/header_properties_test.cc +1 -1
- package/third_party/quiche/quiche/{common/balsa → balsa}/http_validation_policy.cc +1 -1
- package/third_party/quiche/quiche/{common/balsa → balsa}/http_validation_policy.h +3 -3
- package/third_party/quiche/quiche/{common/balsa → balsa}/noop_balsa_visitor.h +4 -4
- package/third_party/quiche/quiche/{common/balsa → balsa}/simple_buffer.cc +22 -29
- package/third_party/quiche/quiche/{common/balsa → balsa}/simple_buffer.h +18 -16
- package/third_party/quiche/quiche/{common/balsa → balsa}/simple_buffer_test.cc +79 -32
- package/third_party/quiche/quiche/{common/balsa → balsa}/standard_header_map.cc +1 -1
- package/third_party/quiche/quiche/{common/balsa → balsa}/standard_header_map.h +3 -3
- package/third_party/quiche/quiche/common/platform/api/quiche_command_line_flags.h +6 -1
- package/third_party/quiche/quiche/common/platform/api/quiche_flags.h +8 -0
- package/third_party/quiche/quiche/common/platform/api/quiche_logging.h +0 -3
- package/third_party/quiche/quiche/common/platform/api/quiche_lower_case_string_test.cc +29 -0
- package/third_party/quiche/quiche/common/platform/api/quiche_test.h +5 -7
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quic_flags_impl.h +1 -1
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_bug_tracker_impl.h +3 -2
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_command_line_flags_impl.cc +41 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_command_line_flags_impl.h +33 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_expect_bug_impl.h +15 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h +84 -50
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_lower_case_string_impl.h +25 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_stack_trace_impl.cc +1 -1
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.cc +25 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.h +56 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_output_impl.h +27 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_thread_impl.h +26 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_url_utils_impl.cc +1 -0
- package/third_party/quiche/quiche/common/quiche_buffer_allocator_test.cc +1 -1
- package/third_party/quiche/quiche/common/quiche_mem_slice_storage.h +2 -3
- package/third_party/quiche/quiche/common/structured_headers.cc +14 -12
- package/third_party/quiche/quiche/http2/adapter/event_forwarder.cc +7 -5
- package/third_party/quiche/quiche/http2/adapter/event_forwarder.h +4 -2
- package/third_party/quiche/quiche/http2/adapter/event_forwarder_test.cc +14 -9
- package/third_party/quiche/quiche/http2/adapter/header_validator.cc +43 -19
- package/third_party/quiche/quiche/http2/adapter/header_validator.h +11 -40
- package/third_party/quiche/quiche/http2/adapter/header_validator_base.h +69 -0
- package/third_party/quiche/quiche/http2/adapter/header_validator_test.cc +73 -1
- package/third_party/quiche/quiche/http2/adapter/nghttp2_adapter_test.cc +66 -0
- package/third_party/quiche/quiche/http2/adapter/nghttp2_session_test.cc +8 -5
- package/third_party/quiche/quiche/http2/adapter/nghttp2_test.cc +1 -1
- package/third_party/quiche/quiche/http2/adapter/noop_header_validator.cc +22 -0
- package/third_party/quiche/quiche/http2/adapter/noop_header_validator.h +25 -0
- package/third_party/quiche/quiche/http2/adapter/noop_header_validator_test.cc +523 -0
- package/third_party/quiche/quiche/http2/adapter/oghttp2_adapter_test.cc +186 -5
- package/third_party/quiche/quiche/http2/adapter/oghttp2_session.cc +37 -43
- package/third_party/quiche/quiche/http2/adapter/oghttp2_session.h +22 -23
- package/third_party/quiche/quiche/http2/adapter/test_utils.cc +1 -1
- package/third_party/quiche/quiche/http2/adapter/window_manager_test.cc +11 -5
- package/third_party/quiche/quiche/http2/core/http2_trace_logging.cc +13 -11
- package/third_party/quiche/quiche/http2/core/http2_trace_logging.h +5 -4
- package/third_party/quiche/quiche/http2/core/priority_write_scheduler.h +42 -36
- package/third_party/quiche/quiche/http2/core/priority_write_scheduler_test.cc +2 -2
- package/third_party/quiche/quiche/http2/decoder/decode_buffer_test.cc +9 -9
- package/third_party/quiche/quiche/http2/decoder/decode_http2_structures_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/http2_frame_decoder_test.cc +14 -14
- package/third_party/quiche/quiche/http2/decoder/http2_structure_decoder_test.cc +17 -17
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/altsvc_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/continuation_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/data_payload_decoder_test.cc +2 -2
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/goaway_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/headers_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/ping_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/priority_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/priority_update_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/push_promise_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/rst_stream_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/settings_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/unknown_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/window_update_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_block_decoder_test.cc +2 -2
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc +8 -8
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc +4 -3
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_tables_test.cc +17 -17
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_test.cc +25 -25
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_entry_decoder_test.cc +2 -2
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_entry_type_decoder_test.cc +7 -6
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_string_decoder_test.cc +6 -6
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_whole_entry_buffer_test.cc +1 -1
- package/third_party/quiche/quiche/http2/hpack/huffman/hpack_huffman_decoder_test.cc +2 -2
- package/third_party/quiche/quiche/http2/hpack/huffman/hpack_huffman_encoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/hpack/huffman/hpack_huffman_transcoder_test.cc +5 -5
- package/third_party/quiche/quiche/http2/hpack/varint/hpack_varint_decoder_test.cc +4 -4
- package/third_party/quiche/quiche/http2/hpack/varint/hpack_varint_round_trip_test.cc +1 -1
- package/third_party/quiche/quiche/http2/http2_constants_test.cc +1 -1
- package/third_party/quiche/quiche/http2/http2_structures_test.cc +23 -22
- package/third_party/quiche/quiche/http2/test_tools/frame_decoder_state_test_util.cc +1 -1
- package/third_party/quiche/quiche/http2/test_tools/frame_decoder_state_test_util.h +1 -1
- package/third_party/quiche/quiche/http2/test_tools/frame_parts.cc +38 -38
- package/third_party/quiche/quiche/http2/test_tools/hpack_block_collector.cc +15 -15
- package/third_party/quiche/quiche/http2/test_tools/hpack_entry_collector.cc +24 -22
- package/third_party/quiche/quiche/http2/test_tools/hpack_string_collector.cc +5 -5
- package/third_party/quiche/quiche/http2/test_tools/http2_frame_builder_test.cc +70 -89
- package/third_party/quiche/quiche/http2/test_tools/payload_decoder_base_test_util.cc +1 -1
- package/third_party/quiche/quiche/http2/test_tools/payload_decoder_base_test_util.h +29 -26
- package/third_party/quiche/quiche/http2/test_tools/{random_decoder_test.cc → random_decoder_test_base.cc} +13 -10
- package/third_party/quiche/quiche/http2/test_tools/{random_decoder_test.h → random_decoder_test_base.h} +15 -17
- package/third_party/quiche/quiche/http2/test_tools/{random_decoder_test_test.cc → random_decoder_test_base_test.cc} +1 -1
- package/third_party/quiche/quiche/http2/test_tools/verify_macros.h +32 -0
- package/third_party/quiche/quiche/quic/core/congestion_control/bbr2_sender.cc +2 -1
- package/third_party/quiche/quiche/quic/core/congestion_control/bbr2_simulator_test.cc +3 -2
- package/third_party/quiche/quiche/quic/core/congestion_control/bbr_sender_test.cc +3 -2
- package/third_party/quiche/quiche/quic/core/congestion_control/rtt_stats.cc +3 -2
- package/third_party/quiche/quiche/quic/core/congestion_control/rtt_stats.h +2 -1
- package/third_party/quiche/quiche/quic/core/congestion_control/rtt_stats_test.cc +2 -13
- package/third_party/quiche/quiche/quic/core/crypto/certificate_view.cc +15 -0
- package/third_party/quiche/quiche/quic/core/crypto/certificate_view.h +7 -0
- package/third_party/quiche/quiche/quic/core/crypto/certificate_view_test.cc +16 -0
- package/third_party/quiche/quiche/quic/core/crypto/crypto_protocol.h +1 -0
- package/third_party/quiche/quiche/quic/core/crypto/proof_source.h +2 -2
- package/third_party/quiche/quiche/quic/core/crypto/proof_source_x509.cc +3 -5
- package/third_party/quiche/quiche/quic/core/crypto/proof_source_x509.h +1 -2
- package/third_party/quiche/quiche/quic/core/crypto/quic_crypto_server_config.cc +1 -1
- package/third_party/quiche/quiche/quic/core/crypto/quic_crypto_server_config.h +3 -3
- package/third_party/quiche/quiche/quic/core/frames/quic_blocked_frame.cc +2 -8
- package/third_party/quiche/quiche/quic/core/frames/quic_blocked_frame.h +0 -1
- package/third_party/quiche/quiche/quic/core/frames/quic_crypto_frame.h +2 -0
- package/third_party/quiche/quiche/quic/core/frames/quic_frames_test.cc +2 -1
- package/third_party/quiche/quiche/quic/core/http/capsule.cc +2 -22
- package/third_party/quiche/quiche/quic/core/http/capsule.h +0 -2
- package/third_party/quiche/quiche/quic/core/http/capsule_test.cc +1 -2
- package/third_party/quiche/quiche/quic/core/http/end_to_end_test.cc +148 -57
- package/third_party/quiche/quiche/quic/core/http/http_constants.cc +1 -1
- package/third_party/quiche/quiche/quic/core/http/http_constants.h +2 -2
- package/third_party/quiche/quiche/quic/core/http/quic_header_list_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/http/quic_headers_stream_test.cc +18 -14
- package/third_party/quiche/quiche/quic/core/http/quic_send_control_stream.h +2 -1
- package/third_party/quiche/quiche/quic/core/http/quic_send_control_stream_test.cc +3 -7
- package/third_party/quiche/quiche/quic/core/http/quic_server_session_base.h +4 -0
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_session.cc +47 -65
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_session.h +5 -17
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_session_test.cc +63 -54
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.cc +34 -91
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.h +1 -9
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream_test.cc +27 -134
- package/third_party/quiche/quiche/quic/core/http/spdy_utils.cc +0 -41
- package/third_party/quiche/quiche/quic/core/http/spdy_utils.h +0 -9
- package/third_party/quiche/quiche/quic/core/http/spdy_utils_test.cc +0 -32
- package/third_party/quiche/quiche/quic/core/http/web_transport_http3.cc +0 -1
- package/third_party/quiche/quiche/quic/core/packet_number_indexed_queue_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/qpack/qpack_header_table.cc +2 -1
- package/third_party/quiche/quiche/quic/core/qpack/qpack_send_stream.h +2 -1
- package/third_party/quiche/quiche/quic/core/quic_arena_scoped_ptr_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_connection.cc +68 -46
- package/third_party/quiche/quiche/quic/core/quic_connection.h +7 -6
- package/third_party/quiche/quiche/quic/core/quic_connection_context_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_connection_id_manager_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_connection_id_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_connection_test.cc +45 -132
- package/third_party/quiche/quiche/quic/core/quic_constants.h +0 -7
- package/third_party/quiche/quiche/quic/core/quic_control_frame_manager.cc +11 -3
- package/third_party/quiche/quiche/quic/core/quic_control_frame_manager.h +1 -1
- package/third_party/quiche/quiche/quic/core/quic_control_frame_manager_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_crypto_client_handshaker.cc +13 -1
- package/third_party/quiche/quiche/quic/core/quic_crypto_client_handshaker.h +3 -0
- package/third_party/quiche/quiche/quic/core/quic_crypto_client_handshaker_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_crypto_client_stream.cc +6 -0
- package/third_party/quiche/quiche/quic/core/quic_crypto_client_stream.h +8 -0
- package/third_party/quiche/quiche/quic/core/quic_crypto_server_stream.cc +26 -13
- package/third_party/quiche/quiche/quic/core/quic_crypto_server_stream.h +5 -2
- package/third_party/quiche/quiche/quic/core/quic_crypto_stream.cc +55 -47
- package/third_party/quiche/quiche/quic/core/quic_crypto_stream.h +15 -10
- package/third_party/quiche/quiche/quic/core/quic_crypto_stream_test.cc +34 -5
- package/third_party/quiche/quiche/quic/core/quic_dispatcher.cc +20 -11
- package/third_party/quiche/quiche/quic/core/quic_dispatcher_test.cc +37 -13
- package/third_party/quiche/quiche/quic/core/quic_flags_list.h +6 -10
- package/third_party/quiche/quiche/quic/core/quic_flow_controller.cc +3 -3
- package/third_party/quiche/quiche/quic/core/quic_flow_controller.h +2 -2
- package/third_party/quiche/quiche/quic/core/quic_flow_controller_test.cc +15 -10
- package/third_party/quiche/quiche/quic/core/quic_framer.cc +1 -1
- package/third_party/quiche/quiche/quic/core/quic_one_block_arena.h +3 -2
- package/third_party/quiche/quiche/quic/core/quic_one_block_arena_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_packet_creator.cc +3 -11
- package/third_party/quiche/quiche/quic/core/quic_packet_creator.h +0 -8
- package/third_party/quiche/quiche/quic/core/quic_ping_manager.cc +14 -14
- package/third_party/quiche/quiche/quic/core/quic_ping_manager_test.cc +48 -0
- package/third_party/quiche/quiche/quic/core/quic_received_packet_manager.cc +3 -18
- package/third_party/quiche/quiche/quic/core/quic_received_packet_manager_test.cc +4 -14
- package/third_party/quiche/quiche/quic/core/quic_server_id_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_session.cc +4 -4
- package/third_party/quiche/quiche/quic/core/quic_session.h +1 -1
- package/third_party/quiche/quiche/quic/core/quic_session_test.cc +21 -1
- package/third_party/quiche/quiche/quic/core/quic_stream.cc +4 -7
- package/third_party/quiche/quiche/quic/core/quic_stream_test.cc +2 -4
- package/third_party/quiche/quiche/quic/core/quic_trace_visitor_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_types.h +3 -8
- package/third_party/quiche/quiche/quic/core/quic_udp_socket_posix.cc +5 -4
- package/third_party/quiche/quiche/quic/core/quic_unacked_packet_map_test.cc +1 -1
- package/third_party/quiche/quiche/quic/core/quic_utils.cc +1 -1
- package/third_party/quiche/quiche/quic/core/quic_utils.h +2 -2
- package/third_party/quiche/quiche/quic/core/quic_versions_test.cc +0 -1
- package/third_party/quiche/quiche/quic/core/tls_client_handshaker.cc +13 -0
- package/third_party/quiche/quiche/quic/core/tls_client_handshaker.h +2 -0
- package/third_party/quiche/quiche/quic/core/tls_server_handshaker.cc +17 -3
- package/third_party/quiche/quiche/quic/core/tls_server_handshaker.h +3 -1
- package/third_party/quiche/quiche/quic/core/uber_received_packet_manager_test.cc +18 -10
- package/third_party/quiche/quiche/quic/masque/masque_client_bin.cc +6 -4
- package/third_party/quiche/quiche/quic/masque/masque_client_session.cc +23 -7
- package/third_party/quiche/quiche/quic/masque/masque_client_session.h +1 -1
- package/third_party/quiche/quiche/quic/masque/masque_server_backend.cc +13 -0
- package/third_party/quiche/quiche/quic/masque/masque_server_backend.h +2 -0
- package/third_party/quiche/quiche/quic/masque/masque_server_bin.cc +5 -4
- package/third_party/quiche/quiche/quic/masque/masque_server_session.cc +30 -40
- package/third_party/quiche/quiche/quic/masque/masque_server_session.h +1 -1
- package/third_party/quiche/quiche/quic/platform/api/quic_export.h +4 -4
- package/third_party/quiche/quiche/quic/platform/api/quic_flags.h +0 -1
- package/third_party/quiche/quiche/quic/platform/api/quic_logging.h +0 -6
- package/third_party/quiche/quiche/quic/platform/api/quic_test.h +6 -5
- package/third_party/quiche/quiche/quic/qbone/bonnet/icmp_reachable_test.cc +2 -2
- package/third_party/quiche/quiche/quic/qbone/bonnet/mock_qbone_tunnel.h +2 -0
- package/third_party/quiche/quiche/quic/qbone/bonnet/qbone_tunnel_interface.h +2 -0
- package/third_party/quiche/quiche/quic/qbone/bonnet/tun_device_controller_test.cc +2 -2
- package/third_party/quiche/quiche/quic/qbone/bonnet/tun_device_packet_exchanger_test.cc +2 -2
- package/third_party/quiche/quiche/quic/qbone/bonnet/tun_device_test.cc +2 -2
- package/third_party/quiche/quiche/quic/qbone/platform/netlink_test.cc +2 -2
- package/third_party/quiche/quiche/quic/qbone/platform/tcp_packet.cc +5 -4
- package/third_party/quiche/quiche/quic/qbone/qbone_client_session.cc +4 -2
- package/third_party/quiche/quiche/quic/qbone/qbone_packet_processor.cc +2 -1
- package/third_party/quiche/quiche/quic/qbone/qbone_packet_processor_test.cc +2 -2
- package/third_party/quiche/quiche/quic/qbone/qbone_server_session.cc +4 -2
- package/third_party/quiche/quiche/quic/qbone/qbone_session_base.cc +3 -2
- package/third_party/quiche/quiche/quic/qbone/qbone_stream.cc +4 -4
- package/third_party/quiche/quiche/quic/test_tools/quic_connection_peer.cc +1 -1
- package/third_party/quiche/quiche/quic/test_tools/quic_http_response_cache_data/test.example.com/index.html +63 -0
- package/third_party/quiche/quiche/quic/test_tools/quic_http_response_cache_data/test.example.com/map.html +65 -0
- package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.cc +4 -3
- package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.h +18 -1
- package/third_party/quiche/quiche/quic/test_tools/simulator/quic_endpoint_test.cc +1 -1
- package/third_party/quiche/quiche/quic/test_tools/simulator/simulator_test.cc +1 -1
- package/third_party/quiche/quiche/quic/test_tools/test_ticket_crypter.cc +1 -1
- package/third_party/quiche/quiche/quic/test_tools/test_ticket_crypter.h +2 -2
- package/third_party/quiche/quiche/quic/{core/crypto → tools}/crypto_message_printer_bin.cc +0 -0
- package/third_party/quiche/quiche/quic/{core/qpack → tools}/qpack_offline_decoder_bin.cc +0 -0
- package/third_party/quiche/quiche/quic/tools/quic_client_interop_test_bin.cc +4 -3
- package/third_party/quiche/quiche/quic/tools/quic_memory_cache_backend_test.cc +3 -31
- package/third_party/quiche/quiche/quic/tools/quic_packet_printer_bin.cc +2 -2
- package/third_party/quiche/quiche/quic/tools/quic_simple_server_session.h +1 -1
- package/third_party/quiche/quiche/quic/tools/quic_simple_server_session_test.cc +1 -1
- package/third_party/quiche/quiche/quic/tools/quic_toy_client.cc +52 -38
- package/third_party/quiche/quiche/quic/tools/quic_toy_server.cc +10 -7
- package/third_party/quiche/quiche/quic/tools/simple_ticket_crypter.cc +1 -1
- package/third_party/quiche/quiche/quic/tools/simple_ticket_crypter.h +1 -1
- package/third_party/quiche/quiche/quic/tools/web_transport_test_visitors.h +3 -2
- package/third_party/quiche/quiche/spdy/core/array_output_buffer.h +1 -1
- package/third_party/quiche/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/hpack/hpack_encoder_test.cc +2 -1
- package/third_party/quiche/quiche/spdy/core/hpack/hpack_header_table_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/hpack/hpack_round_trip_test.cc +2 -1
- package/third_party/quiche/quiche/spdy/core/hpack/hpack_static_table_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/http2_frame_decoder_adapter.cc +8 -6
- package/third_party/quiche/quiche/spdy/core/http2_frame_decoder_adapter.h +17 -6
- package/third_party/quiche/quiche/spdy/core/metadata_extension.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/metadata_extension_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/spdy_framer_test.cc +21 -17
- package/third_party/quiche/quiche/spdy/core/spdy_intrusive_list_test.cc +3 -3
- package/third_party/quiche/quiche/spdy/core/spdy_no_op_visitor.h +6 -4
- package/third_party/quiche/quiche/spdy/core/spdy_pinnable_buffer_piece_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/spdy_prefixed_buffer_reader_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/spdy_protocol_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/test_tools/mock_spdy_framer_visitor.h +5 -4
- package/third_party/boringssl/src/util/bot/cmake-win32.zip.sha1 +0 -1
- package/third_party/quiche/quiche/common/platform/api/quiche_mock_log.h +0 -18
- package/third_party/quiche/quiche/common/platform/api/quiche_test_helpers.h +0 -8
- package/third_party/quiche/quiche/quic/platform/api/quic_mock_log.h +0 -19
- package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_dispatcher.cc +0 -51
- package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_dispatcher.h +0 -41
- package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_session.cc +0 -168
- package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_session.h +0 -78
|
@@ -174,32 +174,23 @@ std::unique_ptr<QuicBackendResponse> MasqueServerSession::HandleMasqueRequest(
|
|
|
174
174
|
<< "\"";
|
|
175
175
|
return CreateBackendErrorResponse("400", "Bad protocol");
|
|
176
176
|
}
|
|
177
|
-
absl::optional<QuicDatagramStreamId> flow_id;
|
|
178
|
-
if (http_datagram_support() == HttpDatagramSupport::kDraft00) {
|
|
179
|
-
flow_id = SpdyUtils::ParseDatagramFlowIdHeader(request_headers);
|
|
180
|
-
if (!flow_id.has_value()) {
|
|
181
|
-
QUIC_DLOG(ERROR)
|
|
182
|
-
<< "MASQUE request with bad or missing DatagramFlowId header";
|
|
183
|
-
return CreateBackendErrorResponse("400",
|
|
184
|
-
"Bad or missing DatagramFlowId header");
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
177
|
// Extract target host and port from path using default template.
|
|
188
178
|
std::vector<absl::string_view> path_split = absl::StrSplit(path, '/');
|
|
189
|
-
if (path_split.size() !=
|
|
190
|
-
path_split[1].
|
|
191
|
-
|
|
179
|
+
if (path_split.size() != 7 || !path_split[0].empty() ||
|
|
180
|
+
path_split[1] != ".well-known" || path_split[2] != "masque" ||
|
|
181
|
+
path_split[3] != "udp" || path_split[4].empty() ||
|
|
182
|
+
path_split[5].empty() || !path_split[6].empty()) {
|
|
192
183
|
QUIC_DLOG(ERROR) << "MASQUE request with bad path \"" << path << "\"";
|
|
193
184
|
return CreateBackendErrorResponse("400", "Bad path");
|
|
194
185
|
}
|
|
195
|
-
absl::optional<std::string> host = quiche::AsciiUrlDecode(path_split[
|
|
186
|
+
absl::optional<std::string> host = quiche::AsciiUrlDecode(path_split[4]);
|
|
196
187
|
if (!host.has_value()) {
|
|
197
|
-
QUIC_DLOG(ERROR) << "Failed to decode host \"" << path_split[
|
|
188
|
+
QUIC_DLOG(ERROR) << "Failed to decode host \"" << path_split[4] << "\"";
|
|
198
189
|
return CreateBackendErrorResponse("500", "Failed to decode host");
|
|
199
190
|
}
|
|
200
|
-
absl::optional<std::string> port = quiche::AsciiUrlDecode(path_split[
|
|
191
|
+
absl::optional<std::string> port = quiche::AsciiUrlDecode(path_split[5]);
|
|
201
192
|
if (!port.has_value()) {
|
|
202
|
-
QUIC_DLOG(ERROR) << "Failed to decode port \"" << path_split[
|
|
193
|
+
QUIC_DLOG(ERROR) << "Failed to decode port \"" << path_split[5] << "\"";
|
|
203
194
|
return CreateBackendErrorResponse("500", "Failed to decode port");
|
|
204
195
|
}
|
|
205
196
|
|
|
@@ -221,10 +212,8 @@ std::unique_ptr<QuicBackendResponse> MasqueServerSession::HandleMasqueRequest(
|
|
|
221
212
|
QuicSocketAddress target_server_address(info_list->ai_addr,
|
|
222
213
|
info_list->ai_addrlen);
|
|
223
214
|
QUIC_DLOG(INFO) << "Got CONNECT_UDP request on stream ID "
|
|
224
|
-
<< request_handler->stream_id() << "
|
|
225
|
-
<<
|
|
226
|
-
<< " target_server_address=\"" << target_server_address
|
|
227
|
-
<< "\"";
|
|
215
|
+
<< request_handler->stream_id() << " target_server_address=\""
|
|
216
|
+
<< target_server_address << "\"";
|
|
228
217
|
|
|
229
218
|
FdWrapper fd_wrapper(target_server_address.host().AddressFamilyToInt());
|
|
230
219
|
if (fd_wrapper.fd() == kQuicInvalidSocketFd) {
|
|
@@ -250,23 +239,11 @@ std::unique_ptr<QuicBackendResponse> MasqueServerSession::HandleMasqueRequest(
|
|
|
250
239
|
<< request_handler->stream_id();
|
|
251
240
|
return CreateBackendErrorResponse("500", "Bad stream type");
|
|
252
241
|
}
|
|
253
|
-
if (flow_id.has_value()) {
|
|
254
|
-
stream->RegisterHttp3DatagramFlowId(*flow_id);
|
|
255
|
-
}
|
|
256
242
|
connect_udp_server_states_.push_back(ConnectUdpServerState(
|
|
257
243
|
stream, target_server_address, fd_wrapper.extract_fd(), this));
|
|
258
244
|
|
|
259
|
-
if (http_datagram_support() == HttpDatagramSupport::kDraft00) {
|
|
260
|
-
// TODO(b/181256914) remove this when we drop support for
|
|
261
|
-
// draft-ietf-masque-h3-datagram-00 in favor of later drafts.
|
|
262
|
-
stream->RegisterHttp3DatagramVisitor(&connect_udp_server_states_.back());
|
|
263
|
-
}
|
|
264
|
-
|
|
265
245
|
spdy::Http2HeaderBlock response_headers;
|
|
266
246
|
response_headers[":status"] = "200";
|
|
267
|
-
if (flow_id.has_value()) {
|
|
268
|
-
SpdyUtils::AddDatagramFlowIdHeader(&response_headers, *flow_id);
|
|
269
|
-
}
|
|
270
247
|
auto response = std::make_unique<QuicBackendResponse>();
|
|
271
248
|
response->set_response_type(QuicBackendResponse::INCOMPLETE_RESPONSE);
|
|
272
249
|
response->set_headers(std::move(response_headers));
|
|
@@ -307,11 +284,12 @@ void MasqueServerSession::OnEvent(QuicUdpSocketFd fd, QuicEpollEvent* event) {
|
|
|
307
284
|
<< " server " << expected_target_server_address;
|
|
308
285
|
QuicUdpSocketApi socket_api;
|
|
309
286
|
BitMask64 packet_info_interested(QuicUdpPacketInfoBit::PEER_ADDRESS);
|
|
310
|
-
char packet_buffer[kMaxIncomingPacketSize];
|
|
287
|
+
char packet_buffer[1 + kMaxIncomingPacketSize];
|
|
288
|
+
packet_buffer[0] = 0; // context ID.
|
|
311
289
|
char control_buffer[kDefaultUdpPacketControlBufferSize];
|
|
312
290
|
while (true) {
|
|
313
291
|
QuicUdpSocketApi::ReadPacketResult read_result;
|
|
314
|
-
read_result.packet_buffer = {packet_buffer, sizeof(packet_buffer)};
|
|
292
|
+
read_result.packet_buffer = {packet_buffer + 1, sizeof(packet_buffer) - 1};
|
|
315
293
|
read_result.control_buffer = {control_buffer, sizeof(control_buffer)};
|
|
316
294
|
socket_api.ReadPacket(fd, packet_info_interested, &read_result);
|
|
317
295
|
if (!read_result.ok) {
|
|
@@ -340,9 +318,9 @@ void MasqueServerSession::OnEvent(QuicUdpSocketFd fd, QuicEpollEvent* event) {
|
|
|
340
318
|
return;
|
|
341
319
|
}
|
|
342
320
|
// The packet is valid, send it to the client in a DATAGRAM frame.
|
|
343
|
-
MessageStatus message_status =
|
|
344
|
-
absl::string_view(
|
|
345
|
-
|
|
321
|
+
MessageStatus message_status =
|
|
322
|
+
it->stream()->SendHttp3Datagram(absl::string_view(
|
|
323
|
+
packet_buffer, read_result.packet_buffer.buffer_len + 1));
|
|
346
324
|
QUIC_DVLOG(1) << "Sent UDP packet from " << expected_target_server_address
|
|
347
325
|
<< " of length " << read_result.packet_buffer.buffer_len
|
|
348
326
|
<< " with stream ID " << it->stream()->id()
|
|
@@ -433,12 +411,24 @@ MasqueServerSession::ConnectUdpServerState::operator=(
|
|
|
433
411
|
void MasqueServerSession::ConnectUdpServerState::OnHttp3Datagram(
|
|
434
412
|
QuicStreamId stream_id, absl::string_view payload) {
|
|
435
413
|
QUICHE_DCHECK_EQ(stream_id, stream()->id());
|
|
414
|
+
QuicDataReader reader(payload);
|
|
415
|
+
uint64_t context_id;
|
|
416
|
+
if (!reader.ReadVarInt62(&context_id)) {
|
|
417
|
+
QUIC_DLOG(ERROR) << "Failed to read context ID";
|
|
418
|
+
return;
|
|
419
|
+
}
|
|
420
|
+
if (context_id != 0) {
|
|
421
|
+
QUIC_DLOG(ERROR) << "Ignoring HTTP Datagram with unexpected context ID "
|
|
422
|
+
<< context_id;
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
absl::string_view http_payload = reader.ReadRemainingPayload();
|
|
436
426
|
QuicUdpSocketApi socket_api;
|
|
437
427
|
QuicUdpPacketInfo packet_info;
|
|
438
428
|
packet_info.SetPeerAddress(target_server_address_);
|
|
439
429
|
WriteResult write_result = socket_api.WritePacket(
|
|
440
|
-
fd_,
|
|
441
|
-
QUIC_DVLOG(1) << "Wrote packet of length " <<
|
|
430
|
+
fd_, http_payload.data(), http_payload.length(), packet_info);
|
|
431
|
+
QUIC_DVLOG(1) << "Wrote packet of length " << http_payload.length() << " to "
|
|
442
432
|
<< target_server_address_ << " with result " << write_result;
|
|
443
433
|
}
|
|
444
434
|
|
|
@@ -97,7 +97,7 @@ class QUIC_NO_EXPORT MasqueServerSession
|
|
|
97
97
|
// From QuicSpdySession.
|
|
98
98
|
bool OnSettingsFrame(const SettingsFrame& frame) override;
|
|
99
99
|
HttpDatagramSupport LocalHttpDatagramSupport() override {
|
|
100
|
-
return HttpDatagramSupport::
|
|
100
|
+
return HttpDatagramSupport::kDraft09;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
MasqueServerBackend* masque_server_backend_; // Unowned.
|
|
@@ -5,17 +5,17 @@
|
|
|
5
5
|
#ifndef QUICHE_QUIC_PLATFORM_API_QUIC_EXPORT_H_
|
|
6
6
|
#define QUICHE_QUIC_PLATFORM_API_QUIC_EXPORT_H_
|
|
7
7
|
|
|
8
|
-
#include "
|
|
8
|
+
#include "quiche/common/platform/api/quiche_export.h"
|
|
9
9
|
|
|
10
10
|
// QUIC_EXPORT is not meant to be used.
|
|
11
|
-
#define QUIC_EXPORT
|
|
11
|
+
#define QUIC_EXPORT QUICHE_EXPORT
|
|
12
12
|
|
|
13
13
|
// QUIC_EXPORT_PRIVATE is meant for QUIC functionality that is built in Chromium
|
|
14
14
|
// as part of //net, and not fully contained in headers.
|
|
15
|
-
#define QUIC_EXPORT_PRIVATE
|
|
15
|
+
#define QUIC_EXPORT_PRIVATE QUICHE_EXPORT_PRIVATE
|
|
16
16
|
|
|
17
17
|
// QUIC_NO_EXPORT is meant for QUIC functionality that is either fully defined
|
|
18
18
|
// in a header, or is built in Chromium as part of tests or tools.
|
|
19
|
-
#define QUIC_NO_EXPORT
|
|
19
|
+
#define QUIC_NO_EXPORT QUICHE_NO_EXPORT
|
|
20
20
|
|
|
21
21
|
#endif // QUICHE_QUIC_PLATFORM_API_QUIC_EXPORT_H_
|
|
@@ -22,12 +22,6 @@
|
|
|
22
22
|
#define QUIC_LOG_EVERY_N_SEC QUICHE_LOG_EVERY_N_SEC
|
|
23
23
|
#define QUIC_LOG_IF QUICHE_LOG_IF
|
|
24
24
|
|
|
25
|
-
#define QUIC_PREDICT_FALSE QUICHE_PREDICT_FALSE
|
|
26
|
-
#define QUIC_PREDICT_TRUE QUICHE_PREDICT_TRUE
|
|
27
|
-
|
|
28
|
-
// This is a noop in release build.
|
|
29
|
-
#define QUIC_NOTREACHED QUICHE_NOTREACHED
|
|
30
|
-
|
|
31
25
|
#define QUIC_PLOG QUICHE_PLOG
|
|
32
26
|
|
|
33
27
|
#define QUIC_DLOG_INFO_IS_ON QUICHE_DLOG_INFO_IS_ON
|
|
@@ -8,15 +8,16 @@
|
|
|
8
8
|
#include "quiche/quic/platform/api/quic_logging.h"
|
|
9
9
|
#include "quiche/common/platform/api/quiche_test.h"
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
namespace quic::test {
|
|
12
|
+
|
|
13
|
+
using QuicFlagSaver = quiche::test::QuicheFlagSaver;
|
|
12
14
|
|
|
13
15
|
// Defines the base classes to be used in QUIC tests.
|
|
14
|
-
using QuicTest = QuicheTest;
|
|
16
|
+
using QuicTest = quiche::test::QuicheTest;
|
|
15
17
|
template <class T>
|
|
16
|
-
using QuicTestWithParam = QuicheTestWithParam<T>;
|
|
18
|
+
using QuicTestWithParam = quiche::test::QuicheTestWithParam<T>;
|
|
17
19
|
|
|
18
|
-
//
|
|
19
|
-
using ScopedEnvironmentForThreads = ScopedEnvironmentForThreadsImpl;
|
|
20
|
+
} // namespace quic::test
|
|
20
21
|
|
|
21
22
|
#define QUIC_TEST_DISABLED_IN_CHROME(name) QUICHE_TEST_DISABLED_IN_CHROME(name)
|
|
22
23
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
#include "quiche/quic/platform/api/quic_test.h"
|
|
13
13
|
#include "quiche/quic/qbone/platform/mock_kernel.h"
|
|
14
14
|
|
|
15
|
-
namespace quic {
|
|
15
|
+
namespace quic::test {
|
|
16
16
|
namespace {
|
|
17
17
|
|
|
18
18
|
using ::testing::_;
|
|
@@ -263,4 +263,4 @@ TEST_F(IcmpReachableTest, HandlesReadErrors) {
|
|
|
263
263
|
}
|
|
264
264
|
|
|
265
265
|
} // namespace
|
|
266
|
-
} // namespace quic
|
|
266
|
+
} // namespace quic::test
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
ABSL_DECLARE_FLAG(bool, qbone_tun_device_replace_default_routing_rules);
|
|
16
16
|
|
|
17
|
-
namespace quic {
|
|
17
|
+
namespace quic::test {
|
|
18
18
|
namespace {
|
|
19
19
|
using ::testing::Eq;
|
|
20
20
|
|
|
@@ -255,4 +255,4 @@ TEST_F(DisabledTunDeviceControllerTest, UpdateAddressIsNop) {
|
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
} // namespace
|
|
258
|
-
} // namespace quic
|
|
258
|
+
} // namespace quic::test
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
#include "quiche/quic/qbone/mock_qbone_client.h"
|
|
10
10
|
#include "quiche/quic/qbone/platform/mock_kernel.h"
|
|
11
11
|
|
|
12
|
-
namespace quic {
|
|
12
|
+
namespace quic::test {
|
|
13
13
|
namespace {
|
|
14
14
|
|
|
15
15
|
const size_t kMtu = 1000;
|
|
@@ -116,4 +116,4 @@ TEST_F(TunDevicePacketExchangerTest,
|
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
} // namespace
|
|
119
|
-
} // namespace quic
|
|
119
|
+
} // namespace quic::test
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
#include "quiche/quic/platform/api/quic_test.h"
|
|
12
12
|
#include "quiche/quic/qbone/platform/mock_kernel.h"
|
|
13
13
|
|
|
14
|
-
namespace quic {
|
|
14
|
+
namespace quic::test {
|
|
15
15
|
namespace {
|
|
16
16
|
|
|
17
17
|
using ::testing::_;
|
|
@@ -208,4 +208,4 @@ TEST_F(TunDeviceTest, FailToUp) {
|
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
} // namespace
|
|
211
|
-
} // namespace quic
|
|
211
|
+
} // namespace quic::test
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
#include "quiche/quic/qbone/platform/mock_kernel.h"
|
|
13
13
|
#include "quiche/quic/qbone/qbone_constants.h"
|
|
14
14
|
|
|
15
|
-
namespace quic {
|
|
15
|
+
namespace quic::test {
|
|
16
16
|
namespace {
|
|
17
17
|
|
|
18
18
|
using ::testing::_;
|
|
@@ -761,4 +761,4 @@ TEST_F(NetlinkTest, ChangeRouteReplace) {
|
|
|
761
761
|
}
|
|
762
762
|
|
|
763
763
|
} // namespace
|
|
764
|
-
} // namespace quic
|
|
764
|
+
} // namespace quic::test
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
#include <netinet/ip6.h>
|
|
8
8
|
|
|
9
|
+
#include "absl/base/optimization.h"
|
|
9
10
|
#include "absl/strings/string_view.h"
|
|
10
11
|
#include "quiche/quic/platform/api/quic_logging.h"
|
|
11
12
|
#include "quiche/quic/qbone/platform/internet_checksum.h"
|
|
@@ -35,17 +36,17 @@ void CreateTcpResetPacket(absl::string_view original_packet,
|
|
|
35
36
|
// By the time this method is called, original_packet should be fairly
|
|
36
37
|
// strongly validated. However, it's better to be more paranoid than not, so
|
|
37
38
|
// here are a bunch of very obvious checks.
|
|
38
|
-
if (
|
|
39
|
+
if (ABSL_PREDICT_FALSE(original_packet.size() < sizeof(ip6_hdr))) {
|
|
39
40
|
return;
|
|
40
41
|
}
|
|
41
42
|
auto* ip6_header = reinterpret_cast<const ip6_hdr*>(original_packet.data());
|
|
42
|
-
if (
|
|
43
|
+
if (ABSL_PREDICT_FALSE(ip6_header->ip6_vfc >> 4 != 6)) {
|
|
43
44
|
return;
|
|
44
45
|
}
|
|
45
|
-
if (
|
|
46
|
+
if (ABSL_PREDICT_FALSE(ip6_header->ip6_nxt != IPPROTO_TCP)) {
|
|
46
47
|
return;
|
|
47
48
|
}
|
|
48
|
-
if (
|
|
49
|
+
if (ABSL_PREDICT_FALSE(quiche::QuicheEndian::NetToHost16(
|
|
49
50
|
ip6_header->ip6_plen) < sizeof(tcphdr))) {
|
|
50
51
|
return;
|
|
51
52
|
}
|
|
@@ -58,7 +58,8 @@ void QboneClientSession::Initialize() {
|
|
|
58
58
|
QboneSessionBase::Initialize();
|
|
59
59
|
static_cast<QuicCryptoClientStreamBase*>(GetMutableCryptoStream())
|
|
60
60
|
->CryptoConnect();
|
|
61
|
-
if (!
|
|
61
|
+
if (!quiche::GetQuicheCommandLineFlag(
|
|
62
|
+
FLAGS_qbone_client_defer_control_stream_creation)) {
|
|
62
63
|
CreateControlStream();
|
|
63
64
|
}
|
|
64
65
|
}
|
|
@@ -66,7 +67,8 @@ void QboneClientSession::Initialize() {
|
|
|
66
67
|
void QboneClientSession::SetDefaultEncryptionLevel(
|
|
67
68
|
quic::EncryptionLevel level) {
|
|
68
69
|
QboneSessionBase::SetDefaultEncryptionLevel(level);
|
|
69
|
-
if (
|
|
70
|
+
if (quiche::GetQuicheCommandLineFlag(
|
|
71
|
+
FLAGS_qbone_client_defer_control_stream_creation) &&
|
|
70
72
|
level == quic::ENCRYPTION_FORWARD_SECURE) {
|
|
71
73
|
CreateControlStream();
|
|
72
74
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
#include <cstring>
|
|
8
8
|
|
|
9
|
+
#include "absl/base/optimization.h"
|
|
9
10
|
#include "absl/strings/string_view.h"
|
|
10
11
|
#include "quiche/quic/platform/api/quic_bug_tracker.h"
|
|
11
12
|
#include "quiche/quic/platform/api/quic_ip_address_family.h"
|
|
@@ -62,7 +63,7 @@ QbonePacketProcessor::Filter::FilterPacket(Direction direction,
|
|
|
62
63
|
|
|
63
64
|
void QbonePacketProcessor::ProcessPacket(std::string* packet,
|
|
64
65
|
Direction direction) {
|
|
65
|
-
if (
|
|
66
|
+
if (ABSL_PREDICT_FALSE(!IsValid())) {
|
|
66
67
|
QUIC_BUG(quic_bug_11024_1)
|
|
67
68
|
<< "QuicPacketProcessor is invoked in an invalid state.";
|
|
68
69
|
stats_->OnPacketDroppedSilently(direction);
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
#include "quiche/quic/platform/api/quic_test.h"
|
|
11
11
|
#include "quiche/quic/qbone/qbone_packet_processor_test_tools.h"
|
|
12
12
|
|
|
13
|
-
namespace quic {
|
|
13
|
+
namespace quic::test {
|
|
14
14
|
namespace {
|
|
15
15
|
|
|
16
16
|
using Direction = QbonePacketProcessor::Direction;
|
|
@@ -277,4 +277,4 @@ TEST_F(QbonePacketProcessorTest, FilterHelperFunctions) {
|
|
|
277
277
|
}
|
|
278
278
|
|
|
279
279
|
} // namespace
|
|
280
|
-
} // namespace quic
|
|
280
|
+
} // namespace quic::test
|
|
@@ -79,7 +79,8 @@ QuicStream* QboneServerSession::CreateControlStreamFromPendingStream(
|
|
|
79
79
|
|
|
80
80
|
void QboneServerSession::Initialize() {
|
|
81
81
|
QboneSessionBase::Initialize();
|
|
82
|
-
if (!
|
|
82
|
+
if (!quiche::GetQuicheCommandLineFlag(
|
|
83
|
+
FLAGS_qbone_server_defer_control_stream_creation)) {
|
|
83
84
|
CreateControlStream();
|
|
84
85
|
}
|
|
85
86
|
}
|
|
@@ -87,7 +88,8 @@ void QboneServerSession::Initialize() {
|
|
|
87
88
|
void QboneServerSession::SetDefaultEncryptionLevel(
|
|
88
89
|
quic::EncryptionLevel level) {
|
|
89
90
|
QboneSessionBase::SetDefaultEncryptionLevel(level);
|
|
90
|
-
if (
|
|
91
|
+
if (quiche::GetQuicheCommandLineFlag(
|
|
92
|
+
FLAGS_qbone_server_defer_control_stream_creation) &&
|
|
91
93
|
level == quic::ENCRYPTION_FORWARD_SECURE) {
|
|
92
94
|
CreateControlStream();
|
|
93
95
|
}
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
#include "quiche/quic/qbone/platform/icmp_packet.h"
|
|
19
19
|
#include "quiche/quic/qbone/qbone_constants.h"
|
|
20
20
|
#include "quiche/common/platform/api/quiche_command_line_flags.h"
|
|
21
|
+
#include "quiche/common/platform/api/quiche_logging.h"
|
|
21
22
|
#include "quiche/common/platform/api/quiche_mem_slice.h"
|
|
22
23
|
#include "quiche/common/quiche_buffer_allocator.h"
|
|
23
24
|
|
|
@@ -74,7 +75,7 @@ void QboneSessionBase::OnStreamFrame(const QuicStreamFrame& frame) {
|
|
|
74
75
|
flow_controller()->AddBytesConsumed(frame.data_length);
|
|
75
76
|
// TODO(b/147817422): Add a counter for how many streams were actually
|
|
76
77
|
// closed here.
|
|
77
|
-
if (
|
|
78
|
+
if (quiche::GetQuicheCommandLineFlag(FLAGS_qbone_close_ephemeral_frames)) {
|
|
78
79
|
ResetStream(frame.stream_id, QUIC_STREAM_CANCELLED);
|
|
79
80
|
}
|
|
80
81
|
return;
|
|
@@ -92,7 +93,7 @@ QuicStream* QboneSessionBase::CreateIncomingStream(QuicStreamId id) {
|
|
|
92
93
|
}
|
|
93
94
|
|
|
94
95
|
QuicStream* QboneSessionBase::CreateIncomingStream(PendingStream* /*pending*/) {
|
|
95
|
-
|
|
96
|
+
QUICHE_NOTREACHED();
|
|
96
97
|
return nullptr;
|
|
97
98
|
}
|
|
98
99
|
|
|
@@ -22,8 +22,8 @@ QboneWriteOnlyStream::QboneWriteOnlyStream(QuicStreamId id,
|
|
|
22
22
|
: QuicStream(id, session, /*is_static=*/false, WRITE_UNIDIRECTIONAL) {
|
|
23
23
|
// QBONE uses a LIFO queue to try to always make progress. An individual
|
|
24
24
|
// packet may persist for upto to qbone_stream_ttl_secs seconds in memory.
|
|
25
|
-
MaybeSetTtl(
|
|
26
|
-
|
|
25
|
+
MaybeSetTtl(QuicTime::Delta::FromSeconds(
|
|
26
|
+
quiche::GetQuicheCommandLineFlag(FLAGS_qbone_stream_ttl_secs)));
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
void QboneWriteOnlyStream::WritePacketToQuicStream(absl::string_view packet) {
|
|
@@ -39,8 +39,8 @@ QboneReadOnlyStream::QboneReadOnlyStream(QuicStreamId id,
|
|
|
39
39
|
session_(session) {
|
|
40
40
|
// QBONE uses a LIFO queue to try to always make progress. An individual
|
|
41
41
|
// packet may persist for upto to qbone_stream_ttl_secs seconds in memory.
|
|
42
|
-
MaybeSetTtl(
|
|
43
|
-
|
|
42
|
+
MaybeSetTtl(QuicTime::Delta::FromSeconds(
|
|
43
|
+
quiche::GetQuicheCommandLineFlag(FLAGS_qbone_stream_ttl_secs)));
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
void QboneReadOnlyStream::OnDataAvailable() {
|
|
@@ -146,7 +146,7 @@ QuicAlarm* QuicConnectionPeer::GetAckAlarm(QuicConnection* connection) {
|
|
|
146
146
|
|
|
147
147
|
// static
|
|
148
148
|
QuicAlarm* QuicConnectionPeer::GetPingAlarm(QuicConnection* connection) {
|
|
149
|
-
if (GetQuicReloadableFlag(
|
|
149
|
+
if (GetQuicReloadableFlag(quic_use_ping_manager2)) {
|
|
150
150
|
return connection->ping_manager_.alarm_.get();
|
|
151
151
|
}
|
|
152
152
|
return connection->ping_alarm_.get();
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
HTTP/1.1 200 OK
|
|
2
|
+
Date: Tue, 28 Aug 2012 15:08:56 GMT
|
|
3
|
+
Server: Apache/2.2.3 (CentOS)
|
|
4
|
+
X-Powered-By: PHP/5.1.6
|
|
5
|
+
Set-Cookie: bblastvisit=1346166536; expires=Wed, 28-Aug-2013 15:08:56 GMT; path=/; domain=.nasioc.com
|
|
6
|
+
Set-Cookie: bblastactivity=0; expires=Wed, 28-Aug-2013 15:08:56 GMT; path=/; domain=.nasioc.com
|
|
7
|
+
Expires: 0
|
|
8
|
+
Cache-Control: private, post-check=0, pre-check=0, max-age=0
|
|
9
|
+
Pragma: no-cache
|
|
10
|
+
X-UA-Compatible: IE=7
|
|
11
|
+
Connection: close
|
|
12
|
+
Content-Type: text/html; charset=ISO-8859-1
|
|
13
|
+
|
|
14
|
+
<!doctype html>
|
|
15
|
+
<html>
|
|
16
|
+
<head>
|
|
17
|
+
<title>Example Domain</title>
|
|
18
|
+
|
|
19
|
+
<meta charset="utf-8" />
|
|
20
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
|
21
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
22
|
+
<style type="text/css">
|
|
23
|
+
body {
|
|
24
|
+
background-color: #f0f0f2;
|
|
25
|
+
margin: 0;
|
|
26
|
+
padding: 0;
|
|
27
|
+
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
28
|
+
|
|
29
|
+
}
|
|
30
|
+
div {
|
|
31
|
+
width: 600px;
|
|
32
|
+
margin: 5em auto;
|
|
33
|
+
padding: 50px;
|
|
34
|
+
background-color: #fff;
|
|
35
|
+
border-radius: 1em;
|
|
36
|
+
}
|
|
37
|
+
a:link, a:visited {
|
|
38
|
+
color: #38488f;
|
|
39
|
+
text-decoration: none;
|
|
40
|
+
}
|
|
41
|
+
@media (max-width: 700px) {
|
|
42
|
+
body {
|
|
43
|
+
background-color: #fff;
|
|
44
|
+
}
|
|
45
|
+
div {
|
|
46
|
+
width: auto;
|
|
47
|
+
margin: 0 auto;
|
|
48
|
+
border-radius: 0;
|
|
49
|
+
padding: 1em;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
</style>
|
|
53
|
+
</head>
|
|
54
|
+
|
|
55
|
+
<body>
|
|
56
|
+
<div>
|
|
57
|
+
<h1>Example Domain</h1>
|
|
58
|
+
<p>This domain is established to be used for illustrative examples in documents. You may use this
|
|
59
|
+
domain in examples without prior coordination or asking for permission.</p>
|
|
60
|
+
<p><a href="http://www.iana.org/domains/example">More information...</a></p>
|
|
61
|
+
</div>
|
|
62
|
+
</body>
|
|
63
|
+
</html>
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
HTTP/1.1 200 OK
|
|
2
|
+
Date: Tue, 28 Aug 2012 15:08:56 GMT
|
|
3
|
+
Server: Apache/2.2.3 (CentOS)
|
|
4
|
+
X-Powered-By: PHP/5.1.6
|
|
5
|
+
Set-Cookie: bblastvisit=1346166536; expires=Wed, 28-Aug-2013 15:08:56 GMT; path=/; domain=.nasioc.com
|
|
6
|
+
Set-Cookie: bblastactivity=0; expires=Wed, 28-Aug-2013 15:08:56 GMT; path=/; domain=.nasioc.com
|
|
7
|
+
Expires: 0
|
|
8
|
+
Cache-Control: private, post-check=0, pre-check=0, max-age=0
|
|
9
|
+
Pragma: no-cache
|
|
10
|
+
X-UA-Compatible: IE=7
|
|
11
|
+
Connection: close
|
|
12
|
+
Content-Type: text/html; charset=ISO-8859-1
|
|
13
|
+
X-Original-Url: http://test.example.com/site_map.html
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
<!doctype html>
|
|
17
|
+
<html>
|
|
18
|
+
<head>
|
|
19
|
+
<title>Example Domain</title>
|
|
20
|
+
|
|
21
|
+
<meta charset="utf-8" />
|
|
22
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
|
23
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
24
|
+
<style type="text/css">
|
|
25
|
+
body {
|
|
26
|
+
background-color: #f0f0f2;
|
|
27
|
+
margin: 0;
|
|
28
|
+
padding: 0;
|
|
29
|
+
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
30
|
+
|
|
31
|
+
}
|
|
32
|
+
div {
|
|
33
|
+
width: 600px;
|
|
34
|
+
margin: 5em auto;
|
|
35
|
+
padding: 50px;
|
|
36
|
+
background-color: #fff;
|
|
37
|
+
border-radius: 1em;
|
|
38
|
+
}
|
|
39
|
+
a:link, a:visited {
|
|
40
|
+
color: #38488f;
|
|
41
|
+
text-decoration: none;
|
|
42
|
+
}
|
|
43
|
+
@media (max-width: 700px) {
|
|
44
|
+
body {
|
|
45
|
+
background-color: #fff;
|
|
46
|
+
}
|
|
47
|
+
div {
|
|
48
|
+
width: auto;
|
|
49
|
+
margin: 0 auto;
|
|
50
|
+
border-radius: 0;
|
|
51
|
+
padding: 1em;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
</style>
|
|
55
|
+
</head>
|
|
56
|
+
|
|
57
|
+
<body>
|
|
58
|
+
<div>
|
|
59
|
+
<h1>Example Domain</h1>
|
|
60
|
+
<p>This domain is established to be used for illustrative examples in documents. You may use this
|
|
61
|
+
domain in examples without prior coordination or asking for permission.</p>
|
|
62
|
+
<p><a href="http://www.iana.org/domains/example">More information...</a></p>
|
|
63
|
+
</div>
|
|
64
|
+
</body>
|
|
65
|
+
</html>
|
|
@@ -657,9 +657,10 @@ MockQuicSpdySession::MockQuicSpdySession(QuicConnection* connection,
|
|
|
657
657
|
return QuicSpdySession::SendWindowUpdate(id, byte_offset);
|
|
658
658
|
});
|
|
659
659
|
|
|
660
|
-
ON_CALL(*this, SendBlocked(_))
|
|
661
|
-
|
|
662
|
-
|
|
660
|
+
ON_CALL(*this, SendBlocked(_, _))
|
|
661
|
+
.WillByDefault([this](QuicStreamId id, QuicStreamOffset byte_offset) {
|
|
662
|
+
return QuicSpdySession::SendBlocked(id, byte_offset);
|
|
663
|
+
});
|
|
663
664
|
|
|
664
665
|
ON_CALL(*this, OnCongestionWindowChange(_)).WillByDefault(testing::Return());
|
|
665
666
|
}
|
|
@@ -779,6 +779,8 @@ class MockQuicSession : public QuicSession {
|
|
|
779
779
|
(override));
|
|
780
780
|
MOCK_METHOD(void, MaybeSendStopSendingFrame,
|
|
781
781
|
(QuicStreamId stream_id, QuicResetStreamError error), (override));
|
|
782
|
+
MOCK_METHOD(void, SendBlocked,
|
|
783
|
+
(QuicStreamId stream_id, QuicStreamOffset offset), (override));
|
|
782
784
|
|
|
783
785
|
MOCK_METHOD(bool, ShouldKeepConnectionAlive, (), (const, override));
|
|
784
786
|
MOCK_METHOD(std::vector<std::string>, GetAlpnsToOffer, (), (const, override));
|
|
@@ -859,6 +861,20 @@ class MockQuicCryptoStream : public QuicCryptoStream {
|
|
|
859
861
|
quic::EncryptionLevel level) const override {
|
|
860
862
|
return level != ENCRYPTION_ZERO_RTT;
|
|
861
863
|
}
|
|
864
|
+
EncryptionLevel GetEncryptionLevelToSendCryptoDataOfSpace(
|
|
865
|
+
PacketNumberSpace space) const override {
|
|
866
|
+
switch (space) {
|
|
867
|
+
case INITIAL_DATA:
|
|
868
|
+
return ENCRYPTION_INITIAL;
|
|
869
|
+
case HANDSHAKE_DATA:
|
|
870
|
+
return ENCRYPTION_HANDSHAKE;
|
|
871
|
+
case APPLICATION_DATA:
|
|
872
|
+
return ENCRYPTION_FORWARD_SECURE;
|
|
873
|
+
default:
|
|
874
|
+
QUICHE_DCHECK(false);
|
|
875
|
+
return NUM_ENCRYPTION_LEVELS;
|
|
876
|
+
}
|
|
877
|
+
}
|
|
862
878
|
|
|
863
879
|
private:
|
|
864
880
|
quiche::QuicheReferenceCountedPointer<QuicCryptoNegotiatedParameters> params_;
|
|
@@ -914,7 +930,8 @@ class MockQuicSpdySession : public QuicSpdySession {
|
|
|
914
930
|
(QuicStreamId stream_id, QuicResetStreamError error), (override));
|
|
915
931
|
MOCK_METHOD(void, SendWindowUpdate,
|
|
916
932
|
(QuicStreamId id, QuicStreamOffset byte_offset), (override));
|
|
917
|
-
MOCK_METHOD(void, SendBlocked,
|
|
933
|
+
MOCK_METHOD(void, SendBlocked,
|
|
934
|
+
(QuicStreamId id, QuicStreamOffset byte_offset), (override));
|
|
918
935
|
MOCK_METHOD(void, OnStreamHeadersPriority,
|
|
919
936
|
(QuicStreamId stream_id,
|
|
920
937
|
const spdy::SpdyStreamPrecedence& precedence),
|