visaljs 0.0.1 → 0.0.3

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 (1008) hide show
  1. package/README.md +17 -1
  2. package/cli.js +565 -75
  3. package/node/include/js_node.h +28 -5
  4. package/node/include/js_uv.h +36 -0
  5. package/node/prelude/crypto.js +7 -10
  6. package/node/prelude/dns.js +99 -0
  7. package/node/prelude/dns_promises.js +10 -0
  8. package/node/prelude/http.js +1039 -195
  9. package/node/prelude/internal/crypto/asym.js +39 -12
  10. package/node/prelude/internal/crypto/dh_groups.js +12 -0
  11. package/node/prelude/internal/crypto/diffiehellman.js +354 -0
  12. package/node/prelude/internal/crypto/hash.js +1 -1
  13. package/node/prelude/internal/crypto/key_type.js +3 -0
  14. package/node/prelude/internal/crypto/keys.js +39 -9
  15. package/node/prelude/internal/http_agent.js +249 -0
  16. package/node/prelude/internal/net.js +33 -0
  17. package/node/prelude/internal/socketaddress.js +249 -0
  18. package/node/prelude/internal/tls/common.js +306 -0
  19. package/node/prelude/internal/tls/wrap.js +1217 -0
  20. package/node/prelude/internal/tls/x509.js +394 -0
  21. package/node/prelude/net.js +1083 -50
  22. package/node/prelude/stream.js +6 -0
  23. package/node/prelude/tls.js +141 -0
  24. package/node/prelude/util.js +5 -2
  25. package/node/prelude/util_types.js +85 -0
  26. package/node/src/host_http.c +268 -270
  27. package/node/src/host_loop.c +84 -0
  28. package/node/src/host_net.c +495 -0
  29. package/node/src/host_sys.c +16 -0
  30. package/package.json +1 -1
  31. package/runtime/include/js_builtins.h +16 -0
  32. package/runtime/include/js_console.h +2 -0
  33. package/runtime/include/js_core.def +23 -0
  34. package/runtime/include/js_crypto.h +23 -0
  35. package/runtime/include/js_generator.h +2 -3
  36. package/runtime/include/js_promise.h +0 -2
  37. package/runtime/src/async_iter.c +4 -1
  38. package/runtime/src/boringssl_support.cc +34 -0
  39. package/runtime/src/builtin_table.c +8 -0
  40. package/runtime/src/components.c +10 -0
  41. package/runtime/src/console.c +6 -18
  42. package/runtime/src/core_all.c +1 -0
  43. package/runtime/src/crypto_asym.c +450 -241
  44. package/runtime/src/crypto_bn.c +91 -0
  45. package/runtime/src/crypto_cipher.c +153 -75
  46. package/runtime/src/crypto_hash.c +68 -53
  47. package/runtime/src/crypto_internal.h +55 -26
  48. package/runtime/src/crypto_pkey.c +198 -61
  49. package/runtime/src/crypto_subtle.c +42 -16
  50. package/runtime/src/crypto_tls.c +678 -0
  51. package/runtime/src/generator.c +8 -1
  52. package/runtime/src/global.c +2 -4
  53. package/runtime/src/internal.h +0 -1
  54. package/runtime/src/jobs.c +2 -1
  55. package/runtime/src/promise.c +4 -1
  56. package/runtime/src/tls_roots.gen.h +3215 -0
  57. package/runtime/src/util_types.c +52 -0
  58. package/runtime/src/weak.c +2 -1
  59. package/runtime/third_party/boringssl/LICENSE +238 -0
  60. package/runtime/third_party/boringssl/README.md +46 -0
  61. package/runtime/third_party/boringssl/VERSION +1 -0
  62. package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
  63. package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
  64. package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
  65. package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
  66. package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
  67. package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
  68. package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
  69. package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
  70. package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
  71. package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
  72. package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
  73. package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
  74. package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
  75. package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
  76. package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
  77. package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
  78. package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
  79. package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
  80. package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
  81. package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
  82. package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
  83. package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
  84. package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
  85. package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
  86. package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
  87. package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
  88. package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
  89. package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
  90. package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
  91. package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
  92. package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
  93. package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
  94. package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
  95. package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
  96. package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
  97. package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
  98. package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
  99. package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
  100. package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
  101. package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
  102. package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
  103. package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
  104. package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
  105. package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
  106. package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
  107. package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
  108. package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
  109. package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
  110. package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
  111. package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
  112. package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
  113. package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
  114. package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
  115. package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
  116. package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
  117. package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
  118. package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
  119. package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
  120. package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
  121. package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
  122. package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
  123. package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
  124. package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
  125. package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
  126. package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
  127. package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
  128. package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
  129. package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
  130. package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
  131. package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
  132. package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
  133. package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
  134. package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
  135. package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
  136. package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
  137. package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
  138. package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
  139. package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
  140. package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
  141. package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
  142. package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
  143. package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
  144. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
  145. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
  146. package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
  147. package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
  148. package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
  149. package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
  150. package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
  151. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
  152. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
  153. package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
  154. package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
  155. package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
  156. package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
  157. package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
  158. package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
  159. package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
  160. package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
  161. package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
  162. package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
  163. package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
  164. package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
  165. package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
  166. package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
  167. package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
  168. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
  169. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
  170. package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
  171. package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
  172. package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
  173. package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
  174. package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
  175. package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
  176. package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
  177. package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
  178. package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
  179. package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
  180. package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
  181. package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
  182. package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
  183. package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
  184. package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
  185. package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
  186. package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
  187. package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
  188. package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
  189. package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
  190. package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
  191. package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
  192. package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
  193. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
  194. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
  195. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
  196. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
  197. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
  198. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
  199. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
  200. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
  201. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
  202. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
  203. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
  204. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
  205. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
  206. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
  207. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
  208. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
  209. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
  210. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
  211. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
  212. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
  213. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
  214. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
  215. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
  216. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
  217. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
  218. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
  219. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
  220. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
  221. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
  222. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
  223. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
  224. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
  225. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
  226. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
  227. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
  228. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
  229. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
  230. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
  231. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
  232. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
  233. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
  234. package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
  235. package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
  236. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
  237. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
  238. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
  239. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
  240. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
  241. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
  242. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
  243. package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
  244. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  245. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
  246. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
  247. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
  248. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
  249. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
  250. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
  251. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
  252. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
  253. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
  254. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
  255. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
  256. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
  257. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
  258. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
  259. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
  260. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
  261. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
  262. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
  263. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
  264. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
  265. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
  266. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
  267. package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
  268. package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
  269. package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
  270. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
  271. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
  272. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  273. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
  274. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  275. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
  276. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
  277. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
  278. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
  279. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
  280. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
  281. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
  282. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
  283. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
  284. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  285. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
  286. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
  287. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
  288. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
  289. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
  290. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
  291. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  292. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
  293. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  294. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
  295. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
  296. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
  297. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
  298. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
  299. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
  300. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
  301. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
  302. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
  303. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
  304. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
  305. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  306. package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
  307. package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
  308. package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
  309. package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
  310. package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
  311. package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
  312. package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
  313. package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
  314. package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
  315. package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
  316. package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
  317. package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
  318. package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
  319. package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
  320. package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
  321. package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
  322. package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
  323. package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
  324. package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
  325. package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
  326. package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
  327. package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
  328. package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
  329. package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
  330. package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
  331. package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
  332. package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
  333. package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
  334. package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
  335. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
  336. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
  337. package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
  338. package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
  339. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
  340. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
  341. package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
  342. package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
  343. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
  344. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
  345. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
  346. package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
  347. package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
  348. package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
  349. package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
  350. package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
  351. package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
  352. package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
  353. package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
  354. package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
  355. package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
  356. package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
  357. package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
  358. package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
  359. package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
  360. package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
  361. package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
  362. package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
  363. package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
  364. package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
  365. package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
  366. package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
  367. package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
  368. package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
  369. package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
  370. package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
  371. package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
  372. package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
  373. package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
  374. package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
  375. package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
  376. package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
  377. package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
  378. package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
  379. package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
  380. package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
  381. package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
  382. package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
  383. package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
  384. package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
  385. package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
  386. package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
  387. package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
  388. package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
  389. package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
  390. package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
  391. package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
  392. package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
  393. package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
  394. package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
  395. package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
  396. package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
  397. package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
  398. package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
  399. package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
  400. package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
  401. package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
  402. package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
  403. package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
  404. package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
  405. package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
  406. package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
  407. package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
  408. package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
  409. package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
  410. package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
  411. package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
  412. package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
  413. package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
  414. package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
  415. package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
  416. package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
  417. package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
  418. package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
  419. package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
  420. package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
  421. package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
  422. package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
  423. package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
  424. package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
  425. package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
  426. package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
  427. package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
  428. package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
  429. package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
  430. package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
  431. package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
  432. package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
  433. package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
  434. package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
  435. package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
  436. package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
  437. package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
  438. package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
  439. package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
  440. package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
  441. package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
  442. package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
  443. package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
  444. package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
  445. package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
  446. package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
  447. package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
  448. package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
  449. package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
  450. package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
  451. package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
  452. package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
  453. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
  454. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
  455. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
  456. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
  457. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
  458. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
  459. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
  460. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
  461. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
  462. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
  463. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
  464. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
  465. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
  466. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
  467. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
  468. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
  469. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
  470. package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
  471. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
  472. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
  473. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
  474. package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
  475. package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
  476. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
  477. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
  478. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
  479. package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
  480. package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
  481. package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
  482. package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
  483. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
  484. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
  485. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
  486. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
  487. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
  488. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
  489. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
  490. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
  491. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
  492. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
  493. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
  494. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
  495. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
  496. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
  497. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
  498. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
  499. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
  500. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
  501. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
  502. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
  503. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
  504. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
  505. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
  506. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
  507. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
  508. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
  509. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
  510. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
  511. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
  512. package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
  513. package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
  514. package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
  515. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
  516. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
  517. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
  518. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
  519. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
  520. package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
  521. package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
  522. package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
  523. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
  524. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
  525. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
  526. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
  527. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
  528. package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
  529. package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
  530. package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
  531. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
  532. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
  533. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
  534. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
  535. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
  536. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
  537. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
  538. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
  539. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
  540. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
  541. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
  542. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
  543. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
  544. package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
  545. package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
  546. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
  547. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
  548. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
  549. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
  550. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
  551. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
  552. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
  553. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
  554. package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
  555. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
  556. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
  557. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
  558. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
  559. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
  560. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
  561. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
  562. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
  563. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
  564. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
  565. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
  566. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
  567. package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
  568. package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
  569. package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
  570. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
  571. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
  572. package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
  573. package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
  574. package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
  575. package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
  576. package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
  577. package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
  578. package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
  579. package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
  580. package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
  581. package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
  582. package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
  583. package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
  584. package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
  585. package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
  586. package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
  587. package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
  588. package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
  589. package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
  590. package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
  591. package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
  592. package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
  593. package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
  594. package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
  595. package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
  596. package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
  597. package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
  598. package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
  599. package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
  600. package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
  601. package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
  602. package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
  603. package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
  604. package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
  605. package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
  606. package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
  607. package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
  608. package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
  609. package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
  610. package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
  611. package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
  612. package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
  613. package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
  614. package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
  615. package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
  616. package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
  617. package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
  618. package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  619. package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
  620. package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
  621. package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
  622. package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
  623. package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
  624. package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
  625. package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
  626. package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
  627. package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
  628. package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
  629. package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
  630. package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
  631. package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
  632. package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  633. package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
  634. package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
  635. package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  636. package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
  637. package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
  638. package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
  639. package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
  640. package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
  641. package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
  642. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
  643. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
  644. package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
  645. package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
  646. package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
  647. package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
  648. package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
  649. package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
  650. package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
  651. package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
  652. package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
  653. package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
  654. package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
  655. package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
  656. package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
  657. package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
  658. package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
  659. package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
  660. package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
  661. package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
  662. package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
  663. package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
  664. package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
  665. package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
  666. package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
  667. package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
  668. package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
  669. package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
  670. package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
  671. package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
  672. package/runtime/third_party/boringssl/sources.json +696 -0
  673. package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
  674. package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
  675. package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
  676. package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
  677. package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
  678. package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
  679. package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
  680. package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
  681. package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
  682. package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
  683. package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
  684. package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
  685. package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
  686. package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
  687. package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
  688. package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
  689. package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
  690. package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
  691. package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
  692. package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
  693. package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
  694. package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
  695. package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
  696. package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
  697. package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
  698. package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
  699. package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
  700. package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
  701. package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
  702. package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
  703. package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
  704. package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
  705. package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
  706. package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
  707. package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
  708. package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
  709. package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
  710. package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
  711. package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
  712. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
  713. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
  714. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
  715. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
  716. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
  717. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
  718. package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
  719. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
  720. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
  721. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
  722. package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
  723. package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
  724. package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
  725. package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
  726. package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
  727. package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
  728. package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
  729. package/runtime/third_party/v8-ieee754/README.md +2 -1
  730. package/runtime/third_party/v8-ieee754/convert.py +4 -0
  731. package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
  732. package/runtime/third_party/bearssl/LICENSE.txt +0 -21
  733. package/runtime/third_party/bearssl/README.txt +0 -136
  734. package/runtime/third_party/bearssl/VERSION +0 -1
  735. package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
  736. package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
  737. package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
  738. package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
  739. package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
  740. package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
  741. package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
  742. package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
  743. package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
  744. package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
  745. package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
  746. package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
  747. package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
  748. package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
  749. package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
  750. package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
  751. package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
  752. package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
  753. package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
  754. package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
  755. package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
  756. package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
  757. package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
  758. package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
  759. package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
  760. package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
  761. package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
  762. package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
  763. package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
  764. package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
  765. package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
  766. package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
  767. package/runtime/third_party/bearssl/src/config.h +0 -247
  768. package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
  769. package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
  770. package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
  771. package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
  772. package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
  773. package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
  774. package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
  775. package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
  776. package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
  777. package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
  778. package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
  779. package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
  780. package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
  781. package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
  782. package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
  783. package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
  784. package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
  785. package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
  786. package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
  787. package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
  788. package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
  789. package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
  790. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
  791. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
  792. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
  793. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
  794. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
  795. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
  796. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
  797. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
  798. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
  799. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
  800. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
  801. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
  802. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
  803. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
  804. package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
  805. package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
  806. package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
  807. package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
  808. package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
  809. package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
  810. package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
  811. package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
  812. package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
  813. package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
  814. package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
  815. package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
  816. package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
  817. package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
  818. package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
  819. package/runtime/third_party/bearssl/src/inner.h +0 -2577
  820. package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
  821. package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
  822. package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
  823. package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
  824. package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
  825. package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
  826. package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
  827. package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
  828. package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
  829. package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
  830. package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
  831. package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
  832. package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
  833. package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
  834. package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
  835. package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
  836. package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
  837. package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
  838. package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
  839. package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
  840. package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
  841. package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
  842. package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
  843. package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
  844. package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
  845. package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
  846. package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
  847. package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
  848. package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
  849. package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
  850. package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
  851. package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
  852. package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
  853. package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
  854. package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
  855. package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
  856. package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
  857. package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
  858. package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
  859. package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
  860. package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
  861. package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
  862. package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
  863. package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
  864. package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
  865. package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
  866. package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
  867. package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
  868. package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
  869. package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
  870. package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
  871. package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
  872. package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
  873. package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
  874. package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
  875. package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
  876. package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
  877. package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
  878. package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
  879. package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
  880. package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
  881. package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
  882. package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
  883. package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
  884. package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
  885. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
  886. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
  887. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
  888. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
  889. package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
  890. package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
  891. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
  892. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
  893. package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
  894. package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
  895. package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
  896. package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
  897. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
  898. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
  899. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
  900. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
  901. package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
  902. package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
  903. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
  904. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
  905. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
  906. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
  907. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
  908. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
  909. package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
  910. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
  911. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
  912. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
  913. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
  914. package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
  915. package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
  916. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
  917. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
  918. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
  919. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
  920. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
  921. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
  922. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
  923. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
  924. package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
  925. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
  926. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
  927. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
  928. package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
  929. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
  930. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
  931. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
  932. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
  933. package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
  934. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
  935. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
  936. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
  937. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
  938. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
  939. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
  940. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
  941. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
  942. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
  943. package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
  944. package/runtime/third_party/bearssl/src/settings.c +0 -306
  945. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
  946. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
  947. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
  948. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
  949. package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
  950. package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
  951. package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
  952. package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
  953. package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
  954. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
  955. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
  956. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
  957. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
  958. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
  959. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
  960. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
  961. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
  962. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
  963. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
  964. package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
  965. package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
  966. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
  967. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
  968. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
  969. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
  970. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
  971. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
  972. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
  973. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
  974. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
  975. package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
  976. package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
  977. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
  978. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
  979. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
  980. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
  981. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
  982. package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
  983. package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
  984. package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
  985. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
  986. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
  987. package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
  988. package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
  989. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
  990. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
  991. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
  992. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
  993. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
  994. package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
  995. package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
  996. package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
  997. package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
  998. package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
  999. package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
  1000. package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
  1001. package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
  1002. package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
  1003. package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
  1004. package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
  1005. package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
  1006. package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
  1007. package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
  1008. package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
@@ -1,51 +1,1084 @@
1
- // node:net (ADR 0012, layer 3): the IP address checks (Node's lib/internal/net.js regexes). TCP
2
- // sockets and servers aren't provided yet (node:http has its own); using them throws
3
- // ERR_VISALJS_UNSUPPORTED.
4
- import { notSupported } from "./internal/errors.js";
5
-
6
- // IPv4 Segment
7
- const v4Seg = "(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])";
8
- const v4Str = `(?:${v4Seg}\\.){3}${v4Seg}`;
9
- const IPv4Reg = new RegExp(`^${v4Str}$`);
10
-
11
- // IPv6 Segment
12
- const v6Seg = "(?:[0-9a-fA-F]{1,4})";
13
- const IPv6Reg = new RegExp("^(?:" +
14
- `(?:${v6Seg}:){7}(?:${v6Seg}|:)|` +
15
- `(?:${v6Seg}:){6}(?:${v4Str}|:${v6Seg}|:)|` +
16
- `(?:${v6Seg}:){5}(?::${v4Str}|(?::${v6Seg}){1,2}|:)|` +
17
- `(?:${v6Seg}:){4}(?:(?::${v6Seg}){0,1}:${v4Str}|(?::${v6Seg}){1,3}|:)|` +
18
- `(?:${v6Seg}:){3}(?:(?::${v6Seg}){0,2}:${v4Str}|(?::${v6Seg}){1,4}|:)|` +
19
- `(?:${v6Seg}:){2}(?:(?::${v6Seg}){0,3}:${v4Str}|(?::${v6Seg}){1,5}|:)|` +
20
- `(?:${v6Seg}:){1}(?:(?::${v6Seg}){0,4}:${v4Str}|(?::${v6Seg}){1,6}|:)|` +
21
- `(?::(?:(?::${v6Seg}){0,5}:${v4Str}|(?::${v6Seg}){1,7}|:))` +
22
- ")(?:%[0-9a-zA-Z-.:]{1,})?$");
23
-
24
- export function isIPv4(s) {
25
- return IPv4Reg.test(s);
26
- }
27
-
28
- export function isIPv6(s) {
29
- return IPv6Reg.test(s);
30
- }
31
-
32
- export function isIP(s) {
33
- if (isIPv4(s)) return 4;
34
- if (isIPv6(s)) return 6;
35
- return 0;
36
- }
37
-
38
- const unsupported = (name) =>
39
- function () {
40
- throw notSupported("net." + name);
41
- };
42
- export const Socket = unsupported("Socket");
1
+ // node:net (ADR 0012, layer 3): TCP and Unix domain socket servers and sockets over the host
2
+ // primitives of node/src/host_net.c (libuv), following Node's lib/net.js: a Socket is a Duplex
3
+ // whose reads start and stop with backpressure, whose end() shuts the write side down, and which
4
+ // closes once both sides are done (allowHalfOpen: false ends the write side when the peer's
5
+ // ends). Host names go through dns.lookup; with several addresses, they are tried in turn, each
6
+ // for autoSelectFamilyAttemptTimeout ms (happy eyeballs, as Node's). Socket timeouts are
7
+ // unref'd timers, refreshed by activity. SocketAddress and BlockList are in
8
+ // internal/socketaddress.js.
9
+ import {
10
+ errnoMessage, errnoName, netAddress, netBind, netCallback, netChmod, netClose, netConnect, netGuessHandle, netKeepAlive, netListen,
11
+ netNoDelay, netOpen, netOpenFd, netReadStart, netReadStop, netRef, netReset, netShutdown, netWrite, timerUnref,
12
+ } from "visaljs:host";
13
+ import { lookup } from "./dns.js";
14
+ import { EventEmitter } from "./events.js";
15
+ import { codeError, invalidArgType, invalidArgValue, notSupported, outOfRange, validateFunction, validateString } from "./internal/errors.js";
16
+ import { isIP, isIPv4, isIPv6 } from "./internal/net.js";
17
+ import { BlockList, SocketAddress } from "./internal/socketaddress.js";
18
+ import { Duplex } from "./stream.js";
19
+
20
+ export { BlockList, isIP, isIPv4, isIPv6, SocketAddress };
21
+
22
+ /* host_net.c's events: cb(event, value) */
23
+ const NET_CONNECTION = 0, NET_READ = 1, NET_CONNECT = 2, NET_WRITE = 3, NET_SHUTDOWN = 4, NET_CLOSE = 5;
24
+ const UV_EOF = -4095;
25
+ const UV_EINVAL = -22;
26
+ const UV_ENOTCONN = -107;
27
+ const TIMEOUT_MAX = 2 ** 31 - 1;
28
+
29
+ /* a monotonic clock in ms */
30
+ const now = () => {
31
+ const [seconds, nanoseconds] = process.hrtime();
32
+ return seconds * 1e3 + nanoseconds / 1e6;
33
+ };
34
+
35
+ /* ---- Node's error shapes ------------------------------------------------------------------- */
36
+
37
+ /** `read ECONNRESET` */
38
+ function errnoException(errno, syscall) {
39
+ const code = errnoName(errno);
40
+ const error = new Error(syscall + " " + code);
41
+ error.errno = errno;
42
+ error.code = code;
43
+ error.syscall = syscall;
44
+ return error;
45
+ }
46
+
47
+ /* " 127.0.0.1:80", " /tmp/a.sock" or "" */
48
+ const hostPort = (address, port) => (port && port > 0 ? " " + address + ":" + port : address ? " " + address : "");
49
+
50
+ /** `connect ECONNREFUSED 127.0.0.1:1` */
51
+ function exceptionWithHostPort(errno, syscall, address, port) {
52
+ const code = errnoName(errno);
53
+ const error = new Error(syscall + " " + code + hostPort(address, port));
54
+ error.errno = errno;
55
+ error.code = code;
56
+ error.syscall = syscall;
57
+ error.address = address;
58
+ if (port) error.port = port;
59
+ return error;
60
+ }
61
+
62
+ /** `listen EADDRINUSE: address already in use :::3000` */
63
+ function uvExceptionWithHostPort(errno, syscall, address, port) {
64
+ const code = errnoName(errno);
65
+ const error = new Error(syscall + " " + code + ": " + errnoMessage(errno) + hostPort(address, port));
66
+ error.code = code;
67
+ error.errno = errno;
68
+ error.syscall = syscall;
69
+ error.address = address;
70
+ if (port) error.port = port;
71
+ return error;
72
+ }
73
+
74
+ function validatePort(port, name = "Port", allowZero = true) {
75
+ if ((typeof port !== "number" && typeof port !== "string") || (typeof port === "string" && port.trim().length === 0) ||
76
+ +port !== (+port >>> 0) || port > 0xffff || (port === 0 && !allowZero)) {
77
+ const shown = typeof port === "string" ? "type string ('" + port + "')" : typeof port === "number" ? "type number (" + port + ")" : String(port);
78
+ throw codeError(RangeError, "ERR_SOCKET_BAD_PORT", name + " should be >= 0 and < 65536. Received " + shown + ".");
79
+ }
80
+ return +port;
81
+ }
82
+
83
+ const toNumber = (x) => ((x = Number(x)) >= 0 ? x : false);
84
+ const isPipeName = (s) => typeof s === "string" && toNumber(s) === false;
85
+
86
+ const normalizedArgs = Symbol("normalizedArgs");
87
+
88
+ /* connect(options[, cb]), connect(port[, host][, cb]), connect(path[, cb]), and listen's: [options, cb] */
89
+ function normalizeArgs(args) {
90
+ let options = {};
91
+ if (args.length > 0) {
92
+ const arg0 = args[0];
93
+ if (typeof arg0 === "object" && arg0 !== null) options = arg0;
94
+ else if (isPipeName(arg0)) options.path = arg0;
95
+ else {
96
+ options.port = arg0;
97
+ if (args.length > 1 && typeof args[1] === "string") options.host = args[1];
98
+ }
99
+ }
100
+ const cb = args[args.length - 1];
101
+ const normalized = [options, typeof cb === "function" ? cb : null];
102
+ normalized[normalizedArgs] = true;
103
+ return normalized;
104
+ }
105
+
106
+ let autoSelectFamily = true;
107
+ let autoSelectFamilyAttemptTimeout = 250;
108
+ export const getDefaultAutoSelectFamily = () => autoSelectFamily;
109
+ export function setDefaultAutoSelectFamily(value) {
110
+ if (typeof value !== "boolean") throw invalidArgType("value", "of type boolean", value);
111
+ autoSelectFamily = value;
112
+ }
113
+ export const getDefaultAutoSelectFamilyAttemptTimeout = () => autoSelectFamilyAttemptTimeout;
114
+ export function setDefaultAutoSelectFamilyAttemptTimeout(value) {
115
+ if (typeof value !== "number") throw invalidArgType("value", "of type number", value);
116
+ if (!Number.isInteger(value) || value < 1 || value > 2147483647) throw outOfRange("value", ">= 1 && <= 2147483647", value);
117
+ autoSelectFamilyAttemptTimeout = value < 10 ? 10 : value;
118
+ }
119
+
120
+ /* a descriptor as a handle: Node's createHandle */
121
+ function handleForFd(fd, cb) {
122
+ const type = netGuessHandle(fd);
123
+ if (type !== "PIPE" && type !== "TCP") throw codeError(TypeError, "ERR_INVALID_FD_TYPE", "Unsupported fd type: " + type);
124
+ return netOpen(type === "PIPE", cb);
125
+ }
126
+
127
+ function validateBlockList(value, name) {
128
+ if (value !== undefined && !BlockList.isBlockList(value)) throw invalidArgType(name, "an net.BlockList", value);
129
+ }
130
+
131
+ const ipBlocked = (ip) => codeError(Error, "ERR_IP_BLOCKED", "IP(" + ip + ") is blocked by net.BlockList");
132
+
133
+ /* ---- Socket -------------------------------------------------------------------------------- */
134
+
135
+ function onReadableStreamEnd() {
136
+ if (!this.allowHalfOpen) this.write = writeAfterFIN;
137
+ }
138
+
139
+ /* the peer ended and so did we: writing fails, as Node's writeAfterFIN */
140
+ function writeAfterFIN(chunk, encoding, cb) {
141
+ if (!this.writableEnded) return Duplex.prototype.write.call(this, chunk, encoding, cb);
142
+ if (typeof encoding === "function") cb = encoding;
143
+ const er = new Error("This socket has been ended by the other party");
144
+ er.code = "EPIPE";
145
+ if (typeof cb === "function") process.nextTick(cb, er);
146
+ this.destroy(er);
147
+ return false;
148
+ }
149
+
150
+ export class Socket extends Duplex {
151
+ constructor(options) {
152
+ if (typeof options === "number") options = { fd: options };
153
+ else options = { ...options };
154
+ /* Node's: not half-open by default, 'close' emitted by the socket itself, strings written as given */
155
+ const allowHalfOpen = Boolean(options.allowHalfOpen);
156
+ super({ ...options, allowHalfOpen, emitClose: false, autoDestroy: true, decodeStrings: false });
157
+ this.connecting = false;
158
+ this._hadError = false;
159
+ this._handle = null; /* the host handle's id while open */
160
+ this._isPipe = false;
161
+ this._host = null;
162
+ this._peername = null;
163
+ this._sockname = null;
164
+ this._pendingData = null;
165
+ this._pendingEncoding = "";
166
+ this.server = null;
167
+ this._server = null;
168
+ this._reading = false;
169
+ this._writeCallbacks = []; /* callbacks of the writes still pending, in order */
170
+ this._shutdownCallback = null;
171
+ this._closeCallback = null;
172
+ this._closingId = -1;
173
+ this._resetAndClosing = false;
174
+ this._bytesRead = 0;
175
+ this._bytesDispatched = 0;
176
+ this._noDelay = options.noDelay === true;
177
+ this._keepAlive = options.keepAlive === true ? [true, ~~((options.keepAliveInitialDelay ?? 0) / 1000)] : null;
178
+ this._unref = false;
179
+ this._timer = null; /* the timeout: an unref'd timer, re-armed for the idle time left when it fires */
180
+ this._timeoutMs = 0;
181
+ this._lastActive = 0;
182
+ this._onread = null;
183
+ this.timeout = undefined;
184
+ this.autoSelectFamilyAttemptedAddresses = undefined;
185
+ validateBlockList(options.blockList, "options.blockList");
186
+ this.blockList = options.blockList;
187
+ const onread = options.onread;
188
+ if (onread !== null && typeof onread === "object" && (typeof onread.buffer === "function" || onread.buffer instanceof Uint8Array) &&
189
+ typeof onread.callback === "function") {
190
+ this._onread = onread;
191
+ }
192
+ this.on("end", onReadableStreamEnd);
193
+ if (options.handle !== undefined) {
194
+ const id = options.handle;
195
+ this._isPipe = !!options._isPipe;
196
+ this._attach(id);
197
+ netCallback(id, (event, value) => this._onEvent(event, value, id));
198
+ } else if (options.fd !== undefined) {
199
+ const fd = options.fd;
200
+ if (typeof fd !== "number") throw invalidArgType("options.fd", "of type number", fd);
201
+ let id;
202
+ id = handleForFd(fd, (event, value) => this._onEvent(event, value, id));
203
+ this._isPipe = netGuessHandle(fd) === "PIPE";
204
+ const err = netOpenFd(id, fd);
205
+ if (err) {
206
+ netClose(id);
207
+ throw errnoException(err, "open");
208
+ }
209
+ this._attach(id);
210
+ }
211
+ if (this._handle !== null && options.readable !== false) {
212
+ if (options.pauseOnCreate) this._readableState.flowing = false;
213
+ else if (!options.manualStart) this.read(0);
214
+ }
215
+ }
216
+
217
+ _attach(id) {
218
+ this._handle = id;
219
+ if (this._noDelay) netNoDelay(id, true);
220
+ if (this._keepAlive) netKeepAlive(id, true, this._keepAlive[1]);
221
+ if (this._unref) netRef(id, false);
222
+ }
223
+
224
+ /* the handle's events; reads only from the socket's current handle, 'close' from the one it closed */
225
+ _onEvent(event, value, id) {
226
+ switch (event) {
227
+ case NET_READ:
228
+ if (id === this._handle) this._onRead(value);
229
+ break;
230
+ case NET_WRITE: {
231
+ const cb = this._writeCallbacks.shift();
232
+ if (cb) cb(value);
233
+ break;
234
+ }
235
+ case NET_SHUTDOWN: {
236
+ const cb = this._shutdownCallback;
237
+ this._shutdownCallback = null;
238
+ if (cb) cb(value);
239
+ break;
240
+ }
241
+ case NET_CLOSE: {
242
+ if (id !== this._closingId) break;
243
+ const cb = this._closeCallback;
244
+ this._closeCallback = null;
245
+ if (cb) cb();
246
+ break;
247
+ }
248
+ }
249
+ }
250
+
251
+ /* Node's onStreamRead: bytes are pushed (reading stops when the buffer is full), or with
252
+ * `onread` copied into its buffer; EOF pushes null */
253
+ _onRead(value) {
254
+ if (this.destroyed) return;
255
+ if (typeof value !== "number") {
256
+ this._bytesRead += value.byteLength;
257
+ this._unrefTimer();
258
+ let more;
259
+ if (this._onread) more = this._deliver(value);
260
+ else more = this.push(Buffer.from(value.buffer, value.byteOffset, value.byteLength));
261
+ if (!more) {
262
+ this._reading = false;
263
+ if (this._handle !== null) {
264
+ const err = netReadStop(this._handle);
265
+ if (err) this.destroy(errnoException(err, "read"));
266
+ }
267
+ }
268
+ return;
269
+ }
270
+ this._reading = false;
271
+ if (value !== UV_EOF) {
272
+ this.destroy(errnoException(value, "read"));
273
+ return;
274
+ }
275
+ this.push(null);
276
+ this.read(0);
277
+ }
278
+
279
+ /* onread: the bytes in the user's buffer, a buffer's worth at a time; false stops reading */
280
+ _deliver(bytes) {
281
+ let more = true;
282
+ for (let at = 0; at < bytes.length;) {
283
+ const { buffer, callback } = this._onread;
284
+ const buf = typeof buffer === "function" ? buffer() : buffer;
285
+ const n = Math.min(buf.length, bytes.length - at);
286
+ buf.set(bytes.subarray(at, at + n));
287
+ at += n;
288
+ if (callback.call(this, n, buf) === false) more = false;
289
+ }
290
+ return more;
291
+ }
292
+
293
+ get pending() {
294
+ return this._handle === null || this.connecting;
295
+ }
296
+
297
+ get readyState() {
298
+ if (this.connecting) return "opening";
299
+ if (this.readable && this.writable) return "open";
300
+ if (this.readable && !this.writable) return "readOnly";
301
+ if (!this.readable && this.writable) return "writeOnly";
302
+ return "closed";
303
+ }
304
+
305
+ get bufferSize() {
306
+ return this._handle !== null ? this.writableLength : undefined;
307
+ }
308
+
309
+ get bytesRead() {
310
+ return this._bytesRead;
311
+ }
312
+
313
+ get bytesWritten() {
314
+ let bytes = this._bytesDispatched;
315
+ const state = this._writableState;
316
+ for (const el of state.buffered) bytes += typeof el.chunk === "string" ? Buffer.byteLength(el.chunk, el.encoding) : el.chunk.length;
317
+ const data = this._pendingData;
318
+ if (data) bytes += typeof data === "string" ? Buffer.byteLength(data, this._pendingEncoding) : data.length;
319
+ return bytes;
320
+ }
321
+
322
+ /* a pipe's ends have no address object: Node's Pipe has no getpeername/getsockname */
323
+ _getpeername() {
324
+ if (this._handle === null || this._isPipe) return {};
325
+ if (!this._peername) {
326
+ const a = netAddress(this._handle, true);
327
+ if (typeof a === "number") return {};
328
+ this._peername = { address: a[0], family: a[1], port: a[2] };
329
+ }
330
+ return this._peername;
331
+ }
332
+
333
+ _getsockname() {
334
+ if (this._handle === null || this._isPipe) return {};
335
+ if (!this._sockname) {
336
+ const a = netAddress(this._handle, false);
337
+ if (typeof a === "number") return {};
338
+ this._sockname = { address: a[0], family: a[1], port: a[2] };
339
+ }
340
+ return this._sockname;
341
+ }
342
+
343
+ get remoteAddress() {
344
+ return this._getpeername().address;
345
+ }
346
+
347
+ get remoteFamily() {
348
+ return this._getpeername().family;
349
+ }
350
+
351
+ get remotePort() {
352
+ return this._getpeername().port;
353
+ }
354
+
355
+ get localAddress() {
356
+ return this._getsockname().address;
357
+ }
358
+
359
+ get localFamily() {
360
+ return this._getsockname().family;
361
+ }
362
+
363
+ get localPort() {
364
+ return this._getsockname().port;
365
+ }
366
+
367
+ address() {
368
+ return this._getsockname();
369
+ }
370
+
371
+ setNoDelay(enable) {
372
+ const on = enable === undefined ? true : !!enable;
373
+ this._noDelay = on;
374
+ if (this._handle !== null) netNoDelay(this._handle, on);
375
+ return this;
376
+ }
377
+
378
+ setKeepAlive(enable, initialDelay) {
379
+ const on = !!enable;
380
+ const seconds = ~~((initialDelay ?? 0) / 1000);
381
+ this._keepAlive = on ? [true, seconds] : null;
382
+ if (this._handle !== null) netKeepAlive(this._handle, on, seconds);
383
+ return this;
384
+ }
385
+
386
+ /* setTimeout(msecs[, callback]): 'timeout' after msecs without activity (0 turns it off) */
387
+ setTimeout(msecs, callback) {
388
+ if (this.destroyed) return this;
389
+ this.timeout = msecs;
390
+ if (typeof msecs !== "number") throw invalidArgType("msecs", "of type number", msecs);
391
+ if (!(msecs >= 0 && msecs !== Infinity)) throw outOfRange("msecs", "a non-negative finite number", msecs);
392
+ if (msecs > TIMEOUT_MAX) msecs = TIMEOUT_MAX;
393
+ this._clearTimeout();
394
+ if (msecs === 0) {
395
+ if (callback !== undefined) {
396
+ validateFunction(callback, "callback");
397
+ this.removeListener("timeout", callback);
398
+ }
399
+ } else {
400
+ this._timeoutMs = msecs;
401
+ this._lastActive = now();
402
+ this._armTimeout(msecs);
403
+ if (callback !== undefined) {
404
+ validateFunction(callback, "callback");
405
+ this.once("timeout", callback);
406
+ }
407
+ }
408
+ return this;
409
+ }
410
+
411
+ _armTimeout(ms) {
412
+ this._timer = timerUnref(() => this._onTimer(), ms);
413
+ }
414
+
415
+ _onTimer() {
416
+ this._timer = null;
417
+ const idle = now() - this._lastActive;
418
+ if (idle < this._timeoutMs - 1) this._armTimeout(this._timeoutMs - idle);
419
+ else this.emit("timeout");
420
+ }
421
+
422
+ _clearTimeout() {
423
+ if (this._timer !== null) clearTimeout(this._timer);
424
+ this._timer = null;
425
+ this._timeoutMs = 0;
426
+ }
427
+
428
+ /* activity: the timeout counts from now (Node's timer.refresh(), which re-arms a fired one) */
429
+ _unrefTimer() {
430
+ if (this._timeoutMs) {
431
+ this._lastActive = now();
432
+ if (this._timer === null) this._armTimeout(this._timeoutMs);
433
+ }
434
+ }
435
+
436
+ ref() {
437
+ this._unref = false;
438
+ if (this._handle !== null) netRef(this._handle, true);
439
+ return this;
440
+ }
441
+
442
+ unref() {
443
+ this._unref = true;
444
+ if (this._handle !== null) netRef(this._handle, false);
445
+ return this;
446
+ }
447
+
448
+ _read(n) {
449
+ if (this.connecting || this._handle === null) this.once("connect", () => this._read(n));
450
+ else if (!this._reading) {
451
+ this._reading = true;
452
+ const err = netReadStart(this._handle);
453
+ if (err) this.destroy(errnoException(err, "read"));
454
+ }
455
+ }
456
+
457
+ /* Node's _writeGeneric: a write before the connection waits for it; a write the kernel takes at
458
+ * once calls back synchronously, as Node's does */
459
+ _write(data, encoding, cb) {
460
+ if (this.connecting) {
461
+ this._pendingData = data;
462
+ this._pendingEncoding = encoding;
463
+ const onClose = () => cb(codeError(Error, "ERR_SOCKET_CLOSED_BEFORE_CONNECTION", "Socket closed before the connection was established"));
464
+ this.once("connect", () => {
465
+ this.off("close", onClose);
466
+ this._write(data, encoding, cb);
467
+ });
468
+ this.once("close", onClose);
469
+ return;
470
+ }
471
+ this._pendingData = null;
472
+ if (this._handle === null) {
473
+ cb(codeError(Error, "ERR_SOCKET_CLOSED", "Socket is closed"));
474
+ return;
475
+ }
476
+ this._unrefTimer();
477
+ const bytes = typeof data === "string" ? Buffer.from(data, encoding) : data;
478
+ const r = netWrite(this._handle, bytes);
479
+ if (r < 0) {
480
+ this.destroy(errnoException(r, "write"), cb);
481
+ return;
482
+ }
483
+ this._bytesDispatched += bytes.length;
484
+ if (r === 0) {
485
+ cb();
486
+ return;
487
+ }
488
+ this._writeCallbacks.push((status) => {
489
+ if (this.destroyed) cb(null);
490
+ else if (status < 0) cb(errnoException(status, "write"));
491
+ else {
492
+ this._unrefTimer();
493
+ cb();
494
+ }
495
+ });
496
+ }
497
+
498
+ /* end(): shut the write side down once the writes are out */
499
+ _final(cb) {
500
+ if (this.pending) {
501
+ this.once("connect", () => this._final(cb));
502
+ return;
503
+ }
504
+ if (this._handle === null) {
505
+ cb();
506
+ return;
507
+ }
508
+ const err = netShutdown(this._handle);
509
+ if (err === UV_ENOTCONN) cb();
510
+ else if (err < 0) cb(errnoException(err, "shutdown"));
511
+ else this._shutdownCallback = () => cb();
512
+ }
513
+
514
+ _destroy(exception, cb) {
515
+ this.connecting = false;
516
+ this._clearTimeout();
517
+ if (this._handle !== null) {
518
+ const isException = !!exception;
519
+ const id = this._handle;
520
+ this._closeCallback = () => this.emit("close", isException);
521
+ this._closingId = id;
522
+ if (this._resetAndClosing) {
523
+ this._resetAndClosing = false;
524
+ const err = netReset(id);
525
+ if (err) {
526
+ this.emit("error", errnoException(err, "reset"));
527
+ netClose(id);
528
+ }
529
+ } else {
530
+ netClose(id);
531
+ }
532
+ this._handle = null;
533
+ this._sockname = null;
534
+ cb(exception);
535
+ } else {
536
+ cb(exception);
537
+ process.nextTick(() => this.emit("close"));
538
+ }
539
+ if (this._server) {
540
+ this._server._connections--;
541
+ this._server._emitCloseIfDrained();
542
+ }
543
+ }
544
+
545
+ destroySoon() {
546
+ if (this.writable) this.end();
547
+ if (this.writableFinished) this.destroy();
548
+ else this.once("finish", this.destroy);
549
+ }
550
+
551
+ /* close with a TCP RST instead of a FIN */
552
+ resetAndDestroy() {
553
+ if (this._handle !== null) {
554
+ if (this._isPipe) throw codeError(TypeError, "ERR_INVALID_HANDLE_TYPE", "This handle type cannot be sent");
555
+ if (this.connecting) this.once("connect", () => this._reset());
556
+ else this._reset();
557
+ } else {
558
+ this.destroy(codeError(Error, "ERR_SOCKET_CLOSED", "Socket is closed"));
559
+ }
560
+ return this;
561
+ }
562
+
563
+ _reset() {
564
+ this._resetAndClosing = true;
565
+ return this.destroy();
566
+ }
567
+
568
+ end(data, encoding, callback) {
569
+ Duplex.prototype.end.call(this, data, encoding, callback);
570
+ return this;
571
+ }
572
+
573
+ connect(...args) {
574
+ const [options, cb] = args[0] && args[0][normalizedArgs] ? args[0] : normalizeArgs(args);
575
+ if (this.write !== Socket.prototype.write) this.write = Socket.prototype.write;
576
+ if (this.destroyed) throw notSupported("reconnecting a destroyed socket");
577
+ const { path } = options;
578
+ if (cb !== null) this.once("connect", cb);
579
+ this._unrefTimer();
580
+ this.connecting = true;
581
+ if (path) {
582
+ validateString(path, "options.path");
583
+ this._isPipe = true;
584
+ this._internalConnect(path);
585
+ } else {
586
+ this._lookupAndConnect(options);
587
+ }
588
+ return this;
589
+ }
590
+
591
+ _lookupAndConnect(options) {
592
+ const { localAddress, localPort } = options;
593
+ const host = options.host || "localhost";
594
+ let { port, autoSelectFamilyAttemptTimeout: attemptTimeout, autoSelectFamily: selectFamily } = options;
595
+ if (localAddress && !isIP(localAddress)) throw codeError(TypeError, "ERR_INVALID_IP_ADDRESS", "Invalid IP address: " + localAddress);
596
+ if (localPort !== undefined && typeof localPort !== "number") throw invalidArgType("options.localPort", "of type number", localPort);
597
+ if (typeof host !== "string") throw invalidArgType("options.host", "of type string", host);
598
+ if (typeof port !== "undefined") {
599
+ if (typeof port !== "number" && typeof port !== "string") throw invalidArgType("options.port", "of type number or string", port);
600
+ port = validatePort(port);
601
+ }
602
+ port |= 0;
603
+ if (selectFamily !== undefined && typeof selectFamily !== "boolean") throw invalidArgType("options.autoSelectFamily", "of type boolean", selectFamily);
604
+ selectFamily ??= autoSelectFamily;
605
+ if (attemptTimeout !== undefined) {
606
+ if (typeof attemptTimeout !== "number") throw invalidArgType("options.autoSelectFamilyAttemptTimeout", "of type number", attemptTimeout);
607
+ if (attemptTimeout < 10) attemptTimeout = 10;
608
+ } else {
609
+ attemptTimeout = autoSelectFamilyAttemptTimeout;
610
+ }
611
+ this._host = host;
612
+ const addressType = isIP(host);
613
+ if (addressType) {
614
+ process.nextTick(() => {
615
+ if (this.connecting) this._internalConnect(host, port, addressType, localAddress, localPort);
616
+ });
617
+ return;
618
+ }
619
+ let family = options.family ?? 0;
620
+ if (family === "IPv4") family = 4;
621
+ else if (family === "IPv6") family = 6;
622
+ const dnsopts = { family, all: selectFamily && family === 0 };
623
+ const lookupFn = options.lookup ?? lookup;
624
+ if (typeof lookupFn !== "function") throw invalidArgType("options.lookup", "of type function", lookupFn);
625
+ if (!dnsopts.all) {
626
+ lookupFn(host, dnsopts, (err, ip, addressType) => {
627
+ this.emit("lookup", err, ip, addressType, host);
628
+ if (!this.connecting) return;
629
+ if (err) process.nextTick(() => this.destroy(err));
630
+ else if (!isIP(ip)) process.nextTick(() => this.destroy(codeError(TypeError, "ERR_INVALID_IP_ADDRESS", "Invalid IP address: " + ip)));
631
+ else if (addressType !== 4 && addressType !== 6) {
632
+ process.nextTick(() => this.destroy(codeError(TypeError, "ERR_INVALID_ADDRESS_FAMILY", "Invalid address family: " + addressType + " " + host + ":" + port)));
633
+ } else {
634
+ this._unrefTimer();
635
+ this._internalConnect(ip, port, addressType, localAddress, localPort);
636
+ }
637
+ });
638
+ return;
639
+ }
640
+ lookupFn(host, dnsopts, (err, addresses) => {
641
+ if (!this.connecting) return;
642
+ if (err) {
643
+ this.emit("lookup", err, undefined, undefined, host);
644
+ process.nextTick(() => this.destroy(err));
645
+ return;
646
+ }
647
+ /* the first address's family first, then alternating, each address once */
648
+ const byFamily = [[], []];
649
+ let order;
650
+ for (const { address, family } of addresses) {
651
+ this.emit("lookup", null, address, family, host);
652
+ if (!this.connecting) return;
653
+ if (isIP(address) && (family === 4 || family === 6)) {
654
+ order ||= family === 6 ? { 6: 0, 4: 1 } : { 4: 0, 6: 1 };
655
+ const list = byFamily[order[family]];
656
+ if (!list.some((a) => a.address === address)) list.push({ address, family });
657
+ }
658
+ }
659
+ if (!byFamily[0].length && !byFamily[1].length) {
660
+ const first = addresses[0];
661
+ const error = !first || !isIP(first.address)
662
+ ? codeError(TypeError, "ERR_INVALID_IP_ADDRESS", "Invalid IP address: " + first?.address)
663
+ : codeError(TypeError, "ERR_INVALID_ADDRESS_FAMILY", "Invalid address family: " + first.family + " " + host + ":" + port);
664
+ process.nextTick(() => this.destroy(error));
665
+ return;
666
+ }
667
+ const toAttempt = [];
668
+ for (let i = 0; i < Math.max(byFamily[0].length, byFamily[1].length); i++) {
669
+ if (i in byFamily[0]) toAttempt.push(byFamily[0][i]);
670
+ if (i in byFamily[1]) toAttempt.push(byFamily[1][i]);
671
+ }
672
+ this._unrefTimer();
673
+ if (toAttempt.length === 1) {
674
+ const { address, family } = toAttempt[0];
675
+ process.nextTick(() => {
676
+ if (this.connecting) this._internalConnect(address, port, family, localAddress, localPort);
677
+ });
678
+ return;
679
+ }
680
+ this.autoSelectFamilyAttemptedAddresses = [];
681
+ const context = { addresses: toAttempt, current: 0, port, localPort, timeout: attemptTimeout, timer: null, errors: [] };
682
+ process.nextTick(() => this._connectMultiple(context));
683
+ });
684
+ }
685
+
686
+ /* a new handle bound to the local address, if any, and connecting: 0 or the failure as Node reports it */
687
+ _open(address, port, addressType, localAddress, localPort, onConnect) {
688
+ let id;
689
+ id = netOpen(this._isPipe, (event, value) => {
690
+ if (event === NET_CONNECT) {
691
+ if (this._handle === id) onConnect(value, id);
692
+ } else {
693
+ this._onEvent(event, value, id);
694
+ }
695
+ });
696
+ this._handle = id;
697
+ if (!this._isPipe && (localAddress || localPort)) {
698
+ localAddress ||= addressType === 4 ? "0.0.0.0" : "::";
699
+ const err = netBind(id, localAddress, localPort | 0, 0);
700
+ if (err) return exceptionWithHostPort(err, "bind", localAddress, localPort);
701
+ }
702
+ const err = netConnect(id, address, port);
703
+ if (err) return exceptionWithHostPort(err, "connect", address, port);
704
+ return null;
705
+ }
706
+
707
+ _internalConnect(address, port, addressType, localAddress, localPort) {
708
+ if (!this._isPipe && this.blockList?.check(address, "ipv" + addressType)) {
709
+ this.destroy(ipBlocked(address));
710
+ return;
711
+ }
712
+ const ex = this._open(address, port, addressType, localAddress, localPort, (status) => this._afterConnect(status, address, port));
713
+ if (ex) this.destroy(ex);
714
+ }
715
+
716
+ /* happy eyeballs: each address in turn, the next one after `timeout` ms */
717
+ _connectMultiple(context, canceled) {
718
+ clearTimeout(context.timer);
719
+ if (!this.connecting) return;
720
+ if (canceled || context.current === context.addresses.length) {
721
+ if (context.errors.length === 0) {
722
+ this.destroy(codeError(Error, "ERR_SOCKET_CONNECTION_TIMEOUT", "Socket connection timeout"));
723
+ return;
724
+ }
725
+ const error = new AggregateError(context.errors);
726
+ error.code = context.errors[0].code;
727
+ this.destroy(error);
728
+ return;
729
+ }
730
+ const { address, family } = context.addresses[context.current++];
731
+ const { port, localPort } = context;
732
+ if (this.blockList?.check(address, "ipv" + family)) {
733
+ this.destroy(ipBlocked(address));
734
+ return;
735
+ }
736
+ this.autoSelectFamilyAttemptedAddresses.push(address + ":" + port);
737
+ this.emit("connectionAttempt", address, port, family);
738
+ const failed = (ex) => {
739
+ context.errors.push(ex);
740
+ this.emit("connectionAttemptFailed", address, port, family, ex);
741
+ this._connectMultiple(context);
742
+ };
743
+ const localAddress = localPort ? (family === 4 ? "0.0.0.0" : "::") : undefined;
744
+ const ex = this._open(address, port, family, localAddress, localPort, (status, id) => {
745
+ clearTimeout(context.timer);
746
+ if (status === 0) {
747
+ this._afterConnect(0, address, port);
748
+ return;
749
+ }
750
+ this._handle = null;
751
+ netClose(id);
752
+ failed(exceptionWithHostPort(status, "connect", address, port));
753
+ });
754
+ if (ex) {
755
+ netClose(this._handle);
756
+ this._handle = null;
757
+ failed(ex);
758
+ return;
759
+ }
760
+ if (context.current < context.addresses.length) {
761
+ const id = this._handle;
762
+ context.timer = setTimeout(() => {
763
+ if (!this.connecting || this._handle !== id) return;
764
+ this.emit("connectionAttemptTimeout", address, port, family);
765
+ this._handle = null;
766
+ netClose(id);
767
+ this._connectMultiple(context);
768
+ }, context.timeout);
769
+ }
770
+ }
771
+
772
+ _afterConnect(status, address, port) {
773
+ if (this.destroyed) return;
774
+ this.connecting = false;
775
+ this._sockname = null;
776
+ if (status !== 0) {
777
+ this.destroy(exceptionWithHostPort(status, "connect", address, port));
778
+ return;
779
+ }
780
+ this._attach(this._handle);
781
+ this._unrefTimer();
782
+ this.emit("connect");
783
+ this.emit("ready");
784
+ if (this.readable && !this.isPaused()) this.read(0);
785
+ }
786
+ }
787
+
43
788
  export const Stream = Socket;
44
- export const Server = unsupported("Server");
45
- export const BlockList = unsupported("BlockList");
46
- export const SocketAddress = unsupported("SocketAddress");
47
- export const connect = unsupported("connect");
48
- export const createConnection = unsupported("createConnection");
49
- export const createServer = unsupported("createServer");
50
-
51
- export default { isIP, isIPv4, isIPv6, Socket, Stream, Server, BlockList, SocketAddress, connect, createConnection, createServer };
789
+
790
+ /* ---- Server -------------------------------------------------------------------------------- */
791
+
792
+ export class Server extends EventEmitter {
793
+ constructor(options, connectionListener) {
794
+ super();
795
+ if (typeof options === "function") {
796
+ connectionListener = options;
797
+ options = {};
798
+ } else if (options === undefined || options === null) {
799
+ options = {};
800
+ } else if (typeof options !== "object") {
801
+ throw invalidArgType("options", "of type object", options);
802
+ }
803
+ if (typeof connectionListener === "function") this.on("connection", connectionListener);
804
+ this._connections = 0;
805
+ this._handle = null;
806
+ this._isPipe = false;
807
+ this._pipeName = undefined;
808
+ this._unref = false;
809
+ this.allowHalfOpen = options.allowHalfOpen || false;
810
+ this.pauseOnConnect = !!options.pauseOnConnect;
811
+ this.noDelay = Boolean(options.noDelay);
812
+ this.keepAlive = Boolean(options.keepAlive);
813
+ this.keepAliveInitialDelay = ~~((options.keepAliveInitialDelay ?? 0) / 1000);
814
+ validateBlockList(options.blockList, "options.blockList");
815
+ this.blockList = options.blockList;
816
+ }
817
+
818
+ get listening() {
819
+ return this._handle !== null;
820
+ }
821
+
822
+ /* listen([port[, host[, backlog]]][, cb]), listen(path[, backlog][, cb]), listen(options[, cb]),
823
+ * listen(handle[, backlog][, cb]): a Server's or Socket's, or { fd } */
824
+ listen(...args) {
825
+ let [options, cb] = normalizeArgs(args);
826
+ if (typeof options.callback === "function") cb = options.callback;
827
+ if (this._handle !== null) throw codeError(Error, "ERR_SERVER_ALREADY_LISTEN", "Listen method has been called more than once without closing.");
828
+ if (cb !== null) this.once("listening", cb);
829
+ const backlogFromArgs = toNumber(args.length > 1 && args[1]) || toNumber(args.length > 2 && args[2]);
830
+ if (options._handle !== undefined && options._handle !== null) options = options._handle;
831
+ else if (options.handle !== undefined && options.handle !== null) options = options.handle;
832
+ const flags = (options.ipv6Only ? 1 : 0) | (options.reusePort ? 2 : 0);
833
+ if (options.signal !== undefined) this._addAbortSignal(options.signal);
834
+ if (typeof options === "number") { /* another Server's or Socket's handle */
835
+ this._setupListen(null, -1, -1, backlogFromArgs, undefined, 0, options);
836
+ return this;
837
+ }
838
+ if (typeof options.fd === "number" && options.fd >= 0) {
839
+ this._setupListen(null, null, null, backlogFromArgs, options.fd, 0);
840
+ return this;
841
+ }
842
+ if (args.length === 0 || typeof args[0] === "function" || (typeof options.port === "undefined" && "port" in options) || options.port === null) {
843
+ options.port = 0;
844
+ }
845
+ if (typeof options.port === "number" || typeof options.port === "string") {
846
+ validatePort(options.port, "options.port");
847
+ const backlog = options.backlog || backlogFromArgs;
848
+ if (options.host) this._lookupAndListen(options.port | 0, options.host, backlog, flags);
849
+ else this._setupListen(null, options.port | 0, 4, backlog, undefined, flags);
850
+ return this;
851
+ }
852
+ if (options.path && isPipeName(options.path)) {
853
+ this._pipeName = options.path;
854
+ this._setupListen(this._pipeName, -1, -1, options.backlog || backlogFromArgs, undefined, 0);
855
+ if (this._handle === null) return this;
856
+ const mode = (options.readableAll === true ? 1 : 0) | (options.writableAll === true ? 2 : 0);
857
+ if (mode !== 0) {
858
+ const err = netChmod(this._handle, mode);
859
+ if (err) {
860
+ netClose(this._handle);
861
+ this._handle = null;
862
+ throw errnoException(err, "uv_pipe_chmod");
863
+ }
864
+ }
865
+ return this;
866
+ }
867
+ if (!("port" in options || "path" in options)) throw invalidArgValue("options", 'must have the property "port" or "path"', options);
868
+ throw invalidArgValue("options", "is invalid", options);
869
+ }
870
+
871
+ _addAbortSignal(signal) {
872
+ if (signal === null || typeof signal !== "object" || !("aborted" in signal)) throw invalidArgType("options.signal", "an instance of AbortSignal", signal);
873
+ const onAborted = () => this.close();
874
+ if (signal.aborted) process.nextTick(onAborted);
875
+ else {
876
+ signal.addEventListener("abort", onAborted, { once: true });
877
+ this.once("close", () => signal.removeEventListener("abort", onAborted));
878
+ }
879
+ }
880
+
881
+ _lookupAndListen(port, address, backlog, flags) {
882
+ lookup(address, (err, ip, addressType) => {
883
+ if (err) this.emit("error", err);
884
+ else this._setupListen(ip, port, ip ? addressType : 4, backlog, undefined, flags);
885
+ });
886
+ }
887
+
888
+ /* Node's createServerHandle: a handle, bound; -errno when it can't be */
889
+ _createHandle(address, port, addressType, fd, flags) {
890
+ let id;
891
+ const cb = (event, value) => {
892
+ if (event === NET_CONNECTION && this._handle === id) this._onConnection(value);
893
+ };
894
+ let isTCP = false;
895
+ if (typeof fd === "number" && fd >= 0) {
896
+ try {
897
+ id = handleForFd(fd, cb);
898
+ } catch {
899
+ return UV_EINVAL;
900
+ }
901
+ this._isPipe = netGuessHandle(fd) === "PIPE";
902
+ const err = netOpenFd(id, fd);
903
+ if (err) {
904
+ netClose(id);
905
+ return err;
906
+ }
907
+ } else if (port === -1 && addressType === -1) {
908
+ id = netOpen(true, cb);
909
+ this._isPipe = true;
910
+ } else {
911
+ id = netOpen(false, cb);
912
+ this._isPipe = false;
913
+ isTCP = true;
914
+ }
915
+ if (address || port || isTCP) {
916
+ let err;
917
+ if (!address) { /* IPv6 first, dual-stack; IPv4 when there's no IPv6 */
918
+ err = netBind(id, "::", port, flags);
919
+ if (err) {
920
+ netClose(id);
921
+ return this._createHandle("0.0.0.0", port, 4, undefined, 0);
922
+ }
923
+ } else {
924
+ err = netBind(id, address, port, addressType === 6 ? flags : flags & 2);
925
+ }
926
+ if (err) {
927
+ netClose(id);
928
+ return err;
929
+ }
930
+ }
931
+ return id;
932
+ }
933
+
934
+ /* Node's setupListenHandle */
935
+ _setupListen(address, port, addressType, backlog, fd, flags, existing) {
936
+ let id;
937
+ if (existing !== undefined) {
938
+ id = existing;
939
+ netCallback(id, (event, value) => {
940
+ if (event === NET_CONNECTION && this._handle === id) this._onConnection(value);
941
+ });
942
+ } else {
943
+ let rval = null;
944
+ if (!address && typeof fd !== "number") {
945
+ rval = this._createHandle("::", port, 6, fd, flags);
946
+ if (rval < 0) {
947
+ rval = null;
948
+ address = "0.0.0.0";
949
+ addressType = 4;
950
+ } else {
951
+ address = "::";
952
+ addressType = 6;
953
+ }
954
+ }
955
+ if (rval === null) rval = this._createHandle(address, port, addressType, fd, flags);
956
+ if (rval < 0) {
957
+ const error = uvExceptionWithHostPort(rval, "listen", address, port);
958
+ process.nextTick(() => this.emit("error", error));
959
+ return;
960
+ }
961
+ id = rval;
962
+ }
963
+ this._handle = id;
964
+ const err = netListen(id, backlog || 511);
965
+ if (err) {
966
+ const ex = uvExceptionWithHostPort(err, "listen", address, port);
967
+ netClose(id);
968
+ this._handle = null;
969
+ process.nextTick(() => this.emit("error", ex));
970
+ return;
971
+ }
972
+ if (this._unref) netRef(id, false);
973
+ process.nextTick(() => {
974
+ if (this._handle !== null) this.emit("listening");
975
+ });
976
+ }
977
+
978
+ _onConnection(value) {
979
+ if (value < 0) {
980
+ this.emit("error", errnoException(value, "accept"));
981
+ return;
982
+ }
983
+ if (this.maxConnections != null && this._connections >= this.maxConnections) {
984
+ if (this._isPipe) this.emit("drop");
985
+ else {
986
+ const data = { __proto__: null };
987
+ const local = netAddress(value, false), remote = netAddress(value, true);
988
+ if (typeof local !== "number") [data.localAddress, data.localFamily, data.localPort] = local;
989
+ if (typeof remote !== "number") [data.remoteAddress, data.remoteFamily, data.remotePort] = remote;
990
+ this.emit("drop", data);
991
+ }
992
+ netClose(value);
993
+ return;
994
+ }
995
+ if (this.blockList && !this._isPipe) {
996
+ const remote = netAddress(value, true);
997
+ const addressType = typeof remote === "number" ? 0 : isIP(remote[0]);
998
+ if (addressType && this.blockList.check(remote[0], "ipv" + addressType)) {
999
+ netClose(value);
1000
+ return;
1001
+ }
1002
+ }
1003
+ const socket = new Socket({
1004
+ handle: value, _isPipe: this._isPipe, allowHalfOpen: this.allowHalfOpen, pauseOnCreate: this.pauseOnConnect, readable: true, writable: true,
1005
+ noDelay: this.noDelay, keepAlive: this.keepAlive, keepAliveInitialDelay: this.keepAliveInitialDelay * 1000,
1006
+ });
1007
+ this._connections++;
1008
+ socket.server = this;
1009
+ socket._server = this;
1010
+ this.emit("connection", socket);
1011
+ }
1012
+
1013
+ /* { address, family, port }, or a pipe's path */
1014
+ address() {
1015
+ if (this._handle !== null) {
1016
+ const a = netAddress(this._handle, false);
1017
+ if (typeof a === "string") return a;
1018
+ return typeof a === "number" ? {} : { address: a[0], family: a[1], port: a[2] };
1019
+ }
1020
+ if (this._pipeName) return this._pipeName;
1021
+ return null;
1022
+ }
1023
+
1024
+ /* close([cb]): stop accepting; 'close' once the open connections end too */
1025
+ close(cb) {
1026
+ if (typeof cb === "function") {
1027
+ if (this._handle === null) this.once("close", () => cb(codeError(Error, "ERR_SERVER_NOT_RUNNING", "Server is not running.")));
1028
+ else this.once("close", cb);
1029
+ }
1030
+ if (this._handle !== null) {
1031
+ netClose(this._handle);
1032
+ this._handle = null;
1033
+ }
1034
+ this._emitCloseIfDrained();
1035
+ return this;
1036
+ }
1037
+
1038
+ _emitCloseIfDrained() {
1039
+ if (this._handle !== null || this._connections) return;
1040
+ process.nextTick(() => this.emit("close"));
1041
+ }
1042
+
1043
+ getConnections(cb) {
1044
+ process.nextTick(cb, null, this._connections);
1045
+ return this;
1046
+ }
1047
+
1048
+ ref() {
1049
+ this._unref = false;
1050
+ if (this._handle !== null) netRef(this._handle, true);
1051
+ return this;
1052
+ }
1053
+
1054
+ unref() {
1055
+ this._unref = true;
1056
+ if (this._handle !== null) netRef(this._handle, false);
1057
+ return this;
1058
+ }
1059
+
1060
+ [Symbol.asyncDispose]() {
1061
+ if (this._handle === null) return Promise.resolve();
1062
+ return new Promise((resolve, reject) => this.close((err) => (err ? reject(err) : resolve())));
1063
+ }
1064
+ }
1065
+
1066
+ export function createServer(options, connectionListener) {
1067
+ return new Server(options, connectionListener);
1068
+ }
1069
+
1070
+ /* connect(port[, host][, cb]), connect(path[, cb]), connect(options[, cb]) */
1071
+ export function connect(...args) {
1072
+ const normalized = normalizeArgs(args);
1073
+ const [options] = normalized;
1074
+ const socket = new Socket(options);
1075
+ if (options.timeout) socket.setTimeout(options.timeout);
1076
+ return socket.connect(normalized);
1077
+ }
1078
+
1079
+ export const createConnection = connect;
1080
+
1081
+ export default {
1082
+ BlockList, SocketAddress, isIP, isIPv4, isIPv6, Socket, Stream, Server, connect, createConnection, createServer,
1083
+ getDefaultAutoSelectFamily, setDefaultAutoSelectFamily, getDefaultAutoSelectFamilyAttemptTimeout, setDefaultAutoSelectFamilyAttemptTimeout,
1084
+ };