react-native-quick-crypto 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (815) hide show
  1. package/QuickCrypto.podspec +1 -0
  2. package/android/CMakeLists.txt +4 -0
  3. package/android/build.gradle +5 -1
  4. package/cpp/argon2/HybridArgon2.cpp +10 -3
  5. package/cpp/blake3/HybridBlake3.cpp +5 -3
  6. package/cpp/cipher/CCMCipher.cpp +35 -26
  7. package/cpp/cipher/CCMCipher.hpp +2 -4
  8. package/cpp/cipher/ChaCha20Cipher.cpp +19 -27
  9. package/cpp/cipher/ChaCha20Cipher.hpp +2 -4
  10. package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +41 -36
  11. package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +2 -4
  12. package/cpp/cipher/GCMCipher.cpp +17 -20
  13. package/cpp/cipher/HybridCipher.cpp +44 -47
  14. package/cpp/cipher/HybridCipher.hpp +17 -1
  15. package/cpp/cipher/HybridRsaCipher.cpp +93 -56
  16. package/cpp/cipher/OCBCipher.cpp +5 -5
  17. package/cpp/cipher/XChaCha20Poly1305Cipher.cpp +27 -32
  18. package/cpp/cipher/XSalsa20Cipher.cpp +78 -16
  19. package/cpp/cipher/XSalsa20Cipher.hpp +25 -3
  20. package/cpp/cipher/XSalsa20Poly1305Cipher.cpp +32 -41
  21. package/cpp/dh/HybridDiffieHellman.cpp +29 -0
  22. package/cpp/ec/HybridEcKeyPair.cpp +35 -33
  23. package/cpp/ec/HybridEcKeyPair.hpp +3 -7
  24. package/cpp/ecdh/HybridECDH.cpp +23 -0
  25. package/cpp/ed25519/HybridEdKeyPair.cpp +73 -117
  26. package/cpp/ed25519/HybridEdKeyPair.hpp +5 -9
  27. package/cpp/hash/HybridHash.cpp +5 -7
  28. package/cpp/hkdf/HybridHkdf.cpp +6 -4
  29. package/cpp/hmac/HybridHmac.cpp +4 -6
  30. package/cpp/keys/HybridKeyObjectHandle.cpp +630 -2
  31. package/cpp/keys/HybridKeyObjectHandle.hpp +21 -1
  32. package/cpp/kmac/HybridKmac.cpp +4 -4
  33. package/cpp/mldsa/HybridMlDsaKeyPair.cpp +37 -49
  34. package/cpp/mlkem/HybridMlKemKeyPair.cpp +39 -43
  35. package/cpp/pbkdf2/HybridPbkdf2.cpp +7 -8
  36. package/cpp/rsa/HybridRsaKeyPair.cpp +5 -8
  37. package/cpp/rsa/HybridRsaKeyPair.hpp +4 -7
  38. package/cpp/scrypt/HybridScrypt.cpp +6 -4
  39. package/cpp/sign/HybridSignHandle.cpp +47 -72
  40. package/cpp/sign/HybridVerifyHandle.cpp +47 -67
  41. package/cpp/slhdsa/HybridSlhDsaKeyPair.cpp +245 -0
  42. package/cpp/slhdsa/HybridSlhDsaKeyPair.hpp +48 -0
  43. package/cpp/turboshake/HybridTurboShake.cpp +379 -0
  44. package/cpp/turboshake/HybridTurboShake.hpp +28 -0
  45. package/cpp/utils/HybridUtils.cpp +195 -43
  46. package/cpp/utils/HybridUtils.hpp +9 -2
  47. package/cpp/utils/QuickCryptoUtils.hpp +72 -0
  48. package/deps/blake3/README.md +6 -7
  49. package/deps/blake3/c/blake3.c +3 -2
  50. package/deps/blake3/c/blake3.h +2 -2
  51. package/deps/blake3/c/blake3_dispatch.c +2 -2
  52. package/deps/blake3/c/blake3_impl.h +1 -1
  53. package/deps/blake3/c/blake3_neon.c +5 -4
  54. package/deps/ncrypto/include/ncrypto/version.h +2 -2
  55. package/deps/ncrypto/include/ncrypto.h +9 -2
  56. package/deps/ncrypto/src/ncrypto.cpp +130 -35
  57. package/lib/commonjs/argon2.js +51 -2
  58. package/lib/commonjs/argon2.js.map +1 -1
  59. package/lib/commonjs/cipher.js +109 -11
  60. package/lib/commonjs/cipher.js.map +1 -1
  61. package/lib/commonjs/dhKeyPair.js +3 -0
  62. package/lib/commonjs/dhKeyPair.js.map +1 -1
  63. package/lib/commonjs/dsa.js +11 -2
  64. package/lib/commonjs/dsa.js.map +1 -1
  65. package/lib/commonjs/ec.js +37 -30
  66. package/lib/commonjs/ec.js.map +1 -1
  67. package/lib/commonjs/ed.js +60 -6
  68. package/lib/commonjs/ed.js.map +1 -1
  69. package/lib/commonjs/hash.js +67 -10
  70. package/lib/commonjs/hash.js.map +1 -1
  71. package/lib/commonjs/hkdf.js +33 -6
  72. package/lib/commonjs/hkdf.js.map +1 -1
  73. package/lib/commonjs/hmac.js +15 -5
  74. package/lib/commonjs/hmac.js.map +1 -1
  75. package/lib/commonjs/keys/classes.js +33 -7
  76. package/lib/commonjs/keys/classes.js.map +1 -1
  77. package/lib/commonjs/keys/generateKeyPair.js +85 -4
  78. package/lib/commonjs/keys/generateKeyPair.js.map +1 -1
  79. package/lib/commonjs/keys/index.js +50 -2
  80. package/lib/commonjs/keys/index.js.map +1 -1
  81. package/lib/commonjs/keys/publicCipher.js +10 -4
  82. package/lib/commonjs/keys/publicCipher.js.map +1 -1
  83. package/lib/commonjs/keys/signVerify.js +9 -2
  84. package/lib/commonjs/keys/signVerify.js.map +1 -1
  85. package/lib/commonjs/keys/utils.js +59 -1
  86. package/lib/commonjs/keys/utils.js.map +1 -1
  87. package/lib/commonjs/random.js +74 -11
  88. package/lib/commonjs/random.js.map +1 -1
  89. package/lib/commonjs/rsa.js +15 -5
  90. package/lib/commonjs/rsa.js.map +1 -1
  91. package/lib/commonjs/scrypt.js +47 -6
  92. package/lib/commonjs/scrypt.js.map +1 -1
  93. package/lib/commonjs/slhdsa.js +70 -0
  94. package/lib/commonjs/slhdsa.js.map +1 -0
  95. package/lib/commonjs/specs/slhDsaKeyPair.nitro.js +6 -0
  96. package/lib/commonjs/specs/slhDsaKeyPair.nitro.js.map +1 -0
  97. package/lib/commonjs/specs/turboshake.nitro.js +6 -0
  98. package/lib/commonjs/specs/turboshake.nitro.js.map +1 -0
  99. package/lib/commonjs/subtle.js +975 -253
  100. package/lib/commonjs/subtle.js.map +1 -1
  101. package/lib/commonjs/utils/cipher.js +18 -7
  102. package/lib/commonjs/utils/cipher.js.map +1 -1
  103. package/lib/commonjs/utils/conversion.js +86 -28
  104. package/lib/commonjs/utils/conversion.js.map +1 -1
  105. package/lib/commonjs/utils/errors.js +63 -4
  106. package/lib/commonjs/utils/errors.js.map +1 -1
  107. package/lib/commonjs/utils/timingSafeEqual.js +7 -2
  108. package/lib/commonjs/utils/timingSafeEqual.js.map +1 -1
  109. package/lib/commonjs/utils/types.js.map +1 -1
  110. package/lib/commonjs/utils/validation.js +46 -0
  111. package/lib/commonjs/utils/validation.js.map +1 -1
  112. package/lib/commonjs/x509certificate.js +6 -6
  113. package/lib/commonjs/x509certificate.js.map +1 -1
  114. package/lib/module/argon2.js +51 -2
  115. package/lib/module/argon2.js.map +1 -1
  116. package/lib/module/cipher.js +109 -11
  117. package/lib/module/cipher.js.map +1 -1
  118. package/lib/module/dhKeyPair.js +3 -0
  119. package/lib/module/dhKeyPair.js.map +1 -1
  120. package/lib/module/dsa.js +11 -2
  121. package/lib/module/dsa.js.map +1 -1
  122. package/lib/module/ec.js +38 -31
  123. package/lib/module/ec.js.map +1 -1
  124. package/lib/module/ed.js +61 -7
  125. package/lib/module/ed.js.map +1 -1
  126. package/lib/module/hash.js +67 -10
  127. package/lib/module/hash.js.map +1 -1
  128. package/lib/module/hkdf.js +33 -6
  129. package/lib/module/hkdf.js.map +1 -1
  130. package/lib/module/hmac.js +15 -5
  131. package/lib/module/hmac.js.map +1 -1
  132. package/lib/module/keys/classes.js +31 -5
  133. package/lib/module/keys/classes.js.map +1 -1
  134. package/lib/module/keys/generateKeyPair.js +86 -5
  135. package/lib/module/keys/generateKeyPair.js.map +1 -1
  136. package/lib/module/keys/index.js +50 -2
  137. package/lib/module/keys/index.js.map +1 -1
  138. package/lib/module/keys/publicCipher.js +10 -4
  139. package/lib/module/keys/publicCipher.js.map +1 -1
  140. package/lib/module/keys/signVerify.js +9 -2
  141. package/lib/module/keys/signVerify.js.map +1 -1
  142. package/lib/module/keys/utils.js +57 -1
  143. package/lib/module/keys/utils.js.map +1 -1
  144. package/lib/module/random.js +74 -12
  145. package/lib/module/random.js.map +1 -1
  146. package/lib/module/rsa.js +14 -4
  147. package/lib/module/rsa.js.map +1 -1
  148. package/lib/module/scrypt.js +47 -6
  149. package/lib/module/scrypt.js.map +1 -1
  150. package/lib/module/slhdsa.js +64 -0
  151. package/lib/module/slhdsa.js.map +1 -0
  152. package/lib/module/specs/slhDsaKeyPair.nitro.js +4 -0
  153. package/lib/module/specs/slhDsaKeyPair.nitro.js.map +1 -0
  154. package/lib/module/specs/turboshake.nitro.js +4 -0
  155. package/lib/module/specs/turboshake.nitro.js.map +1 -0
  156. package/lib/module/subtle.js +976 -254
  157. package/lib/module/subtle.js.map +1 -1
  158. package/lib/module/utils/cipher.js +18 -7
  159. package/lib/module/utils/cipher.js.map +1 -1
  160. package/lib/module/utils/conversion.js +84 -28
  161. package/lib/module/utils/conversion.js.map +1 -1
  162. package/lib/module/utils/errors.js +61 -4
  163. package/lib/module/utils/errors.js.map +1 -1
  164. package/lib/module/utils/timingSafeEqual.js +8 -3
  165. package/lib/module/utils/timingSafeEqual.js.map +1 -1
  166. package/lib/module/utils/types.js.map +1 -1
  167. package/lib/module/utils/validation.js +44 -0
  168. package/lib/module/utils/validation.js.map +1 -1
  169. package/lib/module/x509certificate.js +6 -6
  170. package/lib/module/x509certificate.js.map +1 -1
  171. package/lib/typescript/argon2.d.ts.map +1 -1
  172. package/lib/typescript/cipher.d.ts +2 -2
  173. package/lib/typescript/cipher.d.ts.map +1 -1
  174. package/lib/typescript/dhKeyPair.d.ts.map +1 -1
  175. package/lib/typescript/dsa.d.ts.map +1 -1
  176. package/lib/typescript/ec.d.ts.map +1 -1
  177. package/lib/typescript/ed.d.ts.map +1 -1
  178. package/lib/typescript/hash.d.ts +2 -2
  179. package/lib/typescript/hash.d.ts.map +1 -1
  180. package/lib/typescript/hkdf.d.ts.map +1 -1
  181. package/lib/typescript/hmac.d.ts +2 -2
  182. package/lib/typescript/hmac.d.ts.map +1 -1
  183. package/lib/typescript/index.d.ts +13 -8
  184. package/lib/typescript/index.d.ts.map +1 -1
  185. package/lib/typescript/keys/classes.d.ts +10 -1
  186. package/lib/typescript/keys/classes.d.ts.map +1 -1
  187. package/lib/typescript/keys/generateKeyPair.d.ts +12 -1
  188. package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -1
  189. package/lib/typescript/keys/index.d.ts +3 -1
  190. package/lib/typescript/keys/index.d.ts.map +1 -1
  191. package/lib/typescript/keys/publicCipher.d.ts.map +1 -1
  192. package/lib/typescript/keys/signVerify.d.ts.map +1 -1
  193. package/lib/typescript/keys/utils.d.ts +21 -4
  194. package/lib/typescript/keys/utils.d.ts.map +1 -1
  195. package/lib/typescript/random.d.ts +5 -1
  196. package/lib/typescript/random.d.ts.map +1 -1
  197. package/lib/typescript/rsa.d.ts.map +1 -1
  198. package/lib/typescript/scrypt.d.ts.map +1 -1
  199. package/lib/typescript/slhdsa.d.ts +19 -0
  200. package/lib/typescript/slhdsa.d.ts.map +1 -0
  201. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +9 -0
  202. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -1
  203. package/lib/typescript/specs/slhDsaKeyPair.nitro.d.ts +16 -0
  204. package/lib/typescript/specs/slhDsaKeyPair.nitro.d.ts.map +1 -0
  205. package/lib/typescript/specs/turboshake.nitro.d.ts +11 -0
  206. package/lib/typescript/specs/turboshake.nitro.d.ts.map +1 -0
  207. package/lib/typescript/specs/utils.nitro.d.ts +0 -2
  208. package/lib/typescript/specs/utils.nitro.d.ts.map +1 -1
  209. package/lib/typescript/subtle.d.ts +3 -2
  210. package/lib/typescript/subtle.d.ts.map +1 -1
  211. package/lib/typescript/utils/cipher.d.ts +13 -1
  212. package/lib/typescript/utils/cipher.d.ts.map +1 -1
  213. package/lib/typescript/utils/conversion.d.ts +13 -9
  214. package/lib/typescript/utils/conversion.d.ts.map +1 -1
  215. package/lib/typescript/utils/errors.d.ts +12 -0
  216. package/lib/typescript/utils/errors.d.ts.map +1 -1
  217. package/lib/typescript/utils/timingSafeEqual.d.ts.map +1 -1
  218. package/lib/typescript/utils/types.d.ts +32 -15
  219. package/lib/typescript/utils/types.d.ts.map +1 -1
  220. package/lib/typescript/utils/validation.d.ts +3 -1
  221. package/lib/typescript/utils/validation.d.ts.map +1 -1
  222. package/lib/typescript/x509certificate.d.ts.map +1 -1
  223. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +2 -0
  224. package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +20 -0
  225. package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +20 -0
  226. package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +48 -0
  227. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +9 -0
  228. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +9 -0
  229. package/nitrogen/generated/shared/c++/HybridSlhDsaKeyPairSpec.cpp +29 -0
  230. package/nitrogen/generated/shared/c++/HybridSlhDsaKeyPairSpec.hpp +72 -0
  231. package/nitrogen/generated/shared/c++/HybridTurboShakeSpec.cpp +22 -0
  232. package/nitrogen/generated/shared/c++/HybridTurboShakeSpec.hpp +70 -0
  233. package/nitrogen/generated/shared/c++/HybridUtilsSpec.cpp +0 -2
  234. package/nitrogen/generated/shared/c++/HybridUtilsSpec.hpp +0 -3
  235. package/nitrogen/generated/shared/c++/JWK.hpp +9 -1
  236. package/nitrogen/generated/shared/c++/JWKkty.hpp +4 -0
  237. package/nitrogen/generated/shared/c++/KangarooTwelveVariant.hpp +76 -0
  238. package/nitrogen/generated/shared/c++/TurboShakeVariant.hpp +76 -0
  239. package/package.json +38 -7
  240. package/src/argon2.ts +80 -2
  241. package/src/cipher.ts +139 -15
  242. package/src/dhKeyPair.ts +8 -0
  243. package/src/dsa.ts +19 -2
  244. package/src/ec.ts +52 -29
  245. package/src/ed.ts +95 -16
  246. package/src/hash.ts +125 -12
  247. package/src/hkdf.ts +44 -6
  248. package/src/hmac.ts +17 -7
  249. package/src/keys/classes.ts +46 -5
  250. package/src/keys/generateKeyPair.ts +151 -5
  251. package/src/keys/index.ts +73 -3
  252. package/src/keys/publicCipher.ts +10 -4
  253. package/src/keys/signVerify.ts +13 -2
  254. package/src/keys/utils.ts +78 -5
  255. package/src/random.ts +104 -11
  256. package/src/rsa.ts +26 -4
  257. package/src/scrypt.ts +73 -6
  258. package/src/slhdsa.ts +146 -0
  259. package/src/specs/keyObjectHandle.nitro.ts +17 -0
  260. package/src/specs/slhDsaKeyPair.nitro.ts +29 -0
  261. package/src/specs/turboshake.nitro.ts +21 -0
  262. package/src/specs/utils.nitro.ts +0 -2
  263. package/src/subtle.ts +1246 -333
  264. package/src/utils/cipher.ts +30 -8
  265. package/src/utils/conversion.ts +129 -40
  266. package/src/utils/errors.ts +72 -4
  267. package/src/utils/timingSafeEqual.ts +8 -3
  268. package/src/utils/types.ts +80 -15
  269. package/src/utils/validation.ts +70 -1
  270. package/src/x509certificate.ts +5 -6
  271. package/deps/blake3/.cargo/config.toml +0 -2
  272. package/deps/blake3/.git-blame-ignore-revs +0 -2
  273. package/deps/blake3/.github/workflows/build_b3sum.py +0 -38
  274. package/deps/blake3/.github/workflows/ci.yml +0 -491
  275. package/deps/blake3/.github/workflows/tag.yml +0 -43
  276. package/deps/blake3/.github/workflows/upload_github_release_asset.py +0 -73
  277. package/deps/blake3/CONTRIBUTING.md +0 -31
  278. package/deps/blake3/Cargo.toml +0 -135
  279. package/deps/blake3/b3sum/Cargo.lock +0 -513
  280. package/deps/blake3/b3sum/Cargo.toml +0 -26
  281. package/deps/blake3/b3sum/README.md +0 -72
  282. package/deps/blake3/b3sum/src/main.rs +0 -564
  283. package/deps/blake3/b3sum/src/unit_tests.rs +0 -235
  284. package/deps/blake3/b3sum/tests/cli_tests.rs +0 -680
  285. package/deps/blake3/b3sum/what_does_check_do.md +0 -176
  286. package/deps/blake3/benches/bench.rs +0 -623
  287. package/deps/blake3/build.rs +0 -389
  288. package/deps/blake3/c/CMakeLists.txt +0 -383
  289. package/deps/blake3/c/CMakePresets.json +0 -73
  290. package/deps/blake3/c/Makefile.testing +0 -82
  291. package/deps/blake3/c/blake3-config.cmake.in +0 -14
  292. package/deps/blake3/c/blake3_avx2.c +0 -326
  293. package/deps/blake3/c/blake3_avx2_x86-64_unix.S +0 -1815
  294. package/deps/blake3/c/blake3_avx2_x86-64_windows_gnu.S +0 -1817
  295. package/deps/blake3/c/blake3_avx2_x86-64_windows_msvc.asm +0 -1828
  296. package/deps/blake3/c/blake3_avx512.c +0 -1388
  297. package/deps/blake3/c/blake3_avx512_x86-64_unix.S +0 -4824
  298. package/deps/blake3/c/blake3_avx512_x86-64_windows_gnu.S +0 -2615
  299. package/deps/blake3/c/blake3_avx512_x86-64_windows_msvc.asm +0 -2634
  300. package/deps/blake3/c/blake3_c_rust_bindings/Cargo.toml +0 -32
  301. package/deps/blake3/c/blake3_c_rust_bindings/README.md +0 -4
  302. package/deps/blake3/c/blake3_c_rust_bindings/benches/bench.rs +0 -477
  303. package/deps/blake3/c/blake3_c_rust_bindings/build.rs +0 -253
  304. package/deps/blake3/c/blake3_c_rust_bindings/cross_test.sh +0 -31
  305. package/deps/blake3/c/blake3_c_rust_bindings/src/lib.rs +0 -333
  306. package/deps/blake3/c/blake3_c_rust_bindings/src/test.rs +0 -696
  307. package/deps/blake3/c/blake3_sse2.c +0 -566
  308. package/deps/blake3/c/blake3_sse2_x86-64_unix.S +0 -2291
  309. package/deps/blake3/c/blake3_sse2_x86-64_windows_gnu.S +0 -2332
  310. package/deps/blake3/c/blake3_sse2_x86-64_windows_msvc.asm +0 -2350
  311. package/deps/blake3/c/blake3_sse41.c +0 -560
  312. package/deps/blake3/c/blake3_sse41_x86-64_unix.S +0 -2028
  313. package/deps/blake3/c/blake3_sse41_x86-64_windows_gnu.S +0 -2069
  314. package/deps/blake3/c/blake3_sse41_x86-64_windows_msvc.asm +0 -2089
  315. package/deps/blake3/c/blake3_tbb.cpp +0 -37
  316. package/deps/blake3/c/dependencies/CMakeLists.txt +0 -3
  317. package/deps/blake3/c/dependencies/tbb/CMakeLists.txt +0 -28
  318. package/deps/blake3/c/example.c +0 -36
  319. package/deps/blake3/c/example_tbb.c +0 -57
  320. package/deps/blake3/c/libblake3.pc.in +0 -12
  321. package/deps/blake3/c/main.c +0 -166
  322. package/deps/blake3/c/test.py +0 -97
  323. package/deps/blake3/media/B3.svg +0 -70
  324. package/deps/blake3/media/BLAKE3.svg +0 -85
  325. package/deps/blake3/media/speed.svg +0 -1474
  326. package/deps/blake3/reference_impl/Cargo.toml +0 -8
  327. package/deps/blake3/reference_impl/README.md +0 -14
  328. package/deps/blake3/reference_impl/reference_impl.rs +0 -374
  329. package/deps/blake3/src/ffi_avx2.rs +0 -65
  330. package/deps/blake3/src/ffi_avx512.rs +0 -169
  331. package/deps/blake3/src/ffi_neon.rs +0 -82
  332. package/deps/blake3/src/ffi_sse2.rs +0 -126
  333. package/deps/blake3/src/ffi_sse41.rs +0 -126
  334. package/deps/blake3/src/guts.rs +0 -60
  335. package/deps/blake3/src/hazmat.rs +0 -704
  336. package/deps/blake3/src/io.rs +0 -64
  337. package/deps/blake3/src/join.rs +0 -92
  338. package/deps/blake3/src/lib.rs +0 -1835
  339. package/deps/blake3/src/platform.rs +0 -587
  340. package/deps/blake3/src/portable.rs +0 -198
  341. package/deps/blake3/src/rust_avx2.rs +0 -474
  342. package/deps/blake3/src/rust_sse2.rs +0 -775
  343. package/deps/blake3/src/rust_sse41.rs +0 -766
  344. package/deps/blake3/src/test.rs +0 -1049
  345. package/deps/blake3/src/traits.rs +0 -227
  346. package/deps/blake3/src/wasm32_simd.rs +0 -794
  347. package/deps/blake3/test_vectors/Cargo.toml +0 -19
  348. package/deps/blake3/test_vectors/cross_test.sh +0 -25
  349. package/deps/blake3/test_vectors/src/bin/generate.rs +0 -4
  350. package/deps/blake3/test_vectors/src/lib.rs +0 -350
  351. package/deps/blake3/test_vectors/test_vectors.json +0 -217
  352. package/deps/blake3/tools/compiler_version/Cargo.toml +0 -7
  353. package/deps/blake3/tools/compiler_version/build.rs +0 -6
  354. package/deps/blake3/tools/compiler_version/src/main.rs +0 -27
  355. package/deps/blake3/tools/instruction_set_support/Cargo.toml +0 -6
  356. package/deps/blake3/tools/instruction_set_support/src/main.rs +0 -10
  357. package/deps/blake3/tools/release.md +0 -16
  358. package/deps/ncrypto/.bazelignore +0 -4
  359. package/deps/ncrypto/.bazelrc +0 -1
  360. package/deps/ncrypto/.bazelversion +0 -1
  361. package/deps/ncrypto/.clang-format +0 -111
  362. package/deps/ncrypto/.github/workflows/bazel.yml +0 -58
  363. package/deps/ncrypto/.github/workflows/commitlint.yml +0 -16
  364. package/deps/ncrypto/.github/workflows/linter.yml +0 -38
  365. package/deps/ncrypto/.github/workflows/macos.yml +0 -43
  366. package/deps/ncrypto/.github/workflows/release-please.yml +0 -16
  367. package/deps/ncrypto/.github/workflows/ubuntu.yml +0 -128
  368. package/deps/ncrypto/.github/workflows/visual-studio.yml +0 -49
  369. package/deps/ncrypto/.python-version +0 -1
  370. package/deps/ncrypto/.release-please-manifest.json +0 -3
  371. package/deps/ncrypto/BUILD.bazel +0 -44
  372. package/deps/ncrypto/CHANGELOG.md +0 -37
  373. package/deps/ncrypto/CMakeLists.txt +0 -79
  374. package/deps/ncrypto/MODULE.bazel +0 -16
  375. package/deps/ncrypto/MODULE.bazel.lock +0 -461
  376. package/deps/ncrypto/cmake/CPM.cmake +0 -1225
  377. package/deps/ncrypto/cmake/ncrypto-flags.cmake +0 -17
  378. package/deps/ncrypto/ncrypto.pc.in +0 -10
  379. package/deps/ncrypto/patches/0001-Expose-libdecrepit-so-NodeJS-can-use-it-for-ncrypto.patch +0 -28
  380. package/deps/ncrypto/pyproject.toml +0 -38
  381. package/deps/ncrypto/release-please-config.json +0 -11
  382. package/deps/ncrypto/src/CMakeLists.txt +0 -40
  383. package/deps/ncrypto/tests/BUILD.bazel +0 -11
  384. package/deps/ncrypto/tests/CMakeLists.txt +0 -7
  385. package/deps/ncrypto/tests/basic.cpp +0 -856
  386. package/deps/ncrypto/tools/run-clang-format.sh +0 -42
  387. package/deps/simdutf/.clang-format +0 -4
  388. package/deps/simdutf/.github/ISSUE_TEMPLATE/bug_report.md +0 -62
  389. package/deps/simdutf/.github/ISSUE_TEMPLATE/config.yml +0 -1
  390. package/deps/simdutf/.github/ISSUE_TEMPLATE/feature_request.md +0 -35
  391. package/deps/simdutf/.github/ISSUE_TEMPLATE/standard-issue-template.md +0 -29
  392. package/deps/simdutf/.github/pull_request_template.md +0 -51
  393. package/deps/simdutf/.github/workflows/aarch64.yml +0 -39
  394. package/deps/simdutf/.github/workflows/alpine.yml +0 -27
  395. package/deps/simdutf/.github/workflows/amalgamation_demos.yml +0 -34
  396. package/deps/simdutf/.github/workflows/armv7.yml +0 -32
  397. package/deps/simdutf/.github/workflows/atomic_fuzz.yml +0 -25
  398. package/deps/simdutf/.github/workflows/cifuzz.yml +0 -37
  399. package/deps/simdutf/.github/workflows/clangformat.yml +0 -36
  400. package/deps/simdutf/.github/workflows/debian-latestcxxstandards.yml +0 -40
  401. package/deps/simdutf/.github/workflows/debian.yml +0 -33
  402. package/deps/simdutf/.github/workflows/documentation.yml +0 -36
  403. package/deps/simdutf/.github/workflows/emscripten.yml +0 -19
  404. package/deps/simdutf/.github/workflows/loongarch64-gcc-14.2.yml +0 -39
  405. package/deps/simdutf/.github/workflows/macos-latest.yml +0 -29
  406. package/deps/simdutf/.github/workflows/msys2-clang.yml +0 -48
  407. package/deps/simdutf/.github/workflows/msys2.yml +0 -50
  408. package/deps/simdutf/.github/workflows/ppc64le.yml +0 -29
  409. package/deps/simdutf/.github/workflows/rvv-1024-clang-18.yml +0 -35
  410. package/deps/simdutf/.github/workflows/rvv-128-clang-17.yml +0 -35
  411. package/deps/simdutf/.github/workflows/rvv-256-gcc-14.yml +0 -31
  412. package/deps/simdutf/.github/workflows/s390x.yml +0 -29
  413. package/deps/simdutf/.github/workflows/selective-amalgamation.yml +0 -29
  414. package/deps/simdutf/.github/workflows/typos.yml +0 -19
  415. package/deps/simdutf/.github/workflows/ubuntu22-cxx20.yml +0 -30
  416. package/deps/simdutf/.github/workflows/ubuntu22.yml +0 -32
  417. package/deps/simdutf/.github/workflows/ubuntu22_gcc12.yml +0 -27
  418. package/deps/simdutf/.github/workflows/ubuntu22sani.yml +0 -29
  419. package/deps/simdutf/.github/workflows/ubuntu24-cxxstandards.yml +0 -34
  420. package/deps/simdutf/.github/workflows/ubuntu24-unsignedchar.yml +0 -34
  421. package/deps/simdutf/.github/workflows/ubuntu24.yml +0 -32
  422. package/deps/simdutf/.github/workflows/ubuntu24sani.yml +0 -36
  423. package/deps/simdutf/.github/workflows/ubuntu24sani_clang.yml +0 -29
  424. package/deps/simdutf/.github/workflows/vs17-arm-ci.yml +0 -21
  425. package/deps/simdutf/.github/workflows/vs17-ci-cxx20.yml +0 -41
  426. package/deps/simdutf/.github/workflows/vs17-ci.yml +0 -41
  427. package/deps/simdutf/.github/workflows/vs17-clang-ci.yml +0 -41
  428. package/deps/simdutf/.github/workflows/vs17-cxxstandards.yml +0 -36
  429. package/deps/simdutf/AI_USAGE_POLICY.md +0 -56
  430. package/deps/simdutf/AUTHORS +0 -6
  431. package/deps/simdutf/CMakeLists.txt +0 -231
  432. package/deps/simdutf/CONTRIBUTING.md +0 -214
  433. package/deps/simdutf/CONTRIBUTORS +0 -1
  434. package/deps/simdutf/Doxyfile +0 -2584
  435. package/deps/simdutf/Makefile.crosscompile +0 -54
  436. package/deps/simdutf/README-RVV.md +0 -16
  437. package/deps/simdutf/SECURITY.md +0 -8
  438. package/deps/simdutf/benchmarks/CMakeLists.txt +0 -101
  439. package/deps/simdutf/benchmarks/alignment.cpp +0 -150
  440. package/deps/simdutf/benchmarks/base64/CMakeLists.txt +0 -30
  441. package/deps/simdutf/benchmarks/base64/benchmark_base64.cpp +0 -875
  442. package/deps/simdutf/benchmarks/base64/libbase64_spaces.h +0 -49
  443. package/deps/simdutf/benchmarks/base64/node_base64.h +0 -227
  444. package/deps/simdutf/benchmarks/base64/openssl3_base64.h +0 -334
  445. package/deps/simdutf/benchmarks/benchmark.cpp +0 -65
  446. package/deps/simdutf/benchmarks/benchmark_to_well_formed_utf16.cpp +0 -347
  447. package/deps/simdutf/benchmarks/competition/.clang-format-ignore +0 -5
  448. package/deps/simdutf/benchmarks/competition/CppCon2018/utf_utils.cpp +0 -1276
  449. package/deps/simdutf/benchmarks/competition/CppCon2018/utf_utils.h +0 -595
  450. package/deps/simdutf/benchmarks/competition/README.md +0 -7
  451. package/deps/simdutf/benchmarks/competition/hoehrmann/hoehrmann.h +0 -91
  452. package/deps/simdutf/benchmarks/competition/inoue2008/inoue_utf8_to_utf16.h +0 -444
  453. package/deps/simdutf/benchmarks/competition/inoue2008/inoue_utf8_to_utf16_tables.h +0 -13183
  454. package/deps/simdutf/benchmarks/competition/inoue2008/script.py +0 -73
  455. package/deps/simdutf/benchmarks/competition/llvm/ConvertUTF.cpp +0 -738
  456. package/deps/simdutf/benchmarks/competition/llvm/ConvertUTF.h +0 -293
  457. package/deps/simdutf/benchmarks/competition/u8u16/COPYRIGHT +0 -8
  458. package/deps/simdutf/benchmarks/competition/u8u16/Makefile +0 -44
  459. package/deps/simdutf/benchmarks/competition/u8u16/OSL3.0.txt +0 -169
  460. package/deps/simdutf/benchmarks/competition/u8u16/Profiling/BOM_Profiler.h +0 -148
  461. package/deps/simdutf/benchmarks/competition/u8u16/Profiling/i386_timer.h +0 -45
  462. package/deps/simdutf/benchmarks/competition/u8u16/Profiling/ppc_timer.c +0 -34
  463. package/deps/simdutf/benchmarks/competition/u8u16/README +0 -56
  464. package/deps/simdutf/benchmarks/competition/u8u16/config/config_defs.h +0 -43
  465. package/deps/simdutf/benchmarks/competition/u8u16/config/g4_config.h +0 -27
  466. package/deps/simdutf/benchmarks/competition/u8u16/config/mmx_config.h +0 -16
  467. package/deps/simdutf/benchmarks/competition/u8u16/config/p4_config.h +0 -18
  468. package/deps/simdutf/benchmarks/competition/u8u16/config/p4_ideal_config.h +0 -16
  469. package/deps/simdutf/benchmarks/competition/u8u16/config/spu_config.h +0 -28
  470. package/deps/simdutf/benchmarks/competition/u8u16/config/ssse3_config.h +0 -20
  471. package/deps/simdutf/benchmarks/competition/u8u16/iconv_u8u16.c +0 -2
  472. package/deps/simdutf/benchmarks/competition/u8u16/lib/altivec_simd.h +0 -440
  473. package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_basic_ops.py +0 -121
  474. package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_half_operand_versions.py +0 -158
  475. package/deps/simdutf/benchmarks/competition/u8u16/lib/libgen/make_test.py +0 -270
  476. package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd.h +0 -141
  477. package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_basic.h +0 -216
  478. package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_built_in.h +0 -119
  479. package/deps/simdutf/benchmarks/competition/u8u16/lib/mmx_simd_modified.h +0 -2430
  480. package/deps/simdutf/benchmarks/competition/u8u16/lib/outline.txt +0 -39
  481. package/deps/simdutf/benchmarks/competition/u8u16/lib/spu_simd.h +0 -421
  482. package/deps/simdutf/benchmarks/competition/u8u16/lib/sse_simd.h +0 -836
  483. package/deps/simdutf/benchmarks/competition/u8u16/lib/stdint.h +0 -222
  484. package/deps/simdutf/benchmarks/competition/u8u16/libu8u16_BE.c +0 -4
  485. package/deps/simdutf/benchmarks/competition/u8u16/libu8u16_LE.c +0 -5
  486. package/deps/simdutf/benchmarks/competition/u8u16/proto/u8u16.py +0 -390
  487. package/deps/simdutf/benchmarks/competition/u8u16/src/Makefile +0 -18
  488. package/deps/simdutf/benchmarks/competition/u8u16/src/bytelex.h +0 -448
  489. package/deps/simdutf/benchmarks/competition/u8u16/src/charsets/ASCII_EBCDIC.h +0 -284
  490. package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.c +0 -1975
  491. package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.pdf +0 -0
  492. package/deps/simdutf/benchmarks/competition/u8u16/src/libu8u16.w +0 -2263
  493. package/deps/simdutf/benchmarks/competition/u8u16/src/multiliteral.h +0 -239
  494. package/deps/simdutf/benchmarks/competition/u8u16/src/u8u16.c +0 -232
  495. package/deps/simdutf/benchmarks/competition/u8u16/src/x8x16.c +0 -194
  496. package/deps/simdutf/benchmarks/competition/u8u16/src/xml_error.c +0 -193
  497. package/deps/simdutf/benchmarks/competition/u8u16/src/xml_error.h +0 -167
  498. package/deps/simdutf/benchmarks/competition/u8u16/src/xmldecl.c +0 -288
  499. package/deps/simdutf/benchmarks/competition/u8u16/src/xmldecl.h +0 -117
  500. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_g4.c +0 -2
  501. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_mmx.c +0 -2
  502. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_p4.c +0 -3
  503. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_p4_ideal.c +0 -2
  504. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_spu.c +0 -2
  505. package/deps/simdutf/benchmarks/competition/u8u16/u8u16_ssse3.c +0 -3
  506. package/deps/simdutf/benchmarks/competition/u8u16/x8x16_p4.c +0 -2
  507. package/deps/simdutf/benchmarks/competition/utf8lut/LICENSE +0 -23
  508. package/deps/simdutf/benchmarks/competition/utf8lut/data/test_minimal.txt +0 -44
  509. package/deps/simdutf/benchmarks/competition/utf8lut/readme.md +0 -106
  510. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_clang_corr_tests.cmd +0 -11
  511. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_clang_corr_tests.sh +0 -13
  512. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_corr_tests.sh +0 -13
  513. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_example.sh +0 -13
  514. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_file_conv.sh +0 -14
  515. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_iconv_lib.sh +0 -11
  516. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_gcc_iconv_sample.sh +0 -8
  517. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_corr_tests.cmd +0 -12
  518. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_example.cmd +0 -13
  519. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_file_conv.cmd +0 -14
  520. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_iconv_lib.cmd +0 -11
  521. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_mingw_iconv_sample.cmd +0 -8
  522. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_corr_tests.cmd +0 -11
  523. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_example.cmd +0 -12
  524. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_file_conv.cmd +0 -13
  525. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_iconv_lib.cmd +0 -10
  526. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/build_msvc_iconv_sample.cmd +0 -9
  527. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/html_table.py +0 -25
  528. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/measure.py +0 -94
  529. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/resize.py +0 -20
  530. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/wipe_all.cmd +0 -2
  531. package/deps/simdutf/benchmarks/competition/utf8lut/scripts/wipe_interm.cmd +0 -1
  532. package/deps/simdutf/benchmarks/competition/utf8lut/src/base/CustomMemcpy.h +0 -75
  533. package/deps/simdutf/benchmarks/competition/utf8lut/src/base/PerfDefs.h +0 -47
  534. package/deps/simdutf/benchmarks/competition/utf8lut/src/base/Timing.cpp +0 -17
  535. package/deps/simdutf/benchmarks/competition/utf8lut/src/base/Timing.h +0 -76
  536. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/AllProcessors.cpp +0 -35
  537. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BaseBufferProcessor.cpp +0 -117
  538. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BaseBufferProcessor.h +0 -210
  539. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BufferDecoder.h +0 -158
  540. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/BufferEncoder.h +0 -104
  541. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/ProcessorPlugins.h +0 -334
  542. package/deps/simdutf/benchmarks/competition/utf8lut/src/buffer/ProcessorSelector.h +0 -186
  543. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderLut.cpp +0 -140
  544. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderLut.h +0 -42
  545. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/DecoderProcess.h +0 -100
  546. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/Dfa.h +0 -57
  547. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderLut.cpp +0 -85
  548. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderLut.h +0 -27
  549. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/EncoderProcess.h +0 -126
  550. package/deps/simdutf/benchmarks/competition/utf8lut/src/core/ProcessTrivial.h +0 -108
  551. package/deps/simdutf/benchmarks/competition/utf8lut/src/iconv/iconv.cpp +0 -139
  552. package/deps/simdutf/benchmarks/competition/utf8lut/src/iconv/iconv.h +0 -74
  553. package/deps/simdutf/benchmarks/competition/utf8lut/src/message/MessageConverter.cpp +0 -65
  554. package/deps/simdutf/benchmarks/competition/utf8lut/src/message/MessageConverter.h +0 -91
  555. package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/CorrectnessTests.cpp +0 -772
  556. package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/Example.cpp +0 -12
  557. package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/FileConverter.cpp +0 -486
  558. package/deps/simdutf/benchmarks/competition/utf8lut/src/tests/iconv_sample.c +0 -162
  559. package/deps/simdutf/benchmarks/competition/utf8lut/src/utf8lut.h +0 -15
  560. package/deps/simdutf/benchmarks/competition/utf8sse4/fromutf8-sse.cpp +0 -292
  561. package/deps/simdutf/benchmarks/competition/utfcpp/LICENSE +0 -23
  562. package/deps/simdutf/benchmarks/competition/utfcpp/README.md +0 -1503
  563. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/checked.h +0 -335
  564. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/core.h +0 -338
  565. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/cpp11.h +0 -103
  566. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/cpp17.h +0 -103
  567. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8/unchecked.h +0 -274
  568. package/deps/simdutf/benchmarks/competition/utfcpp/source/utf8.h +0 -34
  569. package/deps/simdutf/benchmarks/dataset/README.md +0 -155
  570. package/deps/simdutf/benchmarks/dataset/emoji.txt +0 -204
  571. package/deps/simdutf/benchmarks/dataset/scripts/utf8type.py +0 -40
  572. package/deps/simdutf/benchmarks/dataset/wikipedia_mars/Makefile +0 -80
  573. package/deps/simdutf/benchmarks/dataset/wikipedia_mars/convert_to_utf6.py +0 -20
  574. package/deps/simdutf/benchmarks/find/CMakeLists.txt +0 -6
  575. package/deps/simdutf/benchmarks/find/findbenchmark.cpp +0 -63
  576. package/deps/simdutf/benchmarks/find/findbenchmarker.h +0 -46
  577. package/deps/simdutf/benchmarks/shortbench.cpp +0 -555
  578. package/deps/simdutf/benchmarks/src/CMakeLists.txt +0 -52
  579. package/deps/simdutf/benchmarks/src/apple_arm_events.h +0 -1104
  580. package/deps/simdutf/benchmarks/src/benchmark.cpp +0 -3899
  581. package/deps/simdutf/benchmarks/src/benchmark.h +0 -317
  582. package/deps/simdutf/benchmarks/src/benchmark_base.cpp +0 -144
  583. package/deps/simdutf/benchmarks/src/benchmark_base.h +0 -98
  584. package/deps/simdutf/benchmarks/src/cmdline.cpp +0 -176
  585. package/deps/simdutf/benchmarks/src/cmdline.h +0 -35
  586. package/deps/simdutf/benchmarks/src/event_counter.h +0 -162
  587. package/deps/simdutf/benchmarks/src/linux-perf-events.h +0 -104
  588. package/deps/simdutf/benchmarks/stream.cpp +0 -209
  589. package/deps/simdutf/benchmarks/threaded.cpp +0 -123
  590. package/deps/simdutf/cmake/CPM.cmake +0 -1363
  591. package/deps/simdutf/cmake/JoinPaths.cmake +0 -23
  592. package/deps/simdutf/cmake/add_cpp_test.cmake +0 -68
  593. package/deps/simdutf/cmake/simdutf-config.cmake.in +0 -2
  594. package/deps/simdutf/cmake/simdutf-flags.cmake +0 -26
  595. package/deps/simdutf/cmake/toolchains-ci/riscv64-linux-gnu.cmake +0 -4
  596. package/deps/simdutf/cmake/toolchains-dev/README.md +0 -32
  597. package/deps/simdutf/cmake/toolchains-dev/aarch64.cmake +0 -14
  598. package/deps/simdutf/cmake/toolchains-dev/loongarch64.cmake +0 -22
  599. package/deps/simdutf/cmake/toolchains-dev/powerpc64.cmake +0 -16
  600. package/deps/simdutf/cmake/toolchains-dev/powerpc64le.cmake +0 -16
  601. package/deps/simdutf/cmake/toolchains-dev/riscv64.cmake +0 -16
  602. package/deps/simdutf/cmake/toolchains-dev/rvv-spike.cmake +0 -38
  603. package/deps/simdutf/doc/avx512.png +0 -0
  604. package/deps/simdutf/doc/logo.png +0 -0
  605. package/deps/simdutf/doc/logo.svg +0 -165
  606. package/deps/simdutf/doc/node2023.png +0 -0
  607. package/deps/simdutf/doc/shortinput.md +0 -78
  608. package/deps/simdutf/doc/utf16utf8.png +0 -0
  609. package/deps/simdutf/doc/utf8utf16.png +0 -0
  610. package/deps/simdutf/doc/widelogo.png +0 -0
  611. package/deps/simdutf/doxygen.py +0 -50
  612. package/deps/simdutf/fuzz/.clang-format +0 -9
  613. package/deps/simdutf/fuzz/CMakeLists.txt +0 -45
  614. package/deps/simdutf/fuzz/README.md +0 -168
  615. package/deps/simdutf/fuzz/atomic_base64.cpp +0 -448
  616. package/deps/simdutf/fuzz/base64.cpp +0 -278
  617. package/deps/simdutf/fuzz/build.sh +0 -83
  618. package/deps/simdutf/fuzz/conversion.cpp +0 -669
  619. package/deps/simdutf/fuzz/helpers/.clang-format-ignore +0 -1
  620. package/deps/simdutf/fuzz/helpers/common.h +0 -135
  621. package/deps/simdutf/fuzz/helpers/nameof.hpp +0 -1258
  622. package/deps/simdutf/fuzz/main.cpp +0 -72
  623. package/deps/simdutf/fuzz/minimize_and_cleanse.sh +0 -87
  624. package/deps/simdutf/fuzz/misc.cpp +0 -216
  625. package/deps/simdutf/fuzz/random_fuzz.sh +0 -154
  626. package/deps/simdutf/fuzz/roundtrip.cpp +0 -588
  627. package/deps/simdutf/fuzz/safe_conversion.cpp +0 -104
  628. package/deps/simdutf/riscv/Dockerfile +0 -16
  629. package/deps/simdutf/riscv/README.md +0 -24
  630. package/deps/simdutf/riscv/remove-docker-station +0 -8
  631. package/deps/simdutf/riscv/run-docker-station +0 -31
  632. package/deps/simdutf/scripts/.flake8 +0 -2
  633. package/deps/simdutf/scripts/Makefile +0 -2
  634. package/deps/simdutf/scripts/README_ADD_FUNCTION.md +0 -49
  635. package/deps/simdutf/scripts/add_function.py +0 -330
  636. package/deps/simdutf/scripts/amalgamation_tests.py +0 -156
  637. package/deps/simdutf/scripts/base64/Makefile +0 -2
  638. package/deps/simdutf/scripts/base64/README.md +0 -2
  639. package/deps/simdutf/scripts/base64/avx512.py +0 -76
  640. package/deps/simdutf/scripts/base64/neon_decode.py +0 -143
  641. package/deps/simdutf/scripts/base64/neon_generate_lut.py +0 -101
  642. package/deps/simdutf/scripts/base64/sse.py +0 -252
  643. package/deps/simdutf/scripts/base64/sseregular.py +0 -160
  644. package/deps/simdutf/scripts/base64/sseurl.py +0 -283
  645. package/deps/simdutf/scripts/base64/table.py +0 -59
  646. package/deps/simdutf/scripts/base64bench_print.py +0 -145
  647. package/deps/simdutf/scripts/benchmark-all.py +0 -119
  648. package/deps/simdutf/scripts/benchmark_print.py +0 -324
  649. package/deps/simdutf/scripts/check_feature_macros.py +0 -156
  650. package/deps/simdutf/scripts/check_typos.sh +0 -13
  651. package/deps/simdutf/scripts/clang_format.sh +0 -35
  652. package/deps/simdutf/scripts/clang_format_docker.sh +0 -38
  653. package/deps/simdutf/scripts/common.py +0 -24
  654. package/deps/simdutf/scripts/compilation_benchmark.py +0 -55
  655. package/deps/simdutf/scripts/compile_many_variations.sh +0 -64
  656. package/deps/simdutf/scripts/create_latex_table.py +0 -62
  657. package/deps/simdutf/scripts/docker/Dockerfile +0 -14
  658. package/deps/simdutf/scripts/docker/Makefile +0 -9
  659. package/deps/simdutf/scripts/docker/README.md +0 -30
  660. package/deps/simdutf/scripts/docker/llvm.gpg +0 -0
  661. package/deps/simdutf/scripts/ppc64_convert_utf16_to_utf8.py +0 -155
  662. package/deps/simdutf/scripts/prepare_doxygen.sh +0 -21
  663. package/deps/simdutf/scripts/release.py +0 -197
  664. package/deps/simdutf/scripts/shortinputplots.py +0 -97
  665. package/deps/simdutf/scripts/sse_convert_utf16_to_utf8.py +0 -422
  666. package/deps/simdutf/scripts/sse_convert_utf32_to_utf16.py +0 -105
  667. package/deps/simdutf/scripts/sse_utf8_utf16_decode.py +0 -186
  668. package/deps/simdutf/scripts/sse_validate_utf16le_proof.py +0 -137
  669. package/deps/simdutf/scripts/sse_validate_utf16le_testcases.py +0 -129
  670. package/deps/simdutf/scripts/table.py +0 -207
  671. package/deps/simdutf/scripts/tests/new.txt +0 -33
  672. package/deps/simdutf/scripts/tests/old.txt +0 -33
  673. package/deps/simdutf/scripts/tests/results.txt +0 -272
  674. package/deps/simdutf/simdutf.pc.in +0 -11
  675. package/deps/simdutf/singleheader/.flake8 +0 -2
  676. package/deps/simdutf/singleheader/CMakeLists.txt +0 -64
  677. package/deps/simdutf/singleheader/README-dev.md +0 -81
  678. package/deps/simdutf/singleheader/README.md +0 -19
  679. package/deps/simdutf/singleheader/amalgamate.py +0 -513
  680. package/deps/simdutf/singleheader/amalgamation_demo.c +0 -59
  681. package/deps/simdutf/singleheader/amalgamation_demo.cpp +0 -54
  682. package/deps/simdutf/singleheader/test-features.py +0 -262
  683. package/deps/simdutf/src/CMakeLists.txt +0 -78
  684. package/deps/simdutf/tests/CMakeLists.txt +0 -483
  685. package/deps/simdutf/tests/atomic_base64_tests.cpp +0 -2845
  686. package/deps/simdutf/tests/base64_tests.cpp +0 -3617
  687. package/deps/simdutf/tests/basic_fuzzer.cpp +0 -805
  688. package/deps/simdutf/tests/bele_tests.cpp +0 -182
  689. package/deps/simdutf/tests/constexpr_base64_tests.cpp +0 -387
  690. package/deps/simdutf/tests/convert_latin1_to_utf16be_tests.cpp +0 -52
  691. package/deps/simdutf/tests/convert_latin1_to_utf16le_tests.cpp +0 -80
  692. package/deps/simdutf/tests/convert_latin1_to_utf32_tests.cpp +0 -66
  693. package/deps/simdutf/tests/convert_latin1_to_utf8_tests.cpp +0 -120
  694. package/deps/simdutf/tests/convert_utf16_to_utf8_safe_tests.cpp +0 -203
  695. package/deps/simdutf/tests/convert_utf16_to_utf8_with_replacement_tests.cpp +0 -276
  696. package/deps/simdutf/tests/convert_utf16be_to_latin1_tests.cpp +0 -109
  697. package/deps/simdutf/tests/convert_utf16be_to_latin1_tests_with_errors.cpp +0 -136
  698. package/deps/simdutf/tests/convert_utf16be_to_utf32_tests.cpp +0 -193
  699. package/deps/simdutf/tests/convert_utf16be_to_utf32_with_errors_tests.cpp +0 -381
  700. package/deps/simdutf/tests/convert_utf16be_to_utf8_tests.cpp +0 -259
  701. package/deps/simdutf/tests/convert_utf16be_to_utf8_with_errors_tests.cpp +0 -266
  702. package/deps/simdutf/tests/convert_utf16le_to_latin1_tests.cpp +0 -148
  703. package/deps/simdutf/tests/convert_utf16le_to_latin1_tests_with_errors.cpp +0 -176
  704. package/deps/simdutf/tests/convert_utf16le_to_utf32_tests.cpp +0 -213
  705. package/deps/simdutf/tests/convert_utf16le_to_utf32_with_errors_tests.cpp +0 -318
  706. package/deps/simdutf/tests/convert_utf16le_to_utf8_tests.cpp +0 -343
  707. package/deps/simdutf/tests/convert_utf16le_to_utf8_with_errors_tests.cpp +0 -271
  708. package/deps/simdutf/tests/convert_utf32_to_latin1_tests.cpp +0 -111
  709. package/deps/simdutf/tests/convert_utf32_to_latin1_with_errors_tests.cpp +0 -96
  710. package/deps/simdutf/tests/convert_utf32_to_utf16be_tests.cpp +0 -148
  711. package/deps/simdutf/tests/convert_utf32_to_utf16be_with_errors_tests.cpp +0 -192
  712. package/deps/simdutf/tests/convert_utf32_to_utf16le_tests.cpp +0 -166
  713. package/deps/simdutf/tests/convert_utf32_to_utf16le_with_errors_tests.cpp +0 -215
  714. package/deps/simdutf/tests/convert_utf32_to_utf8_tests.cpp +0 -181
  715. package/deps/simdutf/tests/convert_utf32_to_utf8_with_errors_tests.cpp +0 -261
  716. package/deps/simdutf/tests/convert_utf8_to_latin1_tests.cpp +0 -516
  717. package/deps/simdutf/tests/convert_utf8_to_latin1_with_errors_tests.cpp +0 -579
  718. package/deps/simdutf/tests/convert_utf8_to_utf16be_tests.cpp +0 -412
  719. package/deps/simdutf/tests/convert_utf8_to_utf16be_with_errors_tests.cpp +0 -480
  720. package/deps/simdutf/tests/convert_utf8_to_utf16le_tests.cpp +0 -671
  721. package/deps/simdutf/tests/convert_utf8_to_utf16le_with_errors_tests.cpp +0 -455
  722. package/deps/simdutf/tests/convert_utf8_to_utf32_tests.cpp +0 -1204
  723. package/deps/simdutf/tests/convert_utf8_to_utf32_with_errors_tests.cpp +0 -337
  724. package/deps/simdutf/tests/convert_valid_utf16be_to_latin1_tests.cpp +0 -37
  725. package/deps/simdutf/tests/convert_valid_utf16be_to_utf32_tests.cpp +0 -97
  726. package/deps/simdutf/tests/convert_valid_utf16be_to_utf8_tests.cpp +0 -126
  727. package/deps/simdutf/tests/convert_valid_utf16le_to_latin1_tests.cpp +0 -71
  728. package/deps/simdutf/tests/convert_valid_utf16le_to_utf32_tests.cpp +0 -122
  729. package/deps/simdutf/tests/convert_valid_utf16le_to_utf8_tests.cpp +0 -244
  730. package/deps/simdutf/tests/convert_valid_utf32_to_latin1_tests.cpp +0 -49
  731. package/deps/simdutf/tests/convert_valid_utf32_to_utf16be_tests.cpp +0 -92
  732. package/deps/simdutf/tests/convert_valid_utf32_to_utf16le_tests.cpp +0 -114
  733. package/deps/simdutf/tests/convert_valid_utf32_to_utf8_tests.cpp +0 -109
  734. package/deps/simdutf/tests/convert_valid_utf8_to_latin1_tests.cpp +0 -84
  735. package/deps/simdutf/tests/convert_valid_utf8_to_utf16be_tests.cpp +0 -124
  736. package/deps/simdutf/tests/convert_valid_utf8_to_utf16le_tests.cpp +0 -221
  737. package/deps/simdutf/tests/convert_valid_utf8_to_utf32_tests.cpp +0 -155
  738. package/deps/simdutf/tests/count_utf16be.cpp +0 -64
  739. package/deps/simdutf/tests/count_utf16le.cpp +0 -61
  740. package/deps/simdutf/tests/count_utf8.cpp +0 -87
  741. package/deps/simdutf/tests/detect_encodings_tests.cpp +0 -312
  742. package/deps/simdutf/tests/embed/valid_utf8.txt +0 -1
  743. package/deps/simdutf/tests/embed_tests.cpp +0 -22
  744. package/deps/simdutf/tests/find_tests.cpp +0 -77
  745. package/deps/simdutf/tests/fixed_string_tests.cpp +0 -153
  746. package/deps/simdutf/tests/helpers/CMakeLists.txt +0 -25
  747. package/deps/simdutf/tests/helpers/compiletime_conversions.h +0 -222
  748. package/deps/simdutf/tests/helpers/fixed_string.h +0 -267
  749. package/deps/simdutf/tests/helpers/random_int.cpp +0 -30
  750. package/deps/simdutf/tests/helpers/random_int.h +0 -39
  751. package/deps/simdutf/tests/helpers/random_utf16.cpp +0 -123
  752. package/deps/simdutf/tests/helpers/random_utf16.h +0 -52
  753. package/deps/simdutf/tests/helpers/random_utf32.cpp +0 -41
  754. package/deps/simdutf/tests/helpers/random_utf32.h +0 -40
  755. package/deps/simdutf/tests/helpers/random_utf8.cpp +0 -93
  756. package/deps/simdutf/tests/helpers/random_utf8.h +0 -36
  757. package/deps/simdutf/tests/helpers/test.cpp +0 -231
  758. package/deps/simdutf/tests/helpers/test.h +0 -193
  759. package/deps/simdutf/tests/helpers/transcode_test_base.cpp +0 -1257
  760. package/deps/simdutf/tests/helpers/transcode_test_base.h +0 -683
  761. package/deps/simdutf/tests/helpers/utf16.h +0 -27
  762. package/deps/simdutf/tests/installation_tests/find/CMakeLists.txt +0 -43
  763. package/deps/simdutf/tests/installation_tests/from_fetch/CMakeLists.txt +0 -47
  764. package/deps/simdutf/tests/internal_tests.cpp +0 -27
  765. package/deps/simdutf/tests/null_safety_tests.cpp +0 -94
  766. package/deps/simdutf/tests/random_fuzzer.cpp +0 -779
  767. package/deps/simdutf/tests/readme_tests.cpp +0 -274
  768. package/deps/simdutf/tests/reference/CMakeLists.txt +0 -23
  769. package/deps/simdutf/tests/reference/decode_utf16.h +0 -81
  770. package/deps/simdutf/tests/reference/decode_utf32.h +0 -47
  771. package/deps/simdutf/tests/reference/encode_latin1.cpp +0 -1
  772. package/deps/simdutf/tests/reference/encode_latin1.h +0 -32
  773. package/deps/simdutf/tests/reference/encode_utf16.cpp +0 -49
  774. package/deps/simdutf/tests/reference/encode_utf16.h +0 -20
  775. package/deps/simdutf/tests/reference/encode_utf32.cpp +0 -1
  776. package/deps/simdutf/tests/reference/encode_utf32.h +0 -36
  777. package/deps/simdutf/tests/reference/encode_utf8.cpp +0 -1
  778. package/deps/simdutf/tests/reference/encode_utf8.h +0 -40
  779. package/deps/simdutf/tests/reference/validate_utf16.cpp +0 -60
  780. package/deps/simdutf/tests/reference/validate_utf16.h +0 -14
  781. package/deps/simdutf/tests/reference/validate_utf16_to_latin1.cpp +0 -35
  782. package/deps/simdutf/tests/reference/validate_utf16_to_latin1.h +0 -13
  783. package/deps/simdutf/tests/reference/validate_utf32.cpp +0 -27
  784. package/deps/simdutf/tests/reference/validate_utf32.h +0 -12
  785. package/deps/simdutf/tests/reference/validate_utf32_to_latin1.cpp +0 -27
  786. package/deps/simdutf/tests/reference/validate_utf32_to_latin1.h +0 -12
  787. package/deps/simdutf/tests/reference/validate_utf8.cpp +0 -82
  788. package/deps/simdutf/tests/reference/validate_utf8.h +0 -11
  789. package/deps/simdutf/tests/reference/validate_utf8_to_latin1.cpp +0 -43
  790. package/deps/simdutf/tests/reference/validate_utf8_to_latin1.h +0 -12
  791. package/deps/simdutf/tests/select_implementation.cpp +0 -43
  792. package/deps/simdutf/tests/simdutf_c_tests.cpp +0 -244
  793. package/deps/simdutf/tests/span_tests.cpp +0 -401
  794. package/deps/simdutf/tests/special_tests.cpp +0 -559
  795. package/deps/simdutf/tests/straight_c_test.c +0 -187
  796. package/deps/simdutf/tests/text_encoding_tests.cpp +0 -77
  797. package/deps/simdutf/tests/to_well_formed_utf16_tests.cpp +0 -377
  798. package/deps/simdutf/tests/utf8_length_from_utf16_tests.cpp +0 -202
  799. package/deps/simdutf/tests/validate_ascii_basic_tests.cpp +0 -165
  800. package/deps/simdutf/tests/validate_ascii_with_errors_tests.cpp +0 -77
  801. package/deps/simdutf/tests/validate_utf16be_basic_tests.cpp +0 -175
  802. package/deps/simdutf/tests/validate_utf16be_with_errors_tests.cpp +0 -188
  803. package/deps/simdutf/tests/validate_utf16le_basic_tests.cpp +0 -268
  804. package/deps/simdutf/tests/validate_utf16le_with_errors_tests.cpp +0 -274
  805. package/deps/simdutf/tests/validate_utf32_basic_tests.cpp +0 -92
  806. package/deps/simdutf/tests/validate_utf32_with_errors_tests.cpp +0 -114
  807. package/deps/simdutf/tests/validate_utf8_basic_tests.cpp +0 -178
  808. package/deps/simdutf/tests/validate_utf8_brute_force_tests.cpp +0 -88
  809. package/deps/simdutf/tests/validate_utf8_puzzler_tests.cpp +0 -33
  810. package/deps/simdutf/tests/validate_utf8_with_errors_tests.cpp +0 -228
  811. package/deps/simdutf/tools/CMakeLists.txt +0 -85
  812. package/deps/simdutf/tools/fastbase64.cpp +0 -250
  813. package/deps/simdutf/tools/sutf.cpp +0 -556
  814. package/deps/simdutf/tools/sutf.h +0 -40
  815. package/lib/tsconfig.tsbuildinfo +0 -1
@@ -15,10 +15,6 @@
15
15
  #include <openssl/hkdf.h>
16
16
  #endif
17
17
 
18
- #if OPENSSL_VERSION_NUMBER >= 0x30200000L
19
- #include <openssl/thread.h>
20
- #endif
21
-
22
18
  #include <algorithm>
23
19
  #include <array>
24
20
  #include <cstring>
@@ -28,6 +24,9 @@
28
24
  #include <openssl/core_names.h>
29
25
  #include <openssl/params.h>
30
26
  #include <openssl/provider.h>
27
+ #if OPENSSL_VERSION_NUMBER >= 0x30200000L
28
+ #include <openssl/thread.h>
29
+ #endif
31
30
  #endif
32
31
  #if OPENSSL_WITH_PQC
33
32
  struct PQCMapping {
@@ -228,7 +227,7 @@ void DataPointer::zero() {
228
227
  OPENSSL_cleanse(data_, len_);
229
228
  }
230
229
 
231
- void DataPointer::reset(void* data, size_t length) {
230
+ void DataPointer::free() {
232
231
  if (data_ != nullptr) {
233
232
  if (secure_) {
234
233
  OPENSSL_secure_clear_free(data_, len_);
@@ -236,6 +235,10 @@ void DataPointer::reset(void* data, size_t length) {
236
235
  OPENSSL_clear_free(data_, len_);
237
236
  }
238
237
  }
238
+ }
239
+
240
+ void DataPointer::reset(void* data, size_t length) {
241
+ free();
239
242
  data_ = data;
240
243
  len_ = length;
241
244
  }
@@ -258,7 +261,12 @@ DataPointer DataPointer::resize(size_t len) {
258
261
  size_t actual_len = std::min(len_, len);
259
262
  auto buf = release();
260
263
  if (actual_len == len_) return DataPointer(buf.data, actual_len);
261
- buf.data = OPENSSL_realloc(buf.data, actual_len);
264
+ auto new_data = OPENSSL_realloc(buf.data, actual_len);
265
+ if (new_data == nullptr) {
266
+ free();
267
+ return {};
268
+ }
269
+ buf.data = new_data;
262
270
  buf.len = actual_len;
263
271
  return DataPointer(buf);
264
272
  }
@@ -810,11 +818,15 @@ bool PrintGeneralName(const BIOPointer& out, const GENERAL_NAME* gen) {
810
818
  // Note that the preferred name syntax (see RFCs 5280 and 1034) with
811
819
  // wildcards is a subset of what we consider "safe", so spec-compliant DNS
812
820
  // names will never need to be escaped.
813
- PrintAltName(out, reinterpret_cast<const char*>(name->data), name->length);
821
+ PrintAltName(out,
822
+ reinterpret_cast<const char*>(ASN1_STRING_get0_data(name)),
823
+ ASN1_STRING_length(name));
814
824
  } else if (gen->type == GEN_EMAIL) {
815
825
  ASN1_IA5STRING* name = gen->d.rfc822Name;
816
826
  BIO_write(out.get(), "email:", 6);
817
- PrintAltName(out, reinterpret_cast<const char*>(name->data), name->length);
827
+ PrintAltName(out,
828
+ reinterpret_cast<const char*>(ASN1_STRING_get0_data(name)),
829
+ ASN1_STRING_length(name));
818
830
  } else if (gen->type == GEN_URI) {
819
831
  ASN1_IA5STRING* name = gen->d.uniformResourceIdentifier;
820
832
  BIO_write(out.get(), "URI:", 4);
@@ -822,7 +834,9 @@ bool PrintGeneralName(const BIOPointer& out, const GENERAL_NAME* gen) {
822
834
  // with a few exceptions, most notably URIs that contains commas (see
823
835
  // RFC 2396). In other words, most legitimate URIs will not require
824
836
  // escaping.
825
- PrintAltName(out, reinterpret_cast<const char*>(name->data), name->length);
837
+ PrintAltName(out,
838
+ reinterpret_cast<const char*>(ASN1_STRING_get0_data(name)),
839
+ ASN1_STRING_length(name));
826
840
  } else if (gen->type == GEN_DIRNAME) {
827
841
  // Earlier versions of Node.js used X509_NAME_oneline to print the X509_NAME
828
842
  // object. The format was non standard and should be avoided. The use of
@@ -855,17 +869,18 @@ bool PrintGeneralName(const BIOPointer& out, const GENERAL_NAME* gen) {
855
869
  } else if (gen->type == GEN_IPADD) {
856
870
  BIO_printf(out.get(), "IP Address:");
857
871
  const ASN1_OCTET_STRING* ip = gen->d.ip;
858
- const unsigned char* b = ip->data;
859
- if (ip->length == 4) {
872
+ const unsigned char* b = ASN1_STRING_get0_data(ip);
873
+ int ip_len = ASN1_STRING_length(ip);
874
+ if (ip_len == 4) {
860
875
  BIO_printf(out.get(), "%d.%d.%d.%d", b[0], b[1], b[2], b[3]);
861
- } else if (ip->length == 16) {
876
+ } else if (ip_len == 16) {
862
877
  for (unsigned int j = 0; j < 8; j++) {
863
878
  uint16_t pair = (b[2 * j] << 8) | b[2 * j + 1];
864
879
  BIO_printf(out.get(), (j == 0) ? "%X" : ":%X", pair);
865
880
  }
866
881
  } else {
867
882
  #if OPENSSL_VERSION_MAJOR >= 3
868
- BIO_printf(out.get(), "<invalid length=%d>", ip->length);
883
+ BIO_printf(out.get(), "<invalid length=%d>", ip_len);
869
884
  #else
870
885
  BIO_printf(out.get(), "<invalid>");
871
886
  #endif
@@ -915,15 +930,15 @@ bool PrintGeneralName(const BIOPointer& out, const GENERAL_NAME* gen) {
915
930
  if (unicode) {
916
931
  auto name = gen->d.otherName->value->value.utf8string;
917
932
  PrintAltName(out,
918
- reinterpret_cast<const char*>(name->data),
919
- name->length,
933
+ reinterpret_cast<const char*>(ASN1_STRING_get0_data(name)),
934
+ ASN1_STRING_length(name),
920
935
  AltNameOption::UTF8,
921
936
  prefix);
922
937
  } else {
923
938
  auto name = gen->d.otherName->value->value.ia5string;
924
939
  PrintAltName(out,
925
- reinterpret_cast<const char*>(name->data),
926
- name->length,
940
+ reinterpret_cast<const char*>(ASN1_STRING_get0_data(name)),
941
+ ASN1_STRING_length(name),
927
942
  AltNameOption::NONE,
928
943
  prefix);
929
944
  }
@@ -944,11 +959,14 @@ bool PrintGeneralName(const BIOPointer& out, const GENERAL_NAME* gen) {
944
959
  }
945
960
  } // namespace
946
961
 
947
- bool SafeX509SubjectAltNamePrint(const BIOPointer& out, X509_EXTENSION* ext) {
948
- auto ret = OBJ_obj2nid(X509_EXTENSION_get_object(ext));
962
+ bool SafeX509SubjectAltNamePrint(const BIOPointer& out,
963
+ const X509_EXTENSION* ext) {
964
+ // const_cast needed for OpenSSL < 4.0 which lacks const-correctness
965
+ auto* mext = const_cast<X509_EXTENSION*>(ext);
966
+ auto ret = OBJ_obj2nid(X509_EXTENSION_get_object(mext));
949
967
  if (ret != NID_subject_alt_name) return false;
950
968
 
951
- GENERAL_NAMES* names = static_cast<GENERAL_NAMES*>(X509V3_EXT_d2i(ext));
969
+ GENERAL_NAMES* names = static_cast<GENERAL_NAMES*>(X509V3_EXT_d2i(mext));
952
970
  if (names == nullptr) return false;
953
971
 
954
972
  bool ok = true;
@@ -967,12 +985,14 @@ bool SafeX509SubjectAltNamePrint(const BIOPointer& out, X509_EXTENSION* ext) {
967
985
  return ok;
968
986
  }
969
987
 
970
- bool SafeX509InfoAccessPrint(const BIOPointer& out, X509_EXTENSION* ext) {
971
- auto ret = OBJ_obj2nid(X509_EXTENSION_get_object(ext));
988
+ bool SafeX509InfoAccessPrint(const BIOPointer& out, const X509_EXTENSION* ext) {
989
+ // const_cast needed for OpenSSL < 4.0 which lacks const-correctness
990
+ auto* mext = const_cast<X509_EXTENSION*>(ext);
991
+ auto ret = OBJ_obj2nid(X509_EXTENSION_get_object(mext));
972
992
  if (ret != NID_info_access) return false;
973
993
 
974
994
  AUTHORITY_INFO_ACCESS* descs =
975
- static_cast<AUTHORITY_INFO_ACCESS*>(X509V3_EXT_d2i(ext));
995
+ static_cast<AUTHORITY_INFO_ACCESS*>(X509V3_EXT_d2i(mext));
976
996
  if (descs == nullptr) return false;
977
997
 
978
998
  bool ok = true;
@@ -1116,7 +1136,7 @@ BIOPointer X509View::getValidFrom() const {
1116
1136
  if (cert_ == nullptr) return {};
1117
1137
  BIOPointer bio(BIO_new(BIO_s_mem()));
1118
1138
  if (!bio) return {};
1119
- ASN1_TIME_print(bio.get(), X509_get_notBefore(cert_));
1139
+ ASN1_TIME_print(bio.get(), X509_get0_notBefore(cert_));
1120
1140
  return bio;
1121
1141
  }
1122
1142
 
@@ -1125,7 +1145,7 @@ BIOPointer X509View::getValidTo() const {
1125
1145
  if (cert_ == nullptr) return {};
1126
1146
  BIOPointer bio(BIO_new(BIO_s_mem()));
1127
1147
  if (!bio) return {};
1128
- ASN1_TIME_print(bio.get(), X509_get_notAfter(cert_));
1148
+ ASN1_TIME_print(bio.get(), X509_get0_notAfter(cert_));
1129
1149
  return bio;
1130
1150
  }
1131
1151
 
@@ -1515,6 +1535,7 @@ BIOPointer BIOPointer::NewSecMem() {
1515
1535
  }
1516
1536
 
1517
1537
  BIOPointer BIOPointer::New(const BIO_METHOD* method) {
1538
+ if (method == nullptr) return {};
1518
1539
  return BIOPointer(BIO_new(method));
1519
1540
  }
1520
1541
 
@@ -3402,19 +3423,21 @@ bool CipherCtxPointer::setKeyLength(size_t length) {
3402
3423
  bool CipherCtxPointer::setIvLength(size_t length) {
3403
3424
  if (!ctx_) return false;
3404
3425
  return EVP_CIPHER_CTX_ctrl(
3405
- ctx_.get(), EVP_CTRL_AEAD_SET_IVLEN, length, nullptr);
3426
+ ctx_.get(), EVP_CTRL_AEAD_SET_IVLEN, length, nullptr) > 0;
3406
3427
  }
3407
3428
 
3408
3429
  bool CipherCtxPointer::setAeadTag(const Buffer<const char>& tag) {
3409
3430
  if (!ctx_) return false;
3410
- return EVP_CIPHER_CTX_ctrl(
3411
- ctx_.get(), EVP_CTRL_AEAD_SET_TAG, tag.len, const_cast<char*>(tag.data));
3431
+ return EVP_CIPHER_CTX_ctrl(ctx_.get(),
3432
+ EVP_CTRL_AEAD_SET_TAG,
3433
+ tag.len,
3434
+ const_cast<char*>(tag.data)) > 0;
3412
3435
  }
3413
3436
 
3414
3437
  bool CipherCtxPointer::setAeadTagLength(size_t length) {
3415
3438
  if (!ctx_) return false;
3416
3439
  return EVP_CIPHER_CTX_ctrl(
3417
- ctx_.get(), EVP_CTRL_AEAD_SET_TAG, length, nullptr);
3440
+ ctx_.get(), EVP_CTRL_AEAD_SET_TAG, length, nullptr) > 0;
3418
3441
  }
3419
3442
 
3420
3443
  bool CipherCtxPointer::setPadding(bool padding) {
@@ -3484,7 +3507,7 @@ bool CipherCtxPointer::update(const Buffer<const unsigned char>& in,
3484
3507
 
3485
3508
  bool CipherCtxPointer::getAeadTag(size_t len, unsigned char* out) {
3486
3509
  if (!ctx_) return false;
3487
- return EVP_CIPHER_CTX_ctrl(ctx_.get(), EVP_CTRL_AEAD_GET_TAG, len, out);
3510
+ return EVP_CIPHER_CTX_ctrl(ctx_.get(), EVP_CTRL_AEAD_GET_TAG, len, out) > 0;
3488
3511
  }
3489
3512
 
3490
3513
  // ============================================================================
@@ -3667,8 +3690,38 @@ bool ECKeyPointer::setPublicKey(const ECPointPointer& pub) {
3667
3690
  bool ECKeyPointer::setPublicKeyRaw(const BignumPointer& x,
3668
3691
  const BignumPointer& y) {
3669
3692
  if (!key_) return false;
3670
- return EC_KEY_set_public_key_affine_coordinates(
3671
- key_.get(), x.get(), y.get()) == 1;
3693
+ const EC_GROUP* group = EC_KEY_get0_group(key_.get());
3694
+ if (group == nullptr) return false;
3695
+
3696
+ // For curves with cofactor h=1, use EC_POINT_oct2point +
3697
+ // EC_KEY_set_public_key instead of EC_KEY_set_public_key_affine_coordinates.
3698
+ // The latter internally calls EC_KEY_check_key() which performs a scalar
3699
+ // multiplication (n*Q) for order validation — redundant when h=1 since every
3700
+ // on-curve point already has order n. EC_POINT_oct2point validates the point
3701
+ // is on the curve, which is sufficient. For curves with h!=1, fall back to
3702
+ // the full check.
3703
+ auto cofactor = BignumPointer::New();
3704
+ if (!cofactor || !EC_GROUP_get_cofactor(group, cofactor.get(), nullptr) ||
3705
+ !cofactor.isOne()) {
3706
+ return EC_KEY_set_public_key_affine_coordinates(
3707
+ key_.get(), x.get(), y.get()) == 1;
3708
+ }
3709
+
3710
+ // Field element byte length: ceil(degree_bits / 8).
3711
+ size_t field_len = (EC_GROUP_get_degree(group) + 7) / 8;
3712
+ // Build an uncompressed point: 0x04 || x || y, each padded to field_len.
3713
+ size_t uncompressed_len = 1 + 2 * field_len;
3714
+ auto buf = DataPointer::Alloc(uncompressed_len);
3715
+ if (!buf) return false;
3716
+ unsigned char* ptr = static_cast<unsigned char*>(buf.get());
3717
+ ptr[0] = POINT_CONVERSION_UNCOMPRESSED;
3718
+ x.encodePaddedInto(ptr + 1, field_len);
3719
+ y.encodePaddedInto(ptr + 1 + field_len, field_len);
3720
+
3721
+ auto point = ECPointPointer::New(group);
3722
+ if (!point) return false;
3723
+ if (!point.setFromBuffer({ptr, uncompressed_len}, group)) return false;
3724
+ return EC_KEY_set_public_key(key_.get(), point.get()) == 1;
3672
3725
  }
3673
3726
 
3674
3727
  bool ECKeyPointer::setPrivateKey(const BignumPointer& priv) {
@@ -4490,6 +4543,27 @@ std::optional<EVP_PKEY_CTX*> EVPMDCtxPointer::signInitWithContext(
4490
4543
  #ifdef OSSL_SIGNATURE_PARAM_CONTEXT_STRING
4491
4544
  EVP_PKEY_CTX* ctx = nullptr;
4492
4545
 
4546
+ #ifdef OSSL_SIGNATURE_PARAM_INSTANCE
4547
+ // Ed25519 requires the INSTANCE param to switch into Ed25519ctx mode.
4548
+ // Without it, OpenSSL silently ignores the context string.
4549
+ if (key.id() == EVP_PKEY_ED25519) {
4550
+ const OSSL_PARAM params[] = {
4551
+ OSSL_PARAM_construct_utf8_string(
4552
+ OSSL_SIGNATURE_PARAM_INSTANCE, const_cast<char*>("Ed25519ctx"), 0),
4553
+ OSSL_PARAM_construct_octet_string(
4554
+ OSSL_SIGNATURE_PARAM_CONTEXT_STRING,
4555
+ const_cast<unsigned char*>(context_string.data),
4556
+ context_string.len),
4557
+ OSSL_PARAM_END};
4558
+
4559
+ if (!EVP_DigestSignInit_ex(
4560
+ ctx_.get(), &ctx, nullptr, nullptr, nullptr, key.get(), params)) {
4561
+ return std::nullopt;
4562
+ }
4563
+ return ctx;
4564
+ }
4565
+ #endif // OSSL_SIGNATURE_PARAM_INSTANCE
4566
+
4493
4567
  const OSSL_PARAM params[] = {
4494
4568
  OSSL_PARAM_construct_octet_string(
4495
4569
  OSSL_SIGNATURE_PARAM_CONTEXT_STRING,
@@ -4514,6 +4588,27 @@ std::optional<EVP_PKEY_CTX*> EVPMDCtxPointer::verifyInitWithContext(
4514
4588
  #ifdef OSSL_SIGNATURE_PARAM_CONTEXT_STRING
4515
4589
  EVP_PKEY_CTX* ctx = nullptr;
4516
4590
 
4591
+ #ifdef OSSL_SIGNATURE_PARAM_INSTANCE
4592
+ // Ed25519 requires the INSTANCE param to switch into Ed25519ctx mode.
4593
+ // Without it, OpenSSL silently ignores the context string.
4594
+ if (key.id() == EVP_PKEY_ED25519) {
4595
+ const OSSL_PARAM params[] = {
4596
+ OSSL_PARAM_construct_utf8_string(
4597
+ OSSL_SIGNATURE_PARAM_INSTANCE, const_cast<char*>("Ed25519ctx"), 0),
4598
+ OSSL_PARAM_construct_octet_string(
4599
+ OSSL_SIGNATURE_PARAM_CONTEXT_STRING,
4600
+ const_cast<unsigned char*>(context_string.data),
4601
+ context_string.len),
4602
+ OSSL_PARAM_END};
4603
+
4604
+ if (!EVP_DigestVerifyInit_ex(
4605
+ ctx_.get(), &ctx, nullptr, nullptr, nullptr, key.get(), params)) {
4606
+ return std::nullopt;
4607
+ }
4608
+ return ctx;
4609
+ }
4610
+ #endif // OSSL_SIGNATURE_PARAM_INSTANCE
4611
+
4517
4612
  const OSSL_PARAM params[] = {
4518
4613
  OSSL_PARAM_construct_octet_string(
4519
4614
  OSSL_SIGNATURE_PARAM_CONTEXT_STRING,
@@ -4812,12 +4907,12 @@ bool X509Name::Iterator::operator!=(const Iterator& other) const {
4812
4907
  std::pair<std::string, std::string> X509Name::Iterator::operator*() const {
4813
4908
  if (loc_ == name_.total_) return {{}, {}};
4814
4909
 
4815
- X509_NAME_ENTRY* entry = X509_NAME_get_entry(name_, loc_);
4910
+ const X509_NAME_ENTRY* entry = X509_NAME_get_entry(name_, loc_);
4816
4911
  if (entry == nullptr) [[unlikely]]
4817
4912
  return {{}, {}};
4818
4913
 
4819
- ASN1_OBJECT* name = X509_NAME_ENTRY_get_object(entry);
4820
- ASN1_STRING* value = X509_NAME_ENTRY_get_data(entry);
4914
+ const ASN1_OBJECT* name = X509_NAME_ENTRY_get_object(entry);
4915
+ const ASN1_STRING* value = X509_NAME_ENTRY_get_data(entry);
4821
4916
 
4822
4917
  if (name == nullptr || value == nullptr) [[unlikely]] {
4823
4918
  return {{}, {}};
@@ -17,23 +17,72 @@ function getNative() {
17
17
  }
18
18
  const ARGON2_VERSION = 0x13; // v1.3
19
19
 
20
+ // RFC 9106 § 3.1: Argon2 input/parameter constraints.
21
+ // p (parallelism) 1 ≤ p ≤ 2^24 - 1
22
+ // T (tag length) 4 ≤ T ≤ 2^32 - 1
23
+ // m (memory in KiB) 8*p ≤ m ≤ 2^32 - 1
24
+ // t (passes) 1 ≤ t ≤ 2^32 - 1
25
+ // |salt| (nonce) 8 ≤ |s| ≤ 2^32 - 1
26
+ // v (version) 0x10 (v1.0) or 0x13 (v1.3)
27
+ const ARGON2_MAX_U24 = 0xff_ffff;
28
+ const ARGON2_MAX_U32 = 0xffff_ffff;
29
+ function isUInt(value, max) {
30
+ return typeof value === 'number' && Number.isFinite(value) && Number.isInteger(value) && value >= 0 && value <= max;
31
+ }
20
32
  function validateAlgorithm(algorithm) {
21
33
  if (algorithm !== 'argon2d' && algorithm !== 'argon2i' && algorithm !== 'argon2id') {
22
34
  throw new TypeError(`Unknown argon2 algorithm: ${algorithm}`);
23
35
  }
24
36
  }
37
+
38
+ // Returns the resolved nonce ArrayBuffer so the caller can pass it
39
+ // straight to native without re-resolving `params.nonce`.
40
+ function validateArgon2Params(params, version) {
41
+ if (!isUInt(params.parallelism, ARGON2_MAX_U24) || params.parallelism < 1) {
42
+ throw new RangeError(`Invalid Argon2 parallelism: ${params.parallelism} ` + `(RFC 9106: 1 ≤ p ≤ 2^24 - 1)`);
43
+ }
44
+ if (!isUInt(params.tagLength, ARGON2_MAX_U32) || params.tagLength < 4) {
45
+ throw new RangeError(`Invalid Argon2 tagLength: ${params.tagLength} ` + `(RFC 9106: 4 ≤ T ≤ 2^32 - 1)`);
46
+ }
47
+ const minMemory = 8 * params.parallelism;
48
+ if (!isUInt(params.memory, ARGON2_MAX_U32) || params.memory < minMemory) {
49
+ throw new RangeError(`Invalid Argon2 memory: ${params.memory} KiB ` + `(RFC 9106: 8 * p (= ${minMemory}) ≤ m ≤ 2^32 - 1)`);
50
+ }
51
+ if (!isUInt(params.passes, ARGON2_MAX_U32) || params.passes < 1) {
52
+ throw new RangeError(`Invalid Argon2 passes: ${params.passes} ` + `(RFC 9106: 1 ≤ t ≤ 2^32 - 1)`);
53
+ }
54
+ if (version !== 0x10 && version !== 0x13) {
55
+ throw new RangeError(`Invalid Argon2 version: 0x${version.toString(16)} ` + `(RFC 9106: 0x10 or 0x13)`);
56
+ }
57
+ // Salt (nonce) must be 8..2^32 - 1 bytes — measured against the resolved
58
+ // ArrayBuffer because BinaryLike accepts strings whose UTF-8 length is
59
+ // what actually reaches OpenSSL.
60
+ const nonceAB = (0, _utils.binaryLikeToArrayBuffer)(params.nonce);
61
+ if (nonceAB.byteLength < 8 || nonceAB.byteLength > ARGON2_MAX_U32) {
62
+ throw new RangeError(`Invalid Argon2 nonce length: ${nonceAB.byteLength} bytes ` + `(RFC 9106: 8 ≤ |s| ≤ 2^32 - 1)`);
63
+ }
64
+ return nonceAB;
65
+ }
25
66
  function toAB(value) {
26
67
  return (0, _utils.binaryLikeToArrayBuffer)(value);
27
68
  }
28
69
  function argon2Sync(algorithm, params) {
29
70
  validateAlgorithm(algorithm);
30
71
  const version = params.version ?? ARGON2_VERSION;
31
- const result = getNative().hashSync(algorithm, toAB(params.message), toAB(params.nonce), params.parallelism, params.tagLength, params.memory, params.passes, version, params.secret ? toAB(params.secret) : undefined, params.associatedData ? toAB(params.associatedData) : undefined);
72
+ const nonceAB = validateArgon2Params(params, version);
73
+ const result = getNative().hashSync(algorithm, toAB(params.message), nonceAB, params.parallelism, params.tagLength, params.memory, params.passes, version, params.secret ? toAB(params.secret) : undefined, params.associatedData ? toAB(params.associatedData) : undefined);
32
74
  return _reactNativeBuffer.Buffer.from(result);
33
75
  }
34
76
  function argon2(algorithm, params, callback) {
35
77
  validateAlgorithm(algorithm);
36
78
  const version = params.version ?? ARGON2_VERSION;
37
- getNative().hash(algorithm, toAB(params.message), toAB(params.nonce), params.parallelism, params.tagLength, params.memory, params.passes, version, params.secret ? toAB(params.secret) : undefined, params.associatedData ? toAB(params.associatedData) : undefined).then(ab => callback(null, _reactNativeBuffer.Buffer.from(ab))).catch(err => callback(err, _reactNativeBuffer.Buffer.alloc(0)));
79
+ let nonceAB;
80
+ try {
81
+ nonceAB = validateArgon2Params(params, version);
82
+ } catch (err) {
83
+ callback(err, _reactNativeBuffer.Buffer.alloc(0));
84
+ return;
85
+ }
86
+ getNative().hash(algorithm, toAB(params.message), nonceAB, params.parallelism, params.tagLength, params.memory, params.passes, version, params.secret ? toAB(params.secret) : undefined, params.associatedData ? toAB(params.associatedData) : undefined).then(ab => callback(null, _reactNativeBuffer.Buffer.from(ab))).catch(err => callback(err, _reactNativeBuffer.Buffer.alloc(0)));
38
87
  }
39
88
  //# sourceMappingURL=argon2.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeBuffer","require","_reactNativeNitroModules","_utils","native","getNative","NitroModules","createHybridObject","ARGON2_VERSION","validateAlgorithm","algorithm","TypeError","toAB","value","binaryLikeToArrayBuffer","argon2Sync","params","version","result","hashSync","message","nonce","parallelism","tagLength","memory","passes","secret","undefined","associatedData","Buffer","from","argon2","callback","hash","then","ab","catch","err","alloc"],"sourceRoot":"../../src","sources":["argon2.ts"],"mappings":";;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAGA,IAAIG,MAAoB;AACxB,SAASC,SAASA,CAAA,EAAiB;EACjC,IAAID,MAAM,IAAI,IAAI,EAAE;IAClBA,MAAM,GAAGE,qCAAY,CAACC,kBAAkB,CAAe,QAAQ,CAAC;EAClE;EACA,OAAOH,MAAM;AACf;AAcA,MAAMI,cAAc,GAAG,IAAI,CAAC,CAAC;;AAE7B,SAASC,iBAAiBA,CAACC,SAAiB,EAAQ;EAClD,IACEA,SAAS,KAAK,SAAS,IACvBA,SAAS,KAAK,SAAS,IACvBA,SAAS,KAAK,UAAU,EACxB;IACA,MAAM,IAAIC,SAAS,CAAC,6BAA6BD,SAAS,EAAE,CAAC;EAC/D;AACF;AAEA,SAASE,IAAIA,CAACC,KAAiB,EAAe;EAC5C,OAAO,IAAAC,8BAAuB,EAACD,KAAK,CAAC;AACvC;AAEO,SAASE,UAAUA,CAACL,SAAiB,EAAEM,MAAoB,EAAU;EAC1EP,iBAAiB,CAACC,SAAS,CAAC;EAC5B,MAAMO,OAAO,GAAGD,MAAM,CAACC,OAAO,IAAIT,cAAc;EAChD,MAAMU,MAAM,GAAGb,SAAS,CAAC,CAAC,CAACc,QAAQ,CACjCT,SAAS,EACTE,IAAI,CAACI,MAAM,CAACI,OAAO,CAAC,EACpBR,IAAI,CAACI,MAAM,CAACK,KAAK,CAAC,EAClBL,MAAM,CAACM,WAAW,EAClBN,MAAM,CAACO,SAAS,EAChBP,MAAM,CAACQ,MAAM,EACbR,MAAM,CAACS,MAAM,EACbR,OAAO,EACPD,MAAM,CAACU,MAAM,GAAGd,IAAI,CAACI,MAAM,CAACU,MAAM,CAAC,GAAGC,SAAS,EAC/CX,MAAM,CAACY,cAAc,GAAGhB,IAAI,CAACI,MAAM,CAACY,cAAc,CAAC,GAAGD,SACxD,CAAC;EACD,OAAOE,yBAAM,CAACC,IAAI,CAACZ,MAAM,CAAC;AAC5B;AAEO,SAASa,MAAMA,CACpBrB,SAAiB,EACjBM,MAAoB,EACpBgB,QAAqD,EAC/C;EACNvB,iBAAiB,CAACC,SAAS,CAAC;EAC5B,MAAMO,OAAO,GAAGD,MAAM,CAACC,OAAO,IAAIT,cAAc;EAChDH,SAAS,CAAC,CAAC,CACR4B,IAAI,CACHvB,SAAS,EACTE,IAAI,CAACI,MAAM,CAACI,OAAO,CAAC,EACpBR,IAAI,CAACI,MAAM,CAACK,KAAK,CAAC,EAClBL,MAAM,CAACM,WAAW,EAClBN,MAAM,CAACO,SAAS,EAChBP,MAAM,CAACQ,MAAM,EACbR,MAAM,CAACS,MAAM,EACbR,OAAO,EACPD,MAAM,CAACU,MAAM,GAAGd,IAAI,CAACI,MAAM,CAACU,MAAM,CAAC,GAAGC,SAAS,EAC/CX,MAAM,CAACY,cAAc,GAAGhB,IAAI,CAACI,MAAM,CAACY,cAAc,CAAC,GAAGD,SACxD,CAAC,CACAO,IAAI,CAACC,EAAE,IAAIH,QAAQ,CAAC,IAAI,EAAEH,yBAAM,CAACC,IAAI,CAACK,EAAE,CAAC,CAAC,CAAC,CAC3CC,KAAK,CAAEC,GAAU,IAAKL,QAAQ,CAACK,GAAG,EAAER,yBAAM,CAACS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeBuffer","require","_reactNativeNitroModules","_utils","native","getNative","NitroModules","createHybridObject","ARGON2_VERSION","ARGON2_MAX_U24","ARGON2_MAX_U32","isUInt","value","max","Number","isFinite","isInteger","validateAlgorithm","algorithm","TypeError","validateArgon2Params","params","version","parallelism","RangeError","tagLength","minMemory","memory","passes","toString","nonceAB","binaryLikeToArrayBuffer","nonce","byteLength","toAB","argon2Sync","result","hashSync","message","secret","undefined","associatedData","Buffer","from","argon2","callback","err","alloc","hash","then","ab","catch"],"sourceRoot":"../../src","sources":["argon2.ts"],"mappings":"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","ignoreList":[]}
@@ -33,6 +33,80 @@ function getCipherInfo(name, options) {
33
33
  if (typeof name !== 'string' || name.length === 0) return undefined;
34
34
  return CipherUtils.getCipherInfo(name, options?.keyLength, options?.ivLength);
35
35
  }
36
+
37
+ // libsodium ciphers aren't visible to OpenSSL's EVP_CIPHER_fetch, so
38
+ // getCipherInfo() returns undefined for them. Hard-code the (key, iv)
39
+ // byte-lengths the C++ factory will accept.
40
+ const LIBSODIUM_CIPHER_PARAMS = {
41
+ xsalsa20: {
42
+ keyLength: 32,
43
+ ivLength: 24
44
+ },
45
+ 'xsalsa20-poly1305': {
46
+ keyLength: 32,
47
+ ivLength: 24
48
+ },
49
+ 'xchacha20-poly1305': {
50
+ keyLength: 32,
51
+ ivLength: 24
52
+ }
53
+ };
54
+ function validateCipherParams(cipherType, keyByteLength, ivByteLength) {
55
+ if (typeof cipherType !== 'string' || cipherType.length === 0) {
56
+ throw new TypeError('cipher algorithm must be a non-empty string');
57
+ }
58
+ // ArrayBuffer.byteLength is always a non-negative integer, so the only
59
+ // out-of-range value we need to guard is 0 — empty key buffers must not
60
+ // reach OpenSSL's EVP_CipherInit_ex.
61
+ if (keyByteLength === 0) {
62
+ throw new RangeError(`Invalid key length 0 for cipher ${cipherType}`);
63
+ }
64
+ const lower = cipherType.toLowerCase();
65
+ const sodium = LIBSODIUM_CIPHER_PARAMS[lower];
66
+ if (sodium) {
67
+ // libsodium parlance: "nonce" rather than "iv". Phrase the expected
68
+ // size as a natural-language clause so callers asserting on either
69
+ // `key must be N bytes` or `Invalid key length N` both match.
70
+ if (keyByteLength !== sodium.keyLength) {
71
+ throw new RangeError(`Invalid key length ${keyByteLength} for cipher ${cipherType} ` + `(key must be ${sodium.keyLength} bytes)`);
72
+ }
73
+ if (ivByteLength !== sodium.ivLength) {
74
+ throw new RangeError(`Invalid nonce length ${ivByteLength} for cipher ${cipherType} ` + `(nonce must be ${sodium.ivLength} bytes)`);
75
+ }
76
+ return;
77
+ }
78
+
79
+ // OpenSSL path. Look up the cipher's defaults once. Most callers pass
80
+ // exactly the cipher's default key/iv lengths (e.g. AES-128-CBC always
81
+ // wants 16/16) — short-circuit those to a single native round-trip.
82
+ // Variable-length ciphers (GCM, CCM, OCB, ChaCha20-Poly1305) fall through
83
+ // to per-parameter validation calls so the error message can name which
84
+ // of {key, iv} is wrong.
85
+ const info = CipherUtils.getCipherInfo(cipherType);
86
+ if (info === undefined) {
87
+ throw new TypeError(`Unsupported or unknown cipher type: ${cipherType}`);
88
+ }
89
+ const expectedIv = info.ivLength ?? 0;
90
+ if (expectedIv === 0 && ivByteLength > 0) {
91
+ throw new RangeError(`Cipher ${cipherType} does not use an iv (got ${ivByteLength} bytes)`);
92
+ }
93
+ if (expectedIv > 0 && ivByteLength === 0) {
94
+ throw new RangeError(`Cipher ${cipherType} requires an iv but none was provided`);
95
+ }
96
+
97
+ // Fast path: lengths match the cipher's defaults exactly.
98
+ if (info.keyLength === keyByteLength && expectedIv === ivByteLength) {
99
+ return;
100
+ }
101
+
102
+ // Variable-length: verify against native one parameter at a time.
103
+ if (CipherUtils.getCipherInfo(cipherType, keyByteLength, undefined) === undefined) {
104
+ throw new RangeError(`Invalid key length ${keyByteLength} for cipher ${cipherType}`);
105
+ }
106
+ if (expectedIv > 0 && CipherUtils.getCipherInfo(cipherType, undefined, ivByteLength) === undefined) {
107
+ throw new RangeError(`Invalid iv length ${ivByteLength} for cipher ${cipherType}`);
108
+ }
109
+ }
36
110
  class CipherCommon extends _readableStream.default.Transform {
37
111
  _decoder = null;
38
112
  _decoderEncoding = undefined;
@@ -59,14 +133,17 @@ class CipherCommon extends _readableStream.default.Transform {
59
133
  }
60
134
  super(streamOptions); // Pass filtered options
61
135
 
62
- const authTagLen = (0, _cipher.getUIntOption)(options ?? {}, 'authTagLength') !== -1 ? (0, _cipher.getUIntOption)(options ?? {}, 'authTagLength') : 16; // defaults to 16 bytes
63
-
136
+ // defaults to 16 bytes for AEAD modes; non-AEAD callers ignore it.
137
+ const authTagLen = (0, _cipher.getUIntOption)(options, 'authTagLength') ?? 16;
138
+ const cipherKeyAB = (0, _utils.binaryLikeToArrayBuffer)(cipherKey);
139
+ const ivAB = (0, _utils.binaryLikeToArrayBuffer)(iv);
140
+ validateCipherParams(cipherType, cipherKeyAB.byteLength, ivAB.byteLength);
64
141
  const factory = _reactNativeNitroModules.NitroModules.createHybridObject('CipherFactory');
65
142
  this.native = factory.createCipher({
66
143
  isCipher,
67
144
  cipherType,
68
- cipherKey: (0, _utils.binaryLikeToArrayBuffer)(cipherKey),
69
- iv: (0, _utils.binaryLikeToArrayBuffer)(iv),
145
+ cipherKey: cipherKeyAB,
146
+ iv: ivAB,
70
147
  authTagLen
71
148
  });
72
149
  }
@@ -102,13 +179,27 @@ class CipherCommon extends _readableStream.default.Transform {
102
179
  }
103
180
  return _reactNativeBuffer.Buffer.from(ret);
104
181
  }
182
+
183
+ // Stream interface — surface synchronous errors (bad encoding,
184
+ // OpenSSL EVP failures, AEAD tag mismatch in `final()`, etc.) via
185
+ // the callback so they emit as stream 'error' events instead of
186
+ // throwing out of the Transform plumbing and crashing the host
187
+ // pipeline.
105
188
  _transform(chunk, encoding, callback) {
106
- this.push(this.update(chunk, (0, _cipher.normalizeEncoding)(encoding)));
107
- callback();
189
+ try {
190
+ this.push(this.update(chunk, (0, _cipher.normalizeEncoding)(encoding)));
191
+ callback();
192
+ } catch (err) {
193
+ callback(err);
194
+ }
108
195
  }
109
196
  _flush(callback) {
110
- this.push(this.final());
111
- callback();
197
+ try {
198
+ this.push(this.final());
199
+ callback();
200
+ } catch (err) {
201
+ callback(err);
202
+ }
112
203
  }
113
204
  setAutoPadding(autoPadding) {
114
205
  const res = this.native.setAutoPadding(!!autoPadding);
@@ -122,7 +213,11 @@ class CipherCommon extends _readableStream.default.Transform {
122
213
  if (!this.native || typeof this.native.setAAD !== 'function') {
123
214
  throw new Error('Cipher native object or setAAD method not initialized.');
124
215
  }
125
- const res = this.native.setAAD(buffer.buffer, options?.plaintextLength);
216
+ // Use binaryLikeToArrayBuffer (not `buffer.buffer`) so that sliced /
217
+ // offset views send only the AAD bytes the caller intended. Passing the
218
+ // raw backing ArrayBuffer authenticates the wrong data and silently
219
+ // breaks the AEAD integrity guarantee.
220
+ const res = this.native.setAAD((0, _utils.binaryLikeToArrayBuffer)(buffer), options?.plaintextLength);
126
221
  if (!res) {
127
222
  throw new Error('setAAD failed (native call returned false)');
128
223
  }
@@ -188,12 +283,15 @@ output,
188
283
  // @ts-expect-error haven't implemented this part of @noble/ciphers API
189
284
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
190
285
  counter) {
286
+ const cipherKeyAB = (0, _utils.binaryLikeToArrayBuffer)(key);
287
+ const ivAB = (0, _utils.binaryLikeToArrayBuffer)(nonce);
288
+ validateCipherParams('xsalsa20', cipherKeyAB.byteLength, ivAB.byteLength);
191
289
  const factory = _reactNativeNitroModules.NitroModules.createHybridObject('CipherFactory');
192
290
  const native = factory.createCipher({
193
291
  isCipher: true,
194
292
  cipherType: 'xsalsa20',
195
- cipherKey: (0, _utils.binaryLikeToArrayBuffer)(key),
196
- iv: (0, _utils.binaryLikeToArrayBuffer)(nonce)
293
+ cipherKey: cipherKeyAB,
294
+ iv: ivAB
197
295
  });
198
296
  const result = native.update((0, _utils.binaryLikeToArrayBuffer)(data));
199
297
  return new Uint8Array(result);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeNitroModules","require","_readableStream","_interopRequireDefault","_string_decoder","_reactNativeBuffer","_utils","_cipher","e","__esModule","default","CipherUtils","native","NitroModules","createHybridObject","getSupportedCiphers","getCipherInfo","name","keyLength","ivLength","getCiphers","options","length","undefined","CipherCommon","Stream","Transform","_decoder","_decoderEncoding","constructor","isCipher","cipherType","cipherKey","iv","streamOptions","transformKeys","key","authTagLen","getUIntOption","factory","createCipher","binaryLikeToArrayBuffer","getDecoder","encoding","normalized","normalizeEncoding","StringDecoder","Error","update","data","inputEncoding","outputEncoding","defaultEncoding","getDefaultEncoding","validateEncoding","ArrayBuffer","isView","ret","write","Buffer","from","final","end","_transform","chunk","callback","push","_flush","setAutoPadding","autoPadding","res","setAAD","buffer","plaintextLength","getAuthTag","setAuthTag","tag","Cipheriv","Decipheriv","createDecipheriv","algorithm","createCipheriv","xsalsa20","nonce","output","counter","result","Uint8Array"],"sourceRoot":"../../src","sources":["cipher.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeNitroModules","require","_readableStream","_interopRequireDefault","_string_decoder","_reactNativeBuffer","_utils","_cipher","e","__esModule","default","CipherUtils","native","NitroModules","createHybridObject","getSupportedCiphers","getCipherInfo","name","keyLength","ivLength","getCiphers","options","length","undefined","LIBSODIUM_CIPHER_PARAMS","xsalsa20","validateCipherParams","cipherType","keyByteLength","ivByteLength","TypeError","RangeError","lower","toLowerCase","sodium","info","expectedIv","CipherCommon","Stream","Transform","_decoder","_decoderEncoding","constructor","isCipher","cipherKey","iv","streamOptions","transformKeys","key","authTagLen","getUIntOption","cipherKeyAB","binaryLikeToArrayBuffer","ivAB","byteLength","factory","createCipher","getDecoder","encoding","normalized","normalizeEncoding","StringDecoder","Error","update","data","inputEncoding","outputEncoding","defaultEncoding","getDefaultEncoding","validateEncoding","ArrayBuffer","isView","ret","write","Buffer","from","final","end","_transform","chunk","callback","push","err","_flush","setAutoPadding","autoPadding","res","setAAD","buffer","plaintextLength","getAuthTag","setAuthTag","tag","Cipheriv","Decipheriv","createDecipheriv","algorithm","createCipheriv","nonce","output","counter","result","Uint8Array"],"sourceRoot":"../../src","sources":["cipher.ts"],"mappings":"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","ignoreList":[]}
@@ -69,6 +69,9 @@ function dh_formatKeyPairOutput(dh, encoding) {
69
69
  const priv = _classes.KeyObject.createKeyObject('private', privateKeyData, _utils.KFormatType.DER, _utils.KeyEncoding.PKCS8);
70
70
  let publicKey;
71
71
  let privateKey;
72
+ if (publicFormat === 'raw-public' || privateFormat === 'raw-private' || privateFormat === 'raw-seed') {
73
+ throw new Error('Raw key formats are not supported for DH keys');
74
+ }
72
75
  if (publicFormat === -1) {
73
76
  publicKey = pub;
74
77
  } else {