@fails-components/webtransport 0.0.1 → 0.0.2

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 (300) hide show
  1. package/package.json +1 -1
  2. package/readme.md +1 -3
  3. package/src/http3eventloop.cc +83 -9
  4. package/src/http3eventloop.h +13 -3
  5. package/src/http3server.cc +22 -22
  6. package/src/http3server.h +7 -20
  7. package/src/http3wtstreamvisitor.cc +31 -10
  8. package/src/http3wtstreamvisitor.h +38 -11
  9. package/src/webtransport.js +91 -23
  10. package/test/echoserver.js +29 -5
  11. package/test/testsuite.js +242 -220
  12. package/third_party/boringssl/src/CMakeLists.txt +2 -0
  13. package/third_party/boringssl/src/crypto/CMakeLists.txt +1 -0
  14. package/third_party/boringssl/src/crypto/asn1/a_bitstr.c +174 -177
  15. package/third_party/boringssl/src/crypto/asn1/a_bool.c +46 -48
  16. package/third_party/boringssl/src/crypto/asn1/a_d2i_fp.c +21 -23
  17. package/third_party/boringssl/src/crypto/asn1/a_dup.c +21 -23
  18. package/third_party/boringssl/src/crypto/asn1/a_gentm.c +84 -187
  19. package/third_party/boringssl/src/crypto/asn1/a_i2d_fp.c +19 -21
  20. package/third_party/boringssl/src/crypto/asn1/a_int.c +305 -329
  21. package/third_party/boringssl/src/crypto/asn1/a_mbstr.c +190 -195
  22. package/third_party/boringssl/src/crypto/asn1/a_object.c +182 -189
  23. package/third_party/boringssl/src/crypto/asn1/a_octet.c +6 -9
  24. package/third_party/boringssl/src/crypto/asn1/a_print.c +15 -16
  25. package/third_party/boringssl/src/crypto/asn1/a_strex.c +386 -399
  26. package/third_party/boringssl/src/crypto/asn1/a_strnid.c +110 -131
  27. package/third_party/boringssl/src/crypto/asn1/a_time.c +118 -111
  28. package/third_party/boringssl/src/crypto/asn1/a_type.c +59 -60
  29. package/third_party/boringssl/src/crypto/asn1/a_utctm.c +114 -186
  30. package/third_party/boringssl/src/crypto/asn1/a_utf8.c +171 -159
  31. package/third_party/boringssl/src/crypto/asn1/asn1_lib.c +245 -260
  32. package/third_party/boringssl/src/crypto/asn1/asn1_par.c +41 -40
  33. package/third_party/boringssl/src/crypto/asn1/asn1_test.cc +31 -0
  34. package/third_party/boringssl/src/crypto/asn1/asn_pack.c +31 -33
  35. package/third_party/boringssl/src/crypto/asn1/f_int.c +36 -33
  36. package/third_party/boringssl/src/crypto/asn1/f_string.c +29 -26
  37. package/third_party/boringssl/src/crypto/asn1/internal.h +62 -61
  38. package/third_party/boringssl/src/crypto/asn1/tasn_dec.c +706 -702
  39. package/third_party/boringssl/src/crypto/asn1/tasn_enc.c +507 -524
  40. package/third_party/boringssl/src/crypto/asn1/tasn_fre.c +141 -133
  41. package/third_party/boringssl/src/crypto/asn1/tasn_new.c +207 -199
  42. package/third_party/boringssl/src/crypto/asn1/tasn_typ.c +19 -22
  43. package/third_party/boringssl/src/crypto/asn1/tasn_utl.c +24 -24
  44. package/third_party/boringssl/src/crypto/asn1/time_support.c +13 -13
  45. package/third_party/boringssl/src/crypto/bio/connect.c +9 -3
  46. package/third_party/boringssl/src/crypto/bytestring/bytestring_test.cc +125 -1
  47. package/third_party/boringssl/src/crypto/bytestring/cbb.c +4 -7
  48. package/third_party/boringssl/src/crypto/bytestring/cbs.c +167 -9
  49. package/third_party/boringssl/src/crypto/cipher_extra/e_aesctrhmac.c +0 -2
  50. package/third_party/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c +23 -54
  51. package/third_party/boringssl/src/crypto/cipher_extra/e_chacha20poly1305.c +0 -2
  52. package/third_party/boringssl/src/crypto/cipher_extra/e_tls.c +0 -2
  53. package/third_party/boringssl/src/crypto/curve25519/curve25519.c +6 -8
  54. package/third_party/boringssl/src/crypto/evp/evp_ctx.c +25 -22
  55. package/third_party/boringssl/src/crypto/evp/internal.h +15 -9
  56. package/third_party/boringssl/src/crypto/evp/p_dsa_asn1.c +2 -0
  57. package/third_party/boringssl/src/crypto/evp/p_ec_asn1.c +2 -0
  58. package/third_party/boringssl/src/crypto/evp/p_ed25519.c +3 -3
  59. package/third_party/boringssl/src/crypto/evp/p_ed25519_asn1.c +10 -7
  60. package/third_party/boringssl/src/crypto/evp/p_hkdf.c +241 -0
  61. package/third_party/boringssl/src/crypto/evp/p_rsa_asn1.c +2 -0
  62. package/third_party/boringssl/src/crypto/evp/p_x25519_asn1.c +1 -0
  63. package/third_party/boringssl/src/crypto/fipsmodule/aes/aes_nohw.c +9 -10
  64. package/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.c +2 -6
  65. package/third_party/boringssl/src/crypto/fipsmodule/bn/exponentiation.c +5 -11
  66. package/third_party/boringssl/src/crypto/fipsmodule/bn/internal.h +1 -1
  67. package/third_party/boringssl/src/crypto/fipsmodule/bn/prime.c +2 -0
  68. package/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c +10 -26
  69. package/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aesccm.c +2 -3
  70. package/third_party/boringssl/src/crypto/fipsmodule/digestsign/digestsign.c +1 -0
  71. package/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz.c +44 -43
  72. package/third_party/boringssl/src/crypto/fipsmodule/modes/cbc.c +5 -9
  73. package/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c +14 -21
  74. package/third_party/boringssl/src/crypto/fipsmodule/rand/ctrdrbg.c +8 -8
  75. package/third_party/boringssl/src/crypto/fipsmodule/rand/internal.h +1 -4
  76. package/third_party/boringssl/src/crypto/hkdf/hkdf_test.cc +104 -0
  77. package/third_party/boringssl/src/crypto/internal.h +18 -4
  78. package/third_party/boringssl/src/crypto/lhash/internal.h +13 -1
  79. package/third_party/boringssl/src/crypto/obj/obj_dat.h +4 -1
  80. package/third_party/boringssl/src/crypto/obj/obj_mac.num +1 -0
  81. package/third_party/boringssl/src/crypto/obj/objects.txt +2 -0
  82. package/third_party/boringssl/src/crypto/pem/pem_all.c +77 -86
  83. package/third_party/boringssl/src/crypto/pem/pem_info.c +221 -233
  84. package/third_party/boringssl/src/crypto/pem/pem_lib.c +639 -608
  85. package/third_party/boringssl/src/crypto/pem/pem_oth.c +17 -16
  86. package/third_party/boringssl/src/crypto/pem/pem_pk8.c +133 -142
  87. package/third_party/boringssl/src/crypto/pem/pem_pkey.c +96 -92
  88. package/third_party/boringssl/src/crypto/poly1305/poly1305_vec.c +12 -28
  89. package/third_party/boringssl/src/crypto/siphash/siphash.c +8 -11
  90. package/third_party/boringssl/src/crypto/siphash/siphash_test.cc +5 -7
  91. package/third_party/boringssl/src/crypto/stack/stack.c +33 -16
  92. package/third_party/boringssl/src/crypto/thread_pthread.c +0 -2
  93. package/third_party/boringssl/src/crypto/thread_win.c +0 -2
  94. package/third_party/boringssl/src/crypto/trust_token/internal.h +14 -0
  95. package/third_party/boringssl/src/crypto/trust_token/pmbtoken.c +127 -30
  96. package/third_party/boringssl/src/crypto/trust_token/trust_token.c +40 -0
  97. package/third_party/boringssl/src/crypto/trust_token/trust_token_test.cc +165 -0
  98. package/third_party/boringssl/src/crypto/trust_token/voprf.c +55 -6
  99. package/third_party/boringssl/src/crypto/x509/a_digest.c +23 -24
  100. package/third_party/boringssl/src/crypto/x509/a_sign.c +52 -55
  101. package/third_party/boringssl/src/crypto/x509/a_verify.c +33 -34
  102. package/third_party/boringssl/src/crypto/x509/algorithm.c +17 -18
  103. package/third_party/boringssl/src/crypto/x509/asn1_gen.c +618 -612
  104. package/third_party/boringssl/src/crypto/x509/by_dir.c +320 -337
  105. package/third_party/boringssl/src/crypto/x509/by_file.c +186 -186
  106. package/third_party/boringssl/src/crypto/x509/i2d_pr.c +11 -14
  107. package/third_party/boringssl/src/crypto/x509/internal.h +22 -22
  108. package/third_party/boringssl/src/crypto/x509/name_print.c +155 -150
  109. package/third_party/boringssl/src/crypto/x509/rsa_pss.c +27 -29
  110. package/third_party/boringssl/src/crypto/x509/t_crl.c +67 -70
  111. package/third_party/boringssl/src/crypto/x509/t_req.c +3 -5
  112. package/third_party/boringssl/src/crypto/x509/t_x509.c +280 -251
  113. package/third_party/boringssl/src/crypto/x509/t_x509a.c +52 -47
  114. package/third_party/boringssl/src/crypto/x509/x509.c +3 -4
  115. package/third_party/boringssl/src/crypto/x509/x509_att.c +234 -223
  116. package/third_party/boringssl/src/crypto/x509/x509_cmp.c +286 -296
  117. package/third_party/boringssl/src/crypto/x509/x509_d2.c +37 -32
  118. package/third_party/boringssl/src/crypto/x509/x509_def.c +14 -30
  119. package/third_party/boringssl/src/crypto/x509/x509_ext.c +55 -84
  120. package/third_party/boringssl/src/crypto/x509/x509_lu.c +545 -581
  121. package/third_party/boringssl/src/crypto/x509/x509_obj.c +131 -121
  122. package/third_party/boringssl/src/crypto/x509/x509_req.c +120 -139
  123. package/third_party/boringssl/src/crypto/x509/x509_set.c +128 -142
  124. package/third_party/boringssl/src/crypto/x509/x509_trs.c +185 -193
  125. package/third_party/boringssl/src/crypto/x509/x509_txt.c +70 -72
  126. package/third_party/boringssl/src/crypto/x509/x509_v3.c +172 -161
  127. package/third_party/boringssl/src/crypto/x509/x509_vfy.c +2041 -2053
  128. package/third_party/boringssl/src/crypto/x509/x509_vpm.c +441 -461
  129. package/third_party/boringssl/src/crypto/x509/x509cset.c +152 -170
  130. package/third_party/boringssl/src/crypto/x509/x509name.c +274 -260
  131. package/third_party/boringssl/src/crypto/x509/x509rset.c +43 -20
  132. package/third_party/boringssl/src/crypto/x509/x509spki.c +62 -63
  133. package/third_party/boringssl/src/crypto/x509/x_algor.c +64 -62
  134. package/third_party/boringssl/src/crypto/x509/x_all.c +103 -133
  135. package/third_party/boringssl/src/crypto/x509/x_attrib.c +23 -24
  136. package/third_party/boringssl/src/crypto/x509/x_crl.c +310 -321
  137. package/third_party/boringssl/src/crypto/x509/x_exten.c +6 -5
  138. package/third_party/boringssl/src/crypto/x509/x_info.c +31 -28
  139. package/third_party/boringssl/src/crypto/x509/x_name.c +361 -365
  140. package/third_party/boringssl/src/crypto/x509/x_pkey.c +38 -32
  141. package/third_party/boringssl/src/crypto/x509/x_pubkey.c +114 -117
  142. package/third_party/boringssl/src/crypto/x509/x_req.c +27 -29
  143. package/third_party/boringssl/src/crypto/x509/x_sig.c +2 -2
  144. package/third_party/boringssl/src/crypto/x509/x_spki.c +8 -10
  145. package/third_party/boringssl/src/crypto/x509/x_val.c +2 -2
  146. package/third_party/boringssl/src/crypto/x509/x_x509.c +212 -226
  147. package/third_party/boringssl/src/crypto/x509/x_x509a.c +112 -109
  148. package/third_party/boringssl/src/crypto/x509v3/ext_dat.h +10 -13
  149. package/third_party/boringssl/src/crypto/x509v3/internal.h +72 -87
  150. package/third_party/boringssl/src/crypto/x509v3/pcy_cache.c +184 -176
  151. package/third_party/boringssl/src/crypto/x509v3/pcy_data.c +58 -56
  152. package/third_party/boringssl/src/crypto/x509v3/pcy_lib.c +71 -70
  153. package/third_party/boringssl/src/crypto/x509v3/pcy_map.c +56 -58
  154. package/third_party/boringssl/src/crypto/x509v3/pcy_node.c +89 -91
  155. package/third_party/boringssl/src/crypto/x509v3/pcy_tree.c +585 -590
  156. package/third_party/boringssl/src/crypto/x509v3/v3_akey.c +118 -112
  157. package/third_party/boringssl/src/crypto/x509v3/v3_akeya.c +3 -3
  158. package/third_party/boringssl/src/crypto/x509v3/v3_alt.c +447 -451
  159. package/third_party/boringssl/src/crypto/x509v3/v3_bcons.c +44 -38
  160. package/third_party/boringssl/src/crypto/x509v3/v3_bitst.c +39 -43
  161. package/third_party/boringssl/src/crypto/x509v3/v3_conf.c +321 -320
  162. package/third_party/boringssl/src/crypto/x509v3/v3_cpols.c +352 -327
  163. package/third_party/boringssl/src/crypto/x509v3/v3_crld.c +437 -383
  164. package/third_party/boringssl/src/crypto/x509v3/v3_enum.c +23 -16
  165. package/third_party/boringssl/src/crypto/x509v3/v3_extku.c +62 -53
  166. package/third_party/boringssl/src/crypto/x509v3/v3_genn.c +118 -115
  167. package/third_party/boringssl/src/crypto/x509v3/v3_ia5.c +30 -31
  168. package/third_party/boringssl/src/crypto/x509v3/v3_info.c +112 -98
  169. package/third_party/boringssl/src/crypto/x509v3/v3_int.c +40 -15
  170. package/third_party/boringssl/src/crypto/x509v3/v3_lib.c +248 -252
  171. package/third_party/boringssl/src/crypto/x509v3/v3_ncons.c +390 -386
  172. package/third_party/boringssl/src/crypto/x509v3/v3_ocsp.c +45 -32
  173. package/third_party/boringssl/src/crypto/x509v3/v3_pci.c +206 -209
  174. package/third_party/boringssl/src/crypto/x509v3/v3_pcia.c +6 -8
  175. package/third_party/boringssl/src/crypto/x509v3/v3_pcons.c +54 -50
  176. package/third_party/boringssl/src/crypto/x509v3/v3_pmaps.c +66 -65
  177. package/third_party/boringssl/src/crypto/x509v3/v3_prn.c +144 -133
  178. package/third_party/boringssl/src/crypto/x509v3/v3_purp.c +695 -709
  179. package/third_party/boringssl/src/crypto/x509v3/v3_skey.c +75 -69
  180. package/third_party/boringssl/src/crypto/x509v3/v3_utl.c +1102 -1082
  181. package/third_party/boringssl/src/include/openssl/base.h +3 -1
  182. package/third_party/boringssl/src/include/openssl/bn.h +3 -0
  183. package/third_party/boringssl/src/include/openssl/bytestring.h +20 -0
  184. package/third_party/boringssl/src/include/openssl/evp.h +6 -5
  185. package/third_party/boringssl/src/include/openssl/kdf.h +91 -0
  186. package/third_party/boringssl/src/include/openssl/nid.h +4 -0
  187. package/third_party/boringssl/src/include/openssl/ssl.h +6 -1
  188. package/third_party/boringssl/src/include/openssl/stack.h +47 -32
  189. package/third_party/boringssl/src/include/openssl/trust_token.h +18 -3
  190. package/third_party/boringssl/src/include/openssl/x509.h +18 -0
  191. package/third_party/boringssl/src/ssl/ssl_file.cc +61 -99
  192. package/third_party/boringssl/src/ssl/ssl_test.cc +101 -0
  193. package/third_party/boringssl/src/util/doc.config +2 -1
  194. package/third_party/boringssl/src/util/fipstools/acvp/acvptool/subprocess/subprocess.go +8 -0
  195. package/third_party/googleurl/AUTHORS +16 -2
  196. package/third_party/googleurl/base/BUILD +1 -0
  197. package/third_party/googleurl/base/compiler_specific.h +16 -17
  198. package/third_party/googleurl/base/containers/contiguous_iterator.h +13 -9
  199. package/third_party/googleurl/base/containers/span.h +23 -8
  200. package/third_party/googleurl/base/memory/raw_ptr.h +17 -25
  201. package/third_party/googleurl/base/memory/raw_ptr_exclusion.h +21 -0
  202. package/third_party/googleurl/base/strings/escape.cc +14 -2
  203. package/third_party/googleurl/base/strings/safe_sprintf.h +1 -1
  204. package/third_party/googleurl/base/strings/string_number_conversions.cc +5 -3
  205. package/third_party/googleurl/base/strings/string_number_conversions_internal.h +5 -5
  206. package/third_party/googleurl/base/strings/string_piece.h +3 -3
  207. package/third_party/googleurl/base/strings/string_util.cc +4 -27
  208. package/third_party/googleurl/base/strings/string_util.h +43 -8
  209. package/third_party/googleurl/base/strings/string_util_internal.h +11 -12
  210. package/third_party/googleurl/base/strings/string_util_unittest.cc +33 -0
  211. package/third_party/googleurl/base/strings/string_util_win.cc +0 -5
  212. package/third_party/googleurl/base/strings/string_util_win.h +9 -1
  213. package/third_party/googleurl/base/strings/utf_offset_string_conversions.cc +1 -1
  214. package/third_party/googleurl/base/strings/utf_string_conversion_utils.cc +5 -8
  215. package/third_party/googleurl/base/strings/utf_string_conversion_utils.h +13 -10
  216. package/third_party/googleurl/base/strings/utf_string_conversions.cc +32 -25
  217. package/third_party/googleurl/base/template_util.h +23 -35
  218. package/third_party/googleurl/build/build_config.h +14 -3
  219. package/third_party/googleurl/copy.bara.sky +1 -1
  220. package/third_party/googleurl/url/gurl.cc +8 -4
  221. package/third_party/googleurl/url/gurl.h +1 -0
  222. package/third_party/googleurl/url/gurl_unittest.cc +1 -0
  223. package/third_party/googleurl/url/origin.h +36 -26
  224. package/third_party/googleurl/url/scheme_host_port.h +4 -1
  225. package/third_party/googleurl/url/url_canon.h +2 -1
  226. package/third_party/googleurl/url/url_canon_internal.cc +9 -7
  227. package/third_party/googleurl/url/url_canon_internal.h +16 -16
  228. package/third_party/googleurl/url/url_canon_stdstring.h +2 -1
  229. package/third_party/googleurl/url/url_util.cc +9 -8
  230. package/third_party/quiche/build/source_list.bzl +7 -0
  231. package/third_party/quiche/build/source_list.gni +7 -0
  232. package/third_party/quiche/build/source_list.json +7 -0
  233. package/third_party/quiche/quiche/common/platform/api/quiche_mem_slice.h +7 -3
  234. package/third_party/quiche/quiche/http2/adapter/nghttp2_adapter_test.cc +86 -2
  235. package/third_party/quiche/quiche/http2/adapter/oghttp2_adapter_test.cc +104 -2
  236. package/third_party/quiche/quiche/http2/adapter/oghttp2_session.cc +23 -0
  237. package/third_party/quiche/quiche/http2/adapter/oghttp2_session.h +6 -1
  238. package/third_party/quiche/quiche/quic/core/congestion_control/send_algorithm_test.cc +0 -16
  239. package/third_party/quiche/quiche/quic/core/crypto/crypto_protocol.h +1 -1
  240. package/third_party/quiche/quiche/quic/core/http/end_to_end_test.cc +56 -2
  241. package/third_party/quiche/quiche/quic/core/http/http_constants.cc +1 -0
  242. package/third_party/quiche/quiche/quic/core/http/http_constants.h +1 -0
  243. package/third_party/quiche/quiche/quic/core/http/http_encoder.cc +28 -17
  244. package/third_party/quiche/quiche/quic/core/http/http_encoder.h +5 -0
  245. package/third_party/quiche/quiche/quic/core/http/http_encoder_test.cc +26 -30
  246. package/third_party/quiche/quiche/quic/core/http/http_frames.h +1 -0
  247. package/third_party/quiche/quiche/quic/core/http/quic_server_session_base.cc +4 -4
  248. package/third_party/quiche/quiche/quic/core/http/quic_server_session_base_test.cc +1 -1
  249. package/third_party/quiche/quiche/quic/core/http/quic_spdy_client_session.cc +5 -1
  250. package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.cc +6 -33
  251. package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.h +0 -17
  252. package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream_test.cc +5 -20
  253. package/third_party/quiche/quiche/quic/core/io/quic_event_loop.h +81 -0
  254. package/third_party/quiche/quiche/quic/core/io/quic_poll_event_loop.cc +265 -0
  255. package/third_party/quiche/quiche/quic/core/io/quic_poll_event_loop.h +152 -0
  256. package/third_party/quiche/quiche/quic/core/io/quic_poll_event_loop_test.cc +341 -0
  257. package/third_party/quiche/quiche/quic/core/quic_buffered_packet_store.cc +3 -1
  258. package/third_party/quiche/quiche/quic/core/quic_buffered_packet_store.h +7 -7
  259. package/third_party/quiche/quiche/quic/core/quic_buffered_packet_store_test.cc +4 -3
  260. package/third_party/quiche/quiche/quic/core/quic_connection.cc +69 -19
  261. package/third_party/quiche/quiche/quic/core/quic_connection.h +9 -3
  262. package/third_party/quiche/quiche/quic/core/quic_connection_id_manager.cc +29 -10
  263. package/third_party/quiche/quiche/quic/core/quic_connection_id_manager.h +5 -3
  264. package/third_party/quiche/quiche/quic/core/quic_connection_id_manager_test.cc +85 -22
  265. package/third_party/quiche/quiche/quic/core/quic_connection_test.cc +186 -30
  266. package/third_party/quiche/quiche/quic/core/quic_crypto_stream.cc +2 -1
  267. package/third_party/quiche/quiche/quic/core/quic_default_clock.cc +31 -0
  268. package/third_party/quiche/quiche/quic/core/quic_default_clock.h +34 -0
  269. package/third_party/quiche/quiche/quic/core/quic_default_connection_helper.h +49 -0
  270. package/third_party/quiche/quiche/quic/core/quic_dispatcher.cc +53 -37
  271. package/third_party/quiche/quiche/quic/core/quic_dispatcher.h +19 -11
  272. package/third_party/quiche/quiche/quic/core/quic_dispatcher_test.cc +15 -2
  273. package/third_party/quiche/quiche/quic/core/quic_flags_list.h +10 -4
  274. package/third_party/quiche/quiche/quic/core/quic_idle_network_detector.cc +2 -2
  275. package/third_party/quiche/quiche/quic/core/quic_idle_network_detector_test.cc +4 -4
  276. package/third_party/quiche/quiche/quic/core/quic_packet_creator.cc +14 -3
  277. package/third_party/quiche/quiche/quic/core/quic_packet_creator_test.cc +145 -2
  278. package/third_party/quiche/quiche/quic/core/quic_packets.cc +3 -1
  279. package/third_party/quiche/quiche/quic/core/quic_packets.h +4 -0
  280. package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager.cc +13 -11
  281. package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager.h +9 -0
  282. package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager_test.cc +6 -0
  283. package/third_party/quiche/quiche/quic/core/quic_session.cc +3 -2
  284. package/third_party/quiche/quiche/quic/core/quic_session.h +8 -3
  285. package/third_party/quiche/quiche/quic/core/quic_types.cc +18 -0
  286. package/third_party/quiche/quiche/quic/core/quic_types.h +3 -0
  287. package/third_party/quiche/quiche/quic/core/tls_chlo_extractor.cc +3 -0
  288. package/third_party/quiche/quiche/quic/core/tls_chlo_extractor.h +10 -0
  289. package/third_party/quiche/quiche/quic/test_tools/mock_quic_session_visitor.h +1 -1
  290. package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.h +1 -1
  291. package/third_party/quiche/quiche/quic/test_tools/server_thread.cc +3 -2
  292. package/third_party/quiche/quiche/quic/test_tools/simple_session_notifier.cc +7 -1
  293. package/third_party/quiche/quiche/quic/test_tools/simple_session_notifier.h +3 -0
  294. package/third_party/quiche/quiche/quic/test_tools/simulator/quic_endpoint.h +4 -2
  295. package/certs/ca.cnf +0 -69
  296. package/certs/generate_certs.sh +0 -53
  297. package/certs/generate_certs_leaf.sh +0 -53
  298. package/certs/leaf.cnf +0 -24
  299. package/certs/readme.txt +0 -2
  300. package/third_party/quiche/build/BUILD.bazel +0 -7
@@ -65,230 +65,230 @@
65
65
 
66
66
  #ifndef OPENSSL_NO_STDIO
67
67
 
68
- static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc,
69
- long argl, char **ret);
68
+ static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, long argl,
69
+ char **ret);
70
70
  static X509_LOOKUP_METHOD x509_file_lookup = {
71
71
  "Load file into cache",
72
- NULL, /* new */
73
- NULL, /* free */
74
- NULL, /* init */
75
- NULL, /* shutdown */
76
- by_file_ctrl, /* ctrl */
77
- NULL, /* get_by_subject */
78
- NULL, /* get_by_issuer_serial */
79
- NULL, /* get_by_fingerprint */
80
- NULL, /* get_by_alias */
72
+ NULL, // new
73
+ NULL, // free
74
+ NULL, // init
75
+ NULL, // shutdown
76
+ by_file_ctrl, // ctrl
77
+ NULL, // get_by_subject
78
+ NULL, // get_by_issuer_serial
79
+ NULL, // get_by_fingerprint
80
+ NULL, // get_by_alias
81
81
  };
82
82
 
83
- X509_LOOKUP_METHOD *X509_LOOKUP_file(void)
84
- {
85
- return (&x509_file_lookup);
86
- }
83
+ X509_LOOKUP_METHOD *X509_LOOKUP_file(void) { return &x509_file_lookup; }
87
84
 
88
- static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp,
89
- long argl, char **ret)
90
- {
91
- int ok = 0;
92
- const char *file;
85
+ static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
86
+ char **ret) {
87
+ int ok = 0;
88
+ const char *file;
93
89
 
94
- switch (cmd) {
90
+ switch (cmd) {
95
91
  case X509_L_FILE_LOAD:
96
- if (argl == X509_FILETYPE_DEFAULT) {
97
- file = getenv(X509_get_default_cert_file_env());
98
- if (file)
99
- ok = (X509_load_cert_crl_file(ctx, file,
100
- X509_FILETYPE_PEM) != 0);
92
+ if (argl == X509_FILETYPE_DEFAULT) {
93
+ file = getenv(X509_get_default_cert_file_env());
94
+ if (file) {
95
+ ok = (X509_load_cert_crl_file(ctx, file, X509_FILETYPE_PEM) != 0);
96
+ }
101
97
 
102
- else
103
- ok = (X509_load_cert_crl_file
104
- (ctx, X509_get_default_cert_file(),
105
- X509_FILETYPE_PEM) != 0);
98
+ else {
99
+ ok = (X509_load_cert_crl_file(ctx, X509_get_default_cert_file(),
100
+ X509_FILETYPE_PEM) != 0);
101
+ }
106
102
 
107
- if (!ok) {
108
- OPENSSL_PUT_ERROR(X509, X509_R_LOADING_DEFAULTS);
109
- }
103
+ if (!ok) {
104
+ OPENSSL_PUT_ERROR(X509, X509_R_LOADING_DEFAULTS);
105
+ }
106
+ } else {
107
+ if (argl == X509_FILETYPE_PEM) {
108
+ ok = (X509_load_cert_crl_file(ctx, argp, X509_FILETYPE_PEM) != 0);
110
109
  } else {
111
- if (argl == X509_FILETYPE_PEM)
112
- ok = (X509_load_cert_crl_file(ctx, argp,
113
- X509_FILETYPE_PEM) != 0);
114
- else
115
- ok = (X509_load_cert_file(ctx, argp, (int)argl) != 0);
110
+ ok = (X509_load_cert_file(ctx, argp, (int)argl) != 0);
116
111
  }
117
- break;
118
- }
119
- return (ok);
112
+ }
113
+ break;
114
+ }
115
+ return ok;
120
116
  }
121
117
 
122
- int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type)
123
- {
124
- int ret = 0;
125
- BIO *in = NULL;
126
- int i, count = 0;
127
- X509 *x = NULL;
118
+ int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type) {
119
+ int ret = 0;
120
+ BIO *in = NULL;
121
+ int i, count = 0;
122
+ X509 *x = NULL;
128
123
 
129
- in = BIO_new(BIO_s_file());
124
+ in = BIO_new(BIO_s_file());
130
125
 
131
- if ((in == NULL) || (BIO_read_filename(in, file) <= 0)) {
132
- OPENSSL_PUT_ERROR(X509, ERR_R_SYS_LIB);
133
- goto err;
134
- }
126
+ if ((in == NULL) || (BIO_read_filename(in, file) <= 0)) {
127
+ OPENSSL_PUT_ERROR(X509, ERR_R_SYS_LIB);
128
+ goto err;
129
+ }
135
130
 
136
- if (type == X509_FILETYPE_PEM) {
137
- for (;;) {
138
- x = PEM_read_bio_X509_AUX(in, NULL, NULL, NULL);
139
- if (x == NULL) {
140
- uint32_t error = ERR_peek_last_error();
141
- if (ERR_GET_LIB(error) == ERR_LIB_PEM &&
142
- ERR_GET_REASON(error) == PEM_R_NO_START_LINE &&
143
- count > 0) {
144
- ERR_clear_error();
145
- break;
146
- }
147
- OPENSSL_PUT_ERROR(X509, ERR_R_PEM_LIB);
148
- goto err;
149
- }
150
- i = X509_STORE_add_cert(ctx->store_ctx, x);
151
- if (!i)
152
- goto err;
153
- count++;
154
- X509_free(x);
155
- x = NULL;
131
+ if (type == X509_FILETYPE_PEM) {
132
+ for (;;) {
133
+ x = PEM_read_bio_X509_AUX(in, NULL, NULL, NULL);
134
+ if (x == NULL) {
135
+ uint32_t error = ERR_peek_last_error();
136
+ if (ERR_GET_LIB(error) == ERR_LIB_PEM &&
137
+ ERR_GET_REASON(error) == PEM_R_NO_START_LINE && count > 0) {
138
+ ERR_clear_error();
139
+ break;
156
140
  }
157
- ret = count;
158
- } else if (type == X509_FILETYPE_ASN1) {
159
- x = d2i_X509_bio(in, NULL);
160
- if (x == NULL) {
161
- OPENSSL_PUT_ERROR(X509, ERR_R_ASN1_LIB);
162
- goto err;
163
- }
164
- i = X509_STORE_add_cert(ctx->store_ctx, x);
165
- if (!i)
166
- goto err;
167
- ret = i;
168
- } else {
169
- OPENSSL_PUT_ERROR(X509, X509_R_BAD_X509_FILETYPE);
141
+ OPENSSL_PUT_ERROR(X509, ERR_R_PEM_LIB);
170
142
  goto err;
143
+ }
144
+ i = X509_STORE_add_cert(ctx->store_ctx, x);
145
+ if (!i) {
146
+ goto err;
147
+ }
148
+ count++;
149
+ X509_free(x);
150
+ x = NULL;
171
151
  }
172
-
173
- if (ret == 0) {
174
- OPENSSL_PUT_ERROR(X509, X509_R_NO_CERTIFICATE_FOUND);
152
+ ret = count;
153
+ } else if (type == X509_FILETYPE_ASN1) {
154
+ x = d2i_X509_bio(in, NULL);
155
+ if (x == NULL) {
156
+ OPENSSL_PUT_ERROR(X509, ERR_R_ASN1_LIB);
157
+ goto err;
175
158
  }
159
+ i = X509_STORE_add_cert(ctx->store_ctx, x);
160
+ if (!i) {
161
+ goto err;
162
+ }
163
+ ret = i;
164
+ } else {
165
+ OPENSSL_PUT_ERROR(X509, X509_R_BAD_X509_FILETYPE);
166
+ goto err;
167
+ }
168
+
169
+ if (ret == 0) {
170
+ OPENSSL_PUT_ERROR(X509, X509_R_NO_CERTIFICATE_FOUND);
171
+ }
176
172
 
177
- err:
178
- if (x != NULL)
179
- X509_free(x);
180
- if (in != NULL)
181
- BIO_free(in);
182
- return (ret);
173
+ err:
174
+ if (x != NULL) {
175
+ X509_free(x);
176
+ }
177
+ if (in != NULL) {
178
+ BIO_free(in);
179
+ }
180
+ return ret;
183
181
  }
184
182
 
185
- int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type)
186
- {
187
- int ret = 0;
188
- BIO *in = NULL;
189
- int i, count = 0;
190
- X509_CRL *x = NULL;
183
+ int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type) {
184
+ int ret = 0;
185
+ BIO *in = NULL;
186
+ int i, count = 0;
187
+ X509_CRL *x = NULL;
191
188
 
192
- in = BIO_new(BIO_s_file());
189
+ in = BIO_new(BIO_s_file());
193
190
 
194
- if ((in == NULL) || (BIO_read_filename(in, file) <= 0)) {
195
- OPENSSL_PUT_ERROR(X509, ERR_R_SYS_LIB);
196
- goto err;
197
- }
191
+ if ((in == NULL) || (BIO_read_filename(in, file) <= 0)) {
192
+ OPENSSL_PUT_ERROR(X509, ERR_R_SYS_LIB);
193
+ goto err;
194
+ }
198
195
 
199
- if (type == X509_FILETYPE_PEM) {
200
- for (;;) {
201
- x = PEM_read_bio_X509_CRL(in, NULL, NULL, NULL);
202
- if (x == NULL) {
203
- uint32_t error = ERR_peek_last_error();
204
- if (ERR_GET_LIB(error) == ERR_LIB_PEM &&
205
- ERR_GET_REASON(error) == PEM_R_NO_START_LINE &&
206
- count > 0) {
207
- ERR_clear_error();
208
- break;
209
- }
210
- OPENSSL_PUT_ERROR(X509, ERR_R_PEM_LIB);
211
- goto err;
212
- }
213
- i = X509_STORE_add_crl(ctx->store_ctx, x);
214
- if (!i)
215
- goto err;
216
- count++;
217
- X509_CRL_free(x);
218
- x = NULL;
196
+ if (type == X509_FILETYPE_PEM) {
197
+ for (;;) {
198
+ x = PEM_read_bio_X509_CRL(in, NULL, NULL, NULL);
199
+ if (x == NULL) {
200
+ uint32_t error = ERR_peek_last_error();
201
+ if (ERR_GET_LIB(error) == ERR_LIB_PEM &&
202
+ ERR_GET_REASON(error) == PEM_R_NO_START_LINE && count > 0) {
203
+ ERR_clear_error();
204
+ break;
219
205
  }
220
- ret = count;
221
- } else if (type == X509_FILETYPE_ASN1) {
222
- x = d2i_X509_CRL_bio(in, NULL);
223
- if (x == NULL) {
224
- OPENSSL_PUT_ERROR(X509, ERR_R_ASN1_LIB);
225
- goto err;
226
- }
227
- i = X509_STORE_add_crl(ctx->store_ctx, x);
228
- if (!i)
229
- goto err;
230
- ret = i;
231
- } else {
232
- OPENSSL_PUT_ERROR(X509, X509_R_BAD_X509_FILETYPE);
206
+ OPENSSL_PUT_ERROR(X509, ERR_R_PEM_LIB);
233
207
  goto err;
208
+ }
209
+ i = X509_STORE_add_crl(ctx->store_ctx, x);
210
+ if (!i) {
211
+ goto err;
212
+ }
213
+ count++;
214
+ X509_CRL_free(x);
215
+ x = NULL;
234
216
  }
235
-
236
- if (ret == 0) {
237
- OPENSSL_PUT_ERROR(X509, X509_R_NO_CRL_FOUND);
217
+ ret = count;
218
+ } else if (type == X509_FILETYPE_ASN1) {
219
+ x = d2i_X509_CRL_bio(in, NULL);
220
+ if (x == NULL) {
221
+ OPENSSL_PUT_ERROR(X509, ERR_R_ASN1_LIB);
222
+ goto err;
238
223
  }
224
+ i = X509_STORE_add_crl(ctx->store_ctx, x);
225
+ if (!i) {
226
+ goto err;
227
+ }
228
+ ret = i;
229
+ } else {
230
+ OPENSSL_PUT_ERROR(X509, X509_R_BAD_X509_FILETYPE);
231
+ goto err;
232
+ }
233
+
234
+ if (ret == 0) {
235
+ OPENSSL_PUT_ERROR(X509, X509_R_NO_CRL_FOUND);
236
+ }
239
237
 
240
- err:
241
- if (x != NULL)
242
- X509_CRL_free(x);
243
- if (in != NULL)
244
- BIO_free(in);
245
- return (ret);
238
+ err:
239
+ if (x != NULL) {
240
+ X509_CRL_free(x);
241
+ }
242
+ if (in != NULL) {
243
+ BIO_free(in);
244
+ }
245
+ return ret;
246
246
  }
247
247
 
248
- int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type)
249
- {
250
- STACK_OF(X509_INFO) *inf;
251
- X509_INFO *itmp;
252
- BIO *in;
253
- size_t i;
254
- int count = 0;
248
+ int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type) {
249
+ STACK_OF(X509_INFO) *inf;
250
+ X509_INFO *itmp;
251
+ BIO *in;
252
+ size_t i;
253
+ int count = 0;
255
254
 
256
- if (type != X509_FILETYPE_PEM)
257
- return X509_load_cert_file(ctx, file, type);
258
- in = BIO_new_file(file, "r");
259
- if (!in) {
260
- OPENSSL_PUT_ERROR(X509, ERR_R_SYS_LIB);
261
- return 0;
262
- }
263
- inf = PEM_X509_INFO_read_bio(in, NULL, NULL, NULL);
264
- BIO_free(in);
265
- if (!inf) {
266
- OPENSSL_PUT_ERROR(X509, ERR_R_PEM_LIB);
267
- return 0;
255
+ if (type != X509_FILETYPE_PEM) {
256
+ return X509_load_cert_file(ctx, file, type);
257
+ }
258
+ in = BIO_new_file(file, "r");
259
+ if (!in) {
260
+ OPENSSL_PUT_ERROR(X509, ERR_R_SYS_LIB);
261
+ return 0;
262
+ }
263
+ inf = PEM_X509_INFO_read_bio(in, NULL, NULL, NULL);
264
+ BIO_free(in);
265
+ if (!inf) {
266
+ OPENSSL_PUT_ERROR(X509, ERR_R_PEM_LIB);
267
+ return 0;
268
+ }
269
+ for (i = 0; i < sk_X509_INFO_num(inf); i++) {
270
+ itmp = sk_X509_INFO_value(inf, i);
271
+ if (itmp->x509) {
272
+ if (!X509_STORE_add_cert(ctx->store_ctx, itmp->x509)) {
273
+ goto err;
274
+ }
275
+ count++;
268
276
  }
269
- for (i = 0; i < sk_X509_INFO_num(inf); i++) {
270
- itmp = sk_X509_INFO_value(inf, i);
271
- if (itmp->x509) {
272
- if (!X509_STORE_add_cert(ctx->store_ctx, itmp->x509)) {
273
- goto err;
274
- }
275
- count++;
276
- }
277
- if (itmp->crl) {
278
- if (!X509_STORE_add_crl(ctx->store_ctx, itmp->crl)) {
279
- goto err;
280
- }
281
- count++;
282
- }
277
+ if (itmp->crl) {
278
+ if (!X509_STORE_add_crl(ctx->store_ctx, itmp->crl)) {
279
+ goto err;
280
+ }
281
+ count++;
283
282
  }
283
+ }
284
284
 
285
- if (count == 0) {
286
- OPENSSL_PUT_ERROR(X509, X509_R_NO_CERTIFICATE_OR_CRL_FOUND);
287
- }
285
+ if (count == 0) {
286
+ OPENSSL_PUT_ERROR(X509, X509_R_NO_CERTIFICATE_OR_CRL_FOUND);
287
+ }
288
288
 
289
289
  err:
290
- sk_X509_INFO_pop_free(inf, X509_INFO_free);
291
- return count;
290
+ sk_X509_INFO_pop_free(inf, X509_INFO_free);
291
+ return count;
292
292
  }
293
293
 
294
- #endif /* OPENSSL_NO_STDIO */
294
+ #endif // OPENSSL_NO_STDIO
@@ -56,28 +56,25 @@
56
56
  * [including the GNU Public Licence.] */
57
57
 
58
58
  #include <openssl/asn1.h>
59
+ #include <openssl/dsa.h>
59
60
  #include <openssl/ec_key.h>
60
61
  #include <openssl/err.h>
61
62
  #include <openssl/evp.h>
62
63
  #include <openssl/rsa.h>
63
- #include <openssl/dsa.h>
64
64
 
65
65
 
66
- int i2d_PrivateKey(const EVP_PKEY *a, uint8_t **pp)
67
- {
68
- switch (EVP_PKEY_id(a)) {
66
+ int i2d_PrivateKey(const EVP_PKEY *a, uint8_t **pp) {
67
+ switch (EVP_PKEY_id(a)) {
69
68
  case EVP_PKEY_RSA:
70
- return i2d_RSAPrivateKey(a->pkey.rsa, pp);
69
+ return i2d_RSAPrivateKey(a->pkey.rsa, pp);
71
70
  case EVP_PKEY_EC:
72
- return i2d_ECPrivateKey(a->pkey.ec, pp);
71
+ return i2d_ECPrivateKey(a->pkey.ec, pp);
73
72
  case EVP_PKEY_DSA:
74
- return i2d_DSAPrivateKey(a->pkey.dsa, pp);
73
+ return i2d_DSAPrivateKey(a->pkey.dsa, pp);
75
74
  default:
76
- /*
77
- * Although this file is in crypto/x509 for layering reasons, it emits
78
- * an error code from ASN1 for OpenSSL compatibility.
79
- */
80
- OPENSSL_PUT_ERROR(ASN1, ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
81
- return -1;
82
- }
75
+ // Although this file is in crypto/x509 for layering reasons, it emits
76
+ // an error code from ASN1 for OpenSSL compatibility.
77
+ OPENSSL_PUT_ERROR(ASN1, ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
78
+ return -1;
79
+ }
83
80
  }
@@ -70,7 +70,7 @@ extern "C" {
70
70
  #endif
71
71
 
72
72
 
73
- /* Internal structures. */
73
+ // Internal structures.
74
74
 
75
75
  typedef struct X509_val_st {
76
76
  ASN1_TIME *notBefore;
@@ -372,44 +372,44 @@ ASN1_TYPE *ASN1_generate_v3(const char *str, X509V3_CTX *cnf);
372
372
  int X509_CERT_AUX_print(BIO *bp, X509_CERT_AUX *x, int indent);
373
373
 
374
374
 
375
- /* RSA-PSS functions. */
375
+ // RSA-PSS functions.
376
376
 
377
- /* x509_rsa_pss_to_ctx configures |ctx| for an RSA-PSS operation based on
378
- * signature algorithm parameters in |sigalg| (which must have type
379
- * |NID_rsassaPss|) and key |pkey|. It returns one on success and zero on
380
- * error. */
377
+ // x509_rsa_pss_to_ctx configures |ctx| for an RSA-PSS operation based on
378
+ // signature algorithm parameters in |sigalg| (which must have type
379
+ // |NID_rsassaPss|) and key |pkey|. It returns one on success and zero on
380
+ // error.
381
381
  int x509_rsa_pss_to_ctx(EVP_MD_CTX *ctx, const X509_ALGOR *sigalg,
382
382
  EVP_PKEY *pkey);
383
383
 
384
- /* x509_rsa_pss_to_ctx sets |algor| to the signature algorithm parameters for
385
- * |ctx|, which must have been configured for an RSA-PSS signing operation. It
386
- * returns one on success and zero on error. */
384
+ // x509_rsa_pss_to_ctx sets |algor| to the signature algorithm parameters for
385
+ // |ctx|, which must have been configured for an RSA-PSS signing operation. It
386
+ // returns one on success and zero on error.
387
387
  int x509_rsa_ctx_to_pss(EVP_MD_CTX *ctx, X509_ALGOR *algor);
388
388
 
389
- /* x509_print_rsa_pss_params prints a human-readable representation of RSA-PSS
390
- * parameters in |sigalg| to |bp|. It returns one on success and zero on
391
- * error. */
389
+ // x509_print_rsa_pss_params prints a human-readable representation of RSA-PSS
390
+ // parameters in |sigalg| to |bp|. It returns one on success and zero on
391
+ // error.
392
392
  int x509_print_rsa_pss_params(BIO *bp, const X509_ALGOR *sigalg, int indent,
393
393
  ASN1_PCTX *pctx);
394
394
 
395
395
 
396
- /* Signature algorithm functions. */
396
+ // Signature algorithm functions.
397
397
 
398
- /* x509_digest_sign_algorithm encodes the signing parameters of |ctx| as an
399
- * AlgorithmIdentifer and saves the result in |algor|. It returns one on
400
- * success, or zero on error. */
398
+ // x509_digest_sign_algorithm encodes the signing parameters of |ctx| as an
399
+ // AlgorithmIdentifer and saves the result in |algor|. It returns one on
400
+ // success, or zero on error.
401
401
  int x509_digest_sign_algorithm(EVP_MD_CTX *ctx, X509_ALGOR *algor);
402
402
 
403
- /* x509_digest_verify_init sets up |ctx| for a signature verification operation
404
- * with public key |pkey| and parameters from |algor|. The |ctx| argument must
405
- * have been initialised with |EVP_MD_CTX_init|. It returns one on success, or
406
- * zero on error. */
403
+ // x509_digest_verify_init sets up |ctx| for a signature verification operation
404
+ // with public key |pkey| and parameters from |algor|. The |ctx| argument must
405
+ // have been initialised with |EVP_MD_CTX_init|. It returns one on success, or
406
+ // zero on error.
407
407
  int x509_digest_verify_init(EVP_MD_CTX *ctx, const X509_ALGOR *sigalg,
408
408
  EVP_PKEY *pkey);
409
409
 
410
410
 
411
411
  #if defined(__cplusplus)
412
- } /* extern C */
412
+ } // extern C
413
413
  #endif
414
414
 
415
- #endif /* OPENSSL_HEADER_X509_INTERNAL_H */
415
+ #endif // OPENSSL_HEADER_X509_INTERNAL_H