@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
@@ -60,96 +60,97 @@
60
60
 
61
61
  #include "internal.h"
62
62
 
63
- /* accessor functions */
63
+ // accessor functions
64
64
 
65
- /* X509_POLICY_TREE stuff */
65
+ // X509_POLICY_TREE stuff
66
66
 
67
- int X509_policy_tree_level_count(const X509_POLICY_TREE *tree)
68
- {
69
- if (!tree)
70
- return 0;
71
- return tree->nlevel;
67
+ int X509_policy_tree_level_count(const X509_POLICY_TREE *tree) {
68
+ if (!tree) {
69
+ return 0;
70
+ }
71
+ return tree->nlevel;
72
72
  }
73
73
 
74
74
  X509_POLICY_LEVEL *X509_policy_tree_get0_level(const X509_POLICY_TREE *tree,
75
- int i)
76
- {
77
- if (!tree || (i < 0) || (i >= tree->nlevel))
78
- return NULL;
79
- return tree->levels + i;
75
+ int i) {
76
+ if (!tree || (i < 0) || (i >= tree->nlevel)) {
77
+ return NULL;
78
+ }
79
+ return tree->levels + i;
80
80
  }
81
81
 
82
- STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_policies(const
83
- X509_POLICY_TREE
84
- *tree)
85
- {
86
- if (!tree)
87
- return NULL;
88
- return tree->auth_policies;
82
+ STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_policies(
83
+ const X509_POLICY_TREE *tree) {
84
+ if (!tree) {
85
+ return NULL;
86
+ }
87
+ return tree->auth_policies;
89
88
  }
90
89
 
91
- STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_user_policies(const
92
- X509_POLICY_TREE
93
- *tree)
94
- {
95
- if (!tree)
96
- return NULL;
97
- if (tree->flags & POLICY_FLAG_ANY_POLICY)
98
- return tree->auth_policies;
99
- else
100
- return tree->user_policies;
90
+ STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_user_policies(
91
+ const X509_POLICY_TREE *tree) {
92
+ if (!tree) {
93
+ return NULL;
94
+ }
95
+ if (tree->flags & POLICY_FLAG_ANY_POLICY) {
96
+ return tree->auth_policies;
97
+ } else {
98
+ return tree->user_policies;
99
+ }
101
100
  }
102
101
 
103
- /* X509_POLICY_LEVEL stuff */
102
+ // X509_POLICY_LEVEL stuff
104
103
 
105
- int X509_policy_level_node_count(X509_POLICY_LEVEL *level)
106
- {
107
- int n;
108
- if (!level)
109
- return 0;
110
- if (level->anyPolicy)
111
- n = 1;
112
- else
113
- n = 0;
114
- if (level->nodes)
115
- n += sk_X509_POLICY_NODE_num(level->nodes);
116
- return n;
104
+ int X509_policy_level_node_count(X509_POLICY_LEVEL *level) {
105
+ int n;
106
+ if (!level) {
107
+ return 0;
108
+ }
109
+ if (level->anyPolicy) {
110
+ n = 1;
111
+ } else {
112
+ n = 0;
113
+ }
114
+ if (level->nodes) {
115
+ n += sk_X509_POLICY_NODE_num(level->nodes);
116
+ }
117
+ return n;
117
118
  }
118
119
 
119
- X509_POLICY_NODE *X509_policy_level_get0_node(X509_POLICY_LEVEL *level, int i)
120
- {
121
- if (!level)
122
- return NULL;
123
- if (level->anyPolicy) {
124
- if (i == 0)
125
- return level->anyPolicy;
126
- i--;
120
+ X509_POLICY_NODE *X509_policy_level_get0_node(X509_POLICY_LEVEL *level, int i) {
121
+ if (!level) {
122
+ return NULL;
123
+ }
124
+ if (level->anyPolicy) {
125
+ if (i == 0) {
126
+ return level->anyPolicy;
127
127
  }
128
- return sk_X509_POLICY_NODE_value(level->nodes, i);
128
+ i--;
129
+ }
130
+ return sk_X509_POLICY_NODE_value(level->nodes, i);
129
131
  }
130
132
 
131
- /* X509_POLICY_NODE stuff */
133
+ // X509_POLICY_NODE stuff
132
134
 
133
- const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node)
134
- {
135
- if (!node)
136
- return NULL;
137
- return node->data->valid_policy;
135
+ const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node) {
136
+ if (!node) {
137
+ return NULL;
138
+ }
139
+ return node->data->valid_policy;
138
140
  }
139
141
 
140
- STACK_OF(POLICYQUALINFO) *X509_policy_node_get0_qualifiers(const
141
- X509_POLICY_NODE
142
- *node)
143
- {
144
- if (!node)
145
- return NULL;
146
- return node->data->qualifier_set;
142
+ STACK_OF(POLICYQUALINFO) *X509_policy_node_get0_qualifiers(
143
+ const X509_POLICY_NODE *node) {
144
+ if (!node) {
145
+ return NULL;
146
+ }
147
+ return node->data->qualifier_set;
147
148
  }
148
149
 
149
- const X509_POLICY_NODE *X509_policy_node_get0_parent(const X509_POLICY_NODE
150
- *node)
151
- {
152
- if (!node)
153
- return NULL;
154
- return node->parent;
150
+ const X509_POLICY_NODE *X509_policy_node_get0_parent(
151
+ const X509_POLICY_NODE *node) {
152
+ if (!node) {
153
+ return NULL;
154
+ }
155
+ return node->parent;
155
156
  }
@@ -64,68 +64,66 @@
64
64
  #include "../x509/internal.h"
65
65
  #include "internal.h"
66
66
 
67
- /*
68
- * Set policy mapping entries in cache. Note: this modifies the passed
69
- * POLICY_MAPPINGS structure
70
- */
67
+ // Set policy mapping entries in cache. Note: this modifies the passed
68
+ // POLICY_MAPPINGS structure
71
69
 
72
- int policy_cache_set_mapping(X509 *x, POLICY_MAPPINGS *maps)
73
- {
74
- POLICY_MAPPING *map;
75
- X509_POLICY_DATA *data;
76
- X509_POLICY_CACHE *cache = x->policy_cache;
77
- size_t i;
78
- int ret = 0;
79
- if (sk_POLICY_MAPPING_num(maps) == 0) {
80
- ret = -1;
81
- goto bad_mapping;
70
+ int policy_cache_set_mapping(X509 *x, POLICY_MAPPINGS *maps) {
71
+ POLICY_MAPPING *map;
72
+ X509_POLICY_DATA *data;
73
+ X509_POLICY_CACHE *cache = x->policy_cache;
74
+ size_t i;
75
+ int ret = 0;
76
+ if (sk_POLICY_MAPPING_num(maps) == 0) {
77
+ ret = -1;
78
+ goto bad_mapping;
79
+ }
80
+ for (i = 0; i < sk_POLICY_MAPPING_num(maps); i++) {
81
+ map = sk_POLICY_MAPPING_value(maps, i);
82
+ // Reject if map to or from anyPolicy
83
+ if ((OBJ_obj2nid(map->subjectDomainPolicy) == NID_any_policy) ||
84
+ (OBJ_obj2nid(map->issuerDomainPolicy) == NID_any_policy)) {
85
+ ret = -1;
86
+ goto bad_mapping;
82
87
  }
83
- for (i = 0; i < sk_POLICY_MAPPING_num(maps); i++) {
84
- map = sk_POLICY_MAPPING_value(maps, i);
85
- /* Reject if map to or from anyPolicy */
86
- if ((OBJ_obj2nid(map->subjectDomainPolicy) == NID_any_policy)
87
- || (OBJ_obj2nid(map->issuerDomainPolicy) == NID_any_policy)) {
88
- ret = -1;
89
- goto bad_mapping;
90
- }
91
-
92
- /* Attempt to find matching policy data */
93
- data = policy_cache_find_data(cache, map->issuerDomainPolicy);
94
- /* If we don't have anyPolicy can't map */
95
- if (!data && !cache->anyPolicy)
96
- continue;
97
-
98
- /* Create a NODE from anyPolicy */
99
- if (!data) {
100
- data = policy_data_new(NULL, map->issuerDomainPolicy,
101
- cache->anyPolicy->flags
102
- & POLICY_DATA_FLAG_CRITICAL);
103
- if (!data)
104
- goto bad_mapping;
105
- data->qualifier_set = cache->anyPolicy->qualifier_set;
106
- /*
107
- * map->issuerDomainPolicy = NULL;
108
- */
109
- data->flags |= POLICY_DATA_FLAG_MAPPED_ANY;
110
- data->flags |= POLICY_DATA_FLAG_SHARED_QUALIFIERS;
111
- if (!sk_X509_POLICY_DATA_push(cache->data, data)) {
112
- policy_data_free(data);
113
- goto bad_mapping;
114
- }
115
- } else
116
- data->flags |= POLICY_DATA_FLAG_MAPPED;
117
- if (!sk_ASN1_OBJECT_push(data->expected_policy_set,
118
- map->subjectDomainPolicy))
119
- goto bad_mapping;
120
- map->subjectDomainPolicy = NULL;
121
88
 
89
+ // Attempt to find matching policy data
90
+ data = policy_cache_find_data(cache, map->issuerDomainPolicy);
91
+ // If we don't have anyPolicy can't map
92
+ if (!data && !cache->anyPolicy) {
93
+ continue;
122
94
  }
123
95
 
124
- ret = 1;
125
- bad_mapping:
126
- if (ret == -1)
127
- x->ex_flags |= EXFLAG_INVALID_POLICY;
128
- sk_POLICY_MAPPING_pop_free(maps, POLICY_MAPPING_free);
129
- return ret;
96
+ // Create a NODE from anyPolicy
97
+ if (!data) {
98
+ data =
99
+ policy_data_new(NULL, map->issuerDomainPolicy,
100
+ cache->anyPolicy->flags & POLICY_DATA_FLAG_CRITICAL);
101
+ if (!data) {
102
+ goto bad_mapping;
103
+ }
104
+ data->qualifier_set = cache->anyPolicy->qualifier_set;
105
+ // map->issuerDomainPolicy = NULL;
106
+ data->flags |= POLICY_DATA_FLAG_MAPPED_ANY;
107
+ data->flags |= POLICY_DATA_FLAG_SHARED_QUALIFIERS;
108
+ if (!sk_X509_POLICY_DATA_push(cache->data, data)) {
109
+ policy_data_free(data);
110
+ goto bad_mapping;
111
+ }
112
+ } else {
113
+ data->flags |= POLICY_DATA_FLAG_MAPPED;
114
+ }
115
+ if (!sk_ASN1_OBJECT_push(data->expected_policy_set,
116
+ map->subjectDomainPolicy)) {
117
+ goto bad_mapping;
118
+ }
119
+ map->subjectDomainPolicy = NULL;
120
+ }
130
121
 
122
+ ret = 1;
123
+ bad_mapping:
124
+ if (ret == -1) {
125
+ x->ex_flags |= EXFLAG_INVALID_POLICY;
126
+ }
127
+ sk_POLICY_MAPPING_pop_free(maps, POLICY_MAPPING_free);
128
+ return ret;
131
129
  }
@@ -63,127 +63,125 @@
63
63
 
64
64
  #include "internal.h"
65
65
 
66
- static int node_cmp(const X509_POLICY_NODE **a, const X509_POLICY_NODE **b)
67
- {
68
- return OBJ_cmp((*a)->data->valid_policy, (*b)->data->valid_policy);
66
+ static int node_cmp(const X509_POLICY_NODE **a, const X509_POLICY_NODE **b) {
67
+ return OBJ_cmp((*a)->data->valid_policy, (*b)->data->valid_policy);
69
68
  }
70
69
 
71
- STACK_OF(X509_POLICY_NODE) *policy_node_cmp_new(void)
72
- {
73
- return sk_X509_POLICY_NODE_new(node_cmp);
70
+ STACK_OF(X509_POLICY_NODE) *policy_node_cmp_new(void) {
71
+ return sk_X509_POLICY_NODE_new(node_cmp);
74
72
  }
75
73
 
76
74
  X509_POLICY_NODE *tree_find_sk(STACK_OF(X509_POLICY_NODE) *nodes,
77
- const ASN1_OBJECT *id)
78
- {
79
- X509_POLICY_DATA n;
80
- X509_POLICY_NODE l;
81
- size_t idx;
75
+ const ASN1_OBJECT *id) {
76
+ X509_POLICY_DATA n;
77
+ X509_POLICY_NODE l;
78
+ size_t idx;
82
79
 
83
- n.valid_policy = (ASN1_OBJECT *)id;
84
- l.data = &n;
80
+ n.valid_policy = (ASN1_OBJECT *)id;
81
+ l.data = &n;
85
82
 
86
- sk_X509_POLICY_NODE_sort(nodes);
87
- if (!sk_X509_POLICY_NODE_find(nodes, &idx, &l))
88
- return NULL;
89
-
90
- return sk_X509_POLICY_NODE_value(nodes, idx);
83
+ sk_X509_POLICY_NODE_sort(nodes);
84
+ if (!sk_X509_POLICY_NODE_find(nodes, &idx, &l)) {
85
+ return NULL;
86
+ }
91
87
 
88
+ return sk_X509_POLICY_NODE_value(nodes, idx);
92
89
  }
93
90
 
94
91
  X509_POLICY_NODE *level_find_node(const X509_POLICY_LEVEL *level,
95
92
  const X509_POLICY_NODE *parent,
96
- const ASN1_OBJECT *id)
97
- {
98
- X509_POLICY_NODE *node;
99
- size_t i;
100
- for (i = 0; i < sk_X509_POLICY_NODE_num(level->nodes); i++) {
101
- node = sk_X509_POLICY_NODE_value(level->nodes, i);
102
- if (node->parent == parent) {
103
- if (!OBJ_cmp(node->data->valid_policy, id))
104
- return node;
105
- }
93
+ const ASN1_OBJECT *id) {
94
+ X509_POLICY_NODE *node;
95
+ size_t i;
96
+ for (i = 0; i < sk_X509_POLICY_NODE_num(level->nodes); i++) {
97
+ node = sk_X509_POLICY_NODE_value(level->nodes, i);
98
+ if (node->parent == parent) {
99
+ if (!OBJ_cmp(node->data->valid_policy, id)) {
100
+ return node;
101
+ }
106
102
  }
107
- return NULL;
103
+ }
104
+ return NULL;
108
105
  }
109
106
 
110
107
  X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level,
111
108
  X509_POLICY_DATA *data,
112
109
  X509_POLICY_NODE *parent,
113
- X509_POLICY_TREE *tree)
114
- {
115
- X509_POLICY_NODE *node;
116
- node = OPENSSL_malloc(sizeof(X509_POLICY_NODE));
117
- if (!node)
118
- return NULL;
119
- node->data = data;
120
- node->parent = parent;
121
- node->nchild = 0;
122
- if (level) {
123
- if (OBJ_obj2nid(data->valid_policy) == NID_any_policy) {
124
- if (level->anyPolicy)
125
- goto node_error;
126
- level->anyPolicy = node;
127
- } else {
128
-
129
- if (!level->nodes)
130
- level->nodes = policy_node_cmp_new();
131
- if (!level->nodes)
132
- goto node_error;
133
- if (!sk_X509_POLICY_NODE_push(level->nodes, node))
134
- goto node_error;
135
- }
110
+ X509_POLICY_TREE *tree) {
111
+ X509_POLICY_NODE *node;
112
+ node = OPENSSL_malloc(sizeof(X509_POLICY_NODE));
113
+ if (!node) {
114
+ return NULL;
115
+ }
116
+ node->data = data;
117
+ node->parent = parent;
118
+ node->nchild = 0;
119
+ if (level) {
120
+ if (OBJ_obj2nid(data->valid_policy) == NID_any_policy) {
121
+ if (level->anyPolicy) {
122
+ goto node_error;
123
+ }
124
+ level->anyPolicy = node;
125
+ } else {
126
+ if (!level->nodes) {
127
+ level->nodes = policy_node_cmp_new();
128
+ }
129
+ if (!level->nodes) {
130
+ goto node_error;
131
+ }
132
+ if (!sk_X509_POLICY_NODE_push(level->nodes, node)) {
133
+ goto node_error;
134
+ }
136
135
  }
136
+ }
137
137
 
138
- if (tree) {
139
- if (!tree->extra_data)
140
- tree->extra_data = sk_X509_POLICY_DATA_new_null();
141
- if (!tree->extra_data)
142
- goto node_error;
143
- if (!sk_X509_POLICY_DATA_push(tree->extra_data, data))
144
- goto node_error;
138
+ if (tree) {
139
+ if (!tree->extra_data) {
140
+ tree->extra_data = sk_X509_POLICY_DATA_new_null();
145
141
  }
142
+ if (!tree->extra_data) {
143
+ goto node_error;
144
+ }
145
+ if (!sk_X509_POLICY_DATA_push(tree->extra_data, data)) {
146
+ goto node_error;
147
+ }
148
+ }
146
149
 
147
- if (parent)
148
- parent->nchild++;
149
-
150
- return node;
150
+ if (parent) {
151
+ parent->nchild++;
152
+ }
151
153
 
152
- node_error:
153
- policy_node_free(node);
154
- return 0;
154
+ return node;
155
155
 
156
+ node_error:
157
+ policy_node_free(node);
158
+ return 0;
156
159
  }
157
160
 
158
- void policy_node_free(X509_POLICY_NODE *node)
159
- {
160
- OPENSSL_free(node);
161
- }
161
+ void policy_node_free(X509_POLICY_NODE *node) { OPENSSL_free(node); }
162
162
 
163
- /*
164
- * See if a policy node matches a policy OID. If mapping enabled look through
165
- * expected policy set otherwise just valid policy.
166
- */
163
+ // See if a policy node matches a policy OID. If mapping enabled look through
164
+ // expected policy set otherwise just valid policy.
167
165
 
168
166
  int policy_node_match(const X509_POLICY_LEVEL *lvl,
169
- const X509_POLICY_NODE *node, const ASN1_OBJECT *oid)
170
- {
171
- size_t i;
172
- ASN1_OBJECT *policy_oid;
173
- const X509_POLICY_DATA *x = node->data;
174
-
175
- if ((lvl->flags & X509_V_FLAG_INHIBIT_MAP)
176
- || !(x->flags & POLICY_DATA_FLAG_MAP_MASK)) {
177
- if (!OBJ_cmp(x->valid_policy, oid))
178
- return 1;
179
- return 0;
180
- }
181
-
182
- for (i = 0; i < sk_ASN1_OBJECT_num(x->expected_policy_set); i++) {
183
- policy_oid = sk_ASN1_OBJECT_value(x->expected_policy_set, i);
184
- if (!OBJ_cmp(policy_oid, oid))
185
- return 1;
167
+ const X509_POLICY_NODE *node, const ASN1_OBJECT *oid) {
168
+ size_t i;
169
+ ASN1_OBJECT *policy_oid;
170
+ const X509_POLICY_DATA *x = node->data;
171
+
172
+ if ((lvl->flags & X509_V_FLAG_INHIBIT_MAP) ||
173
+ !(x->flags & POLICY_DATA_FLAG_MAP_MASK)) {
174
+ if (!OBJ_cmp(x->valid_policy, oid)) {
175
+ return 1;
186
176
  }
187
177
  return 0;
178
+ }
188
179
 
180
+ for (i = 0; i < sk_ASN1_OBJECT_num(x->expected_policy_set); i++) {
181
+ policy_oid = sk_ASN1_OBJECT_value(x->expected_policy_set, i);
182
+ if (!OBJ_cmp(policy_oid, oid)) {
183
+ return 1;
184
+ }
185
+ }
186
+ return 0;
189
187
  }