@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.
Files changed (384) hide show
  1. package/.github/workflows/npm-publish-packages.yml +0 -0
  2. package/CMakeLists.txt +2 -0
  3. package/package.json +1 -1
  4. package/readme.md +0 -0
  5. package/src/http3serversession.h +1 -1
  6. package/src/webtransport.js +4 -2
  7. package/third_party/boringssl/src/CMakeLists.txt +9 -12
  8. package/third_party/boringssl/src/crypto/CMakeLists.txt +2 -3
  9. package/third_party/boringssl/src/crypto/asn1/time_support.c +206 -206
  10. package/third_party/boringssl/src/crypto/bio/socket_helper.c +124 -122
  11. package/third_party/boringssl/src/crypto/evp/digestsign.c +268 -231
  12. package/third_party/boringssl/src/crypto/evp/p_ec.c +286 -286
  13. package/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.c +246 -236
  14. package/third_party/boringssl/src/crypto/fipsmodule/aes/mode_wrappers.c +124 -122
  15. package/third_party/boringssl/src/crypto/fipsmodule/bcm.c +3 -0
  16. package/third_party/boringssl/src/crypto/fipsmodule/bn/bytes.c +246 -230
  17. package/third_party/boringssl/src/crypto/fipsmodule/bn/internal.h +734 -715
  18. package/third_party/boringssl/src/crypto/fipsmodule/bn/random.c +349 -341
  19. package/third_party/boringssl/src/crypto/fipsmodule/cipher/cipher.c +670 -648
  20. package/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c +1504 -1472
  21. package/third_party/boringssl/src/crypto/{cipher_extra → fipsmodule/cipher}/e_aesccm.c +435 -446
  22. package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_3des_cmac_tests.txt +0 -0
  23. package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_aes128_cmac_tests.txt +0 -0
  24. package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_aes192_cmac_tests.txt +0 -0
  25. package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_aes256_cmac_tests.txt +0 -0
  26. package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cmac.c +318 -278
  27. package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cmac_test.cc +268 -267
  28. package/third_party/boringssl/src/crypto/fipsmodule/dh/dh.c +5 -1
  29. package/third_party/boringssl/src/crypto/fipsmodule/ec/ec.c +11 -17
  30. package/third_party/boringssl/src/crypto/fipsmodule/ec/ec_key.c +15 -4
  31. package/third_party/boringssl/src/crypto/fipsmodule/ec/internal.h +2 -6
  32. package/third_party/boringssl/src/crypto/fipsmodule/ec/p224-64.c +1164 -1180
  33. package/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz.c +3 -3
  34. package/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz_test.cc +2 -2
  35. package/third_party/boringssl/src/crypto/fipsmodule/ec/p256.c +44 -33
  36. package/third_party/boringssl/src/crypto/fipsmodule/ec/scalar.c +169 -175
  37. package/third_party/boringssl/src/crypto/fipsmodule/ec/simple.c +352 -357
  38. package/third_party/boringssl/src/crypto/fipsmodule/ecdh/ecdh.c +4 -0
  39. package/third_party/boringssl/src/crypto/fipsmodule/ecdsa/ecdsa.c +14 -9
  40. package/third_party/boringssl/src/crypto/fipsmodule/hmac/hmac.c +256 -235
  41. package/third_party/boringssl/src/crypto/fipsmodule/rand/ctrdrbg.c +204 -202
  42. package/third_party/boringssl/src/crypto/fipsmodule/rsa/padding.c +702 -695
  43. package/third_party/boringssl/src/crypto/fipsmodule/rsa/rsa_impl.c +7 -2
  44. package/third_party/boringssl/src/crypto/fipsmodule/self_check/self_check.c +7 -0
  45. package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/internal.h +89 -0
  46. package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator.c +333 -0
  47. package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator_test.cc +2410 -0
  48. package/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c +359 -357
  49. package/third_party/boringssl/src/crypto/fipsmodule/sha/sha256.c +325 -321
  50. package/third_party/boringssl/src/crypto/fipsmodule/sha/sha512.c +510 -508
  51. package/third_party/boringssl/src/crypto/fipsmodule/tls/kdf.c +177 -165
  52. package/third_party/boringssl/src/crypto/internal.h +13 -0
  53. package/third_party/boringssl/src/crypto/trust_token/trust_token_test.cc +884 -884
  54. package/third_party/boringssl/src/crypto/x509/internal.h +0 -2
  55. package/third_party/boringssl/src/crypto/x509/t_crl.c +148 -148
  56. package/third_party/boringssl/src/crypto/x509/t_req.c +249 -250
  57. package/third_party/boringssl/src/crypto/x509/t_x509.c +2 -3
  58. package/third_party/boringssl/src/crypto/x509/x509_req.c +262 -304
  59. package/third_party/boringssl/src/crypto/x509/x509_set.c +250 -240
  60. package/third_party/boringssl/src/crypto/x509/x509_test.cc +466 -4
  61. package/third_party/boringssl/src/crypto/x509/x509cset.c +292 -279
  62. package/third_party/boringssl/src/crypto/x509/x509rset.c +89 -86
  63. package/third_party/boringssl/src/crypto/x509/x_crl.c +37 -125
  64. package/third_party/boringssl/src/crypto/x509/x_req.c +114 -109
  65. package/third_party/boringssl/src/crypto/x509/x_x509.c +394 -394
  66. package/third_party/boringssl/src/crypto/x509v3/v3_akey.c +11 -16
  67. package/third_party/boringssl/src/crypto/x509v3/v3_alt.c +644 -642
  68. package/third_party/boringssl/src/crypto/x509v3/v3_bcons.c +130 -133
  69. package/third_party/boringssl/src/crypto/x509v3/v3_bitst.c +149 -144
  70. package/third_party/boringssl/src/crypto/x509v3/v3_cpols.c +496 -500
  71. package/third_party/boringssl/src/crypto/x509v3/v3_enum.c +105 -106
  72. package/third_party/boringssl/src/crypto/x509v3/v3_ia5.c +126 -121
  73. package/third_party/boringssl/src/crypto/x509v3/v3_info.c +206 -218
  74. package/third_party/boringssl/src/crypto/x509v3/v3_int.c +97 -91
  75. package/third_party/boringssl/src/crypto/x509v3/v3_pci.c +290 -289
  76. package/third_party/boringssl/src/crypto/x509v3/v3_skey.c +161 -156
  77. package/third_party/boringssl/src/crypto/x509v3/v3_utl.c +5 -3
  78. package/third_party/boringssl/src/include/openssl/aead.h +480 -480
  79. package/third_party/boringssl/src/include/openssl/asn1.h +2 -0
  80. package/third_party/boringssl/src/include/openssl/base.h +1 -1
  81. package/third_party/boringssl/src/include/openssl/service_indicator.h +96 -0
  82. package/third_party/boringssl/src/include/openssl/ssl.h +7 -0
  83. package/third_party/boringssl/src/include/openssl/x509.h +11 -33
  84. package/third_party/boringssl/src/include/openssl/x509v3.h +990 -1018
  85. package/third_party/boringssl/src/sources.cmake +4 -4
  86. package/third_party/boringssl/src/ssl/internal.h +10 -0
  87. package/third_party/boringssl/src/ssl/ssl_lib.cc +3081 -3072
  88. package/third_party/boringssl/src/ssl/ssl_test.cc +46 -0
  89. package/third_party/boringssl/src/ssl/tls13_server.cc +4 -6
  90. package/third_party/boringssl/src/util/bot/DEPS +14 -27
  91. package/third_party/boringssl/src/util/bot/UPDATING +3 -9
  92. package/third_party/boringssl/src/util/bot/update_clang.py +172 -172
  93. package/third_party/boringssl/src/util/bot/vs_toolchain.py +3 -3
  94. package/third_party/quiche/.bazelrc +8 -0
  95. package/third_party/quiche/BUILD.bazel +7 -0
  96. package/third_party/quiche/WHITESPACE +3 -1
  97. package/third_party/quiche/WORKSPACE.bazel +87 -0
  98. package/third_party/quiche/build/BUILD.bazel +7 -0
  99. package/third_party/quiche/build/source_list.bzl +1511 -0
  100. package/third_party/quiche/build/source_list.gni +1511 -0
  101. package/third_party/quiche/build/source_list.json +1511 -0
  102. package/third_party/quiche/build/test.bzl +26 -0
  103. package/third_party/quiche/build/zlib.BUILD +25 -0
  104. package/third_party/quiche/quiche/BUILD.bazel +270 -0
  105. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_enums.cc +3 -3
  106. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_enums.h +7 -7
  107. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_frame.cc +39 -18
  108. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_frame.h +11 -10
  109. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_frame_test.cc +67 -63
  110. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_headers.cc +13 -12
  111. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_headers.h +16 -8
  112. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_headers_test.cc +9 -9
  113. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_visitor_interface.h +4 -4
  114. package/third_party/quiche/quiche/{common/balsa → balsa}/framer_interface.h +3 -3
  115. package/third_party/quiche/quiche/{common/balsa → balsa}/header_api.h +3 -3
  116. package/third_party/quiche/quiche/{common/balsa → balsa}/header_properties.cc +1 -1
  117. package/third_party/quiche/quiche/{common/balsa → balsa}/header_properties.h +3 -3
  118. package/third_party/quiche/quiche/{common/balsa → balsa}/header_properties_test.cc +1 -1
  119. package/third_party/quiche/quiche/{common/balsa → balsa}/http_validation_policy.cc +1 -1
  120. package/third_party/quiche/quiche/{common/balsa → balsa}/http_validation_policy.h +3 -3
  121. package/third_party/quiche/quiche/{common/balsa → balsa}/noop_balsa_visitor.h +4 -4
  122. package/third_party/quiche/quiche/{common/balsa → balsa}/simple_buffer.cc +22 -29
  123. package/third_party/quiche/quiche/{common/balsa → balsa}/simple_buffer.h +18 -16
  124. package/third_party/quiche/quiche/{common/balsa → balsa}/simple_buffer_test.cc +79 -32
  125. package/third_party/quiche/quiche/{common/balsa → balsa}/standard_header_map.cc +1 -1
  126. package/third_party/quiche/quiche/{common/balsa → balsa}/standard_header_map.h +3 -3
  127. package/third_party/quiche/quiche/common/platform/api/quiche_command_line_flags.h +6 -1
  128. package/third_party/quiche/quiche/common/platform/api/quiche_flags.h +8 -0
  129. package/third_party/quiche/quiche/common/platform/api/quiche_logging.h +0 -3
  130. package/third_party/quiche/quiche/common/platform/api/quiche_lower_case_string_test.cc +29 -0
  131. package/third_party/quiche/quiche/common/platform/api/quiche_test.h +5 -7
  132. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quic_flags_impl.h +1 -1
  133. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_bug_tracker_impl.h +3 -2
  134. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_command_line_flags_impl.cc +41 -0
  135. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_command_line_flags_impl.h +33 -0
  136. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_expect_bug_impl.h +15 -0
  137. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h +84 -50
  138. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_lower_case_string_impl.h +25 -0
  139. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_stack_trace_impl.cc +1 -1
  140. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.cc +25 -0
  141. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.h +56 -0
  142. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_output_impl.h +27 -0
  143. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_thread_impl.h +26 -0
  144. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_url_utils_impl.cc +1 -0
  145. package/third_party/quiche/quiche/common/quiche_buffer_allocator_test.cc +1 -1
  146. package/third_party/quiche/quiche/common/quiche_mem_slice_storage.h +2 -3
  147. package/third_party/quiche/quiche/common/structured_headers.cc +14 -12
  148. package/third_party/quiche/quiche/http2/adapter/event_forwarder.cc +7 -5
  149. package/third_party/quiche/quiche/http2/adapter/event_forwarder.h +4 -2
  150. package/third_party/quiche/quiche/http2/adapter/event_forwarder_test.cc +14 -9
  151. package/third_party/quiche/quiche/http2/adapter/header_validator.cc +43 -19
  152. package/third_party/quiche/quiche/http2/adapter/header_validator.h +11 -40
  153. package/third_party/quiche/quiche/http2/adapter/header_validator_base.h +69 -0
  154. package/third_party/quiche/quiche/http2/adapter/header_validator_test.cc +73 -1
  155. package/third_party/quiche/quiche/http2/adapter/nghttp2_adapter_test.cc +66 -0
  156. package/third_party/quiche/quiche/http2/adapter/nghttp2_session_test.cc +8 -5
  157. package/third_party/quiche/quiche/http2/adapter/nghttp2_test.cc +1 -1
  158. package/third_party/quiche/quiche/http2/adapter/noop_header_validator.cc +22 -0
  159. package/third_party/quiche/quiche/http2/adapter/noop_header_validator.h +25 -0
  160. package/third_party/quiche/quiche/http2/adapter/noop_header_validator_test.cc +523 -0
  161. package/third_party/quiche/quiche/http2/adapter/oghttp2_adapter_test.cc +186 -5
  162. package/third_party/quiche/quiche/http2/adapter/oghttp2_session.cc +37 -43
  163. package/third_party/quiche/quiche/http2/adapter/oghttp2_session.h +22 -23
  164. package/third_party/quiche/quiche/http2/adapter/test_utils.cc +1 -1
  165. package/third_party/quiche/quiche/http2/adapter/window_manager_test.cc +11 -5
  166. package/third_party/quiche/quiche/http2/core/http2_trace_logging.cc +13 -11
  167. package/third_party/quiche/quiche/http2/core/http2_trace_logging.h +5 -4
  168. package/third_party/quiche/quiche/http2/core/priority_write_scheduler.h +42 -36
  169. package/third_party/quiche/quiche/http2/core/priority_write_scheduler_test.cc +2 -2
  170. package/third_party/quiche/quiche/http2/decoder/decode_buffer_test.cc +9 -9
  171. package/third_party/quiche/quiche/http2/decoder/decode_http2_structures_test.cc +1 -1
  172. package/third_party/quiche/quiche/http2/decoder/http2_frame_decoder_test.cc +14 -14
  173. package/third_party/quiche/quiche/http2/decoder/http2_structure_decoder_test.cc +17 -17
  174. package/third_party/quiche/quiche/http2/decoder/payload_decoders/altsvc_payload_decoder_test.cc +1 -1
  175. package/third_party/quiche/quiche/http2/decoder/payload_decoders/continuation_payload_decoder_test.cc +1 -1
  176. package/third_party/quiche/quiche/http2/decoder/payload_decoders/data_payload_decoder_test.cc +2 -2
  177. package/third_party/quiche/quiche/http2/decoder/payload_decoders/goaway_payload_decoder_test.cc +1 -1
  178. package/third_party/quiche/quiche/http2/decoder/payload_decoders/headers_payload_decoder_test.cc +1 -1
  179. package/third_party/quiche/quiche/http2/decoder/payload_decoders/ping_payload_decoder_test.cc +1 -1
  180. package/third_party/quiche/quiche/http2/decoder/payload_decoders/priority_payload_decoder_test.cc +1 -1
  181. package/third_party/quiche/quiche/http2/decoder/payload_decoders/priority_update_payload_decoder_test.cc +1 -1
  182. package/third_party/quiche/quiche/http2/decoder/payload_decoders/push_promise_payload_decoder_test.cc +1 -1
  183. package/third_party/quiche/quiche/http2/decoder/payload_decoders/rst_stream_payload_decoder_test.cc +1 -1
  184. package/third_party/quiche/quiche/http2/decoder/payload_decoders/settings_payload_decoder_test.cc +1 -1
  185. package/third_party/quiche/quiche/http2/decoder/payload_decoders/unknown_payload_decoder_test.cc +1 -1
  186. package/third_party/quiche/quiche/http2/decoder/payload_decoders/window_update_payload_decoder_test.cc +1 -1
  187. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_block_decoder_test.cc +2 -2
  188. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc +8 -8
  189. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc +4 -3
  190. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_tables_test.cc +17 -17
  191. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_test.cc +25 -25
  192. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_entry_decoder_test.cc +2 -2
  193. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_entry_type_decoder_test.cc +7 -6
  194. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_string_decoder_test.cc +6 -6
  195. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_whole_entry_buffer_test.cc +1 -1
  196. package/third_party/quiche/quiche/http2/hpack/huffman/hpack_huffman_decoder_test.cc +2 -2
  197. package/third_party/quiche/quiche/http2/hpack/huffman/hpack_huffman_encoder_test.cc +1 -1
  198. package/third_party/quiche/quiche/http2/hpack/huffman/hpack_huffman_transcoder_test.cc +5 -5
  199. package/third_party/quiche/quiche/http2/hpack/varint/hpack_varint_decoder_test.cc +4 -4
  200. package/third_party/quiche/quiche/http2/hpack/varint/hpack_varint_round_trip_test.cc +1 -1
  201. package/third_party/quiche/quiche/http2/http2_constants_test.cc +1 -1
  202. package/third_party/quiche/quiche/http2/http2_structures_test.cc +23 -22
  203. package/third_party/quiche/quiche/http2/test_tools/frame_decoder_state_test_util.cc +1 -1
  204. package/third_party/quiche/quiche/http2/test_tools/frame_decoder_state_test_util.h +1 -1
  205. package/third_party/quiche/quiche/http2/test_tools/frame_parts.cc +38 -38
  206. package/third_party/quiche/quiche/http2/test_tools/hpack_block_collector.cc +15 -15
  207. package/third_party/quiche/quiche/http2/test_tools/hpack_entry_collector.cc +24 -22
  208. package/third_party/quiche/quiche/http2/test_tools/hpack_string_collector.cc +5 -5
  209. package/third_party/quiche/quiche/http2/test_tools/http2_frame_builder_test.cc +70 -89
  210. package/third_party/quiche/quiche/http2/test_tools/payload_decoder_base_test_util.cc +1 -1
  211. package/third_party/quiche/quiche/http2/test_tools/payload_decoder_base_test_util.h +29 -26
  212. package/third_party/quiche/quiche/http2/test_tools/{random_decoder_test.cc → random_decoder_test_base.cc} +13 -10
  213. package/third_party/quiche/quiche/http2/test_tools/{random_decoder_test.h → random_decoder_test_base.h} +15 -17
  214. package/third_party/quiche/quiche/http2/test_tools/{random_decoder_test_test.cc → random_decoder_test_base_test.cc} +1 -1
  215. package/third_party/quiche/quiche/http2/test_tools/verify_macros.h +32 -0
  216. package/third_party/quiche/quiche/quic/core/congestion_control/bbr2_sender.cc +2 -1
  217. package/third_party/quiche/quiche/quic/core/congestion_control/bbr2_simulator_test.cc +3 -2
  218. package/third_party/quiche/quiche/quic/core/congestion_control/bbr_sender_test.cc +3 -2
  219. package/third_party/quiche/quiche/quic/core/congestion_control/rtt_stats.cc +3 -2
  220. package/third_party/quiche/quiche/quic/core/congestion_control/rtt_stats.h +2 -1
  221. package/third_party/quiche/quiche/quic/core/congestion_control/rtt_stats_test.cc +2 -13
  222. package/third_party/quiche/quiche/quic/core/crypto/certificate_view.cc +15 -0
  223. package/third_party/quiche/quiche/quic/core/crypto/certificate_view.h +7 -0
  224. package/third_party/quiche/quiche/quic/core/crypto/certificate_view_test.cc +16 -0
  225. package/third_party/quiche/quiche/quic/core/crypto/crypto_protocol.h +1 -0
  226. package/third_party/quiche/quiche/quic/core/crypto/proof_source.h +2 -2
  227. package/third_party/quiche/quiche/quic/core/crypto/proof_source_x509.cc +3 -5
  228. package/third_party/quiche/quiche/quic/core/crypto/proof_source_x509.h +1 -2
  229. package/third_party/quiche/quiche/quic/core/crypto/quic_crypto_server_config.cc +1 -1
  230. package/third_party/quiche/quiche/quic/core/crypto/quic_crypto_server_config.h +3 -3
  231. package/third_party/quiche/quiche/quic/core/frames/quic_blocked_frame.cc +2 -8
  232. package/third_party/quiche/quiche/quic/core/frames/quic_blocked_frame.h +0 -1
  233. package/third_party/quiche/quiche/quic/core/frames/quic_crypto_frame.h +2 -0
  234. package/third_party/quiche/quiche/quic/core/frames/quic_frames_test.cc +2 -1
  235. package/third_party/quiche/quiche/quic/core/http/capsule.cc +2 -22
  236. package/third_party/quiche/quiche/quic/core/http/capsule.h +0 -2
  237. package/third_party/quiche/quiche/quic/core/http/capsule_test.cc +1 -2
  238. package/third_party/quiche/quiche/quic/core/http/end_to_end_test.cc +148 -57
  239. package/third_party/quiche/quiche/quic/core/http/http_constants.cc +1 -1
  240. package/third_party/quiche/quiche/quic/core/http/http_constants.h +2 -2
  241. package/third_party/quiche/quiche/quic/core/http/quic_header_list_test.cc +2 -2
  242. package/third_party/quiche/quiche/quic/core/http/quic_headers_stream_test.cc +18 -14
  243. package/third_party/quiche/quiche/quic/core/http/quic_send_control_stream.h +2 -1
  244. package/third_party/quiche/quiche/quic/core/http/quic_send_control_stream_test.cc +3 -7
  245. package/third_party/quiche/quiche/quic/core/http/quic_server_session_base.h +4 -0
  246. package/third_party/quiche/quiche/quic/core/http/quic_spdy_session.cc +47 -65
  247. package/third_party/quiche/quiche/quic/core/http/quic_spdy_session.h +5 -17
  248. package/third_party/quiche/quiche/quic/core/http/quic_spdy_session_test.cc +63 -54
  249. package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.cc +34 -91
  250. package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.h +1 -9
  251. package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream_test.cc +27 -134
  252. package/third_party/quiche/quiche/quic/core/http/spdy_utils.cc +0 -41
  253. package/third_party/quiche/quiche/quic/core/http/spdy_utils.h +0 -9
  254. package/third_party/quiche/quiche/quic/core/http/spdy_utils_test.cc +0 -32
  255. package/third_party/quiche/quiche/quic/core/http/web_transport_http3.cc +0 -1
  256. package/third_party/quiche/quiche/quic/core/packet_number_indexed_queue_test.cc +2 -2
  257. package/third_party/quiche/quiche/quic/core/qpack/qpack_header_table.cc +2 -1
  258. package/third_party/quiche/quiche/quic/core/qpack/qpack_send_stream.h +2 -1
  259. package/third_party/quiche/quiche/quic/core/quic_arena_scoped_ptr_test.cc +2 -2
  260. package/third_party/quiche/quiche/quic/core/quic_connection.cc +68 -46
  261. package/third_party/quiche/quiche/quic/core/quic_connection.h +7 -6
  262. package/third_party/quiche/quiche/quic/core/quic_connection_context_test.cc +2 -2
  263. package/third_party/quiche/quiche/quic/core/quic_connection_id_manager_test.cc +2 -2
  264. package/third_party/quiche/quiche/quic/core/quic_connection_id_test.cc +2 -2
  265. package/third_party/quiche/quiche/quic/core/quic_connection_test.cc +45 -132
  266. package/third_party/quiche/quiche/quic/core/quic_constants.h +0 -7
  267. package/third_party/quiche/quiche/quic/core/quic_control_frame_manager.cc +11 -3
  268. package/third_party/quiche/quiche/quic/core/quic_control_frame_manager.h +1 -1
  269. package/third_party/quiche/quiche/quic/core/quic_control_frame_manager_test.cc +2 -2
  270. package/third_party/quiche/quiche/quic/core/quic_crypto_client_handshaker.cc +13 -1
  271. package/third_party/quiche/quiche/quic/core/quic_crypto_client_handshaker.h +3 -0
  272. package/third_party/quiche/quiche/quic/core/quic_crypto_client_handshaker_test.cc +2 -2
  273. package/third_party/quiche/quiche/quic/core/quic_crypto_client_stream.cc +6 -0
  274. package/third_party/quiche/quiche/quic/core/quic_crypto_client_stream.h +8 -0
  275. package/third_party/quiche/quiche/quic/core/quic_crypto_server_stream.cc +26 -13
  276. package/third_party/quiche/quiche/quic/core/quic_crypto_server_stream.h +5 -2
  277. package/third_party/quiche/quiche/quic/core/quic_crypto_stream.cc +55 -47
  278. package/third_party/quiche/quiche/quic/core/quic_crypto_stream.h +15 -10
  279. package/third_party/quiche/quiche/quic/core/quic_crypto_stream_test.cc +34 -5
  280. package/third_party/quiche/quiche/quic/core/quic_dispatcher.cc +20 -11
  281. package/third_party/quiche/quiche/quic/core/quic_dispatcher_test.cc +37 -13
  282. package/third_party/quiche/quiche/quic/core/quic_flags_list.h +6 -10
  283. package/third_party/quiche/quiche/quic/core/quic_flow_controller.cc +3 -3
  284. package/third_party/quiche/quiche/quic/core/quic_flow_controller.h +2 -2
  285. package/third_party/quiche/quiche/quic/core/quic_flow_controller_test.cc +15 -10
  286. package/third_party/quiche/quiche/quic/core/quic_framer.cc +1 -1
  287. package/third_party/quiche/quiche/quic/core/quic_one_block_arena.h +3 -2
  288. package/third_party/quiche/quiche/quic/core/quic_one_block_arena_test.cc +2 -2
  289. package/third_party/quiche/quiche/quic/core/quic_packet_creator.cc +3 -11
  290. package/third_party/quiche/quiche/quic/core/quic_packet_creator.h +0 -8
  291. package/third_party/quiche/quiche/quic/core/quic_ping_manager.cc +14 -14
  292. package/third_party/quiche/quiche/quic/core/quic_ping_manager_test.cc +48 -0
  293. package/third_party/quiche/quiche/quic/core/quic_received_packet_manager.cc +3 -18
  294. package/third_party/quiche/quiche/quic/core/quic_received_packet_manager_test.cc +4 -14
  295. package/third_party/quiche/quiche/quic/core/quic_server_id_test.cc +2 -2
  296. package/third_party/quiche/quiche/quic/core/quic_session.cc +4 -4
  297. package/third_party/quiche/quiche/quic/core/quic_session.h +1 -1
  298. package/third_party/quiche/quiche/quic/core/quic_session_test.cc +21 -1
  299. package/third_party/quiche/quiche/quic/core/quic_stream.cc +4 -7
  300. package/third_party/quiche/quiche/quic/core/quic_stream_test.cc +2 -4
  301. package/third_party/quiche/quiche/quic/core/quic_trace_visitor_test.cc +2 -2
  302. package/third_party/quiche/quiche/quic/core/quic_types.h +3 -8
  303. package/third_party/quiche/quiche/quic/core/quic_udp_socket_posix.cc +5 -4
  304. package/third_party/quiche/quiche/quic/core/quic_unacked_packet_map_test.cc +1 -1
  305. package/third_party/quiche/quiche/quic/core/quic_utils.cc +1 -1
  306. package/third_party/quiche/quiche/quic/core/quic_utils.h +2 -2
  307. package/third_party/quiche/quiche/quic/core/quic_versions_test.cc +0 -1
  308. package/third_party/quiche/quiche/quic/core/tls_client_handshaker.cc +13 -0
  309. package/third_party/quiche/quiche/quic/core/tls_client_handshaker.h +2 -0
  310. package/third_party/quiche/quiche/quic/core/tls_server_handshaker.cc +17 -3
  311. package/third_party/quiche/quiche/quic/core/tls_server_handshaker.h +3 -1
  312. package/third_party/quiche/quiche/quic/core/uber_received_packet_manager_test.cc +18 -10
  313. package/third_party/quiche/quiche/quic/masque/masque_client_bin.cc +6 -4
  314. package/third_party/quiche/quiche/quic/masque/masque_client_session.cc +23 -7
  315. package/third_party/quiche/quiche/quic/masque/masque_client_session.h +1 -1
  316. package/third_party/quiche/quiche/quic/masque/masque_server_backend.cc +13 -0
  317. package/third_party/quiche/quiche/quic/masque/masque_server_backend.h +2 -0
  318. package/third_party/quiche/quiche/quic/masque/masque_server_bin.cc +5 -4
  319. package/third_party/quiche/quiche/quic/masque/masque_server_session.cc +30 -40
  320. package/third_party/quiche/quiche/quic/masque/masque_server_session.h +1 -1
  321. package/third_party/quiche/quiche/quic/platform/api/quic_export.h +4 -4
  322. package/third_party/quiche/quiche/quic/platform/api/quic_flags.h +0 -1
  323. package/third_party/quiche/quiche/quic/platform/api/quic_logging.h +0 -6
  324. package/third_party/quiche/quiche/quic/platform/api/quic_test.h +6 -5
  325. package/third_party/quiche/quiche/quic/qbone/bonnet/icmp_reachable_test.cc +2 -2
  326. package/third_party/quiche/quiche/quic/qbone/bonnet/mock_qbone_tunnel.h +2 -0
  327. package/third_party/quiche/quiche/quic/qbone/bonnet/qbone_tunnel_interface.h +2 -0
  328. package/third_party/quiche/quiche/quic/qbone/bonnet/tun_device_controller_test.cc +2 -2
  329. package/third_party/quiche/quiche/quic/qbone/bonnet/tun_device_packet_exchanger_test.cc +2 -2
  330. package/third_party/quiche/quiche/quic/qbone/bonnet/tun_device_test.cc +2 -2
  331. package/third_party/quiche/quiche/quic/qbone/platform/netlink_test.cc +2 -2
  332. package/third_party/quiche/quiche/quic/qbone/platform/tcp_packet.cc +5 -4
  333. package/third_party/quiche/quiche/quic/qbone/qbone_client_session.cc +4 -2
  334. package/third_party/quiche/quiche/quic/qbone/qbone_packet_processor.cc +2 -1
  335. package/third_party/quiche/quiche/quic/qbone/qbone_packet_processor_test.cc +2 -2
  336. package/third_party/quiche/quiche/quic/qbone/qbone_server_session.cc +4 -2
  337. package/third_party/quiche/quiche/quic/qbone/qbone_session_base.cc +3 -2
  338. package/third_party/quiche/quiche/quic/qbone/qbone_stream.cc +4 -4
  339. package/third_party/quiche/quiche/quic/test_tools/quic_connection_peer.cc +1 -1
  340. package/third_party/quiche/quiche/quic/test_tools/quic_http_response_cache_data/test.example.com/index.html +63 -0
  341. package/third_party/quiche/quiche/quic/test_tools/quic_http_response_cache_data/test.example.com/map.html +65 -0
  342. package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.cc +4 -3
  343. package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.h +18 -1
  344. package/third_party/quiche/quiche/quic/test_tools/simulator/quic_endpoint_test.cc +1 -1
  345. package/third_party/quiche/quiche/quic/test_tools/simulator/simulator_test.cc +1 -1
  346. package/third_party/quiche/quiche/quic/test_tools/test_ticket_crypter.cc +1 -1
  347. package/third_party/quiche/quiche/quic/test_tools/test_ticket_crypter.h +2 -2
  348. package/third_party/quiche/quiche/quic/{core/crypto → tools}/crypto_message_printer_bin.cc +0 -0
  349. package/third_party/quiche/quiche/quic/{core/qpack → tools}/qpack_offline_decoder_bin.cc +0 -0
  350. package/third_party/quiche/quiche/quic/tools/quic_client_interop_test_bin.cc +4 -3
  351. package/third_party/quiche/quiche/quic/tools/quic_memory_cache_backend_test.cc +3 -31
  352. package/third_party/quiche/quiche/quic/tools/quic_packet_printer_bin.cc +2 -2
  353. package/third_party/quiche/quiche/quic/tools/quic_simple_server_session.h +1 -1
  354. package/third_party/quiche/quiche/quic/tools/quic_simple_server_session_test.cc +1 -1
  355. package/third_party/quiche/quiche/quic/tools/quic_toy_client.cc +52 -38
  356. package/third_party/quiche/quiche/quic/tools/quic_toy_server.cc +10 -7
  357. package/third_party/quiche/quiche/quic/tools/simple_ticket_crypter.cc +1 -1
  358. package/third_party/quiche/quiche/quic/tools/simple_ticket_crypter.h +1 -1
  359. package/third_party/quiche/quiche/quic/tools/web_transport_test_visitors.h +3 -2
  360. package/third_party/quiche/quiche/spdy/core/array_output_buffer.h +1 -1
  361. package/third_party/quiche/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc +1 -1
  362. package/third_party/quiche/quiche/spdy/core/hpack/hpack_encoder_test.cc +2 -1
  363. package/third_party/quiche/quiche/spdy/core/hpack/hpack_header_table_test.cc +1 -1
  364. package/third_party/quiche/quiche/spdy/core/hpack/hpack_round_trip_test.cc +2 -1
  365. package/third_party/quiche/quiche/spdy/core/hpack/hpack_static_table_test.cc +1 -1
  366. package/third_party/quiche/quiche/spdy/core/http2_frame_decoder_adapter.cc +8 -6
  367. package/third_party/quiche/quiche/spdy/core/http2_frame_decoder_adapter.h +17 -6
  368. package/third_party/quiche/quiche/spdy/core/metadata_extension.cc +1 -1
  369. package/third_party/quiche/quiche/spdy/core/metadata_extension_test.cc +1 -1
  370. package/third_party/quiche/quiche/spdy/core/spdy_framer_test.cc +21 -17
  371. package/third_party/quiche/quiche/spdy/core/spdy_intrusive_list_test.cc +3 -3
  372. package/third_party/quiche/quiche/spdy/core/spdy_no_op_visitor.h +6 -4
  373. package/third_party/quiche/quiche/spdy/core/spdy_pinnable_buffer_piece_test.cc +1 -1
  374. package/third_party/quiche/quiche/spdy/core/spdy_prefixed_buffer_reader_test.cc +1 -1
  375. package/third_party/quiche/quiche/spdy/core/spdy_protocol_test.cc +1 -1
  376. package/third_party/quiche/quiche/spdy/test_tools/mock_spdy_framer_visitor.h +5 -4
  377. package/third_party/boringssl/src/util/bot/cmake-win32.zip.sha1 +0 -1
  378. package/third_party/quiche/quiche/common/platform/api/quiche_mock_log.h +0 -18
  379. package/third_party/quiche/quiche/common/platform/api/quiche_test_helpers.h +0 -8
  380. package/third_party/quiche/quiche/quic/platform/api/quic_mock_log.h +0 -19
  381. package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_dispatcher.cc +0 -51
  382. package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_dispatcher.h +0 -41
  383. package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_session.cc +0 -168
  384. package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_session.h +0 -78
@@ -8,9 +8,9 @@
8
8
 
9
9
  #include "absl/strings/escaping.h"
10
10
  #include "quiche/http2/test_tools/http2_structures_test_util.h"
11
+ #include "quiche/http2/test_tools/verify_macros.h"
11
12
  #include "quiche/common/platform/api/quiche_logging.h"
12
13
  #include "quiche/common/platform/api/quiche_test.h"
13
- #include "quiche/common/platform/api/quiche_test_helpers.h"
14
14
 
15
15
  using ::testing::AssertionFailure;
16
16
  using ::testing::AssertionResult;
@@ -32,7 +32,7 @@ template <class T>
32
32
  AssertionResult VerifyOptionalEq(const T& opt_a, const T& opt_b) {
33
33
  if (opt_a) {
34
34
  if (opt_b) {
35
- VERIFY_EQ(opt_a.value(), opt_b.value());
35
+ HTTP2_VERIFY_EQ(opt_a.value(), opt_b.value());
36
36
  } else {
37
37
  return AssertionFailure()
38
38
  << "opt_b is not set; opt_a.value()=" << opt_a.value();
@@ -71,29 +71,29 @@ FrameParts::~FrameParts() = default;
71
71
  AssertionResult FrameParts::VerifyEquals(const FrameParts& that) const {
72
72
  #define COMMON_MESSAGE "\n this: " << *this << "\n that: " << that
73
73
 
74
- VERIFY_EQ(frame_header_, that.frame_header_) << COMMON_MESSAGE;
75
- VERIFY_EQ(payload_, that.payload_) << COMMON_MESSAGE;
76
- VERIFY_EQ(padding_, that.padding_) << COMMON_MESSAGE;
77
- VERIFY_EQ(altsvc_origin_, that.altsvc_origin_) << COMMON_MESSAGE;
78
- VERIFY_EQ(altsvc_value_, that.altsvc_value_) << COMMON_MESSAGE;
79
- VERIFY_THAT(settings_, ContainerEq(that.settings_)) << COMMON_MESSAGE;
80
-
81
- #define VERIFY_OPTIONAL_FIELD(field_name) \
82
- VERIFY_SUCCESS(VerifyOptionalEq(field_name, that.field_name))
83
-
84
- VERIFY_OPTIONAL_FIELD(opt_altsvc_origin_length_) << COMMON_MESSAGE;
85
- VERIFY_OPTIONAL_FIELD(opt_altsvc_value_length_) << COMMON_MESSAGE;
86
- VERIFY_OPTIONAL_FIELD(opt_priority_update_) << COMMON_MESSAGE;
87
- VERIFY_OPTIONAL_FIELD(opt_goaway_) << COMMON_MESSAGE;
88
- VERIFY_OPTIONAL_FIELD(opt_missing_length_) << COMMON_MESSAGE;
89
- VERIFY_OPTIONAL_FIELD(opt_pad_length_) << COMMON_MESSAGE;
90
- VERIFY_OPTIONAL_FIELD(opt_ping_) << COMMON_MESSAGE;
91
- VERIFY_OPTIONAL_FIELD(opt_priority_) << COMMON_MESSAGE;
92
- VERIFY_OPTIONAL_FIELD(opt_push_promise_) << COMMON_MESSAGE;
93
- VERIFY_OPTIONAL_FIELD(opt_rst_stream_error_code_) << COMMON_MESSAGE;
94
- VERIFY_OPTIONAL_FIELD(opt_window_update_increment_) << COMMON_MESSAGE;
95
-
96
- #undef VERIFY_OPTIONAL_FIELD
74
+ HTTP2_VERIFY_EQ(frame_header_, that.frame_header_) << COMMON_MESSAGE;
75
+ HTTP2_VERIFY_EQ(payload_, that.payload_) << COMMON_MESSAGE;
76
+ HTTP2_VERIFY_EQ(padding_, that.padding_) << COMMON_MESSAGE;
77
+ HTTP2_VERIFY_EQ(altsvc_origin_, that.altsvc_origin_) << COMMON_MESSAGE;
78
+ HTTP2_VERIFY_EQ(altsvc_value_, that.altsvc_value_) << COMMON_MESSAGE;
79
+ HTTP2_VERIFY_EQ(settings_, that.settings_) << COMMON_MESSAGE;
80
+
81
+ #define HTTP2_VERIFY_OPTIONAL_FIELD(field_name) \
82
+ HTTP2_VERIFY_SUCCESS(VerifyOptionalEq(field_name, that.field_name))
83
+
84
+ HTTP2_VERIFY_OPTIONAL_FIELD(opt_altsvc_origin_length_) << COMMON_MESSAGE;
85
+ HTTP2_VERIFY_OPTIONAL_FIELD(opt_altsvc_value_length_) << COMMON_MESSAGE;
86
+ HTTP2_VERIFY_OPTIONAL_FIELD(opt_priority_update_) << COMMON_MESSAGE;
87
+ HTTP2_VERIFY_OPTIONAL_FIELD(opt_goaway_) << COMMON_MESSAGE;
88
+ HTTP2_VERIFY_OPTIONAL_FIELD(opt_missing_length_) << COMMON_MESSAGE;
89
+ HTTP2_VERIFY_OPTIONAL_FIELD(opt_pad_length_) << COMMON_MESSAGE;
90
+ HTTP2_VERIFY_OPTIONAL_FIELD(opt_ping_) << COMMON_MESSAGE;
91
+ HTTP2_VERIFY_OPTIONAL_FIELD(opt_priority_) << COMMON_MESSAGE;
92
+ HTTP2_VERIFY_OPTIONAL_FIELD(opt_push_promise_) << COMMON_MESSAGE;
93
+ HTTP2_VERIFY_OPTIONAL_FIELD(opt_rst_stream_error_code_) << COMMON_MESSAGE;
94
+ HTTP2_VERIFY_OPTIONAL_FIELD(opt_window_update_increment_) << COMMON_MESSAGE;
95
+
96
+ #undef HTTP2_VERIFY_OPTIONAL_FIELD
97
97
 
98
98
  return AssertionSuccess();
99
99
  }
@@ -504,31 +504,31 @@ void FrameParts::OutputTo(std::ostream& out) const {
504
504
 
505
505
  AssertionResult FrameParts::StartFrameOfType(
506
506
  const Http2FrameHeader& header, Http2FrameType expected_frame_type) {
507
- VERIFY_EQ(header.type, expected_frame_type);
508
- VERIFY_FALSE(got_start_callback_);
509
- VERIFY_FALSE(got_end_callback_);
510
- VERIFY_EQ(frame_header_, header);
507
+ HTTP2_VERIFY_EQ(header.type, expected_frame_type);
508
+ HTTP2_VERIFY_FALSE(got_start_callback_);
509
+ HTTP2_VERIFY_FALSE(got_end_callback_);
510
+ HTTP2_VERIFY_EQ(frame_header_, header);
511
511
  got_start_callback_ = true;
512
512
  return AssertionSuccess();
513
513
  }
514
514
 
515
515
  AssertionResult FrameParts::InFrameOfType(Http2FrameType expected_frame_type) {
516
- VERIFY_TRUE(got_start_callback_);
517
- VERIFY_FALSE(got_end_callback_);
518
- VERIFY_EQ(frame_header_.type, expected_frame_type);
516
+ HTTP2_VERIFY_TRUE(got_start_callback_);
517
+ HTTP2_VERIFY_FALSE(got_end_callback_);
518
+ HTTP2_VERIFY_EQ(frame_header_.type, expected_frame_type);
519
519
  return AssertionSuccess();
520
520
  }
521
521
 
522
522
  AssertionResult FrameParts::EndFrameOfType(Http2FrameType expected_frame_type) {
523
- VERIFY_SUCCESS(InFrameOfType(expected_frame_type));
523
+ HTTP2_VERIFY_SUCCESS(InFrameOfType(expected_frame_type));
524
524
  got_end_callback_ = true;
525
525
  return AssertionSuccess();
526
526
  }
527
527
 
528
528
  AssertionResult FrameParts::InPaddedFrame() {
529
- VERIFY_TRUE(got_start_callback_);
530
- VERIFY_FALSE(got_end_callback_);
531
- VERIFY_TRUE(FrameIsPadded(frame_header_));
529
+ HTTP2_VERIFY_TRUE(got_start_callback_);
530
+ HTTP2_VERIFY_FALSE(got_end_callback_);
531
+ HTTP2_VERIFY_TRUE(FrameIsPadded(frame_header_));
532
532
  return AssertionSuccess();
533
533
  }
534
534
 
@@ -537,8 +537,8 @@ AssertionResult FrameParts::AppendString(absl::string_view source,
537
537
  absl::optional<size_t>* opt_length) {
538
538
  target->append(source.data(), source.size());
539
539
  if (opt_length != nullptr) {
540
- VERIFY_TRUE(*opt_length) << "Length is not set yet\n" << *this;
541
- VERIFY_LE(target->size(), opt_length->value())
540
+ HTTP2_VERIFY_TRUE(*opt_length) << "Length is not set yet\n" << *this;
541
+ HTTP2_VERIFY_LE(target->size(), opt_length->value())
542
542
  << "String too large; source.size() = " << source.size() << "\n"
543
543
  << *this;
544
544
  }
@@ -7,8 +7,8 @@
7
7
  #include <algorithm>
8
8
  #include <memory>
9
9
 
10
+ #include "quiche/http2/test_tools/verify_macros.h"
10
11
  #include "quiche/common/platform/api/quiche_logging.h"
11
- #include "quiche/common/platform/api/quiche_test_helpers.h"
12
12
 
13
13
  using ::testing::AssertionResult;
14
14
  using ::testing::AssertionSuccess;
@@ -99,17 +99,17 @@ void HpackBlockCollector::AppendToHpackBlockBuilder(
99
99
 
100
100
  AssertionResult HpackBlockCollector::ValidateSoleIndexedHeader(
101
101
  size_t ndx) const {
102
- VERIFY_TRUE(pending_entry_.IsClear());
103
- VERIFY_EQ(1u, entries_.size());
104
- VERIFY_TRUE(entries_.front().ValidateIndexedHeader(ndx));
102
+ HTTP2_VERIFY_TRUE(pending_entry_.IsClear());
103
+ HTTP2_VERIFY_EQ(1u, entries_.size());
104
+ HTTP2_VERIFY_TRUE(entries_.front().ValidateIndexedHeader(ndx));
105
105
  return AssertionSuccess();
106
106
  }
107
107
  AssertionResult HpackBlockCollector::ValidateSoleLiteralValueHeader(
108
108
  HpackEntryType expected_type, size_t expected_index,
109
109
  bool expected_value_huffman, absl::string_view expected_value) const {
110
- VERIFY_TRUE(pending_entry_.IsClear());
111
- VERIFY_EQ(1u, entries_.size());
112
- VERIFY_TRUE(entries_.front().ValidateLiteralValueHeader(
110
+ HTTP2_VERIFY_TRUE(pending_entry_.IsClear());
111
+ HTTP2_VERIFY_EQ(1u, entries_.size());
112
+ HTTP2_VERIFY_TRUE(entries_.front().ValidateLiteralValueHeader(
113
113
  expected_type, expected_index, expected_value_huffman, expected_value));
114
114
  return AssertionSuccess();
115
115
  }
@@ -117,25 +117,25 @@ AssertionResult HpackBlockCollector::ValidateSoleLiteralNameValueHeader(
117
117
  HpackEntryType expected_type, bool expected_name_huffman,
118
118
  absl::string_view expected_name, bool expected_value_huffman,
119
119
  absl::string_view expected_value) const {
120
- VERIFY_TRUE(pending_entry_.IsClear());
121
- VERIFY_EQ(1u, entries_.size());
122
- VERIFY_TRUE(entries_.front().ValidateLiteralNameValueHeader(
120
+ HTTP2_VERIFY_TRUE(pending_entry_.IsClear());
121
+ HTTP2_VERIFY_EQ(1u, entries_.size());
122
+ HTTP2_VERIFY_TRUE(entries_.front().ValidateLiteralNameValueHeader(
123
123
  expected_type, expected_name_huffman, expected_name,
124
124
  expected_value_huffman, expected_value));
125
125
  return AssertionSuccess();
126
126
  }
127
127
  AssertionResult HpackBlockCollector::ValidateSoleDynamicTableSizeUpdate(
128
128
  size_t size) const {
129
- VERIFY_TRUE(pending_entry_.IsClear());
130
- VERIFY_EQ(1u, entries_.size());
131
- VERIFY_TRUE(entries_.front().ValidateDynamicTableSizeUpdate(size));
129
+ HTTP2_VERIFY_TRUE(pending_entry_.IsClear());
130
+ HTTP2_VERIFY_EQ(1u, entries_.size());
131
+ HTTP2_VERIFY_TRUE(entries_.front().ValidateDynamicTableSizeUpdate(size));
132
132
  return AssertionSuccess();
133
133
  }
134
134
 
135
135
  AssertionResult HpackBlockCollector::VerifyEq(
136
136
  const HpackBlockCollector& that) const {
137
- VERIFY_EQ(pending_entry_, that.pending_entry_);
138
- VERIFY_EQ(entries_, that.entries_);
137
+ HTTP2_VERIFY_EQ(pending_entry_, that.pending_entry_);
138
+ HTTP2_VERIFY_EQ(entries_, that.entries_);
139
139
  return AssertionSuccess();
140
140
  }
141
141
 
@@ -7,9 +7,9 @@
7
7
  #include "absl/strings/str_cat.h"
8
8
  #include "quiche/http2/hpack/http2_hpack_constants.h"
9
9
  #include "quiche/http2/test_tools/hpack_string_collector.h"
10
+ #include "quiche/http2/test_tools/verify_macros.h"
10
11
  #include "quiche/common/platform/api/quiche_logging.h"
11
12
  #include "quiche/common/platform/api/quiche_test.h"
12
- #include "quiche/common/platform/api/quiche_test_helpers.h"
13
13
 
14
14
  using ::testing::AssertionResult;
15
15
 
@@ -150,42 +150,44 @@ bool HpackEntryCollector::LiteralValueExpected() const {
150
150
  }
151
151
  AssertionResult HpackEntryCollector::ValidateIndexedHeader(
152
152
  size_t expected_index) const {
153
- VERIFY_TRUE(started_);
154
- VERIFY_TRUE(ended_);
155
- VERIFY_EQ(HpackEntryType::kIndexedHeader, header_type_);
156
- VERIFY_EQ(expected_index, index_);
153
+ HTTP2_VERIFY_TRUE(started_);
154
+ HTTP2_VERIFY_TRUE(ended_);
155
+ HTTP2_VERIFY_EQ(HpackEntryType::kIndexedHeader, header_type_);
156
+ HTTP2_VERIFY_EQ(expected_index, index_);
157
157
  return ::testing::AssertionSuccess();
158
158
  }
159
159
  AssertionResult HpackEntryCollector::ValidateLiteralValueHeader(
160
160
  HpackEntryType expected_type, size_t expected_index,
161
161
  bool expected_value_huffman, absl::string_view expected_value) const {
162
- VERIFY_TRUE(started_);
163
- VERIFY_TRUE(ended_);
164
- VERIFY_EQ(expected_type, header_type_);
165
- VERIFY_NE(0u, expected_index);
166
- VERIFY_EQ(expected_index, index_);
167
- VERIFY_TRUE(name_.IsClear());
168
- VERIFY_SUCCESS(value_.Collected(expected_value, expected_value_huffman));
162
+ HTTP2_VERIFY_TRUE(started_);
163
+ HTTP2_VERIFY_TRUE(ended_);
164
+ HTTP2_VERIFY_EQ(expected_type, header_type_);
165
+ HTTP2_VERIFY_NE(0u, expected_index);
166
+ HTTP2_VERIFY_EQ(expected_index, index_);
167
+ HTTP2_VERIFY_TRUE(name_.IsClear());
168
+ HTTP2_VERIFY_SUCCESS(
169
+ value_.Collected(expected_value, expected_value_huffman));
169
170
  return ::testing::AssertionSuccess();
170
171
  }
171
172
  AssertionResult HpackEntryCollector::ValidateLiteralNameValueHeader(
172
173
  HpackEntryType expected_type, bool expected_name_huffman,
173
174
  absl::string_view expected_name, bool expected_value_huffman,
174
175
  absl::string_view expected_value) const {
175
- VERIFY_TRUE(started_);
176
- VERIFY_TRUE(ended_);
177
- VERIFY_EQ(expected_type, header_type_);
178
- VERIFY_EQ(0u, index_);
179
- VERIFY_SUCCESS(name_.Collected(expected_name, expected_name_huffman));
180
- VERIFY_SUCCESS(value_.Collected(expected_value, expected_value_huffman));
176
+ HTTP2_VERIFY_TRUE(started_);
177
+ HTTP2_VERIFY_TRUE(ended_);
178
+ HTTP2_VERIFY_EQ(expected_type, header_type_);
179
+ HTTP2_VERIFY_EQ(0u, index_);
180
+ HTTP2_VERIFY_SUCCESS(name_.Collected(expected_name, expected_name_huffman));
181
+ HTTP2_VERIFY_SUCCESS(
182
+ value_.Collected(expected_value, expected_value_huffman));
181
183
  return ::testing::AssertionSuccess();
182
184
  }
183
185
  AssertionResult HpackEntryCollector::ValidateDynamicTableSizeUpdate(
184
186
  size_t size) const {
185
- VERIFY_TRUE(started_);
186
- VERIFY_TRUE(ended_);
187
- VERIFY_EQ(HpackEntryType::kDynamicTableSizeUpdate, header_type_);
188
- VERIFY_EQ(index_, size);
187
+ HTTP2_VERIFY_TRUE(started_);
188
+ HTTP2_VERIFY_TRUE(ended_);
189
+ HTTP2_VERIFY_EQ(HpackEntryType::kDynamicTableSizeUpdate, header_type_);
190
+ HTTP2_VERIFY_EQ(index_, size);
189
191
  return ::testing::AssertionSuccess();
190
192
  }
191
193
 
@@ -11,8 +11,8 @@
11
11
 
12
12
  #include "absl/strings/escaping.h"
13
13
  #include "absl/strings/str_cat.h"
14
+ #include "quiche/http2/test_tools/verify_macros.h"
14
15
  #include "quiche/common/platform/api/quiche_test.h"
15
- #include "quiche/common/platform/api/quiche_test_helpers.h"
16
16
 
17
17
  namespace http2 {
18
18
  namespace test {
@@ -76,10 +76,10 @@ void HpackStringCollector::OnStringEnd() {
76
76
 
77
77
  ::testing::AssertionResult HpackStringCollector::Collected(
78
78
  absl::string_view str, bool is_huffman_encoded) const {
79
- VERIFY_TRUE(HasEnded());
80
- VERIFY_EQ(str.size(), len);
81
- VERIFY_EQ(is_huffman_encoded, huffman_encoded);
82
- VERIFY_EQ(str, s);
79
+ HTTP2_VERIFY_TRUE(HasEnded());
80
+ HTTP2_VERIFY_EQ(str.size(), len);
81
+ HTTP2_VERIFY_EQ(is_huffman_encoded, huffman_encoded);
82
+ HTTP2_VERIFY_EQ(str, s);
83
83
  return ::testing::AssertionSuccess();
84
84
  }
85
85
 
@@ -4,6 +4,7 @@
4
4
 
5
5
  #include "quiche/http2/test_tools/http2_frame_builder.h"
6
6
 
7
+ #include "absl/strings/escaping.h"
7
8
  #include "quiche/common/platform/api/quiche_test.h"
8
9
 
9
10
  namespace http2 {
@@ -21,13 +22,12 @@ TEST(Http2FrameBuilderTest, Constructors) {
21
22
  Http2FrameBuilder fb(Http2FrameType::DATA, 0, 123);
22
23
  EXPECT_EQ(9u, fb.size());
23
24
 
24
- const char kData[] = {
25
- 0x00, 0x00, 0x00, // Payload length: 0 (unset)
26
- 0x00, // Frame type: DATA
27
- 0x00, // Flags: none
28
- 0x00, 0x00, 0x00, 0x7b, // Stream ID: 123
29
- };
30
- EXPECT_EQ(absl::string_view(kData, sizeof kData), fb.buffer());
25
+ const std::string kData = absl::HexStringToBytes(
26
+ "000000" // Payload length: 0 (unset)
27
+ "00" // Frame type: DATA
28
+ "00" // Flags: none
29
+ "0000007b"); // Stream ID: 123
30
+ EXPECT_EQ(kData, fb.buffer());
31
31
  }
32
32
  {
33
33
  Http2FrameHeader header;
@@ -38,13 +38,12 @@ TEST(Http2FrameBuilderTest, Constructors) {
38
38
  Http2FrameBuilder fb(header);
39
39
  EXPECT_EQ(9u, fb.size());
40
40
 
41
- const char kData[] = {
42
- 0xff, 0xff, 0xff, // Payload length: 2^24 - 1 (max uint24)
43
- 0x01, // Frame type: HEADER
44
- 0x04, // Flags: END_HEADERS
45
- 0x7f, 0xff, 0xff, 0xff, // Stream ID: stream id mask
46
- };
47
- EXPECT_EQ(absl::string_view(kData, sizeof kData), fb.buffer());
41
+ const std::string kData = absl::HexStringToBytes(
42
+ "ffffff" // Payload length: 2^24 - 1 (max uint24)
43
+ "01" // Frame type: HEADER
44
+ "04" // Flags: END_HEADERS
45
+ "7fffffff"); // Stream ID: stream id mask
46
+ EXPECT_EQ(kData, fb.buffer());
48
47
  }
49
48
  }
50
49
 
@@ -64,23 +63,19 @@ TEST(Http2FrameBuilderTest, SetPayloadLength) {
64
63
  fb.SetPayloadLength();
65
64
  EXPECT_EQ(70u, fb.size());
66
65
 
67
- // clang-format off
68
- const char kData[] = {
69
- 0x00, 0x00, 0x3d, // Payload length: 61
70
- 0x00, // Frame type: DATA
71
- 0x08, // Flags: PADDED
72
- 0x00, 0x00, 0x4e, 0x20, // Stream ID: 20000
73
- 0x32, // Padding Length: 50
74
- 't', 'e', 'n', ' ', 'b', // "ten b"
75
- 'y', 't', 'e', 's', '.', // "ytes."
76
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Padding bytes
77
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Padding bytes
78
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Padding bytes
79
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Padding bytes
80
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Padding bytes
81
- };
82
- // clang-format on
83
- EXPECT_EQ(absl::string_view(kData, sizeof kData), fb.buffer());
66
+ const std::string kData = absl::HexStringToBytes(
67
+ "00003d" // Payload length: 61
68
+ "00" // Frame type: DATA
69
+ "08" // Flags: PADDED
70
+ "00004e20" // Stream ID: 20000
71
+ "32" // Padding Length: 50
72
+ "74656e2062797465732e" // "ten bytes."
73
+ "00000000000000000000" // Padding bytes
74
+ "00000000000000000000" // Padding bytes
75
+ "00000000000000000000" // Padding bytes
76
+ "00000000000000000000" // Padding bytes
77
+ "00000000000000000000"); // Padding bytes
78
+ EXPECT_EQ(kData, fb.buffer());
84
79
  }
85
80
 
86
81
  TEST(Http2FrameBuilderTest, Settings) {
@@ -116,66 +111,55 @@ TEST(Http2FrameBuilderTest, Settings) {
116
111
 
117
112
  fb.SetPayloadLength(payload_size);
118
113
 
119
- // clang-format off
120
- const char kData[] = {
121
- 0x00, 0x00, 0x24, // Payload length: 36
122
- 0x04, // Frame type: SETTINGS
123
- 0x00, // Flags: none
124
- 0x00, 0x00, 0x00, 0x00, // Stream ID: 0
125
- 0x00, 0x01, // HEADER_TABLE_SIZE
126
- 0x00, 0x00, 0x10, 0x00, // 4096
127
- 0x00, 0x02, // ENABLE_PUSH
128
- 0x00, 0x00, 0x00, 0x00, // 0
129
- 0x00, 0x03, // MAX_CONCURRENT_STREAMS
130
- 0xff, 0xff, 0xff, 0xff, // 0xffffffff (max uint32)
131
- 0x00, 0x04, // INITIAL_WINDOW_SIZE
132
- 0x00, 0x01, 0x00, 0x00, // 4096
133
- 0x00, 0x05, // MAX_FRAME_SIZE
134
- 0x00, 0x00, 0x40, 0x00, // 4096
135
- 0x00, 0x06, // MAX_HEADER_LIST_SIZE
136
- 0x00, 0x00, 0x04, 0x00, // 1024
137
- };
138
- // clang-format on
139
- EXPECT_EQ(absl::string_view(kData, 9), fb.buffer().substr(0, 9));
140
- for (int n = 0; n < 6; ++n) {
141
- int offset = 9 + n * 6;
142
- EXPECT_EQ(absl::string_view(kData + offset, 6),
143
- fb.buffer().substr(offset, 6))
144
- << "Setting #" << n;
145
- }
146
- EXPECT_EQ(absl::string_view(kData, sizeof kData), fb.buffer());
114
+ const std::string kData = absl::HexStringToBytes(
115
+ "000024" // Payload length: 36
116
+ "04" // Frame type: SETTINGS
117
+ "00" // Flags: none
118
+ "00000000" // Stream ID: 0
119
+ "0001" // HEADER_TABLE_SIZE
120
+ "00001000" // 4096
121
+ "0002" // ENABLE_PUSH
122
+ "00000000" // 0
123
+ "0003" // MAX_CONCURRENT_STREAMS
124
+ "ffffffff" // 0xffffffff (max uint32)
125
+ "0004" // INITIAL_WINDOW_SIZE
126
+ "00010000" // 4096
127
+ "0005" // MAX_FRAME_SIZE
128
+ "00004000" // 4096
129
+ "0006" // MAX_HEADER_LIST_SIZE
130
+ "00000400"); // 1024
131
+ EXPECT_EQ(kData, fb.buffer());
147
132
  }
148
133
 
149
134
  TEST(Http2FrameBuilderTest, EnhanceYourCalm) {
150
- const char kData[] = {0x00, 0x00, 0x00, 0x0b};
151
- const absl::string_view expected(kData, sizeof kData);
135
+ const std::string kData = absl::HexStringToBytes("0000000b");
152
136
  {
153
137
  Http2FrameBuilder fb;
154
138
  fb.Append(Http2ErrorCode::ENHANCE_YOUR_CALM);
155
- EXPECT_EQ(expected, fb.buffer());
139
+ EXPECT_EQ(kData, fb.buffer());
156
140
  }
157
141
  {
158
142
  Http2FrameBuilder fb;
159
143
  Http2RstStreamFields rsp;
160
144
  rsp.error_code = Http2ErrorCode::ENHANCE_YOUR_CALM;
161
145
  fb.Append(rsp);
162
- EXPECT_EQ(expected, fb.buffer());
146
+ EXPECT_EQ(kData, fb.buffer());
163
147
  }
164
148
  }
165
149
 
166
150
  TEST(Http2FrameBuilderTest, PushPromise) {
167
- const char kData[] = {0x7f, 0xff, 0xff, 0xff};
151
+ const std::string kData = absl::HexStringToBytes("7fffffff");
168
152
  {
169
153
  Http2FrameBuilder fb;
170
154
  fb.Append(Http2PushPromiseFields{0x7fffffff});
171
- EXPECT_EQ(absl::string_view(kData, sizeof kData), fb.buffer());
155
+ EXPECT_EQ(kData, fb.buffer());
172
156
  }
173
157
  {
174
158
  Http2FrameBuilder fb;
175
159
  // Will generate an error if the high-bit of the stream id is set.
176
160
  EXPECT_NONFATAL_FAILURE(fb.Append(Http2PushPromiseFields{0xffffffff}),
177
161
  kHighBitSetMsg);
178
- EXPECT_EQ(absl::string_view(kData, sizeof kData), fb.buffer());
162
+ EXPECT_EQ(kData, fb.buffer());
179
163
  }
180
164
  }
181
165
 
@@ -184,29 +168,28 @@ TEST(Http2FrameBuilderTest, Ping) {
184
168
  Http2PingFields ping{"8 bytes"};
185
169
  fb.Append(ping);
186
170
 
187
- const char kData[] = {'8', ' ', 'b', 'y', 't', 'e', 's', '\0'};
188
- EXPECT_EQ(sizeof kData, Http2PingFields::EncodedSize());
189
- EXPECT_EQ(absl::string_view(kData, sizeof kData), fb.buffer());
171
+ const absl::string_view kData{"8 bytes\0", 8};
172
+ EXPECT_EQ(kData.size(), Http2PingFields::EncodedSize());
173
+ EXPECT_EQ(kData, fb.buffer());
190
174
  }
191
175
 
192
176
  TEST(Http2FrameBuilderTest, GoAway) {
193
- const char kData[] = {
194
- 0x12, 0x34, 0x56, 0x78, // Last Stream Id
195
- 0x00, 0x00, 0x00, 0x01, // Error code
196
- };
197
- EXPECT_EQ(sizeof kData, Http2GoAwayFields::EncodedSize());
177
+ const std::string kData = absl::HexStringToBytes(
178
+ "12345678" // Last Stream Id
179
+ "00000001"); // Error code
180
+ EXPECT_EQ(kData.size(), Http2GoAwayFields::EncodedSize());
198
181
  {
199
182
  Http2FrameBuilder fb;
200
183
  Http2GoAwayFields ga(0x12345678, Http2ErrorCode::PROTOCOL_ERROR);
201
184
  fb.Append(ga);
202
- EXPECT_EQ(absl::string_view(kData, sizeof kData), fb.buffer());
185
+ EXPECT_EQ(kData, fb.buffer());
203
186
  }
204
187
  {
205
188
  Http2FrameBuilder fb;
206
189
  // Will generate a test failure if the high-bit of the stream id is set.
207
190
  Http2GoAwayFields ga(0x92345678, Http2ErrorCode::PROTOCOL_ERROR);
208
191
  EXPECT_NONFATAL_FAILURE(fb.Append(ga), kHighBitSetMsg);
209
- EXPECT_EQ(absl::string_view(kData, sizeof kData), fb.buffer());
192
+ EXPECT_EQ(kData, fb.buffer());
210
193
  }
211
194
  }
212
195
 
@@ -221,25 +204,23 @@ TEST(Http2FrameBuilderTest, WindowUpdate) {
221
204
  // Will generate a test failure if the increment is zero.
222
205
  EXPECT_NONFATAL_FAILURE(fb.Append(Http2WindowUpdateFields{0}), "non-zero");
223
206
 
224
- const char kData[] = {
225
- 0x00, 0x01, 0xe2, 0x40, // Valid Window Size Increment
226
- 0x00, 0x00, 0x00, 0x01, // High-bit cleared
227
- 0x00, 0x00, 0x00, 0x00, // Invalid Window Size Increment
228
- };
229
- EXPECT_EQ(sizeof kData, 3 * Http2WindowUpdateFields::EncodedSize());
230
- EXPECT_EQ(absl::string_view(kData, sizeof kData), fb.buffer());
207
+ const std::string kData = absl::HexStringToBytes(
208
+ "0001e240" // Valid Window Size Increment
209
+ "00000001" // High-bit cleared
210
+ "00000000"); // Invalid Window Size Increment
211
+ EXPECT_EQ(kData.size(), 3 * Http2WindowUpdateFields::EncodedSize());
212
+ EXPECT_EQ(kData, fb.buffer());
231
213
  }
232
214
 
233
215
  TEST(Http2FrameBuilderTest, AltSvc) {
234
216
  Http2FrameBuilder fb;
235
217
  fb.Append(Http2AltSvcFields{99});
236
218
  fb.Append(Http2AltSvcFields{0}); // No optional origin
237
- const char kData[] = {
238
- 0x00, 0x63, // Has origin.
239
- 0x00, 0x00, // Doesn't have origin.
240
- };
241
- EXPECT_EQ(sizeof kData, 2 * Http2AltSvcFields::EncodedSize());
242
- EXPECT_EQ(absl::string_view(kData, sizeof kData), fb.buffer());
219
+ const std::string kData = absl::HexStringToBytes(
220
+ "0063" // Has origin.
221
+ "0000"); // Doesn't have origin.
222
+ EXPECT_EQ(kData.size(), 2 * Http2AltSvcFields::EncodedSize());
223
+ EXPECT_EQ(kData, fb.buffer());
243
224
  }
244
225
 
245
226
  } // namespace
@@ -77,7 +77,7 @@ DecodeStatus PayloadDecoderBaseTest::ResumeDecoding(DecodeBuffer* db) {
77
77
  ::testing::AssertionResult
78
78
  PayloadDecoderBaseTest::DecodePayloadAndValidateSeveralWays(
79
79
  absl::string_view payload, Validator validator) {
80
- VERIFY_TRUE(frame_header_is_set_);
80
+ HTTP2_VERIFY_TRUE(frame_header_is_set_);
81
81
  // Cap the payload to be decoded at the declared payload length. This is
82
82
  // required by the decoders' preconditions; they are designed on the
83
83
  // assumption that they're never passed more than they're permitted to