@fails-components/webtransport 0.0.1-rc.2 → 0.0.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 (230) hide show
  1. package/CMakeLists.txt +5 -2
  2. package/package.json +1 -1
  3. package/platform/net/quiche/common/platform/impl/quiche_flags_impl.h +1 -54
  4. package/platform/quiche_platform_impl/quic_flags_impl.h +1 -27
  5. package/platform/quiche_platform_impl/quiche_flag_utils_impl.h +1 -16
  6. package/platform/quiche_platform_impl/quiche_flags_impl.h +6 -1
  7. package/src/http3client.cc +14 -2
  8. package/src/http3client.h +10 -15
  9. package/src/webtransport.js +4 -1
  10. package/third_party/boringssl/src/.clang-format +11 -0
  11. package/third_party/boringssl/src/crypto/CMakeLists.txt +0 -1
  12. package/third_party/boringssl/src/crypto/asn1/a_strex.c +61 -95
  13. package/third_party/boringssl/src/crypto/asn1/asn1_par.c +31 -9
  14. package/third_party/boringssl/src/crypto/asn1/tasn_dec.c +33 -19
  15. package/third_party/boringssl/src/crypto/cipher_extra/asm/chacha20_poly1305_armv8.pl +8 -8
  16. package/third_party/boringssl/src/crypto/cipher_extra/derive_key.c +4 -4
  17. package/third_party/boringssl/src/crypto/cipher_extra/e_des.c +1 -0
  18. package/third_party/boringssl/src/crypto/cipher_extra/e_null.c +1 -0
  19. package/third_party/boringssl/src/crypto/cipher_extra/e_rc2.c +1 -0
  20. package/third_party/boringssl/src/crypto/cipher_extra/e_rc4.c +2 -0
  21. package/third_party/boringssl/src/crypto/fipsmodule/bcm.c +1 -0
  22. package/third_party/boringssl/src/crypto/fipsmodule/bn/asm/x86_64-mont5.pl +0 -197
  23. package/third_party/boringssl/src/crypto/fipsmodule/bn/bn_test.cc +0 -9
  24. package/third_party/boringssl/src/crypto/fipsmodule/bn/bn_tests.txt +68 -0
  25. package/third_party/boringssl/src/crypto/fipsmodule/bn/exponentiation.c +45 -40
  26. package/third_party/boringssl/src/crypto/fipsmodule/bn/internal.h +11 -8
  27. package/third_party/boringssl/src/crypto/fipsmodule/bn/rsaz_exp.c +15 -106
  28. package/third_party/boringssl/src/crypto/fipsmodule/bn/rsaz_exp.h +5 -1
  29. package/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c +12 -32
  30. package/third_party/boringssl/src/crypto/fipsmodule/cipher/internal.h +39 -0
  31. package/third_party/boringssl/src/crypto/{evp → fipsmodule/digestsign}/digestsign.c +7 -9
  32. package/third_party/boringssl/src/crypto/fipsmodule/ec/ec_key.c +1 -0
  33. package/third_party/boringssl/src/crypto/fipsmodule/ecdh/ecdh.c +2 -1
  34. package/third_party/boringssl/src/crypto/fipsmodule/ecdsa/ecdsa.c +1 -0
  35. package/third_party/boringssl/src/crypto/fipsmodule/hmac/hmac.c +1 -0
  36. package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator.c +1 -0
  37. package/third_party/boringssl/src/crypto/pkcs8/pkcs8_x509.c +4 -4
  38. package/third_party/boringssl/src/crypto/x509/algorithm.c +18 -1
  39. package/third_party/boringssl/src/crypto/x509/x_algor.c +1 -1
  40. package/third_party/boringssl/src/crypto/x509/x_crl.c +3 -3
  41. package/third_party/boringssl/src/crypto/x509/x_exten.c +1 -1
  42. package/third_party/boringssl/src/crypto/x509/x_name.c +1 -1
  43. package/third_party/boringssl/src/crypto/x509/x_pubkey.c +1 -1
  44. package/third_party/boringssl/src/crypto/x509/x_req.c +2 -2
  45. package/third_party/boringssl/src/crypto/x509/x_sig.c +1 -1
  46. package/third_party/boringssl/src/crypto/x509/x_spki.c +2 -2
  47. package/third_party/boringssl/src/crypto/x509/x_val.c +1 -1
  48. package/third_party/boringssl/src/crypto/x509/x_x509.c +2 -2
  49. package/third_party/boringssl/src/crypto/x509v3/v3_akey.c +1 -1
  50. package/third_party/boringssl/src/crypto/x509v3/v3_akeya.c +1 -1
  51. package/third_party/boringssl/src/crypto/x509v3/v3_bcons.c +2 -2
  52. package/third_party/boringssl/src/crypto/x509v3/v3_cpols.c +6 -6
  53. package/third_party/boringssl/src/crypto/x509v3/v3_crld.c +6 -6
  54. package/third_party/boringssl/src/crypto/x509v3/v3_enum.c +1 -1
  55. package/third_party/boringssl/src/crypto/x509v3/v3_extku.c +2 -2
  56. package/third_party/boringssl/src/crypto/x509v3/v3_genn.c +3 -3
  57. package/third_party/boringssl/src/crypto/x509v3/v3_info.c +3 -3
  58. package/third_party/boringssl/src/crypto/x509v3/v3_int.c +3 -3
  59. package/third_party/boringssl/src/crypto/x509v3/v3_ncons.c +2 -2
  60. package/third_party/boringssl/src/crypto/x509v3/v3_ocsp.c +2 -2
  61. package/third_party/boringssl/src/crypto/x509v3/v3_pcons.c +1 -1
  62. package/third_party/boringssl/src/crypto/x509v3/v3_pmaps.c +2 -2
  63. package/third_party/boringssl/src/crypto/x509v3/v3_skey.c +1 -1
  64. package/third_party/boringssl/src/decrepit/blowfish/blowfish.c +1 -0
  65. package/third_party/boringssl/src/decrepit/cast/cast.c +1 -0
  66. package/third_party/boringssl/src/decrepit/cfb/cfb.c +1 -0
  67. package/third_party/boringssl/src/decrepit/xts/xts.c +2 -1
  68. package/third_party/boringssl/src/fuzz/CMakeLists.txt +1 -0
  69. package/third_party/boringssl/src/fuzz/der_roundtrip.cc +57 -0
  70. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/0461791e54b4840c109637952eab43d9b938cab8 +0 -0
  71. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/06e57a7b98a403a00822739739924b97ae6c74e9 +0 -0
  72. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/078c3c1199930781466871c8dda69bec379286a4 +0 -0
  73. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/082a991742f652549e4b207100ee521f474e0a99 +1 -0
  74. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/091e3389548686c5038d04e3d76b9c4d30502074 +0 -0
  75. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/13e484c406efe97dc9d91f8b80a27b0e597c34da +1 -0
  76. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/153d254254345b61e20e7b37637dd6f6fd71ba01 +0 -0
  77. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/163605136e22f5b5302fe60d1f17837bee6b6b2b +1 -0
  78. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/1a96ec99b487b93052cd860c447e6d126dcc36d4 +1 -0
  79. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/1cc9ad96fcee279e8589b7071c7a0ccd111098f2 +1 -0
  80. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/229b8e1825512868e0e11a199ed71231dd41bb4f +1 -0
  81. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/236d820eadf7f84d70de7bb8be5f1c57a4005de2 +0 -0
  82. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/24fd9742dbdee3167509db4af245ad6f8c4c1e99 +0 -0
  83. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/2896f8deb3c4e8bdfeab743b22c64c92316880f7 +0 -0
  84. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/29b6252fe9c4d1186394b1664c421cca795b61a5 +0 -0
  85. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/2b4955132275314d1d377f37f93d8c1879a3519a +0 -0
  86. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/2e7112ac524a7a663632397cbb41f7dfd22e92c6 +0 -0
  87. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/396d197005432accf99bf0f483286e459eb24063 +1 -0
  88. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/3c75fe79266cf639f2180722a3f03f8fc3e25685 +1 -0
  89. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/3fbb104fb0eb6cae4af34d8a516998336b3a6778 +1 -0
  90. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/422fa995b3fdfed572b68b292062c330d6d05272 +0 -0
  91. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/428b48fc494cee828f0c27f77aef477cb2e1fd80 +0 -0
  92. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/4bd69e424b6fa38f9e63e58b8d0e95ac2d38d598 +1 -0
  93. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/4be7e1f134e1c55aeadeead515200f6f1e6254ba +0 -0
  94. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/4de268400e174db2dc306f45c833cf968a6c6546 +0 -0
  95. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/52d2c7efcd7da0eb7463829e05a598e36729bfae +1 -0
  96. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/53cf415eb9de49fb5a0cb46e745e413a99aa0779 +0 -0
  97. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/53ea84c48a5792281a46eb5a9c896d54ea3f1838 +1 -0
  98. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/5ba93c9db0cff93f52b521d7420e43f6eda2784f +0 -0
  99. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/5bab61eb53176449e25c2c82f172b82cb13ffb9d +1 -0
  100. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/5e5361730362736fe3e2804d8566e3c91454509b +0 -0
  101. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/6654fedb1fc4b07095695b062b5af4c2f12d59ae +0 -0
  102. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/6cad8b2a41194372ec897bece6512fe8331e274d +1 -0
  103. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/6f40330ec07e8e22f113f982b297ff7f86b8e485 +0 -0
  104. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/738f291e53e97c08dae378c71ef70a60e31ae900 +0 -0
  105. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/7396791821e64fc9340249a4bcbd2198e9f237db +0 -0
  106. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/7653595e28f23e62ea6707c99ca08c780a69335f +0 -0
  107. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/77de68daecd823babbb58edb1c8e14d7106e83bb +1 -0
  108. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/7cb5c71603a787032973d6ddc9c2c34638005784 +0 -0
  109. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/80a1e1ae75c1e5ef7bbde5f5877e3e5b26b3cf58 +0 -0
  110. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/872ba8af52a8c1380c388bab0e20bec2e729db80 +1 -0
  111. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/8855f2d904cf1bbaffc54e68d98890fdc9ec14cc +0 -0
  112. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/8a22f56ee86cc2d67e9610a6b0ed59f21008a341 +0 -0
  113. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/935a69e9f3bfa1dd3bf058fa3e1b953e82195de6 +1 -0
  114. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/951ccb49640c8f9e81fb4e0d82730321f4e15bb3 +0 -0
  115. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/9af1f3ed10c7a54f6b57c344015141cc082db23b +0 -0
  116. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a0b7dd1684089c63a4aac2e4a832544df4d639d6 +0 -0
  117. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a22d0d3565a509a4bfedce078090d8c6a908d950 +0 -0
  118. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a22f1185582f66227118c8e9002a5c29728f0650 +0 -0
  119. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a457945cb86ec812235f407ed70fe72fbaf694a1 +1 -0
  120. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a4ee44c4e8728d4924642ef8765063262e8c4601 +0 -0
  121. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a4fc609a6546fc0061f499f0faed9054fd388c9a +1 -0
  122. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a7c13e6fe60eee08b9aac00a095a9301ea1a9824 +1 -0
  123. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/a98e22a5a8c2f5dda365d55e76536931010e1560 +0 -0
  124. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/aca6ed86348b1176bfbe4ebf32b2d48a0aa42f9f +0 -0
  125. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/aeefb82d7f5cc69168aade3b196a84d0f5c14bf2 +0 -0
  126. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/b37e0f6fa42840c773747c4cb608c278ab65021d +1 -0
  127. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/b5d4e67f0ec5b1a90100d8ad424d77aea8e16353 +0 -0
  128. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/b65ea16ba4dae8599ebbad7c4cb9fcd505edf485 +0 -0
  129. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/b95311782071c4d9182c0effe32487fc5cdbd33d +1 -0
  130. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/bbcaf4d15f92bfc6d624eee967fade1a74329f30 +0 -0
  131. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/bc26b8c794ac0adf948cbca02e88b3901824ef17 +1 -0
  132. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/bc7b23c2c68e4ad33ecea493ff6e60d423371cd0 +1 -0
  133. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/bd8daf3e78d8ba3a25838053b6993edc7a21c30e +0 -0
  134. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/c4d94647e646f02da1736b3179804ad6083acde9 +0 -0
  135. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/c869b259f9f81bec8ed24a9bc2cef35a513fb9fc +0 -0
  136. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/ceee46f04a09ef5d3342ef25d9f483e861727575 +1 -0
  137. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/d05c069216b54f35bc7e3ee08371baee243c089a +0 -0
  138. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/d18c30ba21e0d085dd983ad528f2c9001285d3d2 +1 -0
  139. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/d2c00146b2f2bcb4c6cecb731d2062273523d8c8 +1 -0
  140. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/d9bc7157a485958a5fce35ce777f551fe3f7d94c +0 -0
  141. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/defce76f0d3c3e057bb623986bacee7bbd07d1a1 +1 -0
  142. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/df9b696736847e43672b7a99ca05655af8a81135 +0 -0
  143. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/e5b420f71cf412bd9fdebdd46245fabd1f3462e5 +1 -0
  144. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/e7979b0e6e3e9cd64ceab99778c55205d6f92a73 +0 -0
  145. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/ee629f1935abc05fdc32ba314ec1f80f4bff2a17 +0 -0
  146. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/f944dcd635f9801f7ac90a407fbc479964dec024 +0 -0
  147. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/fadcde7d914246ca04bd56e68fd4045b1cf1c5ef +0 -0
  148. package/third_party/boringssl/src/fuzz/der_roundtrip_corpus/fd8be6506a9995f626eef831b9c981a80b0e3640 +0 -0
  149. package/third_party/boringssl/src/include/openssl/cipher.h +21 -48
  150. package/third_party/boringssl/src/include/openssl/ssl.h +38 -0
  151. package/third_party/boringssl/src/ssl/handshake_client.cc +8 -2
  152. package/third_party/boringssl/src/ssl/internal.h +16 -3
  153. package/third_party/boringssl/src/ssl/s3_both.cc +23 -1
  154. package/third_party/boringssl/src/ssl/ssl_lib.cc +94 -1
  155. package/third_party/boringssl/src/ssl/test/runner/runner.go +192 -0
  156. package/third_party/boringssl/src/ssl/test/test_config.cc +6 -0
  157. package/third_party/boringssl/src/ssl/test/test_config.h +1 -0
  158. package/third_party/boringssl/src/ssl/tls13_client.cc +7 -3
  159. package/third_party/boringssl/src/ssl/tls13_server.cc +2 -1
  160. package/third_party/boringssl/src/util/convert_comments.go +23 -0
  161. package/third_party/boringssl/src/util/fipstools/acvp/acvptool/acvp/acvp.go +1 -1
  162. package/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/modulewrapper.cc +32 -21
  163. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.cc +1 -1
  164. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.h +1 -1
  165. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h +3 -2
  166. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.cc +2 -2
  167. package/third_party/quiche/quiche/http2/adapter/http2_protocol.h +5 -1
  168. package/third_party/quiche/quiche/http2/adapter/http2_util.cc +2 -0
  169. package/third_party/quiche/quiche/http2/adapter/http2_visitor_interface.h +2 -0
  170. package/third_party/quiche/quiche/http2/adapter/nghttp2_adapter_test.cc +119 -0
  171. package/third_party/quiche/quiche/http2/adapter/oghttp2_adapter_test.cc +130 -0
  172. package/third_party/quiche/quiche/http2/adapter/oghttp2_session.cc +23 -12
  173. package/third_party/quiche/quiche/http2/decoder/decode_buffer_test.cc +6 -11
  174. package/third_party/quiche/quiche/quic/core/congestion_control/bbr2_sender.cc +0 -5
  175. package/third_party/quiche/quiche/quic/core/congestion_control/bbr2_sender.h +0 -2
  176. package/third_party/quiche/quiche/quic/core/congestion_control/bbr_sender.cc +0 -10
  177. package/third_party/quiche/quiche/quic/core/congestion_control/bbr_sender.h +0 -1
  178. package/third_party/quiche/quiche/quic/core/congestion_control/send_algorithm_interface.h +0 -6
  179. package/third_party/quiche/quiche/quic/core/congestion_control/tcp_cubic_sender_bytes.cc +0 -2
  180. package/third_party/quiche/quiche/quic/core/congestion_control/tcp_cubic_sender_bytes.h +0 -1
  181. package/third_party/quiche/quiche/quic/core/crypto/transport_parameters_test.cc +1 -3
  182. package/third_party/quiche/quiche/quic/core/http/end_to_end_test.cc +19 -9
  183. package/third_party/quiche/quiche/quic/core/http/http_decoder_test.cc +6 -3
  184. package/third_party/quiche/quiche/quic/core/http/quic_server_session_base.cc +4 -16
  185. package/third_party/quiche/quiche/quic/core/http/quic_spdy_session.h +6 -6
  186. package/third_party/quiche/quiche/quic/core/http/quic_spdy_session_test.cc +25 -15
  187. package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream_test.cc +6 -5
  188. package/third_party/quiche/quiche/quic/core/http/web_transport_http3.cc +1 -2
  189. package/third_party/quiche/quiche/quic/core/quic_bandwidth_test.cc +12 -12
  190. package/third_party/quiche/quiche/quic/core/quic_connection.cc +5 -95
  191. package/third_party/quiche/quiche/quic/core/quic_connection.h +0 -35
  192. package/third_party/quiche/quiche/quic/core/quic_connection_test.cc +80 -196
  193. package/third_party/quiche/quiche/quic/core/quic_control_frame_manager.cc +1 -1
  194. package/third_party/quiche/quiche/quic/core/quic_crypto_stream.cc +29 -5
  195. package/third_party/quiche/quiche/quic/core/quic_crypto_stream_test.cc +46 -0
  196. package/third_party/quiche/quiche/quic/core/quic_dispatcher_test.cc +17 -14
  197. package/third_party/quiche/quiche/quic/core/quic_flags_list.h +54 -54
  198. package/third_party/quiche/quiche/quic/core/quic_flow_controller_test.cc +8 -5
  199. package/third_party/quiche/quiche/quic/core/quic_framer_test.cc +8 -5
  200. package/third_party/quiche/quiche/quic/core/quic_idle_network_detector.cc +1 -0
  201. package/third_party/quiche/quiche/quic/core/quic_idle_network_detector_test.cc +29 -0
  202. package/third_party/quiche/quiche/quic/core/quic_packet_creator.cc +1 -5
  203. package/third_party/quiche/quiche/quic/core/quic_packet_creator_test.cc +18 -11
  204. package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager.cc +9 -28
  205. package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager.h +0 -13
  206. package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager_test.cc +1 -49
  207. package/third_party/quiche/quiche/quic/core/quic_session.cc +0 -8
  208. package/third_party/quiche/quiche/quic/core/quic_session.h +0 -1
  209. package/third_party/quiche/quiche/quic/core/quic_stream.cc +1 -1
  210. package/third_party/quiche/quiche/quic/core/quic_stream_sequencer.cc +5 -0
  211. package/third_party/quiche/quiche/quic/core/quic_stream_sequencer.h +4 -0
  212. package/third_party/quiche/quiche/quic/core/quic_stream_sequencer_test.cc +12 -5
  213. package/third_party/quiche/quiche/quic/core/quic_stream_test.cc +27 -12
  214. package/third_party/quiche/quiche/quic/core/quic_types.cc +0 -1
  215. package/third_party/quiche/quiche/quic/core/quic_types.h +0 -3
  216. package/third_party/quiche/quiche/quic/core/quic_utils.cc +0 -3
  217. package/third_party/quiche/quiche/quic/core/quic_utils_test.cc +0 -2
  218. package/third_party/quiche/quiche/quic/core/tls_client_handshaker_test.cc +16 -12
  219. package/third_party/quiche/quiche/quic/core/tls_handshaker.cc +18 -3
  220. package/third_party/quiche/quiche/quic/qbone/platform/internet_checksum.cc +7 -2
  221. package/third_party/quiche/quiche/quic/test_tools/crypto_test_utils.cc +20 -12
  222. package/third_party/quiche/quiche/quic/test_tools/crypto_test_utils.h +10 -5
  223. package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.h +0 -2
  224. package/third_party/quiche/quiche/quic/test_tools/simulator/quic_endpoint.cc +0 -8
  225. package/third_party/quiche/quiche/quic/test_tools/simulator/quic_endpoint.h +0 -1
  226. package/third_party/quiche/quiche/quic/tools/quic_simple_server_stream_test.cc +2 -1
  227. package/platform/net/quiche/common/platform/impl/quic_flags_list_add.h +0 -379
  228. package/platform/net/quiche/common/platform/impl/quiche_flags_impl.cc +0 -21
  229. package/third_party/boringssl/src/crypto/asn1/charmap.h +0 -15
  230. package/third_party/boringssl/src/crypto/asn1/charmap.pl +0 -135
@@ -2679,11 +2679,13 @@ TEST_P(QuicSpdySessionTestClient, DuplicateHttp3UnidirectionalStreams) {
2679
2679
  GetNthServerInitiatedUnidirectionalStreamId(transport_version(), 1);
2680
2680
  QuicStreamFrame data2(id2, false, 0, absl::string_view(type1, 1));
2681
2681
  EXPECT_CALL(debug_visitor, OnPeerControlStreamCreated(id2)).Times(0);
2682
- EXPECT_CALL(*connection_,
2683
- CloseConnection(QUIC_HTTP_DUPLICATE_UNIDIRECTIONAL_STREAM,
2684
- "Control stream is received twice.", _));
2685
2682
  EXPECT_QUIC_PEER_BUG(
2686
- session_.OnStreamFrame(data2),
2683
+ {
2684
+ EXPECT_CALL(*connection_,
2685
+ CloseConnection(QUIC_HTTP_DUPLICATE_UNIDIRECTIONAL_STREAM,
2686
+ "Control stream is received twice.", _));
2687
+ session_.OnStreamFrame(data2);
2688
+ },
2687
2689
  "Received a duplicate Control stream: Closing connection.");
2688
2690
 
2689
2691
  QuicStreamId id3 =
@@ -2698,11 +2700,14 @@ TEST_P(QuicSpdySessionTestClient, DuplicateHttp3UnidirectionalStreams) {
2698
2700
  GetNthServerInitiatedUnidirectionalStreamId(transport_version(), 3);
2699
2701
  QuicStreamFrame data4(id4, false, 0, absl::string_view(type2, 1));
2700
2702
  EXPECT_CALL(debug_visitor, OnPeerQpackEncoderStreamCreated(id4)).Times(0);
2701
- EXPECT_CALL(*connection_,
2702
- CloseConnection(QUIC_HTTP_DUPLICATE_UNIDIRECTIONAL_STREAM,
2703
- "QPACK encoder stream is received twice.", _));
2704
2703
  EXPECT_QUIC_PEER_BUG(
2705
- session_.OnStreamFrame(data4),
2704
+ {
2705
+ EXPECT_CALL(
2706
+ *connection_,
2707
+ CloseConnection(QUIC_HTTP_DUPLICATE_UNIDIRECTIONAL_STREAM,
2708
+ "QPACK encoder stream is received twice.", _));
2709
+ session_.OnStreamFrame(data4);
2710
+ },
2706
2711
  "Received a duplicate QPACK encoder stream: Closing connection.");
2707
2712
 
2708
2713
  QuicStreamId id5 =
@@ -2717,11 +2722,14 @@ TEST_P(QuicSpdySessionTestClient, DuplicateHttp3UnidirectionalStreams) {
2717
2722
  GetNthServerInitiatedUnidirectionalStreamId(transport_version(), 5);
2718
2723
  QuicStreamFrame data6(id6, false, 0, absl::string_view(type3, 1));
2719
2724
  EXPECT_CALL(debug_visitor, OnPeerQpackDecoderStreamCreated(id6)).Times(0);
2720
- EXPECT_CALL(*connection_,
2721
- CloseConnection(QUIC_HTTP_DUPLICATE_UNIDIRECTIONAL_STREAM,
2722
- "QPACK decoder stream is received twice.", _));
2723
2725
  EXPECT_QUIC_PEER_BUG(
2724
- session_.OnStreamFrame(data6),
2726
+ {
2727
+ EXPECT_CALL(
2728
+ *connection_,
2729
+ CloseConnection(QUIC_HTTP_DUPLICATE_UNIDIRECTIONAL_STREAM,
2730
+ "QPACK decoder stream is received twice.", _));
2731
+ session_.OnStreamFrame(data6);
2732
+ },
2725
2733
  "Received a duplicate QPACK decoder stream: Closing connection.");
2726
2734
  }
2727
2735
 
@@ -3790,10 +3798,12 @@ TEST_P(QuicSpdySessionTestServerNoExtendedConnect, BadExtendedConnectSetting) {
3790
3798
  ? GetNthClientInitiatedUnidirectionalStreamId(transport_version(), 3)
3791
3799
  : GetNthServerInitiatedUnidirectionalStreamId(transport_version(), 3);
3792
3800
  QuicStreamFrame frame(control_stream_id, /*fin=*/false, /*offset=*/0, data);
3793
- EXPECT_CALL(*connection_,
3794
- CloseConnection(QUIC_HTTP_INVALID_SETTING_VALUE, _, _));
3795
3801
  EXPECT_QUIC_PEER_BUG(
3796
- session_.OnStreamFrame(frame),
3802
+ {
3803
+ EXPECT_CALL(*connection_,
3804
+ CloseConnection(QUIC_HTTP_INVALID_SETTING_VALUE, _, _));
3805
+ session_.OnStreamFrame(frame);
3806
+ },
3797
3807
  "Received SETTINGS_ENABLE_CONNECT_PROTOCOL with invalid value");
3798
3808
  }
3799
3809
 
@@ -3212,11 +3212,12 @@ TEST_P(QuicSpdyStreamTest,
3212
3212
  // This private method should never be called when
3213
3213
  // `qpack_decoded_headers_accumulator_` is nullptr. The number 1 identifies
3214
3214
  // the site where `qpack_decoded_headers_accumulator_` was last reset.
3215
- EXPECT_CALL(*connection_, CloseConnection(_, _, _));
3216
- bool result = true;
3217
- EXPECT_QUIC_BUG(result = QuicSpdyStreamPeer::OnHeadersFrameEnd(stream_),
3218
- "b215142466_OnHeadersFrameEnd.: 1$");
3219
- EXPECT_FALSE(result);
3215
+ EXPECT_QUIC_BUG(
3216
+ {
3217
+ EXPECT_CALL(*connection_, CloseConnection(_, _, _));
3218
+ EXPECT_FALSE(QuicSpdyStreamPeer::OnHeadersFrameEnd(stream_));
3219
+ },
3220
+ "b215142466_OnHeadersFrameEnd.?: 1");
3220
3221
  }
3221
3222
 
3222
3223
  } // namespace
@@ -347,8 +347,7 @@ bool WebTransportHttp3UnidirectionalStream::ReadSessionId() {
347
347
  // If all of the data has been received, and we still cannot associate the
348
348
  // stream with a session, consume all of the data so that the stream can
349
349
  // be closed.
350
- if (sequencer()->NumBytesConsumed() + sequencer()->NumBytesBuffered() >=
351
- sequencer()->close_offset()) {
350
+ if (sequencer()->IsAllDataAvailable()) {
352
351
  QUIC_DLOG(WARNING)
353
352
  << ENDPOINT << "Failed to associate WebTransport stream " << id()
354
353
  << " with a session because the stream ended prematurely.";
@@ -83,21 +83,21 @@ TEST_F(QuicBandwidthTest, Scale) {
83
83
  }
84
84
 
85
85
  TEST_F(QuicBandwidthTest, BytesPerPeriod) {
86
- EXPECT_EQ(2000u, QuicBandwidth::FromKBytesPerSecond(2000).ToBytesPerPeriod(
87
- QuicTime::Delta::FromMilliseconds(1)));
88
- EXPECT_EQ(2u, QuicBandwidth::FromKBytesPerSecond(2000).ToKBytesPerPeriod(
89
- QuicTime::Delta::FromMilliseconds(1)));
90
- EXPECT_EQ(200000u, QuicBandwidth::FromKBytesPerSecond(2000).ToBytesPerPeriod(
91
- QuicTime::Delta::FromMilliseconds(100)));
92
- EXPECT_EQ(200u, QuicBandwidth::FromKBytesPerSecond(2000).ToKBytesPerPeriod(
93
- QuicTime::Delta::FromMilliseconds(100)));
86
+ EXPECT_EQ(2000, QuicBandwidth::FromKBytesPerSecond(2000).ToBytesPerPeriod(
87
+ QuicTime::Delta::FromMilliseconds(1)));
88
+ EXPECT_EQ(2, QuicBandwidth::FromKBytesPerSecond(2000).ToKBytesPerPeriod(
89
+ QuicTime::Delta::FromMilliseconds(1)));
90
+ EXPECT_EQ(200000, QuicBandwidth::FromKBytesPerSecond(2000).ToBytesPerPeriod(
91
+ QuicTime::Delta::FromMilliseconds(100)));
92
+ EXPECT_EQ(200, QuicBandwidth::FromKBytesPerSecond(2000).ToKBytesPerPeriod(
93
+ QuicTime::Delta::FromMilliseconds(100)));
94
94
 
95
95
  // 1599 * 1001 = 1600599 bits/ms = 200.074875 bytes/s.
96
- EXPECT_EQ(200u, QuicBandwidth::FromBitsPerSecond(1599).ToBytesPerPeriod(
97
- QuicTime::Delta::FromMilliseconds(1001)));
96
+ EXPECT_EQ(200, QuicBandwidth::FromBitsPerSecond(1599).ToBytesPerPeriod(
97
+ QuicTime::Delta::FromMilliseconds(1001)));
98
98
 
99
- EXPECT_EQ(200u, QuicBandwidth::FromBitsPerSecond(1599).ToKBytesPerPeriod(
100
- QuicTime::Delta::FromSeconds(1001)));
99
+ EXPECT_EQ(200, QuicBandwidth::FromBitsPerSecond(1599).ToKBytesPerPeriod(
100
+ QuicTime::Delta::FromSeconds(1001)));
101
101
  }
102
102
 
103
103
  TEST_F(QuicBandwidthTest, TransferTime) {
@@ -313,8 +313,6 @@ QuicConnection::QuicConnection(
313
313
  max_consecutive_num_packets_with_no_retransmittable_frames_(
314
314
  kMaxConsecutiveNonRetransmittablePackets),
315
315
  bundle_retransmittable_with_pto_ack_(false),
316
- fill_up_link_during_probing_(false),
317
- probing_retransmission_pending_(false),
318
316
  last_control_frame_id_(kInvalidControlFrameId),
319
317
  is_path_degrading_(false),
320
318
  processing_ack_frame_(false),
@@ -1969,29 +1967,6 @@ void QuicConnection::OnClientConnectionIdAvailable() {
1969
1967
  }
1970
1968
  }
1971
1969
 
1972
- bool QuicConnection::ShouldSetRetransmissionAlarmOnPacketSent(
1973
- bool in_flight, EncryptionLevel level) const {
1974
- QUICHE_DCHECK(!sent_packet_manager_.simplify_set_retransmission_alarm());
1975
- if (!retransmission_alarm_->IsSet()) {
1976
- return true;
1977
- }
1978
- if (!in_flight) {
1979
- return false;
1980
- }
1981
-
1982
- if (!SupportsMultiplePacketNumberSpaces()) {
1983
- return true;
1984
- }
1985
- // Before handshake gets confirmed, do not re-arm PTO timer on application
1986
- // data. Think about this scenario: on the client side, the CHLO gets
1987
- // acknowledged and the SHLO is not received yet. The PTO alarm is set when
1988
- // the CHLO acknowledge is received (and there is no in flight INITIAL
1989
- // packet). Re-arming PTO alarm on 0-RTT packet would keep postponing the PTO
1990
- // alarm.
1991
- return IsHandshakeConfirmed() || level == ENCRYPTION_INITIAL ||
1992
- level == ENCRYPTION_HANDSHAKE;
1993
- }
1994
-
1995
1970
  bool QuicConnection::OnNewConnectionIdFrameInner(
1996
1971
  const QuicNewConnectionIdFrame& frame) {
1997
1972
  if (peer_issued_cid_manager_ == nullptr) {
@@ -3136,17 +3111,6 @@ void QuicConnection::WriteQueuedPackets() {
3136
3111
  }
3137
3112
  }
3138
3113
 
3139
- void QuicConnection::SendProbingRetransmissions() {
3140
- while (sent_packet_manager_.GetSendAlgorithm()->ShouldSendProbingPacket() &&
3141
- CanWrite(HAS_RETRANSMITTABLE_DATA)) {
3142
- if (!visitor_->SendProbingData()) {
3143
- QUIC_DVLOG(1)
3144
- << "Cannot send probing retransmissions: nothing to retransmit.";
3145
- break;
3146
- }
3147
- }
3148
- }
3149
-
3150
3114
  void QuicConnection::MarkZeroRttPacketsForRetransmission(int reject_reason) {
3151
3115
  sent_packet_manager_.MarkZeroRttPacketsForRetransmission();
3152
3116
  if (debug_visitor_ != nullptr && version().UsesTls()) {
@@ -3679,13 +3643,7 @@ bool QuicConnection::WritePacket(SerializedPacket* packet) {
3679
3643
  return true;
3680
3644
  }
3681
3645
  }
3682
- if (sent_packet_manager_.simplify_set_retransmission_alarm()) {
3683
- QUIC_RELOADABLE_FLAG_COUNT_N(quic_simplify_set_retransmission_alarm, 1, 2);
3684
- if (in_flight || !retransmission_alarm_->IsSet()) {
3685
- SetRetransmissionAlarm();
3686
- }
3687
- } else if (ShouldSetRetransmissionAlarmOnPacketSent(
3688
- in_flight, packet->encryption_level)) {
3646
+ if (in_flight || !retransmission_alarm_->IsSet()) {
3689
3647
  SetRetransmissionAlarm();
3690
3648
  }
3691
3649
  SetPingAlarm();
@@ -4362,14 +4320,7 @@ void QuicConnection::QueueUndecryptablePacket(
4362
4320
  undecryptable_packets_.emplace_back(packet, decryption_level,
4363
4321
  last_received_packet_info_);
4364
4322
  if (perspective_ == Perspective::IS_CLIENT) {
4365
- if (sent_packet_manager_.simplify_set_retransmission_alarm()) {
4366
- SetRetransmissionAlarm();
4367
- } else if (!retransmission_alarm_->IsSet() ||
4368
- GetRetransmissionDeadline() <
4369
- retransmission_alarm_->deadline()) {
4370
- // Re-arm PTO only if we can make it sooner to speed up recovery.
4371
- SetRetransmissionAlarm();
4372
- }
4323
+ SetRetransmissionAlarm();
4373
4324
  }
4374
4325
  }
4375
4326
 
@@ -4433,18 +4384,7 @@ void QuicConnection::MaybeProcessUndecryptablePackets() {
4433
4384
  undecryptable_packets_.clear();
4434
4385
  }
4435
4386
  if (perspective_ == Perspective::IS_CLIENT) {
4436
- if (sent_packet_manager_.simplify_set_retransmission_alarm()) {
4437
- SetRetransmissionAlarm();
4438
- } else if (!retransmission_alarm_->IsSet() ||
4439
- undecryptable_packets_.empty() ||
4440
- GetRetransmissionDeadline() <
4441
- retransmission_alarm_->deadline()) {
4442
- // 1) If there is still undecryptable packet, only re-arm PTO to make it
4443
- // sooner to speed up recovery.
4444
- // 2) If all undecryptable packets get processed, re-arm (which may
4445
- // postpone) PTO since no immediate recovery is needed.
4446
- SetRetransmissionAlarm();
4447
- }
4387
+ SetRetransmissionAlarm();
4448
4388
  }
4449
4389
  }
4450
4390
 
@@ -4789,15 +4729,13 @@ void QuicConnection::SetRetransmissionAlarm() {
4789
4729
  return;
4790
4730
  }
4791
4731
  PacketNumberSpace packet_number_space;
4792
- if (sent_packet_manager_.simplify_set_retransmission_alarm() &&
4793
- SupportsMultiplePacketNumberSpaces() && !IsHandshakeConfirmed() &&
4732
+ if (SupportsMultiplePacketNumberSpaces() && !IsHandshakeConfirmed() &&
4794
4733
  !sent_packet_manager_
4795
4734
  .GetEarliestPacketSentTimeForPto(&packet_number_space)
4796
4735
  .IsInitialized()) {
4797
4736
  // Before handshake gets confirmed, GetEarliestPacketSentTimeForPto
4798
4737
  // returning 0 indicates no packets are in flight or only application data
4799
4738
  // is in flight.
4800
- QUIC_RELOADABLE_FLAG_COUNT_N(quic_simplify_set_retransmission_alarm, 2, 2);
4801
4739
  if (perspective_ == Perspective::IS_SERVER) {
4802
4740
  // No need to arm PTO on server side.
4803
4741
  retransmission_alarm_->Cancel();
@@ -5500,29 +5438,8 @@ bool QuicConnection::MaybeConsiderAsMemoryCorruption(
5500
5438
  return false;
5501
5439
  }
5502
5440
 
5503
- void QuicConnection::MaybeSendProbingRetransmissions() {
5504
- QUICHE_DCHECK(fill_up_link_during_probing_);
5505
-
5506
- // Don't send probing retransmissions until the handshake has completed.
5507
- if (!IsHandshakeComplete() ||
5508
- sent_packet_manager().HasUnackedCryptoPackets()) {
5509
- return;
5510
- }
5511
-
5512
- if (probing_retransmission_pending_) {
5513
- QUIC_BUG(quic_bug_10511_37)
5514
- << "MaybeSendProbingRetransmissions is called while another call "
5515
- "to it is already in progress";
5516
- return;
5517
- }
5518
-
5519
- probing_retransmission_pending_ = true;
5520
- SendProbingRetransmissions();
5521
- probing_retransmission_pending_ = false;
5522
- }
5523
-
5524
5441
  void QuicConnection::CheckIfApplicationLimited() {
5525
- if (!connected_ || probing_retransmission_pending_) {
5442
+ if (!connected_) {
5526
5443
  return;
5527
5444
  }
5528
5445
 
@@ -5533,13 +5450,6 @@ void QuicConnection::CheckIfApplicationLimited() {
5533
5450
  return;
5534
5451
  }
5535
5452
 
5536
- if (fill_up_link_during_probing_) {
5537
- MaybeSendProbingRetransmissions();
5538
- if (!CanWrite(HAS_RETRANSMITTABLE_DATA)) {
5539
- return;
5540
- }
5541
- }
5542
-
5543
5453
  sent_packet_manager_.OnApplicationLimited();
5544
5454
  }
5545
5455
 
@@ -137,10 +137,6 @@ class QUIC_EXPORT_PRIVATE QuicConnectionVisitorInterface {
137
137
  // Called when a blocked socket becomes writable.
138
138
  virtual void OnCanWrite() = 0;
139
139
 
140
- // Called when the connection needs more data to probe for additional
141
- // bandwidth. Returns true if data was sent, false otherwise.
142
- virtual bool SendProbingData() = 0;
143
-
144
140
  // Called when the connection experiences a change in congestion window.
145
141
  virtual void OnCongestionWindowChange(QuicTime now) = 0;
146
142
 
@@ -1016,13 +1012,6 @@ class QUIC_EXPORT_PRIVATE QuicConnection
1016
1012
  return last_received_packet_info_.source_address;
1017
1013
  }
1018
1014
 
1019
- bool fill_up_link_during_probing() const {
1020
- return fill_up_link_during_probing_;
1021
- }
1022
- void set_fill_up_link_during_probing(bool new_value) {
1023
- fill_up_link_during_probing_ = new_value;
1024
- }
1025
-
1026
1015
  // This setting may be changed during the crypto handshake in order to
1027
1016
  // enable/disable padding of different packets in the crypto handshake.
1028
1017
  //
@@ -1305,13 +1294,6 @@ class QUIC_EXPORT_PRIVATE QuicConnection
1305
1294
  // Returns true if the packet should be discarded and not sent.
1306
1295
  virtual bool ShouldDiscardPacket(EncryptionLevel encryption_level);
1307
1296
 
1308
- // Retransmits packets continuously until blocked by the congestion control.
1309
- // If there are no packets to retransmit, does not do anything.
1310
- void SendProbingRetransmissions();
1311
-
1312
- // Decides whether to send probing retransmissions, and does so if required.
1313
- void MaybeSendProbingRetransmissions();
1314
-
1315
1297
  // Notify various components(Session etc.) that this connection has been
1316
1298
  // migrated.
1317
1299
  virtual void OnConnectionMigration();
@@ -1858,11 +1840,6 @@ class QUIC_EXPORT_PRIVATE QuicConnection
1858
1840
  // when a new client connection ID is received.
1859
1841
  void OnClientConnectionIdAvailable();
1860
1842
 
1861
- // Returns true if connection needs to set retransmission alarm after a packet
1862
- // gets sent.
1863
- bool ShouldSetRetransmissionAlarmOnPacketSent(bool in_flight,
1864
- EncryptionLevel level) const;
1865
-
1866
1843
  // Determines encryption level to send ping in `packet_number_space`.
1867
1844
  EncryptionLevel GetEncryptionLevelToSendPingForSpace(
1868
1845
  PacketNumberSpace space) const;
@@ -2111,18 +2088,6 @@ class QUIC_EXPORT_PRIVATE QuicConnection
2111
2088
  // previously fired.
2112
2089
  bool bundle_retransmittable_with_pto_ack_;
2113
2090
 
2114
- // If true, the connection will fill up the pipe with extra data whenever the
2115
- // congestion controller needs it in order to make a bandwidth estimate. This
2116
- // is useful if the application pesistently underutilizes the link, but still
2117
- // relies on having a reasonable bandwidth estimate from the connection, e.g.
2118
- // for real time applications.
2119
- bool fill_up_link_during_probing_;
2120
-
2121
- // If true, the probing retransmission will not be started again. This is
2122
- // used to safeguard against an accidental tail recursion in probing
2123
- // retransmission code.
2124
- bool probing_retransmission_pending_;
2125
-
2126
2091
  // Id of latest sent control frame. 0 if no control frame has been sent.
2127
2092
  QuicControlFrameId last_control_frame_id_;
2128
2093