@scriptc/runtime 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/LICENSE +202 -0
  2. package/package.json +16 -6
  3. package/src/scr_array.c +488 -0
  4. package/src/scr_assert.c +1393 -0
  5. package/src/scr_async.c +2593 -0
  6. package/src/scr_async_dyn.c +607 -0
  7. package/src/scr_bytes.c +1425 -0
  8. package/src/scr_bytes_io.c +161 -0
  9. package/src/scr_child.c +3587 -0
  10. package/src/scr_closure.c +214 -0
  11. package/src/scr_console.c +143 -0
  12. package/src/scr_cycle.c +218 -0
  13. package/src/scr_dc.c +805 -0
  14. package/src/scr_dgram.c +1007 -0
  15. package/src/scr_dyn_handle.c +154 -0
  16. package/src/scr_dyn_invoke.c +644 -0
  17. package/src/scr_error.c +332 -0
  18. package/src/scr_events.c +714 -0
  19. package/src/scr_events_emitter.c +699 -0
  20. package/src/scr_exception.c +242 -0
  21. package/src/scr_fetch.c +1130 -0
  22. package/src/scr_fetch_curl.c +654 -0
  23. package/src/scr_http.c +3482 -0
  24. package/src/scr_http2.c +3030 -0
  25. package/src/scr_inspect.c +803 -0
  26. package/src/scr_inspect_island.c +51 -0
  27. package/src/scr_island.c +9363 -0
  28. package/src/scr_json.c +2151 -0
  29. package/src/scr_lib.c +3612 -0
  30. package/src/scr_loop_epoll.c +241 -0
  31. package/src/scr_loop_kqueue.c +121 -0
  32. package/src/scr_loop_wsapoll.c +208 -0
  33. package/src/scr_map.c +591 -0
  34. package/src/scr_net.c +3017 -0
  35. package/src/scr_net_island.c +458 -0
  36. package/src/scr_number.c +115 -0
  37. package/src/scr_object.c +25 -0
  38. package/src/scr_path.c +1266 -0
  39. package/src/scr_platform.h +119 -0
  40. package/src/scr_readline.c +287 -0
  41. package/src/scr_regex.c +1080 -0
  42. package/src/scr_runtime.h +5036 -0
  43. package/src/scr_stream.c +2877 -0
  44. package/src/scr_string.c +1176 -0
  45. package/src/scr_symbol.c +132 -0
  46. package/src/scr_test.c +662 -0
  47. package/src/scr_tls.c +1520 -0
  48. package/src/scr_union.c +105 -0
  49. package/src/scr_url.c +911 -0
  50. package/src/scr_url_internal.h +29 -0
  51. package/src/scr_url_params.c +561 -0
  52. package/src/scr_watch.c +568 -0
  53. package/src/scr_web.c +1778 -0
  54. package/src/scr_win.c +76 -0
  55. package/src/scr_zlib.c +197 -0
  56. package/src/scr_zlib_island.c +15 -0
  57. package/vendor/README.md +52 -0
  58. package/vendor/curl/COPYRIGHT +534 -0
  59. package/vendor/curl/include/curl/curl.h +3214 -0
  60. package/vendor/curl/include/curl/curlver.h +79 -0
  61. package/vendor/curl/include/curl/easy.h +125 -0
  62. package/vendor/curl/include/curl/header.h +74 -0
  63. package/vendor/curl/include/curl/mprintf.h +52 -0
  64. package/vendor/curl/include/curl/multi.h +460 -0
  65. package/vendor/curl/include/curl/options.h +70 -0
  66. package/vendor/curl/include/curl/stdcheaders.h +35 -0
  67. package/vendor/curl/include/curl/system.h +508 -0
  68. package/vendor/curl/include/curl/typecheck-gcc.h +716 -0
  69. package/vendor/curl/include/curl/urlapi.h +149 -0
  70. package/vendor/curl/include/curl/websockets.h +84 -0
  71. package/vendor/mbedtls/LICENSE +553 -0
  72. package/vendor/mbedtls/include/CMakeLists.txt +22 -0
  73. package/vendor/mbedtls/include/mbedtls/aes.h +631 -0
  74. package/vendor/mbedtls/include/mbedtls/aria.h +343 -0
  75. package/vendor/mbedtls/include/mbedtls/asn1.h +642 -0
  76. package/vendor/mbedtls/include/mbedtls/asn1write.h +390 -0
  77. package/vendor/mbedtls/include/mbedtls/base64.h +82 -0
  78. package/vendor/mbedtls/include/mbedtls/bignum.h +1088 -0
  79. package/vendor/mbedtls/include/mbedtls/block_cipher.h +76 -0
  80. package/vendor/mbedtls/include/mbedtls/build_info.h +194 -0
  81. package/vendor/mbedtls/include/mbedtls/camellia.h +305 -0
  82. package/vendor/mbedtls/include/mbedtls/ccm.h +526 -0
  83. package/vendor/mbedtls/include/mbedtls/chacha20.h +209 -0
  84. package/vendor/mbedtls/include/mbedtls/chachapoly.h +351 -0
  85. package/vendor/mbedtls/include/mbedtls/check_config.h +1149 -0
  86. package/vendor/mbedtls/include/mbedtls/cipher.h +1250 -0
  87. package/vendor/mbedtls/include/mbedtls/cmac.h +246 -0
  88. package/vendor/mbedtls/include/mbedtls/compat-2.x.h +46 -0
  89. package/vendor/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +578 -0
  90. package/vendor/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +873 -0
  91. package/vendor/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +359 -0
  92. package/vendor/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +145 -0
  93. package/vendor/mbedtls/include/mbedtls/config_adjust_ssl.h +91 -0
  94. package/vendor/mbedtls/include/mbedtls/config_adjust_x509.h +35 -0
  95. package/vendor/mbedtls/include/mbedtls/config_psa.h +61 -0
  96. package/vendor/mbedtls/include/mbedtls/constant_time.h +36 -0
  97. package/vendor/mbedtls/include/mbedtls/ctr_drbg.h +596 -0
  98. package/vendor/mbedtls/include/mbedtls/debug.h +156 -0
  99. package/vendor/mbedtls/include/mbedtls/des.h +385 -0
  100. package/vendor/mbedtls/include/mbedtls/dhm.h +972 -0
  101. package/vendor/mbedtls/include/mbedtls/ecdh.h +455 -0
  102. package/vendor/mbedtls/include/mbedtls/ecdsa.h +674 -0
  103. package/vendor/mbedtls/include/mbedtls/ecjpake.h +298 -0
  104. package/vendor/mbedtls/include/mbedtls/ecp.h +1517 -0
  105. package/vendor/mbedtls/include/mbedtls/entropy.h +274 -0
  106. package/vendor/mbedtls/include/mbedtls/error.h +201 -0
  107. package/vendor/mbedtls/include/mbedtls/gcm.h +387 -0
  108. package/vendor/mbedtls/include/mbedtls/hkdf.h +124 -0
  109. package/vendor/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
  110. package/vendor/mbedtls/include/mbedtls/lms.h +440 -0
  111. package/vendor/mbedtls/include/mbedtls/mbedtls_config.h +4446 -0
  112. package/vendor/mbedtls/include/mbedtls/md.h +526 -0
  113. package/vendor/mbedtls/include/mbedtls/md5.h +190 -0
  114. package/vendor/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
  115. package/vendor/mbedtls/include/mbedtls/net_sockets.h +299 -0
  116. package/vendor/mbedtls/include/mbedtls/nist_kw.h +166 -0
  117. package/vendor/mbedtls/include/mbedtls/oid.h +727 -0
  118. package/vendor/mbedtls/include/mbedtls/pem.h +160 -0
  119. package/vendor/mbedtls/include/mbedtls/pk.h +1303 -0
  120. package/vendor/mbedtls/include/mbedtls/pkcs12.h +186 -0
  121. package/vendor/mbedtls/include/mbedtls/pkcs5.h +198 -0
  122. package/vendor/mbedtls/include/mbedtls/pkcs7.h +252 -0
  123. package/vendor/mbedtls/include/mbedtls/platform.h +516 -0
  124. package/vendor/mbedtls/include/mbedtls/platform_time.h +79 -0
  125. package/vendor/mbedtls/include/mbedtls/platform_util.h +247 -0
  126. package/vendor/mbedtls/include/mbedtls/poly1305.h +168 -0
  127. package/vendor/mbedtls/include/mbedtls/private_access.h +20 -0
  128. package/vendor/mbedtls/include/mbedtls/psa_util.h +207 -0
  129. package/vendor/mbedtls/include/mbedtls/ripemd160.h +136 -0
  130. package/vendor/mbedtls/include/mbedtls/rsa.h +1170 -0
  131. package/vendor/mbedtls/include/mbedtls/sha1.h +219 -0
  132. package/vendor/mbedtls/include/mbedtls/sha256.h +200 -0
  133. package/vendor/mbedtls/include/mbedtls/sha3.h +172 -0
  134. package/vendor/mbedtls/include/mbedtls/sha512.h +208 -0
  135. package/vendor/mbedtls/include/mbedtls/ssl.h +5887 -0
  136. package/vendor/mbedtls/include/mbedtls/ssl_cache.h +187 -0
  137. package/vendor/mbedtls/include/mbedtls/ssl_ciphersuites.h +482 -0
  138. package/vendor/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
  139. package/vendor/mbedtls/include/mbedtls/ssl_ticket.h +199 -0
  140. package/vendor/mbedtls/include/mbedtls/threading.h +167 -0
  141. package/vendor/mbedtls/include/mbedtls/timing.h +94 -0
  142. package/vendor/mbedtls/include/mbedtls/version.h +78 -0
  143. package/vendor/mbedtls/include/mbedtls/x509.h +500 -0
  144. package/vendor/mbedtls/include/mbedtls/x509_crl.h +184 -0
  145. package/vendor/mbedtls/include/mbedtls/x509_crt.h +1208 -0
  146. package/vendor/mbedtls/include/mbedtls/x509_csr.h +382 -0
  147. package/vendor/mbedtls/include/psa/build_info.h +20 -0
  148. package/vendor/mbedtls/include/psa/crypto.h +4998 -0
  149. package/vendor/mbedtls/include/psa/crypto_adjust_auto_enabled.h +31 -0
  150. package/vendor/mbedtls/include/psa/crypto_adjust_config_dependencies.h +51 -0
  151. package/vendor/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +101 -0
  152. package/vendor/mbedtls/include/psa/crypto_adjust_config_synonyms.h +49 -0
  153. package/vendor/mbedtls/include/psa/crypto_builtin_composites.h +214 -0
  154. package/vendor/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
  155. package/vendor/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
  156. package/vendor/mbedtls/include/psa/crypto_compat.h +230 -0
  157. package/vendor/mbedtls/include/psa/crypto_config.h +145 -0
  158. package/vendor/mbedtls/include/psa/crypto_driver_common.h +44 -0
  159. package/vendor/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
  160. package/vendor/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
  161. package/vendor/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
  162. package/vendor/mbedtls/include/psa/crypto_extra.h +2145 -0
  163. package/vendor/mbedtls/include/psa/crypto_legacy.h +88 -0
  164. package/vendor/mbedtls/include/psa/crypto_platform.h +102 -0
  165. package/vendor/mbedtls/include/psa/crypto_se_driver.h +1383 -0
  166. package/vendor/mbedtls/include/psa/crypto_sizes.h +1319 -0
  167. package/vendor/mbedtls/include/psa/crypto_struct.h +527 -0
  168. package/vendor/mbedtls/include/psa/crypto_types.h +508 -0
  169. package/vendor/mbedtls/include/psa/crypto_values.h +2782 -0
  170. package/vendor/mbedtls/library/aes.c +2294 -0
  171. package/vendor/mbedtls/library/aesce.c +624 -0
  172. package/vendor/mbedtls/library/aesce.h +136 -0
  173. package/vendor/mbedtls/library/aesni.c +846 -0
  174. package/vendor/mbedtls/library/aesni.h +162 -0
  175. package/vendor/mbedtls/library/alignment.h +704 -0
  176. package/vendor/mbedtls/library/aria.c +969 -0
  177. package/vendor/mbedtls/library/asn1parse.c +468 -0
  178. package/vendor/mbedtls/library/asn1write.c +440 -0
  179. package/vendor/mbedtls/library/base64.c +322 -0
  180. package/vendor/mbedtls/library/base64_internal.h +45 -0
  181. package/vendor/mbedtls/library/bignum.c +2583 -0
  182. package/vendor/mbedtls/library/bignum_core.c +1240 -0
  183. package/vendor/mbedtls/library/bignum_core.h +872 -0
  184. package/vendor/mbedtls/library/bignum_core_invasive.h +38 -0
  185. package/vendor/mbedtls/library/bignum_internal.h +122 -0
  186. package/vendor/mbedtls/library/bignum_mod.c +394 -0
  187. package/vendor/mbedtls/library/bignum_mod.h +452 -0
  188. package/vendor/mbedtls/library/bignum_mod_raw.c +276 -0
  189. package/vendor/mbedtls/library/bignum_mod_raw.h +416 -0
  190. package/vendor/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
  191. package/vendor/mbedtls/library/block_cipher.c +207 -0
  192. package/vendor/mbedtls/library/block_cipher_internal.h +99 -0
  193. package/vendor/mbedtls/library/bn_mul.h +1094 -0
  194. package/vendor/mbedtls/library/camellia.c +1058 -0
  195. package/vendor/mbedtls/library/ccm.c +777 -0
  196. package/vendor/mbedtls/library/chacha20.c +563 -0
  197. package/vendor/mbedtls/library/chacha20_internal.h +23 -0
  198. package/vendor/mbedtls/library/chachapoly.c +487 -0
  199. package/vendor/mbedtls/library/check_crypto_config.h +136 -0
  200. package/vendor/mbedtls/library/cipher.c +1712 -0
  201. package/vendor/mbedtls/library/cipher_invasive.h +28 -0
  202. package/vendor/mbedtls/library/cipher_wrap.c +2482 -0
  203. package/vendor/mbedtls/library/cipher_wrap.h +178 -0
  204. package/vendor/mbedtls/library/cmac.c +1067 -0
  205. package/vendor/mbedtls/library/common.h +487 -0
  206. package/vendor/mbedtls/library/constant_time.c +247 -0
  207. package/vendor/mbedtls/library/constant_time_impl.h +541 -0
  208. package/vendor/mbedtls/library/constant_time_internal.h +579 -0
  209. package/vendor/mbedtls/library/ctr.h +35 -0
  210. package/vendor/mbedtls/library/ctr_drbg.c +1016 -0
  211. package/vendor/mbedtls/library/debug.c +475 -0
  212. package/vendor/mbedtls/library/debug_internal.h +185 -0
  213. package/vendor/mbedtls/library/des.c +1042 -0
  214. package/vendor/mbedtls/library/dhm.c +700 -0
  215. package/vendor/mbedtls/library/ecdh.c +696 -0
  216. package/vendor/mbedtls/library/ecdsa.c +858 -0
  217. package/vendor/mbedtls/library/ecjpake.c +1216 -0
  218. package/vendor/mbedtls/library/ecp.c +3674 -0
  219. package/vendor/mbedtls/library/ecp_curves.c +6125 -0
  220. package/vendor/mbedtls/library/ecp_curves_new.c +9 -0
  221. package/vendor/mbedtls/library/ecp_internal_alt.h +287 -0
  222. package/vendor/mbedtls/library/ecp_invasive.h +305 -0
  223. package/vendor/mbedtls/library/entropy.c +680 -0
  224. package/vendor/mbedtls/library/entropy_poll.c +233 -0
  225. package/vendor/mbedtls/library/entropy_poll.h +64 -0
  226. package/vendor/mbedtls/library/error.c +878 -0
  227. package/vendor/mbedtls/library/gcm.c +1330 -0
  228. package/vendor/mbedtls/library/hkdf.c +161 -0
  229. package/vendor/mbedtls/library/hmac_drbg.c +633 -0
  230. package/vendor/mbedtls/library/lmots.c +789 -0
  231. package/vendor/mbedtls/library/lmots.h +288 -0
  232. package/vendor/mbedtls/library/lms.c +778 -0
  233. package/vendor/mbedtls/library/md.c +1108 -0
  234. package/vendor/mbedtls/library/md5.c +426 -0
  235. package/vendor/mbedtls/library/md_psa.h +26 -0
  236. package/vendor/mbedtls/library/md_wrap.h +46 -0
  237. package/vendor/mbedtls/library/memory_buffer_alloc.c +751 -0
  238. package/vendor/mbedtls/library/mps_common.h +181 -0
  239. package/vendor/mbedtls/library/mps_error.h +89 -0
  240. package/vendor/mbedtls/library/mps_reader.c +538 -0
  241. package/vendor/mbedtls/library/mps_reader.h +366 -0
  242. package/vendor/mbedtls/library/mps_trace.c +112 -0
  243. package/vendor/mbedtls/library/mps_trace.h +154 -0
  244. package/vendor/mbedtls/library/net_sockets.c +694 -0
  245. package/vendor/mbedtls/library/nist_kw.c +729 -0
  246. package/vendor/mbedtls/library/oid.c +1166 -0
  247. package/vendor/mbedtls/library/padlock.c +157 -0
  248. package/vendor/mbedtls/library/padlock.h +111 -0
  249. package/vendor/mbedtls/library/pem.c +554 -0
  250. package/vendor/mbedtls/library/pk.c +1602 -0
  251. package/vendor/mbedtls/library/pk_ecc.c +261 -0
  252. package/vendor/mbedtls/library/pk_internal.h +241 -0
  253. package/vendor/mbedtls/library/pk_wrap.c +1618 -0
  254. package/vendor/mbedtls/library/pk_wrap.h +138 -0
  255. package/vendor/mbedtls/library/pkcs12.c +437 -0
  256. package/vendor/mbedtls/library/pkcs5.c +500 -0
  257. package/vendor/mbedtls/library/pkcs7.c +787 -0
  258. package/vendor/mbedtls/library/pkparse.c +1392 -0
  259. package/vendor/mbedtls/library/pkwrite.c +631 -0
  260. package/vendor/mbedtls/library/pkwrite.h +121 -0
  261. package/vendor/mbedtls/library/platform.c +402 -0
  262. package/vendor/mbedtls/library/platform_util.c +258 -0
  263. package/vendor/mbedtls/library/poly1305.c +492 -0
  264. package/vendor/mbedtls/library/psa_crypto.c +9532 -0
  265. package/vendor/mbedtls/library/psa_crypto_aead.c +646 -0
  266. package/vendor/mbedtls/library/psa_crypto_aead.h +499 -0
  267. package/vendor/mbedtls/library/psa_crypto_cipher.c +747 -0
  268. package/vendor/mbedtls/library/psa_crypto_cipher.h +316 -0
  269. package/vendor/mbedtls/library/psa_crypto_client.c +22 -0
  270. package/vendor/mbedtls/library/psa_crypto_core.h +983 -0
  271. package/vendor/mbedtls/library/psa_crypto_core_common.h +52 -0
  272. package/vendor/mbedtls/library/psa_crypto_driver_wrappers.h +2896 -0
  273. package/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
  274. package/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
  275. package/vendor/mbedtls/library/psa_crypto_ecp.c +594 -0
  276. package/vendor/mbedtls/library/psa_crypto_ecp.h +267 -0
  277. package/vendor/mbedtls/library/psa_crypto_ffdh.c +361 -0
  278. package/vendor/mbedtls/library/psa_crypto_ffdh.h +131 -0
  279. package/vendor/mbedtls/library/psa_crypto_hash.c +470 -0
  280. package/vendor/mbedtls/library/psa_crypto_hash.h +211 -0
  281. package/vendor/mbedtls/library/psa_crypto_invasive.h +92 -0
  282. package/vendor/mbedtls/library/psa_crypto_its.h +131 -0
  283. package/vendor/mbedtls/library/psa_crypto_mac.c +505 -0
  284. package/vendor/mbedtls/library/psa_crypto_mac.h +264 -0
  285. package/vendor/mbedtls/library/psa_crypto_pake.c +571 -0
  286. package/vendor/mbedtls/library/psa_crypto_pake.h +159 -0
  287. package/vendor/mbedtls/library/psa_crypto_random.c +181 -0
  288. package/vendor/mbedtls/library/psa_crypto_random.h +72 -0
  289. package/vendor/mbedtls/library/psa_crypto_random_impl.h +200 -0
  290. package/vendor/mbedtls/library/psa_crypto_rsa.c +714 -0
  291. package/vendor/mbedtls/library/psa_crypto_rsa.h +321 -0
  292. package/vendor/mbedtls/library/psa_crypto_se.c +373 -0
  293. package/vendor/mbedtls/library/psa_crypto_se.h +192 -0
  294. package/vendor/mbedtls/library/psa_crypto_slot_management.c +1137 -0
  295. package/vendor/mbedtls/library/psa_crypto_slot_management.h +344 -0
  296. package/vendor/mbedtls/library/psa_crypto_storage.c +481 -0
  297. package/vendor/mbedtls/library/psa_crypto_storage.h +392 -0
  298. package/vendor/mbedtls/library/psa_its_file.c +254 -0
  299. package/vendor/mbedtls/library/psa_util.c +614 -0
  300. package/vendor/mbedtls/library/psa_util_internal.h +100 -0
  301. package/vendor/mbedtls/library/ripemd160.c +490 -0
  302. package/vendor/mbedtls/library/rsa.c +3121 -0
  303. package/vendor/mbedtls/library/rsa_alt_helpers.c +455 -0
  304. package/vendor/mbedtls/library/rsa_alt_helpers.h +209 -0
  305. package/vendor/mbedtls/library/rsa_internal.h +188 -0
  306. package/vendor/mbedtls/library/sha1.c +480 -0
  307. package/vendor/mbedtls/library/sha256.c +983 -0
  308. package/vendor/mbedtls/library/sha3.c +721 -0
  309. package/vendor/mbedtls/library/sha512.c +1115 -0
  310. package/vendor/mbedtls/library/ssl_cache.c +410 -0
  311. package/vendor/mbedtls/library/ssl_ciphersuites.c +2050 -0
  312. package/vendor/mbedtls/library/ssl_ciphersuites_internal.h +154 -0
  313. package/vendor/mbedtls/library/ssl_client.c +1023 -0
  314. package/vendor/mbedtls/library/ssl_client.h +22 -0
  315. package/vendor/mbedtls/library/ssl_cookie.c +384 -0
  316. package/vendor/mbedtls/library/ssl_debug_helpers.h +85 -0
  317. package/vendor/mbedtls/library/ssl_debug_helpers_generated.c +251 -0
  318. package/vendor/mbedtls/library/ssl_misc.h +3198 -0
  319. package/vendor/mbedtls/library/ssl_msg.c +6619 -0
  320. package/vendor/mbedtls/library/ssl_ticket.c +556 -0
  321. package/vendor/mbedtls/library/ssl_tls.c +10234 -0
  322. package/vendor/mbedtls/library/ssl_tls12_client.c +3688 -0
  323. package/vendor/mbedtls/library/ssl_tls12_server.c +4311 -0
  324. package/vendor/mbedtls/library/ssl_tls13_client.c +3208 -0
  325. package/vendor/mbedtls/library/ssl_tls13_generic.c +1793 -0
  326. package/vendor/mbedtls/library/ssl_tls13_invasive.h +23 -0
  327. package/vendor/mbedtls/library/ssl_tls13_keys.c +1918 -0
  328. package/vendor/mbedtls/library/ssl_tls13_keys.h +668 -0
  329. package/vendor/mbedtls/library/ssl_tls13_server.c +3624 -0
  330. package/vendor/mbedtls/library/threading.c +193 -0
  331. package/vendor/mbedtls/library/threading_internal.h +28 -0
  332. package/vendor/mbedtls/library/timing.c +152 -0
  333. package/vendor/mbedtls/library/version.c +32 -0
  334. package/vendor/mbedtls/library/version_features.c +856 -0
  335. package/vendor/mbedtls/library/x509.c +1776 -0
  336. package/vendor/mbedtls/library/x509_create.c +570 -0
  337. package/vendor/mbedtls/library/x509_crl.c +708 -0
  338. package/vendor/mbedtls/library/x509_crt.c +3311 -0
  339. package/vendor/mbedtls/library/x509_csr.c +648 -0
  340. package/vendor/mbedtls/library/x509_internal.h +101 -0
  341. package/vendor/mbedtls/library/x509write.c +174 -0
  342. package/vendor/mbedtls/library/x509write_crt.c +688 -0
  343. package/vendor/mbedtls/library/x509write_csr.c +336 -0
  344. package/vendor/quickjs-ng/CMakeLists.txt +566 -0
  345. package/vendor/quickjs-ng/LICENSE +24 -0
  346. package/vendor/quickjs-ng/README.md +24 -0
  347. package/vendor/quickjs-ng/api-test.c +1195 -0
  348. package/vendor/quickjs-ng/builtin-array-fromasync.h +119 -0
  349. package/vendor/quickjs-ng/builtin-iterator-zip-keyed.h +332 -0
  350. package/vendor/quickjs-ng/builtin-iterator-zip.h +337 -0
  351. package/vendor/quickjs-ng/cutils.h +1998 -0
  352. package/vendor/quickjs-ng/dtoa.c +1619 -0
  353. package/vendor/quickjs-ng/dtoa.h +87 -0
  354. package/vendor/quickjs-ng/gen/function_source.c +81 -0
  355. package/vendor/quickjs-ng/gen/hello.c +53 -0
  356. package/vendor/quickjs-ng/gen/hello_module.c +106 -0
  357. package/vendor/quickjs-ng/gen/repl.c +3036 -0
  358. package/vendor/quickjs-ng/gen/standalone.c +323 -0
  359. package/vendor/quickjs-ng/gen/test_fib.c +81 -0
  360. package/vendor/quickjs-ng/libregexp-opcode.h +73 -0
  361. package/vendor/quickjs-ng/libregexp.c +3474 -0
  362. package/vendor/quickjs-ng/libregexp.h +101 -0
  363. package/vendor/quickjs-ng/libunicode-table.h +5173 -0
  364. package/vendor/quickjs-ng/libunicode.c +2069 -0
  365. package/vendor/quickjs-ng/libunicode.h +172 -0
  366. package/vendor/quickjs-ng/list.h +107 -0
  367. package/vendor/quickjs-ng/lre-test.c +52 -0
  368. package/vendor/quickjs-ng/qjs.c +762 -0
  369. package/vendor/quickjs-ng/qjsc.c +673 -0
  370. package/vendor/quickjs-ng/quickjs-atom.h +280 -0
  371. package/vendor/quickjs-ng/quickjs-c-atomics.h +54 -0
  372. package/vendor/quickjs-ng/quickjs-libc.c +5037 -0
  373. package/vendor/quickjs-ng/quickjs-libc.h +87 -0
  374. package/vendor/quickjs-ng/quickjs-opcode.h +377 -0
  375. package/vendor/quickjs-ng/quickjs.c +64041 -0
  376. package/vendor/quickjs-ng/quickjs.h +1447 -0
  377. package/vendor/quickjs-ng/run-test262.c +2374 -0
  378. package/vendor/quickjs-ng/unicode_gen.c +3121 -0
  379. package/vendor/quickjs-ng/unicode_gen_def.h +310 -0
  380. package/vendor/ryu/LICENSE-Boost +23 -0
  381. package/vendor/ryu/common.h +114 -0
  382. package/vendor/ryu/d2s.c +509 -0
  383. package/vendor/ryu/d2s_full_table.h +367 -0
  384. package/vendor/ryu/d2s_intrinsics.h +357 -0
  385. package/vendor/ryu/d2s_small_table.h +186 -0
  386. package/vendor/ryu/digit_table.h +35 -0
  387. package/vendor/ryu/ryu.h +46 -0
  388. package/vendor/zlib/LICENSE +22 -0
  389. package/vendor/zlib/adler32.c +164 -0
  390. package/vendor/zlib/compress.c +75 -0
  391. package/vendor/zlib/crc32.c +1049 -0
  392. package/vendor/zlib/crc32.h +9446 -0
  393. package/vendor/zlib/deflate.c +2139 -0
  394. package/vendor/zlib/deflate.h +377 -0
  395. package/vendor/zlib/gzclose.c +23 -0
  396. package/vendor/zlib/gzguts.h +214 -0
  397. package/vendor/zlib/gzlib.c +582 -0
  398. package/vendor/zlib/gzread.c +602 -0
  399. package/vendor/zlib/gzwrite.c +631 -0
  400. package/vendor/zlib/infback.c +628 -0
  401. package/vendor/zlib/inffast.c +320 -0
  402. package/vendor/zlib/inffast.h +11 -0
  403. package/vendor/zlib/inffixed.h +94 -0
  404. package/vendor/zlib/inflate.c +1526 -0
  405. package/vendor/zlib/inflate.h +126 -0
  406. package/vendor/zlib/inftrees.c +299 -0
  407. package/vendor/zlib/inftrees.h +62 -0
  408. package/vendor/zlib/trees.c +1117 -0
  409. package/vendor/zlib/trees.h +128 -0
  410. package/vendor/zlib/uncompr.c +85 -0
  411. package/vendor/zlib/zconf.h +543 -0
  412. package/vendor/zlib/zlib.h +1938 -0
  413. package/vendor/zlib/zutil.c +299 -0
  414. package/vendor/zlib/zutil.h +254 -0
  415. package/README.md +0 -3
  416. package/index.js +0 -2
@@ -0,0 +1,578 @@
1
+ /**
2
+ * \file mbedtls/config_adjust_legacy_crypto.h
3
+ * \brief Adjust legacy configuration configuration
4
+ *
5
+ * This is an internal header. Do not include it directly.
6
+ *
7
+ * Automatically enable certain dependencies. Generally, MBEDTLS_xxx
8
+ * configurations need to be explicitly enabled by the user: enabling
9
+ * MBEDTLS_xxx_A but not MBEDTLS_xxx_B when A requires B results in a
10
+ * compilation error. However, we do automatically enable certain options
11
+ * in some circumstances. One case is if MBEDTLS_xxx_B is an internal option
12
+ * used to identify parts of a module that are used by other module, and we
13
+ * don't want to make the symbol MBEDTLS_xxx_B part of the public API.
14
+ * Another case is if A didn't depend on B in earlier versions, and we
15
+ * want to use B in A but we need to preserve backward compatibility with
16
+ * configurations that explicitly activate MBEDTLS_xxx_A but not
17
+ * MBEDTLS_xxx_B.
18
+ */
19
+ /*
20
+ * Copyright The Mbed TLS Contributors
21
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
22
+ */
23
+
24
+ #ifndef MBEDTLS_CONFIG_ADJUST_LEGACY_CRYPTO_H
25
+ #define MBEDTLS_CONFIG_ADJUST_LEGACY_CRYPTO_H
26
+
27
+ #if !defined(MBEDTLS_CONFIG_FILES_READ)
28
+ #error "Do not include mbedtls/config_adjust_*.h manually! This can lead to problems, " \
29
+ "up to and including runtime errors such as buffer overflows. " \
30
+ "If you're trying to fix a complaint from check_config.h, just remove " \
31
+ "it from your configuration file: since Mbed TLS 3.0, it is included " \
32
+ "automatically at the right point."
33
+ #endif /* */
34
+
35
+ /* Ideally, we'd set those as defaults in mbedtls_config.h, but
36
+ * putting an #ifdef _WIN32 in mbedtls_config.h would confuse config.py.
37
+ *
38
+ * So, adjust it here.
39
+ * Not related to crypto, but this is the bottom of the stack. */
40
+ #if defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER <= 1900)
41
+ #if !defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) && \
42
+ !defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO)
43
+ #define MBEDTLS_PLATFORM_SNPRINTF_ALT
44
+ #endif
45
+ #if !defined(MBEDTLS_PLATFORM_VSNPRINTF_ALT) && \
46
+ !defined(MBEDTLS_PLATFORM_VSNPRINTF_MACRO)
47
+ #define MBEDTLS_PLATFORM_VSNPRINTF_ALT
48
+ #endif
49
+ #endif /* _MINGW32__ || (_MSC_VER && (_MSC_VER <= 1900)) */
50
+
51
+ /* The number of "true" entropy sources (excluding NV seed).
52
+ * This must be consistent with mbedtls_entropy_init() in entropy.c.
53
+ */
54
+ /* Define auxiliary macros, because in standard C, defined(xxx) is only
55
+ * allowed directly on an #if or #elif line, not in recursive expansion. */
56
+ #if defined(MBEDTLS_NO_PLATFORM_ENTROPY)
57
+ #define MBEDTLS_PLATFORM_ENTROPY_ENABLED 0
58
+ #else
59
+ #define MBEDTLS_PLATFORM_ENTROPY_ENABLED 1
60
+ #endif
61
+ #if defined(MBEDTLS_ENTROPY_HARDWARE_ALT)
62
+ #define MBEDTLS_ENTROPY_HARDWARE_ALT_DEFINED 1
63
+ #else
64
+ #define MBEDTLS_ENTROPY_HARDWARE_ALT_DEFINED 0
65
+ #endif
66
+
67
+ #define MBEDTLS_ENTROPY_TRUE_SOURCES ( \
68
+ MBEDTLS_ENTROPY_HARDWARE_ALT_DEFINED + \
69
+ MBEDTLS_PLATFORM_ENTROPY_ENABLED + \
70
+ 0)
71
+
72
+ /* Whether there is at least one entropy source for the entropy module.
73
+ *
74
+ * Note that when MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG is enabled, the entropy
75
+ * module is unused and the configuration will typically not include any
76
+ * entropy source, so this macro will typically remain undefined.
77
+ */
78
+ #if defined(MBEDTLS_ENTROPY_NV_SEED)
79
+ #define MBEDTLS_ENTROPY_HAVE_SOURCES (MBEDTLS_ENTROPY_TRUE_SOURCES + 1)
80
+ #elif MBEDTLS_ENTROPY_TRUE_SOURCES != 0
81
+ #define MBEDTLS_ENTROPY_HAVE_SOURCES MBEDTLS_ENTROPY_TRUE_SOURCES
82
+ #else
83
+ #undef MBEDTLS_ENTROPY_HAVE_SOURCES
84
+ #endif
85
+
86
+ /* Test function dependencies can only check with defined(),
87
+ * not other preprocessor expressions. */
88
+ #if MBEDTLS_ENTROPY_TRUE_SOURCES > 0
89
+ #define MBEDTLS_ENTROPY_HAVE_TRUE_SOURCES
90
+ #else
91
+ #undef MBEDTLS_ENTROPY_HAVE_TRUE_SOURCES
92
+ #endif
93
+
94
+ /* If MBEDTLS_PSA_CRYPTO_C is defined, make sure MBEDTLS_PSA_CRYPTO_CLIENT
95
+ * is defined as well to include all PSA code.
96
+ */
97
+ #if defined(MBEDTLS_PSA_CRYPTO_C)
98
+ #define MBEDTLS_PSA_CRYPTO_CLIENT
99
+ #endif /* MBEDTLS_PSA_CRYPTO_C */
100
+
101
+ /* Auto-enable CIPHER_C when any of the unauthenticated ciphers is builtin
102
+ * in PSA. */
103
+ #if defined(MBEDTLS_PSA_CRYPTO_C) && \
104
+ (defined(MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER) || \
105
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CTR) || \
106
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CFB) || \
107
+ defined(MBEDTLS_PSA_BUILTIN_ALG_OFB) || \
108
+ defined(MBEDTLS_PSA_BUILTIN_ALG_ECB_NO_PADDING) || \
109
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CBC_NO_PADDING) || \
110
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CBC_PKCS7) || \
111
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CCM_STAR_NO_TAG) || \
112
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CMAC))
113
+ #define MBEDTLS_CIPHER_C
114
+ #endif
115
+
116
+ /* Auto-enable MBEDTLS_MD_LIGHT based on MBEDTLS_MD_C.
117
+ * This allows checking for MD_LIGHT rather than MD_LIGHT || MD_C.
118
+ */
119
+ #if defined(MBEDTLS_MD_C)
120
+ #define MBEDTLS_MD_LIGHT
121
+ #endif
122
+
123
+ /* Auto-enable MBEDTLS_MD_LIGHT if needed by a module that didn't require it
124
+ * in a previous release, to ensure backwards compatibility.
125
+ */
126
+ #if defined(MBEDTLS_ECJPAKE_C) || \
127
+ defined(MBEDTLS_PEM_PARSE_C) || \
128
+ defined(MBEDTLS_ENTROPY_C) || \
129
+ defined(MBEDTLS_PK_C) || \
130
+ defined(MBEDTLS_PKCS12_C) || \
131
+ defined(MBEDTLS_RSA_C) || \
132
+ defined(MBEDTLS_SSL_TLS_C) || \
133
+ defined(MBEDTLS_X509_USE_C) || \
134
+ defined(MBEDTLS_X509_CREATE_C)
135
+ #define MBEDTLS_MD_LIGHT
136
+ #endif
137
+
138
+ #if defined(MBEDTLS_MD_LIGHT)
139
+ /*
140
+ * - MBEDTLS_MD_CAN_xxx is defined if the md module can perform xxx.
141
+ * - MBEDTLS_MD_xxx_VIA_PSA is defined if the md module may perform xxx via PSA
142
+ * (see below).
143
+ * - MBEDTLS_MD_SOME_PSA is defined if at least one algorithm may be performed
144
+ * via PSA (see below).
145
+ * - MBEDTLS_MD_SOME_LEGACY is defined if at least one algorithm may be performed
146
+ * via a direct legacy call (see below).
147
+ *
148
+ * The md module performs an algorithm via PSA if there is a PSA hash
149
+ * accelerator and the PSA driver subsytem is initialized at the time the
150
+ * operation is started, and makes a direct legacy call otherwise.
151
+ */
152
+
153
+ /* PSA accelerated implementations */
154
+ #if defined(MBEDTLS_PSA_CRYPTO_C)
155
+
156
+ #if defined(MBEDTLS_PSA_ACCEL_ALG_MD5)
157
+ #define MBEDTLS_MD_CAN_MD5
158
+ #define MBEDTLS_MD_MD5_VIA_PSA
159
+ #define MBEDTLS_MD_SOME_PSA
160
+ #endif
161
+ #if defined(MBEDTLS_PSA_ACCEL_ALG_SHA_1)
162
+ #define MBEDTLS_MD_CAN_SHA1
163
+ #define MBEDTLS_MD_SHA1_VIA_PSA
164
+ #define MBEDTLS_MD_SOME_PSA
165
+ #endif
166
+ #if defined(MBEDTLS_PSA_ACCEL_ALG_SHA_224)
167
+ #define MBEDTLS_MD_CAN_SHA224
168
+ #define MBEDTLS_MD_SHA224_VIA_PSA
169
+ #define MBEDTLS_MD_SOME_PSA
170
+ #endif
171
+ #if defined(MBEDTLS_PSA_ACCEL_ALG_SHA_256)
172
+ #define MBEDTLS_MD_CAN_SHA256
173
+ #define MBEDTLS_MD_SHA256_VIA_PSA
174
+ #define MBEDTLS_MD_SOME_PSA
175
+ #endif
176
+ #if defined(MBEDTLS_PSA_ACCEL_ALG_SHA_384)
177
+ #define MBEDTLS_MD_CAN_SHA384
178
+ #define MBEDTLS_MD_SHA384_VIA_PSA
179
+ #define MBEDTLS_MD_SOME_PSA
180
+ #endif
181
+ #if defined(MBEDTLS_PSA_ACCEL_ALG_SHA_512)
182
+ #define MBEDTLS_MD_CAN_SHA512
183
+ #define MBEDTLS_MD_SHA512_VIA_PSA
184
+ #define MBEDTLS_MD_SOME_PSA
185
+ #endif
186
+ #if defined(MBEDTLS_PSA_ACCEL_ALG_RIPEMD160)
187
+ #define MBEDTLS_MD_CAN_RIPEMD160
188
+ #define MBEDTLS_MD_RIPEMD160_VIA_PSA
189
+ #define MBEDTLS_MD_SOME_PSA
190
+ #endif
191
+ #if defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_224)
192
+ #define MBEDTLS_MD_CAN_SHA3_224
193
+ #define MBEDTLS_MD_SHA3_224_VIA_PSA
194
+ #define MBEDTLS_MD_SOME_PSA
195
+ #endif
196
+ #if defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_256)
197
+ #define MBEDTLS_MD_CAN_SHA3_256
198
+ #define MBEDTLS_MD_SHA3_256_VIA_PSA
199
+ #define MBEDTLS_MD_SOME_PSA
200
+ #endif
201
+ #if defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_384)
202
+ #define MBEDTLS_MD_CAN_SHA3_384
203
+ #define MBEDTLS_MD_SHA3_384_VIA_PSA
204
+ #define MBEDTLS_MD_SOME_PSA
205
+ #endif
206
+ #if defined(MBEDTLS_PSA_ACCEL_ALG_SHA3_512)
207
+ #define MBEDTLS_MD_CAN_SHA3_512
208
+ #define MBEDTLS_MD_SHA3_512_VIA_PSA
209
+ #define MBEDTLS_MD_SOME_PSA
210
+ #endif
211
+
212
+ #elif defined(MBEDTLS_PSA_CRYPTO_CLIENT)
213
+
214
+ #if defined(PSA_WANT_ALG_MD5)
215
+ #define MBEDTLS_MD_CAN_MD5
216
+ #define MBEDTLS_MD_MD5_VIA_PSA
217
+ #define MBEDTLS_MD_SOME_PSA
218
+ #endif
219
+ #if defined(PSA_WANT_ALG_SHA_1)
220
+ #define MBEDTLS_MD_CAN_SHA1
221
+ #define MBEDTLS_MD_SHA1_VIA_PSA
222
+ #define MBEDTLS_MD_SOME_PSA
223
+ #endif
224
+ #if defined(PSA_WANT_ALG_SHA_224)
225
+ #define MBEDTLS_MD_CAN_SHA224
226
+ #define MBEDTLS_MD_SHA224_VIA_PSA
227
+ #define MBEDTLS_MD_SOME_PSA
228
+ #endif
229
+ #if defined(PSA_WANT_ALG_SHA_256)
230
+ #define MBEDTLS_MD_CAN_SHA256
231
+ #define MBEDTLS_MD_SHA256_VIA_PSA
232
+ #define MBEDTLS_MD_SOME_PSA
233
+ #endif
234
+ #if defined(PSA_WANT_ALG_SHA_384)
235
+ #define MBEDTLS_MD_CAN_SHA384
236
+ #define MBEDTLS_MD_SHA384_VIA_PSA
237
+ #define MBEDTLS_MD_SOME_PSA
238
+ #endif
239
+ #if defined(PSA_WANT_ALG_SHA_512)
240
+ #define MBEDTLS_MD_CAN_SHA512
241
+ #define MBEDTLS_MD_SHA512_VIA_PSA
242
+ #define MBEDTLS_MD_SOME_PSA
243
+ #endif
244
+ #if defined(PSA_WANT_ALG_RIPEMD160)
245
+ #define MBEDTLS_MD_CAN_RIPEMD160
246
+ #define MBEDTLS_MD_RIPEMD160_VIA_PSA
247
+ #define MBEDTLS_MD_SOME_PSA
248
+ #endif
249
+ #if defined(PSA_WANT_ALG_SHA3_224)
250
+ #define MBEDTLS_MD_CAN_SHA3_224
251
+ #define MBEDTLS_MD_SHA3_224_VIA_PSA
252
+ #define MBEDTLS_MD_SOME_PSA
253
+ #endif
254
+ #if defined(PSA_WANT_ALG_SHA3_256)
255
+ #define MBEDTLS_MD_CAN_SHA3_256
256
+ #define MBEDTLS_MD_SHA3_256_VIA_PSA
257
+ #define MBEDTLS_MD_SOME_PSA
258
+ #endif
259
+ #if defined(PSA_WANT_ALG_SHA3_384)
260
+ #define MBEDTLS_MD_CAN_SHA3_384
261
+ #define MBEDTLS_MD_SHA3_384_VIA_PSA
262
+ #define MBEDTLS_MD_SOME_PSA
263
+ #endif
264
+ #if defined(PSA_WANT_ALG_SHA3_512)
265
+ #define MBEDTLS_MD_CAN_SHA3_512
266
+ #define MBEDTLS_MD_SHA3_512_VIA_PSA
267
+ #define MBEDTLS_MD_SOME_PSA
268
+ #endif
269
+
270
+ #endif /* !MBEDTLS_PSA_CRYPTO_CLIENT && !MBEDTLS_PSA_CRYPTO_C */
271
+
272
+ /* Built-in implementations */
273
+ #if defined(MBEDTLS_MD5_C)
274
+ #define MBEDTLS_MD_CAN_MD5
275
+ #define MBEDTLS_MD_SOME_LEGACY
276
+ #endif
277
+ #if defined(MBEDTLS_SHA1_C)
278
+ #define MBEDTLS_MD_CAN_SHA1
279
+ #define MBEDTLS_MD_SOME_LEGACY
280
+ #endif
281
+ #if defined(MBEDTLS_SHA224_C)
282
+ #define MBEDTLS_MD_CAN_SHA224
283
+ #define MBEDTLS_MD_SOME_LEGACY
284
+ #endif
285
+ #if defined(MBEDTLS_SHA256_C)
286
+ #define MBEDTLS_MD_CAN_SHA256
287
+ #define MBEDTLS_MD_SOME_LEGACY
288
+ #endif
289
+ #if defined(MBEDTLS_SHA384_C)
290
+ #define MBEDTLS_MD_CAN_SHA384
291
+ #define MBEDTLS_MD_SOME_LEGACY
292
+ #endif
293
+ #if defined(MBEDTLS_SHA512_C)
294
+ #define MBEDTLS_MD_CAN_SHA512
295
+ #define MBEDTLS_MD_SOME_LEGACY
296
+ #endif
297
+ #if defined(MBEDTLS_SHA3_C)
298
+ #define MBEDTLS_MD_CAN_SHA3_224
299
+ #define MBEDTLS_MD_CAN_SHA3_256
300
+ #define MBEDTLS_MD_CAN_SHA3_384
301
+ #define MBEDTLS_MD_CAN_SHA3_512
302
+ #define MBEDTLS_MD_SOME_LEGACY
303
+ #endif
304
+ #if defined(MBEDTLS_RIPEMD160_C)
305
+ #define MBEDTLS_MD_CAN_RIPEMD160
306
+ #define MBEDTLS_MD_SOME_LEGACY
307
+ #endif
308
+
309
+ #endif /* MBEDTLS_MD_LIGHT */
310
+
311
+ /* BLOCK_CIPHER module can dispatch to PSA when:
312
+ * - PSA is enabled and drivers have been initialized
313
+ * - desired key type is supported on the PSA side
314
+ * If the above conditions are not met, but the legacy support is enabled, then
315
+ * BLOCK_CIPHER will dynamically fallback to it.
316
+ *
317
+ * In case BLOCK_CIPHER is defined (see below) the following symbols/helpers
318
+ * can be used to define its capabilities:
319
+ * - MBEDTLS_BLOCK_CIPHER_SOME_PSA: there is at least 1 key type between AES,
320
+ * ARIA and Camellia which is supported through a driver;
321
+ * - MBEDTLS_BLOCK_CIPHER_xxx_VIA_PSA: xxx key type is supported through a
322
+ * driver;
323
+ * - MBEDTLS_BLOCK_CIPHER_xxx_VIA_LEGACY: xxx key type is supported through
324
+ * a legacy module (i.e. MBEDTLS_xxx_C)
325
+ */
326
+ #if defined(MBEDTLS_PSA_CRYPTO_C)
327
+ #if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_AES)
328
+ #define MBEDTLS_BLOCK_CIPHER_AES_VIA_PSA
329
+ #define MBEDTLS_BLOCK_CIPHER_SOME_PSA
330
+ #endif
331
+ #if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ARIA)
332
+ #define MBEDTLS_BLOCK_CIPHER_ARIA_VIA_PSA
333
+ #define MBEDTLS_BLOCK_CIPHER_SOME_PSA
334
+ #endif
335
+ #if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_CAMELLIA)
336
+ #define MBEDTLS_BLOCK_CIPHER_CAMELLIA_VIA_PSA
337
+ #define MBEDTLS_BLOCK_CIPHER_SOME_PSA
338
+ #endif
339
+ #endif /* MBEDTLS_PSA_CRYPTO_C */
340
+
341
+ #if defined(MBEDTLS_AES_C)
342
+ #define MBEDTLS_BLOCK_CIPHER_AES_VIA_LEGACY
343
+ #endif
344
+ #if defined(MBEDTLS_ARIA_C)
345
+ #define MBEDTLS_BLOCK_CIPHER_ARIA_VIA_LEGACY
346
+ #endif
347
+ #if defined(MBEDTLS_CAMELLIA_C)
348
+ #define MBEDTLS_BLOCK_CIPHER_CAMELLIA_VIA_LEGACY
349
+ #endif
350
+
351
+ /* Helpers to state that BLOCK_CIPHER module supports AES, ARIA and/or Camellia
352
+ * block ciphers via either PSA or legacy. */
353
+ #if defined(MBEDTLS_BLOCK_CIPHER_AES_VIA_PSA) || \
354
+ defined(MBEDTLS_BLOCK_CIPHER_AES_VIA_LEGACY)
355
+ #define MBEDTLS_BLOCK_CIPHER_CAN_AES
356
+ #endif
357
+ #if defined(MBEDTLS_BLOCK_CIPHER_ARIA_VIA_PSA) || \
358
+ defined(MBEDTLS_BLOCK_CIPHER_ARIA_VIA_LEGACY)
359
+ #define MBEDTLS_BLOCK_CIPHER_CAN_ARIA
360
+ #endif
361
+ #if defined(MBEDTLS_BLOCK_CIPHER_CAMELLIA_VIA_PSA) || \
362
+ defined(MBEDTLS_BLOCK_CIPHER_CAMELLIA_VIA_LEGACY)
363
+ #define MBEDTLS_BLOCK_CIPHER_CAN_CAMELLIA
364
+ #endif
365
+
366
+ /* GCM_C and CCM_C can either depend on (in order of preference) BLOCK_CIPHER_C
367
+ * or CIPHER_C. The former is auto-enabled when:
368
+ * - CIPHER_C is not defined, which is also the legacy solution;
369
+ * - BLOCK_CIPHER_SOME_PSA because in this case BLOCK_CIPHER can take advantage
370
+ * of the driver's acceleration.
371
+ */
372
+ #if (defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CCM_C)) && \
373
+ (!defined(MBEDTLS_CIPHER_C) || defined(MBEDTLS_BLOCK_CIPHER_SOME_PSA))
374
+ #define MBEDTLS_BLOCK_CIPHER_C
375
+ #endif
376
+
377
+ /* Helpers for GCM/CCM capabilities */
378
+ #if (defined(MBEDTLS_CIPHER_C) && defined(MBEDTLS_AES_C)) || \
379
+ (defined(MBEDTLS_BLOCK_CIPHER_C) && defined(MBEDTLS_BLOCK_CIPHER_CAN_AES))
380
+ #define MBEDTLS_CCM_GCM_CAN_AES
381
+ #endif
382
+
383
+ #if (defined(MBEDTLS_CIPHER_C) && defined(MBEDTLS_ARIA_C)) || \
384
+ (defined(MBEDTLS_BLOCK_CIPHER_C) && defined(MBEDTLS_BLOCK_CIPHER_CAN_ARIA))
385
+ #define MBEDTLS_CCM_GCM_CAN_ARIA
386
+ #endif
387
+
388
+ #if (defined(MBEDTLS_CIPHER_C) && defined(MBEDTLS_CAMELLIA_C)) || \
389
+ (defined(MBEDTLS_BLOCK_CIPHER_C) && defined(MBEDTLS_BLOCK_CIPHER_CAN_CAMELLIA))
390
+ #define MBEDTLS_CCM_GCM_CAN_CAMELLIA
391
+ #endif
392
+
393
+ /* MBEDTLS_ECP_LIGHT is auto-enabled by the following symbols:
394
+ * - MBEDTLS_ECP_C because now it consists of MBEDTLS_ECP_LIGHT plus functions
395
+ * for curve arithmetic. As a consequence if MBEDTLS_ECP_C is required for
396
+ * some reason, then MBEDTLS_ECP_LIGHT should be enabled as well.
397
+ * - MBEDTLS_PK_PARSE_EC_EXTENDED and MBEDTLS_PK_PARSE_EC_COMPRESSED because
398
+ * these features are not supported in PSA so the only way to have them is
399
+ * to enable the built-in solution.
400
+ * Both of them are temporary dependencies:
401
+ * - PK_PARSE_EC_EXTENDED will be removed after #7779 and #7789
402
+ * - support for compressed points should also be added to PSA, but in this
403
+ * case there is no associated issue to track it yet.
404
+ * - PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE because Weierstrass key derivation
405
+ * still depends on ECP_LIGHT.
406
+ * - PK_C + USE_PSA + PSA_WANT_ALG_ECDSA is a temporary dependency which will
407
+ * be fixed by #7453.
408
+ */
409
+ #if defined(MBEDTLS_ECP_C) || \
410
+ defined(MBEDTLS_PK_PARSE_EC_EXTENDED) || \
411
+ defined(MBEDTLS_PK_PARSE_EC_COMPRESSED) || \
412
+ defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR_DERIVE)
413
+ #define MBEDTLS_ECP_LIGHT
414
+ #endif
415
+
416
+ /* Backward compatibility: after #8740 the RSA module offers functions to parse
417
+ * and write RSA private/public keys without relying on the PK one. Of course
418
+ * this needs ASN1 support to do so, so we enable it here. */
419
+ #if defined(MBEDTLS_RSA_C)
420
+ #define MBEDTLS_ASN1_PARSE_C
421
+ #define MBEDTLS_ASN1_WRITE_C
422
+ #endif
423
+
424
+ /* MBEDTLS_PK_PARSE_EC_COMPRESSED is introduced in Mbed TLS version 3.5, while
425
+ * in previous version compressed points were automatically supported as long
426
+ * as PK_PARSE_C and ECP_C were enabled. As a consequence, for backward
427
+ * compatibility, we auto-enable PK_PARSE_EC_COMPRESSED when these conditions
428
+ * are met. */
429
+ #if defined(MBEDTLS_PK_PARSE_C) && defined(MBEDTLS_ECP_C)
430
+ #define MBEDTLS_PK_PARSE_EC_COMPRESSED
431
+ #endif
432
+
433
+ /* Helper symbol to state that there is support for ECDH, either through
434
+ * library implementation (ECDH_C) or through PSA. */
435
+ #if (defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_ECDH)) || \
436
+ (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_ECDH_C))
437
+ #define MBEDTLS_CAN_ECDH
438
+ #endif
439
+
440
+ /* PK module can achieve ECDSA functionalities by means of either software
441
+ * implementations (ECDSA_C) or through a PSA driver. The following defines
442
+ * are meant to list these capabilities in a general way which abstracts how
443
+ * they are implemented under the hood. */
444
+ #if !defined(MBEDTLS_USE_PSA_CRYPTO)
445
+ #if defined(MBEDTLS_ECDSA_C)
446
+ #define MBEDTLS_PK_CAN_ECDSA_SIGN
447
+ #define MBEDTLS_PK_CAN_ECDSA_VERIFY
448
+ #endif /* MBEDTLS_ECDSA_C */
449
+ #else /* MBEDTLS_USE_PSA_CRYPTO */
450
+ #if defined(PSA_WANT_ALG_ECDSA)
451
+ #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC)
452
+ #define MBEDTLS_PK_CAN_ECDSA_SIGN
453
+ #endif /* PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC */
454
+ #if defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
455
+ #define MBEDTLS_PK_CAN_ECDSA_VERIFY
456
+ #endif /* PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY */
457
+ #endif /* PSA_WANT_ALG_ECDSA */
458
+ #endif /* MBEDTLS_USE_PSA_CRYPTO */
459
+
460
+ #if defined(MBEDTLS_PK_CAN_ECDSA_VERIFY) || defined(MBEDTLS_PK_CAN_ECDSA_SIGN)
461
+ #define MBEDTLS_PK_CAN_ECDSA_SOME
462
+ #endif
463
+
464
+ /* Helpers to state that each key is supported either on the builtin or PSA side. */
465
+ #if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) || defined(PSA_WANT_ECC_SECP_R1_521)
466
+ #define MBEDTLS_ECP_HAVE_SECP521R1
467
+ #endif
468
+ #if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) || defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512)
469
+ #define MBEDTLS_ECP_HAVE_BP512R1
470
+ #endif
471
+ #if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) || defined(PSA_WANT_ECC_MONTGOMERY_448)
472
+ #define MBEDTLS_ECP_HAVE_CURVE448
473
+ #endif
474
+ #if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) || defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384)
475
+ #define MBEDTLS_ECP_HAVE_BP384R1
476
+ #endif
477
+ #if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) || defined(PSA_WANT_ECC_SECP_R1_384)
478
+ #define MBEDTLS_ECP_HAVE_SECP384R1
479
+ #endif
480
+ #if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) || defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256)
481
+ #define MBEDTLS_ECP_HAVE_BP256R1
482
+ #endif
483
+ #if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) || defined(PSA_WANT_ECC_SECP_K1_256)
484
+ #define MBEDTLS_ECP_HAVE_SECP256K1
485
+ #endif
486
+ #if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) || defined(PSA_WANT_ECC_SECP_R1_256)
487
+ #define MBEDTLS_ECP_HAVE_SECP256R1
488
+ #endif
489
+ #if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) || defined(PSA_WANT_ECC_MONTGOMERY_255)
490
+ #define MBEDTLS_ECP_HAVE_CURVE25519
491
+ #endif
492
+ #if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) || defined(PSA_WANT_ECC_SECP_K1_224)
493
+ #define MBEDTLS_ECP_HAVE_SECP224K1
494
+ #endif
495
+ #if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) || defined(PSA_WANT_ECC_SECP_R1_224)
496
+ #define MBEDTLS_ECP_HAVE_SECP224R1
497
+ #endif
498
+ #if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) || defined(PSA_WANT_ECC_SECP_K1_192)
499
+ #define MBEDTLS_ECP_HAVE_SECP192K1
500
+ #endif
501
+ #if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) || defined(PSA_WANT_ECC_SECP_R1_192)
502
+ #define MBEDTLS_ECP_HAVE_SECP192R1
503
+ #endif
504
+
505
+ /* Helper symbol to state that the PK module has support for EC keys. This
506
+ * can either be provided through the legacy ECP solution or through the
507
+ * PSA friendly MBEDTLS_PK_USE_PSA_EC_DATA (see pk.h for its description). */
508
+ #if defined(MBEDTLS_ECP_C) || \
509
+ (defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY))
510
+ #define MBEDTLS_PK_HAVE_ECC_KEYS
511
+ #endif /* MBEDTLS_PK_USE_PSA_EC_DATA || MBEDTLS_ECP_C */
512
+
513
+ /* Historically pkparse did not check the CBC padding when decrypting
514
+ * a key. This was a bug, which is now fixed. As a consequence, pkparse
515
+ * now needs PKCS7 padding support, but existing configurations might not
516
+ * enable it, so we enable it here. */
517
+ #if defined(MBEDTLS_PK_PARSE_C) && defined(MBEDTLS_PKCS5_C) && defined(MBEDTLS_CIPHER_MODE_CBC)
518
+ #define MBEDTLS_CIPHER_PADDING_PKCS7
519
+ #endif
520
+
521
+ /* Backwards compatibility for some macros which were renamed to reflect that
522
+ * they are related to Armv8, not aarch64. */
523
+ #if defined(MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT) && \
524
+ !defined(MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT)
525
+ #define MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT
526
+ #endif
527
+ #if defined(MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY) && !defined(MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY)
528
+ #define MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY
529
+ #endif
530
+
531
+ /* psa_util file features some ECDSA conversion functions, to convert between
532
+ * legacy's ASN.1 DER format and PSA's raw one. */
533
+ #if (defined(MBEDTLS_PSA_CRYPTO_CLIENT) && \
534
+ (defined(PSA_WANT_ALG_ECDSA) || defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA)))
535
+ #define MBEDTLS_PSA_UTIL_HAVE_ECDSA
536
+ #endif
537
+
538
+ /* Some internal helpers to determine which keys are available. */
539
+ #if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_AES_C)) || \
540
+ (defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_AES))
541
+ #define MBEDTLS_SSL_HAVE_AES
542
+ #endif
543
+ #if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_ARIA_C)) || \
544
+ (defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_ARIA))
545
+ #define MBEDTLS_SSL_HAVE_ARIA
546
+ #endif
547
+ #if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_CAMELLIA_C)) || \
548
+ (defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_CAMELLIA))
549
+ #define MBEDTLS_SSL_HAVE_CAMELLIA
550
+ #endif
551
+
552
+ /* Some internal helpers to determine which operation modes are available. */
553
+ #if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_CIPHER_MODE_CBC)) || \
554
+ (defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_CBC_NO_PADDING))
555
+ #define MBEDTLS_SSL_HAVE_CBC
556
+ #endif
557
+
558
+ #if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_GCM_C)) || \
559
+ (defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_GCM))
560
+ #define MBEDTLS_SSL_HAVE_GCM
561
+ #endif
562
+
563
+ #if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_CCM_C)) || \
564
+ (defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_CCM))
565
+ #define MBEDTLS_SSL_HAVE_CCM
566
+ #endif
567
+
568
+ #if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_CHACHAPOLY_C)) || \
569
+ (defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_CHACHA20_POLY1305))
570
+ #define MBEDTLS_SSL_HAVE_CHACHAPOLY
571
+ #endif
572
+
573
+ #if defined(MBEDTLS_SSL_HAVE_GCM) || defined(MBEDTLS_SSL_HAVE_CCM) || \
574
+ defined(MBEDTLS_SSL_HAVE_CHACHAPOLY)
575
+ #define MBEDTLS_SSL_HAVE_AEAD
576
+ #endif
577
+
578
+ #endif /* MBEDTLS_CONFIG_ADJUST_LEGACY_CRYPTO_H */