@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
@@ -480,9 +480,13 @@ TEST_P(QuicStreamTest, WriteOrBufferDataReachStreamLimit) {
480
480
  .WillOnce(Invoke(session_.get(), &MockQuicSession::ConsumeData));
481
481
  stream_->WriteOrBufferData(data, false, nullptr);
482
482
  EXPECT_TRUE(session_->HasUnackedStreamData());
483
- EXPECT_CALL(*connection_, CloseConnection(QUIC_STREAM_LENGTH_OVERFLOW, _, _));
484
- EXPECT_QUIC_BUG(stream_->WriteOrBufferData("a", false, nullptr),
485
- "Write too many data via stream");
483
+ EXPECT_QUIC_BUG(
484
+ {
485
+ EXPECT_CALL(*connection_,
486
+ CloseConnection(QUIC_STREAM_LENGTH_OVERFLOW, _, _));
487
+ stream_->WriteOrBufferData("a", false, nullptr);
488
+ },
489
+ "Write too many data via stream");
486
490
  }
487
491
 
488
492
  TEST_P(QuicStreamTest, ConnectionCloseAfterStreamClose) {
@@ -789,11 +793,14 @@ TEST_P(QuicStreamTest, OnStreamFrameUpperLimit) {
789
793
 
790
794
  TEST_P(QuicStreamTest, StreamTooLong) {
791
795
  Initialize();
792
- EXPECT_CALL(*connection_, CloseConnection(QUIC_STREAM_LENGTH_OVERFLOW, _, _))
793
- .Times(1);
794
796
  QuicStreamFrame stream_frame(stream_->id(), false, kMaxStreamLength, ".");
795
797
  EXPECT_QUIC_PEER_BUG(
796
- stream_->OnStreamFrame(stream_frame),
798
+ {
799
+ EXPECT_CALL(*connection_,
800
+ CloseConnection(QUIC_STREAM_LENGTH_OVERFLOW, _, _))
801
+ .Times(1);
802
+ stream_->OnStreamFrame(stream_frame);
803
+ },
797
804
  absl::StrCat("Receive stream frame on stream ", stream_->id(),
798
805
  " reaches max stream length"));
799
806
  }
@@ -1237,9 +1244,13 @@ TEST_P(QuicStreamTest, WritevDataReachStreamLimit) {
1237
1244
  quiche::QuicheMemSliceStorage storage2(
1238
1245
  &iov2, 1,
1239
1246
  session_->connection()->helper()->GetStreamSendBufferAllocator(), 1024);
1240
- EXPECT_CALL(*connection_, CloseConnection(QUIC_STREAM_LENGTH_OVERFLOW, _, _));
1241
- EXPECT_QUIC_BUG(stream_->WriteMemSlices(storage2.ToSpan(), false),
1242
- "Write too many data via stream");
1247
+ EXPECT_QUIC_BUG(
1248
+ {
1249
+ EXPECT_CALL(*connection_,
1250
+ CloseConnection(QUIC_STREAM_LENGTH_OVERFLOW, _, _));
1251
+ stream_->WriteMemSlices(storage2.ToSpan(), false);
1252
+ },
1253
+ "Write too many data via stream");
1243
1254
  }
1244
1255
 
1245
1256
  TEST_P(QuicStreamTest, WriteMemSlices) {
@@ -1328,9 +1339,13 @@ TEST_P(QuicStreamTest, WriteMemSlicesReachStreamLimit) {
1328
1339
  EXPECT_EQ(5u, consumed.bytes_consumed);
1329
1340
 
1330
1341
  quiche::QuicheMemSlice slice2 = MemSliceFromString("6");
1331
- EXPECT_CALL(*connection_, CloseConnection(QUIC_STREAM_LENGTH_OVERFLOW, _, _));
1332
- EXPECT_QUIC_BUG(stream_->WriteMemSlice(std::move(slice2), false),
1333
- "Write too many data via stream");
1342
+ EXPECT_QUIC_BUG(
1343
+ {
1344
+ EXPECT_CALL(*connection_,
1345
+ CloseConnection(QUIC_STREAM_LENGTH_OVERFLOW, _, _));
1346
+ stream_->WriteMemSlice(std::move(slice2), false);
1347
+ },
1348
+ "Write too many data via stream");
1334
1349
  }
1335
1350
 
1336
1351
  TEST_P(QuicStreamTest, StreamDataGetAckedMultipleTimes) {
@@ -215,7 +215,6 @@ std::string TransmissionTypeToString(TransmissionType transmission_type) {
215
215
  RETURN_STRING_LITERAL(ALL_ZERO_RTT_RETRANSMISSION);
216
216
  RETURN_STRING_LITERAL(LOSS_RETRANSMISSION);
217
217
  RETURN_STRING_LITERAL(PTO_RETRANSMISSION);
218
- RETURN_STRING_LITERAL(PROBING_RETRANSMISSION);
219
218
  RETURN_STRING_LITERAL(PATH_RETRANSMISSION);
220
219
  RETURN_STRING_LITERAL(ALL_INITIAL_RETRANSMISSION);
221
220
  default:
@@ -181,7 +181,6 @@ enum TransmissionType : int8_t {
181
181
  // key.
182
182
  LOSS_RETRANSMISSION, // Retransmits due to loss detection.
183
183
  PTO_RETRANSMISSION, // Retransmission due to probe timeout.
184
- PROBING_RETRANSMISSION, // Retransmission in order to probe bandwidth.
185
184
  PATH_RETRANSMISSION, // Retransmission proactively due to underlying
186
185
  // network change.
187
186
  ALL_INITIAL_RETRANSMISSION, // Retransmit all packets encrypted with INITIAL
@@ -545,8 +544,6 @@ enum SentPacketState : uint8_t {
545
544
  LOST,
546
545
  // This packet has been retransmitted when PTO fires.
547
546
  PTO_RETRANSMITTED,
548
- // This packet has been retransmitted for probing purpose.
549
- PROBE_RETRANSMITTED,
550
547
  // This packet is sent on a different path or is a PING only packet.
551
548
  // Do not update RTT stats and congestion control if the packet is the
552
549
  // largest_acked of an incoming ACK.
@@ -171,7 +171,6 @@ const char* QuicUtils::SentPacketStateToString(SentPacketState state) {
171
171
  RETURN_STRING_LITERAL(HANDSHAKE_RETRANSMITTED);
172
172
  RETURN_STRING_LITERAL(LOST);
173
173
  RETURN_STRING_LITERAL(PTO_RETRANSMITTED);
174
- RETURN_STRING_LITERAL(PROBE_RETRANSMITTED);
175
174
  RETURN_STRING_LITERAL(NOT_CONTRIBUTING_RTT);
176
175
  }
177
176
  return "INVALID_SENT_PACKET_STATE";
@@ -289,8 +288,6 @@ SentPacketState QuicUtils::RetransmissionTypeToPacketState(
289
288
  return LOST;
290
289
  case PTO_RETRANSMISSION:
291
290
  return PTO_RETRANSMITTED;
292
- case PROBING_RETRANSMISSION:
293
- return PROBE_RETRANSMITTED;
294
291
  case PATH_RETRANSMISSION:
295
292
  return NOT_CONTRIBUTING_RTT;
296
293
  case ALL_INITIAL_RETRANSMISSION:
@@ -131,8 +131,6 @@ TEST_F(QuicUtilsTest, RetransmissionTypeToPacketState) {
131
131
  EXPECT_EQ(UNACKABLE, state);
132
132
  } else if (i == PTO_RETRANSMISSION) {
133
133
  EXPECT_EQ(PTO_RETRANSMITTED, state);
134
- } else if (i == PROBING_RETRANSMISSION) {
135
- EXPECT_EQ(PROBE_RETRANSMITTED, state);
136
134
  } else if (i == PATH_RETRANSMISSION) {
137
135
  EXPECT_EQ(NOT_CONTRIBUTING_RTT, state);
138
136
  } else if (i == ALL_INITIAL_RETRANSMISSION) {
@@ -577,18 +577,22 @@ TEST_P(TlsClientHandshakerTest, ClientSendsNoSNI) {
577
577
 
578
578
  TEST_P(TlsClientHandshakerTest, ClientSendingTooManyALPNs) {
579
579
  std::string long_alpn(250, 'A');
580
- EXPECT_CALL(*session_, GetAlpnsToOffer())
581
- .WillOnce(testing::Return(std::vector<std::string>({
582
- long_alpn + "1",
583
- long_alpn + "2",
584
- long_alpn + "3",
585
- long_alpn + "4",
586
- long_alpn + "5",
587
- long_alpn + "6",
588
- long_alpn + "7",
589
- long_alpn + "8",
590
- })));
591
- EXPECT_QUIC_BUG(stream()->CryptoConnect(), "Failed to set ALPN");
580
+ EXPECT_QUIC_BUG(
581
+ {
582
+ EXPECT_CALL(*session_, GetAlpnsToOffer())
583
+ .WillOnce(testing::Return(std::vector<std::string>({
584
+ long_alpn + "1",
585
+ long_alpn + "2",
586
+ long_alpn + "3",
587
+ long_alpn + "4",
588
+ long_alpn + "5",
589
+ long_alpn + "6",
590
+ long_alpn + "7",
591
+ long_alpn + "8",
592
+ })));
593
+ stream()->CryptoConnect();
594
+ },
595
+ "Failed to set ALPN");
592
596
  }
593
597
 
594
598
  TEST_P(TlsClientHandshakerTest, ServerRequiresCustomALPN) {
@@ -85,7 +85,7 @@ bool TlsHandshaker::ProcessInput(absl::string_view input,
85
85
  }
86
86
 
87
87
  void TlsHandshaker::AdvanceHandshake() {
88
- if (is_connection_closed_) {
88
+ if (is_connection_closed()) {
89
89
  return;
90
90
  }
91
91
  if (GetHandshakeState() >= HANDSHAKE_COMPLETE) {
@@ -101,6 +101,13 @@ void TlsHandshaker::AdvanceHandshake() {
101
101
  QUIC_VLOG(1) << ENDPOINT << "Continuing handshake";
102
102
  int rv = SSL_do_handshake(ssl());
103
103
 
104
+ if (GetQuicReloadableFlag(quic_tls_handshaker_check_connection_closed) &&
105
+ is_connection_closed()) {
106
+ QUIC_RELOADABLE_FLAG_COUNT_N(quic_tls_handshaker_check_connection_closed, 1,
107
+ 2);
108
+ return;
109
+ }
110
+
104
111
  // If SSL_do_handshake return success(1) and we are in early data, it is
105
112
  // possible that we have provided ServerHello to BoringSSL but it hasn't been
106
113
  // processed. Retry SSL_do_handshake once will advance the handshake more in
@@ -109,6 +116,14 @@ void TlsHandshaker::AdvanceHandshake() {
109
116
  if (rv == 1 && SSL_in_early_data(ssl())) {
110
117
  OnEnterEarlyData();
111
118
  rv = SSL_do_handshake(ssl());
119
+
120
+ if (GetQuicReloadableFlag(quic_tls_handshaker_check_connection_closed) &&
121
+ is_connection_closed()) {
122
+ QUIC_RELOADABLE_FLAG_COUNT_N(quic_tls_handshaker_check_connection_closed,
123
+ 2, 2);
124
+ return;
125
+ }
126
+
112
127
  QUIC_VLOG(1) << ENDPOINT
113
128
  << "SSL_do_handshake returned when entering early data. After "
114
129
  << "retry, rv=" << rv
@@ -120,7 +135,7 @@ void TlsHandshaker::AdvanceHandshake() {
120
135
  // SSL_in_early_data should be false.
121
136
  //
122
137
  // In either case, it should not both return 1 and stay in early data.
123
- if (rv == 1 && SSL_in_early_data(ssl()) && !is_connection_closed_) {
138
+ if (rv == 1 && SSL_in_early_data(ssl()) && !is_connection_closed()) {
124
139
  QUIC_BUG(quic_handshaker_stay_in_early_data)
125
140
  << "The original and the retry of SSL_do_handshake both returned "
126
141
  "success and in early data";
@@ -139,7 +154,7 @@ void TlsHandshaker::AdvanceHandshake() {
139
154
  return;
140
155
  }
141
156
  if (ShouldCloseConnectionOnUnexpectedError(ssl_error) &&
142
- !is_connection_closed_) {
157
+ !is_connection_closed()) {
143
158
  QUIC_VLOG(1) << "SSL_do_handshake failed; SSL_get_error returns "
144
159
  << ssl_error;
145
160
  ERR_print_errors_fp(stderr);
@@ -4,15 +4,20 @@
4
4
 
5
5
  #include "quiche/quic/qbone/platform/internet_checksum.h"
6
6
 
7
+ #include <stdint.h>
8
+ #include <string.h>
9
+
7
10
  namespace quic {
8
11
 
9
12
  void InternetChecksum::Update(const char* data, size_t size) {
10
13
  const char* current;
11
14
  for (current = data; current + 1 < data + size; current += 2) {
12
- accumulator_ += *reinterpret_cast<const uint16_t*>(current);
15
+ uint16_t v;
16
+ memcpy(&v, current, sizeof(v));
17
+ accumulator_ += v;
13
18
  }
14
19
  if (current < data + size) {
15
- accumulator_ += *reinterpret_cast<const uint8_t*>(current);
20
+ accumulator_ += *reinterpret_cast<const unsigned char*>(current);
16
21
  }
17
22
  }
18
23
 
@@ -384,7 +384,7 @@ void CommunicateHandshakeMessages(PacketSavingConnection* client_conn,
384
384
  << client_conn->encrypted_packets_.size() - client_i
385
385
  << " packets client->server";
386
386
  MovePackets(client_conn, &client_i, server, server_conn,
387
- Perspective::IS_SERVER);
387
+ Perspective::IS_SERVER, /*process_stream_data=*/false);
388
388
 
389
389
  if (client->one_rtt_keys_available() && server->one_rtt_keys_available() &&
390
390
  server_conn->encrypted_packets_.size() == server_i) {
@@ -395,7 +395,7 @@ void CommunicateHandshakeMessages(PacketSavingConnection* client_conn,
395
395
  << server_conn->encrypted_packets_.size() - server_i
396
396
  << " packets server->client";
397
397
  MovePackets(server_conn, &server_i, client, client_conn,
398
- Perspective::IS_CLIENT);
398
+ Perspective::IS_CLIENT, /*process_stream_data=*/false);
399
399
  }
400
400
  }
401
401
 
@@ -404,7 +404,8 @@ bool CommunicateHandshakeMessagesUntil(PacketSavingConnection* client_conn,
404
404
  std::function<bool()> client_condition,
405
405
  PacketSavingConnection* server_conn,
406
406
  QuicCryptoStream* server,
407
- std::function<bool()> server_condition) {
407
+ std::function<bool()> server_condition,
408
+ bool process_stream_data) {
408
409
  size_t client_next_packet_to_deliver =
409
410
  client_conn->number_of_packets_delivered_;
410
411
  size_t server_next_packet_to_deliver =
@@ -421,7 +422,7 @@ bool CommunicateHandshakeMessagesUntil(PacketSavingConnection* client_conn,
421
422
  client_next_packet_to_deliver
422
423
  << " packets client->server";
423
424
  MovePackets(client_conn, &client_next_packet_to_deliver, server,
424
- server_conn, Perspective::IS_SERVER);
425
+ server_conn, Perspective::IS_SERVER, process_stream_data);
425
426
  }
426
427
  if (!client_condition()) {
427
428
  QUIC_LOG(INFO) << "Processing "
@@ -429,7 +430,7 @@ bool CommunicateHandshakeMessagesUntil(PacketSavingConnection* client_conn,
429
430
  server_next_packet_to_deliver
430
431
  << " packets server->client";
431
432
  MovePackets(server_conn, &server_next_packet_to_deliver, client,
432
- client_conn, Perspective::IS_CLIENT);
433
+ client_conn, Perspective::IS_CLIENT, process_stream_data);
433
434
  }
434
435
  }
435
436
  client_conn->number_of_packets_delivered_ = client_next_packet_to_deliver;
@@ -457,7 +458,7 @@ std::pair<size_t, size_t> AdvanceHandshake(PacketSavingConnection* client_conn,
457
458
  << client_conn->encrypted_packets_.size() - client_i
458
459
  << " packets client->server";
459
460
  MovePackets(client_conn, &client_i, server, server_conn,
460
- Perspective::IS_SERVER);
461
+ Perspective::IS_SERVER, /*process_stream_data=*/false);
461
462
  }
462
463
 
463
464
  if (server_conn->encrypted_packets_.size() != server_i) {
@@ -465,7 +466,7 @@ std::pair<size_t, size_t> AdvanceHandshake(PacketSavingConnection* client_conn,
465
466
  << server_conn->encrypted_packets_.size() - server_i
466
467
  << " packets server->client";
467
468
  MovePackets(server_conn, &server_i, client, client_conn,
468
- Perspective::IS_CLIENT);
469
+ Perspective::IS_CLIENT, /*process_stream_data=*/false);
469
470
  }
470
471
 
471
472
  return std::make_pair(client_i, server_i);
@@ -709,7 +710,7 @@ CryptoHandshakeMessage CreateCHLO(
709
710
  void MovePackets(PacketSavingConnection* source_conn,
710
711
  size_t* inout_packet_index, QuicCryptoStream* dest_stream,
711
712
  PacketSavingConnection* dest_conn,
712
- Perspective dest_perspective) {
713
+ Perspective dest_perspective, bool process_stream_data) {
713
714
  SimpleQuicFramer framer(source_conn->supported_versions(), dest_perspective);
714
715
  QuicFramerPeer::SetLastSerializedServerConnectionId(framer.framer(),
715
716
  TestConnectionId());
@@ -779,10 +780,17 @@ void MovePackets(PacketSavingConnection* source_conn,
779
780
  QuicConnectionPeer::SetCurrentPacket(
780
781
  dest_conn, source_conn->encrypted_packets_[index]->AsStringPiece());
781
782
  for (const auto& stream_frame : framer.stream_frames()) {
782
- // Ignore stream frames that are sent on other streams in the crypto
783
- // event.
784
- if (stream_frame->stream_id == dest_stream->id()) {
785
- dest_stream->OnStreamFrame(*stream_frame);
783
+ if (process_stream_data &&
784
+ dest_stream->handshake_protocol() == PROTOCOL_TLS1_3) {
785
+ // Deliver STREAM_FRAME such that application state is available and can
786
+ // be stored along with resumption ticket in session cache,
787
+ dest_conn->OnStreamFrame(*stream_frame);
788
+ } else {
789
+ // Ignore stream frames that are sent on other streams in the crypto
790
+ // event.
791
+ if (stream_frame->stream_id == dest_stream->id()) {
792
+ dest_stream->OnStreamFrame(*stream_frame);
793
+ }
786
794
  }
787
795
  }
788
796
  for (const auto& crypto_frame : framer.crypto_frames()) {
@@ -109,15 +109,18 @@ void CommunicateHandshakeMessages(PacketSavingConnection* client_conn,
109
109
  // CommunicateHandshakeMessagesUntil:
110
110
  // 1) Moves messages from |client| to |server| until |server_condition| is met.
111
111
  // 2) Moves messages from |server| to |client| until |client_condition| is met.
112
- // 3) Returns true if both conditions are met.
113
- // 4) Returns false if either connection is closed or there is no more packet to
112
+ // 3) For IETF QUIC, if `process_stream_data` is true, STREAM_FRAME within the
113
+ // packet containing crypto messages is also processed.
114
+ // 4) Returns true if both conditions are met.
115
+ // 5) Returns false if either connection is closed or there is no more packet to
114
116
  // deliver before both conditions are met.
115
117
  bool CommunicateHandshakeMessagesUntil(PacketSavingConnection* client_conn,
116
118
  QuicCryptoStream* client,
117
119
  std::function<bool()> client_condition,
118
120
  PacketSavingConnection* server_conn,
119
121
  QuicCryptoStream* server,
120
- std::function<bool()> server_condition);
122
+ std::function<bool()> server_condition,
123
+ bool process_stream_data);
121
124
 
122
125
  // AdvanceHandshake attempts to moves messages from |client| to |server| and
123
126
  // |server| to |client|. Returns the number of messages moved.
@@ -176,11 +179,13 @@ CryptoHandshakeMessage CreateCHLO(
176
179
  // MovePackets parses crypto handshake messages from packet number
177
180
  // |*inout_packet_index| through to the last packet (or until a packet fails
178
181
  // to decrypt) and has |dest_stream| process them. |*inout_packet_index| is
179
- // updated with an index one greater than the last packet processed.
182
+ // updated with an index one greater than the last packet processed. For IETF
183
+ // QUIC, if `process_stream_data` is true, STREAM_FRAME within the packet
184
+ // containing crypto messages is also processed.
180
185
  void MovePackets(PacketSavingConnection* source_conn,
181
186
  size_t* inout_packet_index, QuicCryptoStream* dest_stream,
182
187
  PacketSavingConnection* dest_conn,
183
- Perspective dest_perspective);
188
+ Perspective dest_perspective, bool process_stream_data);
184
189
 
185
190
  // Return an inchoate CHLO with some basic tag value pairs.
186
191
  CryptoHandshakeMessage GenerateDefaultInchoateCHLO(
@@ -453,7 +453,6 @@ class MockQuicConnectionVisitor : public QuicConnectionVisitorInterface {
453
453
  (override));
454
454
  MOCK_METHOD(void, OnWriteBlocked, (), (override));
455
455
  MOCK_METHOD(void, OnCanWrite, (), (override));
456
- MOCK_METHOD(bool, SendProbingData, (), (override));
457
456
  MOCK_METHOD(void, OnCongestionWindowChange, (QuicTime now), (override));
458
457
  MOCK_METHOD(void, OnConnectionMigration, (AddressChangeType type),
459
458
  (override));
@@ -1209,7 +1208,6 @@ class MockSendAlgorithm : public SendAlgorithmInterface {
1209
1208
  MOCK_METHOD(std::string, GetDebugState, (), (const, override));
1210
1209
  MOCK_METHOD(bool, InSlowStart, (), (const, override));
1211
1210
  MOCK_METHOD(bool, InRecovery, (), (const, override));
1212
- MOCK_METHOD(bool, ShouldSendProbingPacket, (), (const, override));
1213
1211
  MOCK_METHOD(QuicByteCount, GetSlowStartThreshold, (), (const, override));
1214
1212
  MOCK_METHOD(CongestionControlType, GetCongestionControlType, (),
1215
1213
  (const, override));
@@ -151,14 +151,6 @@ void QuicEndpoint::OnCanWrite() {
151
151
  WriteStreamData();
152
152
  }
153
153
 
154
- bool QuicEndpoint::SendProbingData() {
155
- if (connection()->sent_packet_manager().MaybeRetransmitOldestPacket(
156
- PROBING_RETRANSMISSION)) {
157
- return true;
158
- }
159
- return false;
160
- }
161
-
162
154
  bool QuicEndpoint::WillingAndAbleToWrite() const {
163
155
  if (notifier_ != nullptr) {
164
156
  return notifier_->WillingToWrite();
@@ -46,7 +46,6 @@ class QuicEndpoint : public QuicEndpointBase,
46
46
  void OnStreamFrame(const QuicStreamFrame& frame) override;
47
47
  void OnCryptoFrame(const QuicCryptoFrame& frame) override;
48
48
  void OnCanWrite() override;
49
- bool SendProbingData() override;
50
49
  bool WillingAndAbleToWrite() const override;
51
50
  bool ShouldKeepConnectionAlive() const override;
52
51
 
@@ -65,7 +65,8 @@ class TestStream : public QuicSimpleServerStream {
65
65
 
66
66
  MOCK_METHOD(void, WriteHeadersMock, (bool fin), ());
67
67
  MOCK_METHOD(void, WriteEarlyHintsHeadersMock, (bool fin), ());
68
- MOCK_METHOD(void, WriteOrBufferBody, (absl::string_view data, bool fin), ());
68
+ MOCK_METHOD(void, WriteOrBufferBody, (absl::string_view data, bool fin),
69
+ (override));
69
70
 
70
71
  size_t WriteHeaders(
71
72
  spdy::Http2HeaderBlock header_block, bool fin,