@scriptc/runtime 0.0.0 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +5046 -0
  43. package/src/scr_stream.c +2877 -0
  44. package/src/scr_string.c +1264 -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,31 @@
1
+ /**
2
+ * \file psa/crypto_adjust_auto_enabled.h
3
+ * \brief Adjust PSA configuration: enable always-on features
4
+ *
5
+ * This is an internal header. Do not include it directly.
6
+ *
7
+ * Always enable certain features which require a negligible amount of code
8
+ * to implement, to avoid some edge cases in the configuration combinatorics.
9
+ */
10
+ /*
11
+ * Copyright The Mbed TLS Contributors
12
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
13
+ */
14
+
15
+ #ifndef PSA_CRYPTO_ADJUST_AUTO_ENABLED_H
16
+ #define PSA_CRYPTO_ADJUST_AUTO_ENABLED_H
17
+
18
+ #if !defined(MBEDTLS_CONFIG_FILES_READ)
19
+ #error "Do not include psa/crypto_adjust_*.h manually! This can lead to problems, " \
20
+ "up to and including runtime errors such as buffer overflows. " \
21
+ "If you're trying to fix a complaint from check_config.h, just remove " \
22
+ "it from your configuration file: since Mbed TLS 3.0, it is included " \
23
+ "automatically at the right point."
24
+ #endif /* */
25
+
26
+ #define PSA_WANT_KEY_TYPE_DERIVE 1
27
+ #define PSA_WANT_KEY_TYPE_PASSWORD 1
28
+ #define PSA_WANT_KEY_TYPE_PASSWORD_HASH 1
29
+ #define PSA_WANT_KEY_TYPE_RAW_DATA 1
30
+
31
+ #endif /* PSA_CRYPTO_ADJUST_AUTO_ENABLED_H */
@@ -0,0 +1,51 @@
1
+ /**
2
+ * \file psa/crypto_adjust_config_dependencies.h
3
+ * \brief Adjust PSA configuration by resolving some dependencies.
4
+ *
5
+ * This is an internal header. Do not include it directly.
6
+ *
7
+ * See docs/proposed/psa-conditional-inclusion-c.md.
8
+ * If the Mbed TLS implementation of a cryptographic mechanism A depends on a
9
+ * cryptographic mechanism B then if the cryptographic mechanism A is enabled
10
+ * and not accelerated enable B. Note that if A is enabled and accelerated, it
11
+ * is not necessary to enable B for A support.
12
+ */
13
+ /*
14
+ * Copyright The Mbed TLS Contributors
15
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
16
+ */
17
+
18
+ #ifndef PSA_CRYPTO_ADJUST_CONFIG_DEPENDENCIES_H
19
+ #define PSA_CRYPTO_ADJUST_CONFIG_DEPENDENCIES_H
20
+
21
+ #if !defined(MBEDTLS_CONFIG_FILES_READ)
22
+ #error "Do not include psa/crypto_adjust_*.h manually! This can lead to problems, " \
23
+ "up to and including runtime errors such as buffer overflows. " \
24
+ "If you're trying to fix a complaint from check_config.h, just remove " \
25
+ "it from your configuration file: since Mbed TLS 3.0, it is included " \
26
+ "automatically at the right point."
27
+ #endif /* */
28
+
29
+ #if (defined(PSA_WANT_ALG_TLS12_PRF) && \
30
+ !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_PRF)) || \
31
+ (defined(PSA_WANT_ALG_TLS12_PSK_TO_MS) && \
32
+ !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_PSK_TO_MS)) || \
33
+ (defined(PSA_WANT_ALG_HKDF) && \
34
+ !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF)) || \
35
+ (defined(PSA_WANT_ALG_HKDF_EXTRACT) && \
36
+ !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF_EXTRACT)) || \
37
+ (defined(PSA_WANT_ALG_HKDF_EXPAND) && \
38
+ !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF_EXPAND)) || \
39
+ (defined(PSA_WANT_ALG_PBKDF2_HMAC) && \
40
+ !defined(MBEDTLS_PSA_ACCEL_ALG_PBKDF2_HMAC))
41
+ #define PSA_WANT_ALG_HMAC 1
42
+ #define PSA_WANT_KEY_TYPE_HMAC 1
43
+ #endif
44
+
45
+ #if (defined(PSA_WANT_ALG_PBKDF2_AES_CMAC_PRF_128) && \
46
+ !defined(MBEDTLS_PSA_ACCEL_ALG_PBKDF2_AES_CMAC_PRF_128))
47
+ #define PSA_WANT_KEY_TYPE_AES 1
48
+ #define PSA_WANT_ALG_CMAC 1
49
+ #endif
50
+
51
+ #endif /* PSA_CRYPTO_ADJUST_CONFIG_DEPENDENCIES_H */
@@ -0,0 +1,101 @@
1
+ /**
2
+ * \file psa/crypto_adjust_config_key_pair_types.h
3
+ * \brief Adjust PSA configuration for key pair types.
4
+ *
5
+ * This is an internal header. Do not include it directly.
6
+ *
7
+ * See docs/proposed/psa-conditional-inclusion-c.md.
8
+ * - Support non-basic operations in a keypair type implicitly enables basic
9
+ * support for that keypair type.
10
+ * - Support for a keypair type implicitly enables the corresponding public
11
+ * key type.
12
+ * - Basic support for a keypair type implicilty enables import/export support
13
+ * for that keypair type. Warning: this is implementation-specific (mainly
14
+ * for the benefit of testing) and may change in the future!
15
+ */
16
+ /*
17
+ * Copyright The Mbed TLS Contributors
18
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
19
+ */
20
+
21
+ #ifndef PSA_CRYPTO_ADJUST_KEYPAIR_TYPES_H
22
+ #define PSA_CRYPTO_ADJUST_KEYPAIR_TYPES_H
23
+
24
+ #if !defined(MBEDTLS_CONFIG_FILES_READ)
25
+ #error "Do not include psa/crypto_adjust_*.h manually! This can lead to problems, " \
26
+ "up to and including runtime errors such as buffer overflows. " \
27
+ "If you're trying to fix a complaint from check_config.h, just remove " \
28
+ "it from your configuration file: since Mbed TLS 3.0, it is included " \
29
+ "automatically at the right point."
30
+ #endif /* */
31
+
32
+ /*****************************************************************
33
+ * ANYTHING -> BASIC
34
+ ****************************************************************/
35
+
36
+ #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT) || \
37
+ defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT) || \
38
+ defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE) || \
39
+ defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE)
40
+ #define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC 1
41
+ #endif
42
+
43
+ #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT) || \
44
+ defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT) || \
45
+ defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE) || \
46
+ defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE)
47
+ #define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC 1
48
+ #endif
49
+
50
+ #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT) || \
51
+ defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT) || \
52
+ defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE) || \
53
+ defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE)
54
+ #define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC 1
55
+ #endif
56
+
57
+ /*****************************************************************
58
+ * BASIC -> corresponding PUBLIC
59
+ ****************************************************************/
60
+
61
+ #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC)
62
+ #define PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1
63
+ #endif
64
+
65
+ #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC)
66
+ #define PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY 1
67
+ #endif
68
+
69
+ #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC)
70
+ #define PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY 1
71
+ #endif
72
+
73
+ /*****************************************************************
74
+ * BASIC -> IMPORT+EXPORT
75
+ *
76
+ * (Implementation-specific, may change in the future.)
77
+ ****************************************************************/
78
+
79
+ /* Even though KEY_PAIR symbols' feature several level of support (BASIC, IMPORT,
80
+ * EXPORT, GENERATE, DERIVE) we're not planning to have support only for BASIC
81
+ * without IMPORT/EXPORT since these last 2 features are strongly used in tests.
82
+ * In general it is allowed to include more feature than what is strictly
83
+ * requested.
84
+ * As a consequence IMPORT and EXPORT features will be automatically enabled
85
+ * as soon as the BASIC one is. */
86
+ #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC)
87
+ #define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT 1
88
+ #define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT 1
89
+ #endif
90
+
91
+ #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC)
92
+ #define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT 1
93
+ #define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT 1
94
+ #endif
95
+
96
+ #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC)
97
+ #define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT 1
98
+ #define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT 1
99
+ #endif
100
+
101
+ #endif /* PSA_CRYPTO_ADJUST_KEYPAIR_TYPES_H */
@@ -0,0 +1,49 @@
1
+ /**
2
+ * \file psa/crypto_adjust_config_synonyms.h
3
+ * \brief Adjust PSA configuration: enable quasi-synonyms
4
+ *
5
+ * This is an internal header. Do not include it directly.
6
+ *
7
+ * When two features require almost the same code, we automatically enable
8
+ * both when either one is requested, to reduce the combinatorics of
9
+ * possible configurations.
10
+ */
11
+ /*
12
+ * Copyright The Mbed TLS Contributors
13
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
14
+ */
15
+
16
+ #ifndef PSA_CRYPTO_ADJUST_CONFIG_SYNONYMS_H
17
+ #define PSA_CRYPTO_ADJUST_CONFIG_SYNONYMS_H
18
+
19
+ #if !defined(MBEDTLS_CONFIG_FILES_READ)
20
+ #error "Do not include psa/crypto_adjust_*.h manually! This can lead to problems, " \
21
+ "up to and including runtime errors such as buffer overflows. " \
22
+ "If you're trying to fix a complaint from check_config.h, just remove " \
23
+ "it from your configuration file: since Mbed TLS 3.0, it is included " \
24
+ "automatically at the right point."
25
+ #endif /* */
26
+
27
+ /****************************************************************/
28
+ /* De facto synonyms */
29
+ /****************************************************************/
30
+
31
+ #if defined(PSA_WANT_ALG_ECDSA_ANY) && !defined(PSA_WANT_ALG_ECDSA)
32
+ #define PSA_WANT_ALG_ECDSA PSA_WANT_ALG_ECDSA_ANY
33
+ #elif !defined(PSA_WANT_ALG_ECDSA_ANY) && defined(PSA_WANT_ALG_ECDSA)
34
+ #define PSA_WANT_ALG_ECDSA_ANY PSA_WANT_ALG_ECDSA
35
+ #endif
36
+
37
+ #if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW) && !defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN)
38
+ #define PSA_WANT_ALG_RSA_PKCS1V15_SIGN PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW
39
+ #elif !defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW) && defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN)
40
+ #define PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW PSA_WANT_ALG_RSA_PKCS1V15_SIGN
41
+ #endif
42
+
43
+ #if defined(PSA_WANT_ALG_RSA_PSS_ANY_SALT) && !defined(PSA_WANT_ALG_RSA_PSS)
44
+ #define PSA_WANT_ALG_RSA_PSS PSA_WANT_ALG_RSA_PSS_ANY_SALT
45
+ #elif !defined(PSA_WANT_ALG_RSA_PSS_ANY_SALT) && defined(PSA_WANT_ALG_RSA_PSS)
46
+ #define PSA_WANT_ALG_RSA_PSS_ANY_SALT PSA_WANT_ALG_RSA_PSS
47
+ #endif
48
+
49
+ #endif /* PSA_CRYPTO_ADJUST_CONFIG_SYNONYMS_H */
@@ -0,0 +1,214 @@
1
+ /*
2
+ * Context structure declaration of the Mbed TLS software-based PSA drivers
3
+ * called through the PSA Crypto driver dispatch layer.
4
+ * This file contains the context structures of those algorithms which need to
5
+ * rely on other algorithms, i.e. are 'composite' algorithms.
6
+ *
7
+ * \note This file may not be included directly. Applications must
8
+ * include psa/crypto.h.
9
+ *
10
+ * \note This header and its content are not part of the Mbed TLS API and
11
+ * applications must not depend on it. Its main purpose is to define the
12
+ * multi-part state objects of the Mbed TLS software-based PSA drivers. The
13
+ * definitions of these objects are then used by crypto_struct.h to define the
14
+ * implementation-defined types of PSA multi-part state objects.
15
+ */
16
+ /*
17
+ * Copyright The Mbed TLS Contributors
18
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
19
+ */
20
+
21
+ #ifndef PSA_CRYPTO_BUILTIN_COMPOSITES_H
22
+ #define PSA_CRYPTO_BUILTIN_COMPOSITES_H
23
+ #include "mbedtls/private_access.h"
24
+
25
+ #include <psa/crypto_driver_common.h>
26
+
27
+ #include "mbedtls/cmac.h"
28
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_GCM)
29
+ #include "mbedtls/gcm.h"
30
+ #endif
31
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_CCM)
32
+ #include "mbedtls/ccm.h"
33
+ #endif
34
+ #include "mbedtls/chachapoly.h"
35
+
36
+ /*
37
+ * MAC multi-part operation definitions.
38
+ */
39
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_CMAC) || \
40
+ defined(MBEDTLS_PSA_BUILTIN_ALG_HMAC)
41
+ #define MBEDTLS_PSA_BUILTIN_MAC
42
+ #endif
43
+
44
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_HMAC) || defined(PSA_CRYPTO_DRIVER_TEST)
45
+ typedef struct {
46
+ /** The HMAC algorithm in use */
47
+ psa_algorithm_t MBEDTLS_PRIVATE(alg);
48
+ /** The hash context. */
49
+ struct psa_hash_operation_s hash_ctx;
50
+ /** The HMAC part of the context. */
51
+ uint8_t MBEDTLS_PRIVATE(opad)[PSA_HMAC_MAX_HASH_BLOCK_SIZE];
52
+ } mbedtls_psa_hmac_operation_t;
53
+
54
+ #define MBEDTLS_PSA_HMAC_OPERATION_INIT { 0, PSA_HASH_OPERATION_INIT, { 0 } }
55
+ #endif /* MBEDTLS_PSA_BUILTIN_ALG_HMAC */
56
+
57
+ typedef struct {
58
+ psa_algorithm_t MBEDTLS_PRIVATE(alg);
59
+ union {
60
+ unsigned MBEDTLS_PRIVATE(dummy); /* Make the union non-empty even with no supported algorithms. */
61
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_HMAC) || defined(PSA_CRYPTO_DRIVER_TEST)
62
+ mbedtls_psa_hmac_operation_t MBEDTLS_PRIVATE(hmac);
63
+ #endif /* MBEDTLS_PSA_BUILTIN_ALG_HMAC */
64
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_CMAC) || defined(PSA_CRYPTO_DRIVER_TEST)
65
+ mbedtls_cipher_context_t MBEDTLS_PRIVATE(cmac);
66
+ #endif /* MBEDTLS_PSA_BUILTIN_ALG_CMAC */
67
+ } MBEDTLS_PRIVATE(ctx);
68
+ } mbedtls_psa_mac_operation_t;
69
+
70
+ #define MBEDTLS_PSA_MAC_OPERATION_INIT { 0, { 0 } }
71
+
72
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_GCM) || \
73
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CCM) || \
74
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305)
75
+ #define MBEDTLS_PSA_BUILTIN_AEAD 1
76
+ #endif
77
+
78
+ /* Context structure for the Mbed TLS AEAD implementation. */
79
+ typedef struct {
80
+ psa_algorithm_t MBEDTLS_PRIVATE(alg);
81
+ psa_key_type_t MBEDTLS_PRIVATE(key_type);
82
+
83
+ unsigned int MBEDTLS_PRIVATE(is_encrypt) : 1;
84
+
85
+ uint8_t MBEDTLS_PRIVATE(tag_length);
86
+
87
+ union {
88
+ unsigned dummy; /* Enable easier initializing of the union. */
89
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_CCM)
90
+ mbedtls_ccm_context MBEDTLS_PRIVATE(ccm);
91
+ #endif /* MBEDTLS_PSA_BUILTIN_ALG_CCM */
92
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_GCM)
93
+ mbedtls_gcm_context MBEDTLS_PRIVATE(gcm);
94
+ #endif /* MBEDTLS_PSA_BUILTIN_ALG_GCM */
95
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305)
96
+ mbedtls_chachapoly_context MBEDTLS_PRIVATE(chachapoly);
97
+ #endif /* MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305 */
98
+
99
+ } ctx;
100
+
101
+ } mbedtls_psa_aead_operation_t;
102
+
103
+ #define MBEDTLS_PSA_AEAD_OPERATION_INIT { 0, 0, 0, 0, { 0 } }
104
+
105
+ #include "mbedtls/ecdsa.h"
106
+
107
+ /* Context structure for the Mbed TLS interruptible sign hash implementation. */
108
+ typedef struct {
109
+ #if (defined(MBEDTLS_PSA_BUILTIN_ALG_ECDSA) || \
110
+ defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA)) && \
111
+ defined(MBEDTLS_ECP_RESTARTABLE)
112
+ mbedtls_ecdsa_context *MBEDTLS_PRIVATE(ctx);
113
+ mbedtls_ecdsa_restart_ctx MBEDTLS_PRIVATE(restart_ctx);
114
+
115
+ uint32_t MBEDTLS_PRIVATE(num_ops);
116
+
117
+ size_t MBEDTLS_PRIVATE(coordinate_bytes);
118
+ psa_algorithm_t MBEDTLS_PRIVATE(alg);
119
+ mbedtls_md_type_t MBEDTLS_PRIVATE(md_alg);
120
+ uint8_t MBEDTLS_PRIVATE(hash)[PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS)];
121
+ size_t MBEDTLS_PRIVATE(hash_length);
122
+
123
+ #else
124
+ /* Make the struct non-empty if algs not supported. */
125
+ unsigned MBEDTLS_PRIVATE(dummy);
126
+
127
+ #endif /* defined(MBEDTLS_PSA_BUILTIN_ALG_ECDSA) ||
128
+ * defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA) &&
129
+ * defined( MBEDTLS_ECP_RESTARTABLE ) */
130
+ } mbedtls_psa_sign_hash_interruptible_operation_t;
131
+
132
+ #if (defined(MBEDTLS_PSA_BUILTIN_ALG_ECDSA) || \
133
+ defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA)) && \
134
+ defined(MBEDTLS_ECP_RESTARTABLE)
135
+ #define MBEDTLS_PSA_SIGN_HASH_INTERRUPTIBLE_OPERATION_INIT { { 0 }, { 0 }, 0, 0, 0, 0, 0, 0 }
136
+ #else
137
+ #define MBEDTLS_PSA_SIGN_HASH_INTERRUPTIBLE_OPERATION_INIT { 0 }
138
+ #endif
139
+
140
+ /* Context structure for the Mbed TLS interruptible verify hash
141
+ * implementation.*/
142
+ typedef struct {
143
+ #if (defined(MBEDTLS_PSA_BUILTIN_ALG_ECDSA) || \
144
+ defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA)) && \
145
+ defined(MBEDTLS_ECP_RESTARTABLE)
146
+
147
+ mbedtls_ecdsa_context *MBEDTLS_PRIVATE(ctx);
148
+ mbedtls_ecdsa_restart_ctx MBEDTLS_PRIVATE(restart_ctx);
149
+
150
+ uint32_t MBEDTLS_PRIVATE(num_ops);
151
+
152
+ uint8_t MBEDTLS_PRIVATE(hash)[PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS)];
153
+ size_t MBEDTLS_PRIVATE(hash_length);
154
+
155
+ mbedtls_mpi MBEDTLS_PRIVATE(r);
156
+ mbedtls_mpi MBEDTLS_PRIVATE(s);
157
+
158
+ #else
159
+ /* Make the struct non-empty if algs not supported. */
160
+ unsigned MBEDTLS_PRIVATE(dummy);
161
+
162
+ #endif /* defined(MBEDTLS_PSA_BUILTIN_ALG_ECDSA) ||
163
+ * defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA) &&
164
+ * defined( MBEDTLS_ECP_RESTARTABLE ) */
165
+
166
+ } mbedtls_psa_verify_hash_interruptible_operation_t;
167
+
168
+ #if (defined(MBEDTLS_PSA_BUILTIN_ALG_ECDSA) || \
169
+ defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA)) && \
170
+ defined(MBEDTLS_ECP_RESTARTABLE)
171
+ #define MBEDTLS_VERIFY_SIGN_HASH_INTERRUPTIBLE_OPERATION_INIT { { 0 }, { 0 }, 0, 0, 0, 0, { 0 }, \
172
+ { 0 } }
173
+ #else
174
+ #define MBEDTLS_VERIFY_SIGN_HASH_INTERRUPTIBLE_OPERATION_INIT { 0 }
175
+ #endif
176
+
177
+
178
+ /* EC-JPAKE operation definitions */
179
+
180
+ #include "mbedtls/ecjpake.h"
181
+
182
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE)
183
+ #define MBEDTLS_PSA_BUILTIN_PAKE 1
184
+ #endif
185
+
186
+ /* Note: the format for mbedtls_ecjpake_read/write function has an extra
187
+ * length byte for each step, plus an extra 3 bytes for ECParameters in the
188
+ * server's 2nd round. */
189
+ #define MBEDTLS_PSA_JPAKE_BUFFER_SIZE ((3 + 1 + 65 + 1 + 65 + 1 + 32) * 2)
190
+
191
+ typedef struct {
192
+ psa_algorithm_t MBEDTLS_PRIVATE(alg);
193
+
194
+ uint8_t *MBEDTLS_PRIVATE(password);
195
+ size_t MBEDTLS_PRIVATE(password_len);
196
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE)
197
+ mbedtls_ecjpake_role MBEDTLS_PRIVATE(role);
198
+ uint8_t MBEDTLS_PRIVATE(buffer[MBEDTLS_PSA_JPAKE_BUFFER_SIZE]);
199
+ size_t MBEDTLS_PRIVATE(buffer_length);
200
+ size_t MBEDTLS_PRIVATE(buffer_offset);
201
+ #endif
202
+ /* Context structure for the Mbed TLS EC-JPAKE implementation. */
203
+ union {
204
+ unsigned int MBEDTLS_PRIVATE(dummy);
205
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE)
206
+ mbedtls_ecjpake_context MBEDTLS_PRIVATE(jpake);
207
+ #endif
208
+ } MBEDTLS_PRIVATE(ctx);
209
+
210
+ } mbedtls_psa_pake_operation_t;
211
+
212
+ #define MBEDTLS_PSA_PAKE_OPERATION_INIT { { 0 } }
213
+
214
+ #endif /* PSA_CRYPTO_BUILTIN_COMPOSITES_H */
@@ -0,0 +1,118 @@
1
+ /*
2
+ * Context structure declaration of the Mbed TLS software-based PSA drivers
3
+ * called through the PSA Crypto driver dispatch layer.
4
+ * This file contains the context structures of key derivation algorithms
5
+ * which need to rely on other algorithms.
6
+ *
7
+ * \note This file may not be included directly. Applications must
8
+ * include psa/crypto.h.
9
+ *
10
+ * \note This header and its content are not part of the Mbed TLS API and
11
+ * applications must not depend on it. Its main purpose is to define the
12
+ * multi-part state objects of the Mbed TLS software-based PSA drivers. The
13
+ * definitions of these objects are then used by crypto_struct.h to define the
14
+ * implementation-defined types of PSA multi-part state objects.
15
+ */
16
+ /*
17
+ * Copyright The Mbed TLS Contributors
18
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
19
+ */
20
+
21
+ #ifndef PSA_CRYPTO_BUILTIN_KEY_DERIVATION_H
22
+ #define PSA_CRYPTO_BUILTIN_KEY_DERIVATION_H
23
+ #include "mbedtls/private_access.h"
24
+
25
+ #include <psa/crypto_driver_common.h>
26
+
27
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
28
+ defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
29
+ defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
30
+ typedef struct {
31
+ uint8_t *MBEDTLS_PRIVATE(info);
32
+ size_t MBEDTLS_PRIVATE(info_length);
33
+ #if PSA_HASH_MAX_SIZE > 0xff
34
+ #error "PSA_HASH_MAX_SIZE does not fit in uint8_t"
35
+ #endif
36
+ uint8_t MBEDTLS_PRIVATE(offset_in_block);
37
+ uint8_t MBEDTLS_PRIVATE(block_number);
38
+ unsigned int MBEDTLS_PRIVATE(state) : 2;
39
+ unsigned int MBEDTLS_PRIVATE(info_set) : 1;
40
+ uint8_t MBEDTLS_PRIVATE(output_block)[PSA_HASH_MAX_SIZE];
41
+ uint8_t MBEDTLS_PRIVATE(prk)[PSA_HASH_MAX_SIZE];
42
+ struct psa_mac_operation_s MBEDTLS_PRIVATE(hmac);
43
+ } psa_hkdf_key_derivation_t;
44
+ #endif /* MBEDTLS_PSA_BUILTIN_ALG_HKDF ||
45
+ MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT ||
46
+ MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND */
47
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS)
48
+ typedef struct {
49
+ uint8_t MBEDTLS_PRIVATE(data)[PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE];
50
+ } psa_tls12_ecjpake_to_pms_t;
51
+ #endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS */
52
+
53
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
54
+ defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
55
+ typedef enum {
56
+ PSA_TLS12_PRF_STATE_INIT, /* no input provided */
57
+ PSA_TLS12_PRF_STATE_SEED_SET, /* seed has been set */
58
+ PSA_TLS12_PRF_STATE_OTHER_KEY_SET, /* other key has been set - optional */
59
+ PSA_TLS12_PRF_STATE_KEY_SET, /* key has been set */
60
+ PSA_TLS12_PRF_STATE_LABEL_SET, /* label has been set */
61
+ PSA_TLS12_PRF_STATE_OUTPUT /* output has been started */
62
+ } psa_tls12_prf_key_derivation_state_t;
63
+
64
+ typedef struct psa_tls12_prf_key_derivation_s {
65
+ #if PSA_HASH_MAX_SIZE > 0xff
66
+ #error "PSA_HASH_MAX_SIZE does not fit in uint8_t"
67
+ #endif
68
+
69
+ /* Indicates how many bytes in the current HMAC block have
70
+ * not yet been read by the user. */
71
+ uint8_t MBEDTLS_PRIVATE(left_in_block);
72
+
73
+ /* The 1-based number of the block. */
74
+ uint8_t MBEDTLS_PRIVATE(block_number);
75
+
76
+ psa_tls12_prf_key_derivation_state_t MBEDTLS_PRIVATE(state);
77
+
78
+ uint8_t *MBEDTLS_PRIVATE(secret);
79
+ size_t MBEDTLS_PRIVATE(secret_length);
80
+ uint8_t *MBEDTLS_PRIVATE(seed);
81
+ size_t MBEDTLS_PRIVATE(seed_length);
82
+ uint8_t *MBEDTLS_PRIVATE(label);
83
+ size_t MBEDTLS_PRIVATE(label_length);
84
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
85
+ uint8_t *MBEDTLS_PRIVATE(other_secret);
86
+ size_t MBEDTLS_PRIVATE(other_secret_length);
87
+ #endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS */
88
+
89
+ uint8_t MBEDTLS_PRIVATE(Ai)[PSA_HASH_MAX_SIZE];
90
+
91
+ /* `HMAC_hash( prk, A( i ) + seed )` in the notation of RFC 5246, Sect. 5. */
92
+ uint8_t MBEDTLS_PRIVATE(output_block)[PSA_HASH_MAX_SIZE];
93
+ } psa_tls12_prf_key_derivation_t;
94
+ #endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) ||
95
+ * MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS */
96
+ #if defined(PSA_HAVE_SOFT_PBKDF2)
97
+ typedef enum {
98
+ PSA_PBKDF2_STATE_INIT, /* no input provided */
99
+ PSA_PBKDF2_STATE_INPUT_COST_SET, /* input cost has been set */
100
+ PSA_PBKDF2_STATE_SALT_SET, /* salt has been set */
101
+ PSA_PBKDF2_STATE_PASSWORD_SET, /* password has been set */
102
+ PSA_PBKDF2_STATE_OUTPUT /* output has been started */
103
+ } psa_pbkdf2_key_derivation_state_t;
104
+
105
+ typedef struct {
106
+ psa_pbkdf2_key_derivation_state_t MBEDTLS_PRIVATE(state);
107
+ uint64_t MBEDTLS_PRIVATE(input_cost);
108
+ uint8_t *MBEDTLS_PRIVATE(salt);
109
+ size_t MBEDTLS_PRIVATE(salt_length);
110
+ uint8_t MBEDTLS_PRIVATE(password)[PSA_HMAC_MAX_HASH_BLOCK_SIZE];
111
+ size_t MBEDTLS_PRIVATE(password_length);
112
+ uint8_t MBEDTLS_PRIVATE(output_block)[PSA_HASH_MAX_SIZE];
113
+ uint8_t MBEDTLS_PRIVATE(bytes_used);
114
+ uint32_t MBEDTLS_PRIVATE(block_number);
115
+ } psa_pbkdf2_key_derivation_t;
116
+ #endif /* PSA_HAVE_SOFT_PBKDF2 */
117
+
118
+ #endif /* PSA_CRYPTO_BUILTIN_KEY_DERIVATION_H */
@@ -0,0 +1,114 @@
1
+ /*
2
+ * Context structure declaration of the Mbed TLS software-based PSA drivers
3
+ * called through the PSA Crypto driver dispatch layer.
4
+ * This file contains the context structures of those algorithms which do not
5
+ * rely on other algorithms, i.e. are 'primitive' algorithms.
6
+ *
7
+ * \note This file may not be included directly. Applications must
8
+ * include psa/crypto.h.
9
+ *
10
+ * \note This header and its content are not part of the Mbed TLS API and
11
+ * applications must not depend on it. Its main purpose is to define the
12
+ * multi-part state objects of the Mbed TLS software-based PSA drivers. The
13
+ * definitions of these objects are then used by crypto_struct.h to define the
14
+ * implementation-defined types of PSA multi-part state objects.
15
+ */
16
+ /*
17
+ * Copyright The Mbed TLS Contributors
18
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
19
+ */
20
+
21
+ #ifndef PSA_CRYPTO_BUILTIN_PRIMITIVES_H
22
+ #define PSA_CRYPTO_BUILTIN_PRIMITIVES_H
23
+ #include "mbedtls/private_access.h"
24
+
25
+ #include <psa/crypto_driver_common.h>
26
+
27
+ /*
28
+ * Hash multi-part operation definitions.
29
+ */
30
+
31
+ #include "mbedtls/md5.h"
32
+ #include "mbedtls/ripemd160.h"
33
+ #include "mbedtls/sha1.h"
34
+ #include "mbedtls/sha256.h"
35
+ #include "mbedtls/sha512.h"
36
+ #include "mbedtls/sha3.h"
37
+
38
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_MD5) || \
39
+ defined(MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160) || \
40
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_1) || \
41
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_224) || \
42
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_256) || \
43
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_384) || \
44
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_512) || \
45
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_224) || \
46
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_256) || \
47
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_384) || \
48
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_512)
49
+ #define MBEDTLS_PSA_BUILTIN_HASH
50
+ #endif
51
+
52
+ typedef struct {
53
+ psa_algorithm_t MBEDTLS_PRIVATE(alg);
54
+ union {
55
+ unsigned dummy; /* Make the union non-empty even with no supported algorithms. */
56
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_MD5)
57
+ mbedtls_md5_context md5;
58
+ #endif
59
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160)
60
+ mbedtls_ripemd160_context ripemd160;
61
+ #endif
62
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_1)
63
+ mbedtls_sha1_context sha1;
64
+ #endif
65
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_256) || \
66
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_224)
67
+ mbedtls_sha256_context sha256;
68
+ #endif
69
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_512) || \
70
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_384)
71
+ mbedtls_sha512_context sha512;
72
+ #endif
73
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_224) || \
74
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_256) || \
75
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_384) || \
76
+ defined(MBEDTLS_PSA_BUILTIN_ALG_SHA3_512)
77
+ mbedtls_sha3_context sha3;
78
+ #endif
79
+ } MBEDTLS_PRIVATE(ctx);
80
+ } mbedtls_psa_hash_operation_t;
81
+
82
+ #define MBEDTLS_PSA_HASH_OPERATION_INIT { 0, { 0 } }
83
+
84
+ /*
85
+ * Cipher multi-part operation definitions.
86
+ */
87
+
88
+ #include "mbedtls/cipher.h"
89
+
90
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER) || \
91
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CTR) || \
92
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CFB) || \
93
+ defined(MBEDTLS_PSA_BUILTIN_ALG_OFB) || \
94
+ defined(MBEDTLS_PSA_BUILTIN_ALG_ECB_NO_PADDING) || \
95
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CBC_NO_PADDING) || \
96
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CBC_PKCS7) || \
97
+ defined(MBEDTLS_PSA_BUILTIN_ALG_CCM_STAR_NO_TAG)
98
+ #define MBEDTLS_PSA_BUILTIN_CIPHER 1
99
+ #endif
100
+
101
+ typedef struct {
102
+ /* Context structure for the Mbed TLS cipher implementation. */
103
+ psa_algorithm_t MBEDTLS_PRIVATE(alg);
104
+ uint8_t MBEDTLS_PRIVATE(iv_length);
105
+ uint8_t MBEDTLS_PRIVATE(block_length);
106
+ union {
107
+ unsigned int MBEDTLS_PRIVATE(dummy);
108
+ mbedtls_cipher_context_t MBEDTLS_PRIVATE(cipher);
109
+ } MBEDTLS_PRIVATE(ctx);
110
+ } mbedtls_psa_cipher_operation_t;
111
+
112
+ #define MBEDTLS_PSA_CIPHER_OPERATION_INIT { 0, 0, 0, { 0 } }
113
+
114
+ #endif /* PSA_CRYPTO_BUILTIN_PRIMITIVES_H */