@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,487 @@
1
+ /**
2
+ * \file chachapoly.c
3
+ *
4
+ * \brief ChaCha20-Poly1305 AEAD construction based on RFC 7539.
5
+ *
6
+ * Copyright The Mbed TLS Contributors
7
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
8
+ */
9
+ #include "common.h"
10
+
11
+ #if defined(MBEDTLS_CHACHAPOLY_C)
12
+
13
+ #include "mbedtls/chachapoly.h"
14
+ #include "mbedtls/platform_util.h"
15
+ #include "mbedtls/error.h"
16
+ #include "mbedtls/constant_time.h"
17
+
18
+ #include <string.h>
19
+
20
+ #include "chacha20_internal.h"
21
+
22
+ #include "mbedtls/platform.h"
23
+
24
+ #if !defined(MBEDTLS_CHACHAPOLY_ALT)
25
+
26
+ #define CHACHAPOLY_STATE_INIT (0)
27
+ #define CHACHAPOLY_STATE_AAD (1)
28
+ #define CHACHAPOLY_STATE_CIPHERTEXT (2) /* Encrypting or decrypting */
29
+ #define CHACHAPOLY_STATE_FINISHED (3)
30
+
31
+ /**
32
+ * \brief Adds nul bytes to pad the AAD for Poly1305.
33
+ *
34
+ * \param ctx The ChaCha20-Poly1305 context.
35
+ */
36
+ static int chachapoly_pad_aad(mbedtls_chachapoly_context *ctx)
37
+ {
38
+ uint32_t partial_block_len = (uint32_t) (ctx->aad_len % 16U);
39
+ unsigned char zeroes[15];
40
+
41
+ if (partial_block_len == 0U) {
42
+ return 0;
43
+ }
44
+
45
+ memset(zeroes, 0, sizeof(zeroes));
46
+
47
+ return mbedtls_poly1305_update(&ctx->poly1305_ctx,
48
+ zeroes,
49
+ 16U - partial_block_len);
50
+ }
51
+
52
+ /**
53
+ * \brief Adds nul bytes to pad the ciphertext for Poly1305.
54
+ *
55
+ * \param ctx The ChaCha20-Poly1305 context.
56
+ */
57
+ static int chachapoly_pad_ciphertext(mbedtls_chachapoly_context *ctx)
58
+ {
59
+ uint32_t partial_block_len = (uint32_t) (ctx->ciphertext_len % 16U);
60
+ unsigned char zeroes[15];
61
+
62
+ if (partial_block_len == 0U) {
63
+ return 0;
64
+ }
65
+
66
+ memset(zeroes, 0, sizeof(zeroes));
67
+ return mbedtls_poly1305_update(&ctx->poly1305_ctx,
68
+ zeroes,
69
+ 16U - partial_block_len);
70
+ }
71
+
72
+ void mbedtls_chachapoly_init(mbedtls_chachapoly_context *ctx)
73
+ {
74
+ mbedtls_chacha20_init(&ctx->chacha20_ctx);
75
+ mbedtls_poly1305_init(&ctx->poly1305_ctx);
76
+ ctx->aad_len = 0U;
77
+ ctx->ciphertext_len = 0U;
78
+ ctx->state = CHACHAPOLY_STATE_INIT;
79
+ ctx->mode = MBEDTLS_CHACHAPOLY_ENCRYPT;
80
+ }
81
+
82
+ void mbedtls_chachapoly_free(mbedtls_chachapoly_context *ctx)
83
+ {
84
+ if (ctx == NULL) {
85
+ return;
86
+ }
87
+
88
+ mbedtls_chacha20_free(&ctx->chacha20_ctx);
89
+ mbedtls_poly1305_free(&ctx->poly1305_ctx);
90
+ ctx->aad_len = 0U;
91
+ ctx->ciphertext_len = 0U;
92
+ ctx->state = CHACHAPOLY_STATE_INIT;
93
+ ctx->mode = MBEDTLS_CHACHAPOLY_ENCRYPT;
94
+ }
95
+
96
+ int mbedtls_chachapoly_setkey(mbedtls_chachapoly_context *ctx,
97
+ const unsigned char key[32])
98
+ {
99
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
100
+
101
+ ret = mbedtls_chacha20_setkey(&ctx->chacha20_ctx, key);
102
+
103
+ return ret;
104
+ }
105
+
106
+ int mbedtls_chachapoly_starts(mbedtls_chachapoly_context *ctx,
107
+ const unsigned char nonce[12],
108
+ mbedtls_chachapoly_mode_t mode)
109
+ {
110
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
111
+ unsigned char poly1305_key[64];
112
+
113
+ /* Set counter = 0, will be update to 1 when generating Poly1305 key */
114
+ ret = mbedtls_chacha20_starts(&ctx->chacha20_ctx, nonce, 0U);
115
+ if (ret != 0) {
116
+ goto cleanup;
117
+ }
118
+
119
+ /* Generate the Poly1305 key by getting the ChaCha20 keystream output with
120
+ * counter = 0. This is the same as encrypting a buffer of zeroes.
121
+ * Only the first 256-bits (32 bytes) of the key is used for Poly1305.
122
+ * The other 256 bits are discarded.
123
+ */
124
+ memset(poly1305_key, 0, sizeof(poly1305_key));
125
+ ret = mbedtls_chacha20_update(&ctx->chacha20_ctx, sizeof(poly1305_key),
126
+ poly1305_key, poly1305_key);
127
+ if (ret != 0) {
128
+ goto cleanup;
129
+ }
130
+
131
+ ret = mbedtls_poly1305_starts(&ctx->poly1305_ctx, poly1305_key);
132
+
133
+ if (ret == 0) {
134
+ ctx->aad_len = 0U;
135
+ ctx->ciphertext_len = 0U;
136
+ ctx->state = CHACHAPOLY_STATE_AAD;
137
+ ctx->mode = mode;
138
+ }
139
+
140
+ cleanup:
141
+ mbedtls_platform_zeroize(poly1305_key, 64U);
142
+ return ret;
143
+ }
144
+
145
+ int mbedtls_chachapoly_update_aad(mbedtls_chachapoly_context *ctx,
146
+ const unsigned char *aad,
147
+ size_t aad_len)
148
+ {
149
+ if (ctx->state != CHACHAPOLY_STATE_AAD) {
150
+ return MBEDTLS_ERR_CHACHAPOLY_BAD_STATE;
151
+ }
152
+
153
+ ctx->aad_len += aad_len;
154
+
155
+ return mbedtls_poly1305_update(&ctx->poly1305_ctx, aad, aad_len);
156
+ }
157
+
158
+ int mbedtls_chachapoly_update(mbedtls_chachapoly_context *ctx,
159
+ size_t len,
160
+ const unsigned char *input,
161
+ unsigned char *output)
162
+ {
163
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
164
+
165
+ if ((ctx->state != CHACHAPOLY_STATE_AAD) &&
166
+ (ctx->state != CHACHAPOLY_STATE_CIPHERTEXT)) {
167
+ return MBEDTLS_ERR_CHACHAPOLY_BAD_STATE;
168
+ }
169
+
170
+ #if !defined(MBEDTLS_CHACHA20_ALT)
171
+ ret = mbedtls_chacha20_check_counter_wrap(&ctx->chacha20_ctx, len);
172
+ if (ret != 0) {
173
+ return ret;
174
+ }
175
+ #endif /* !MBEDTLS_CHACHA20_ALT */
176
+
177
+ if (ctx->state == CHACHAPOLY_STATE_AAD) {
178
+ ctx->state = CHACHAPOLY_STATE_CIPHERTEXT;
179
+
180
+ ret = chachapoly_pad_aad(ctx);
181
+ if (ret != 0) {
182
+ return ret;
183
+ }
184
+ }
185
+
186
+ ctx->ciphertext_len += len;
187
+
188
+ if (ctx->mode == MBEDTLS_CHACHAPOLY_ENCRYPT) {
189
+ ret = mbedtls_chacha20_update(&ctx->chacha20_ctx, len, input, output);
190
+ if (ret != 0) {
191
+ return ret;
192
+ }
193
+
194
+ ret = mbedtls_poly1305_update(&ctx->poly1305_ctx, output, len);
195
+ if (ret != 0) {
196
+ return ret;
197
+ }
198
+ } else { /* DECRYPT */
199
+ ret = mbedtls_poly1305_update(&ctx->poly1305_ctx, input, len);
200
+ if (ret != 0) {
201
+ return ret;
202
+ }
203
+
204
+ ret = mbedtls_chacha20_update(&ctx->chacha20_ctx, len, input, output);
205
+ if (ret != 0) {
206
+ return ret;
207
+ }
208
+ }
209
+
210
+ return 0;
211
+ }
212
+
213
+ int mbedtls_chachapoly_finish(mbedtls_chachapoly_context *ctx,
214
+ unsigned char mac[16])
215
+ {
216
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
217
+ unsigned char len_block[16];
218
+
219
+ if (ctx->state == CHACHAPOLY_STATE_INIT) {
220
+ return MBEDTLS_ERR_CHACHAPOLY_BAD_STATE;
221
+ }
222
+
223
+ if (ctx->state == CHACHAPOLY_STATE_AAD) {
224
+ ret = chachapoly_pad_aad(ctx);
225
+ if (ret != 0) {
226
+ return ret;
227
+ }
228
+ } else if (ctx->state == CHACHAPOLY_STATE_CIPHERTEXT) {
229
+ ret = chachapoly_pad_ciphertext(ctx);
230
+ if (ret != 0) {
231
+ return ret;
232
+ }
233
+ }
234
+
235
+ ctx->state = CHACHAPOLY_STATE_FINISHED;
236
+
237
+ /* The lengths of the AAD and ciphertext are processed by
238
+ * Poly1305 as the final 128-bit block, encoded as little-endian integers.
239
+ */
240
+ MBEDTLS_PUT_UINT64_LE(ctx->aad_len, len_block, 0);
241
+ MBEDTLS_PUT_UINT64_LE(ctx->ciphertext_len, len_block, 8);
242
+
243
+ ret = mbedtls_poly1305_update(&ctx->poly1305_ctx, len_block, 16U);
244
+ if (ret != 0) {
245
+ return ret;
246
+ }
247
+
248
+ ret = mbedtls_poly1305_finish(&ctx->poly1305_ctx, mac);
249
+
250
+ return ret;
251
+ }
252
+
253
+ static int chachapoly_crypt_and_tag(mbedtls_chachapoly_context *ctx,
254
+ mbedtls_chachapoly_mode_t mode,
255
+ size_t length,
256
+ const unsigned char nonce[12],
257
+ const unsigned char *aad,
258
+ size_t aad_len,
259
+ const unsigned char *input,
260
+ unsigned char *output,
261
+ unsigned char tag[16])
262
+ {
263
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
264
+
265
+ ret = mbedtls_chachapoly_starts(ctx, nonce, mode);
266
+ if (ret != 0) {
267
+ goto cleanup;
268
+ }
269
+
270
+ ret = mbedtls_chachapoly_update_aad(ctx, aad, aad_len);
271
+ if (ret != 0) {
272
+ goto cleanup;
273
+ }
274
+
275
+ ret = mbedtls_chachapoly_update(ctx, length, input, output);
276
+ if (ret != 0) {
277
+ goto cleanup;
278
+ }
279
+
280
+ ret = mbedtls_chachapoly_finish(ctx, tag);
281
+
282
+ cleanup:
283
+ return ret;
284
+ }
285
+
286
+ int mbedtls_chachapoly_encrypt_and_tag(mbedtls_chachapoly_context *ctx,
287
+ size_t length,
288
+ const unsigned char nonce[12],
289
+ const unsigned char *aad,
290
+ size_t aad_len,
291
+ const unsigned char *input,
292
+ unsigned char *output,
293
+ unsigned char tag[16])
294
+ {
295
+ return chachapoly_crypt_and_tag(ctx, MBEDTLS_CHACHAPOLY_ENCRYPT,
296
+ length, nonce, aad, aad_len,
297
+ input, output, tag);
298
+ }
299
+
300
+ int mbedtls_chachapoly_auth_decrypt(mbedtls_chachapoly_context *ctx,
301
+ size_t length,
302
+ const unsigned char nonce[12],
303
+ const unsigned char *aad,
304
+ size_t aad_len,
305
+ const unsigned char tag[16],
306
+ const unsigned char *input,
307
+ unsigned char *output)
308
+ {
309
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
310
+ unsigned char check_tag[16];
311
+ int diff;
312
+
313
+ if ((ret = chachapoly_crypt_and_tag(ctx,
314
+ MBEDTLS_CHACHAPOLY_DECRYPT, length, nonce,
315
+ aad, aad_len, input, output, check_tag)) != 0) {
316
+ return ret;
317
+ }
318
+
319
+ /* Check tag in "constant-time" */
320
+ diff = mbedtls_ct_memcmp(tag, check_tag, sizeof(check_tag));
321
+
322
+ if (diff != 0) {
323
+ mbedtls_platform_zeroize(output, length);
324
+ return MBEDTLS_ERR_CHACHAPOLY_AUTH_FAILED;
325
+ }
326
+
327
+ return 0;
328
+ }
329
+
330
+ #endif /* MBEDTLS_CHACHAPOLY_ALT */
331
+
332
+ #if defined(MBEDTLS_SELF_TEST)
333
+
334
+ static const unsigned char test_key[1][32] =
335
+ {
336
+ {
337
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
338
+ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
339
+ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
340
+ 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
341
+ }
342
+ };
343
+
344
+ static const unsigned char test_nonce[1][12] =
345
+ {
346
+ {
347
+ 0x07, 0x00, 0x00, 0x00, /* 32-bit common part */
348
+ 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47 /* 64-bit IV */
349
+ }
350
+ };
351
+
352
+ static const unsigned char test_aad[1][12] =
353
+ {
354
+ {
355
+ 0x50, 0x51, 0x52, 0x53, 0xc0, 0xc1, 0xc2, 0xc3,
356
+ 0xc4, 0xc5, 0xc6, 0xc7
357
+ }
358
+ };
359
+
360
+ static const size_t test_aad_len[1] =
361
+ {
362
+ 12U
363
+ };
364
+
365
+ static const unsigned char test_input[1][114] =
366
+ {
367
+ {
368
+ 0x4c, 0x61, 0x64, 0x69, 0x65, 0x73, 0x20, 0x61,
369
+ 0x6e, 0x64, 0x20, 0x47, 0x65, 0x6e, 0x74, 0x6c,
370
+ 0x65, 0x6d, 0x65, 0x6e, 0x20, 0x6f, 0x66, 0x20,
371
+ 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73,
372
+ 0x73, 0x20, 0x6f, 0x66, 0x20, 0x27, 0x39, 0x39,
373
+ 0x3a, 0x20, 0x49, 0x66, 0x20, 0x49, 0x20, 0x63,
374
+ 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6f, 0x66, 0x66,
375
+ 0x65, 0x72, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6f,
376
+ 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20,
377
+ 0x74, 0x69, 0x70, 0x20, 0x66, 0x6f, 0x72, 0x20,
378
+ 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x74, 0x75,
379
+ 0x72, 0x65, 0x2c, 0x20, 0x73, 0x75, 0x6e, 0x73,
380
+ 0x63, 0x72, 0x65, 0x65, 0x6e, 0x20, 0x77, 0x6f,
381
+ 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x69,
382
+ 0x74, 0x2e
383
+ }
384
+ };
385
+
386
+ static const unsigned char test_output[1][114] =
387
+ {
388
+ {
389
+ 0xd3, 0x1a, 0x8d, 0x34, 0x64, 0x8e, 0x60, 0xdb,
390
+ 0x7b, 0x86, 0xaf, 0xbc, 0x53, 0xef, 0x7e, 0xc2,
391
+ 0xa4, 0xad, 0xed, 0x51, 0x29, 0x6e, 0x08, 0xfe,
392
+ 0xa9, 0xe2, 0xb5, 0xa7, 0x36, 0xee, 0x62, 0xd6,
393
+ 0x3d, 0xbe, 0xa4, 0x5e, 0x8c, 0xa9, 0x67, 0x12,
394
+ 0x82, 0xfa, 0xfb, 0x69, 0xda, 0x92, 0x72, 0x8b,
395
+ 0x1a, 0x71, 0xde, 0x0a, 0x9e, 0x06, 0x0b, 0x29,
396
+ 0x05, 0xd6, 0xa5, 0xb6, 0x7e, 0xcd, 0x3b, 0x36,
397
+ 0x92, 0xdd, 0xbd, 0x7f, 0x2d, 0x77, 0x8b, 0x8c,
398
+ 0x98, 0x03, 0xae, 0xe3, 0x28, 0x09, 0x1b, 0x58,
399
+ 0xfa, 0xb3, 0x24, 0xe4, 0xfa, 0xd6, 0x75, 0x94,
400
+ 0x55, 0x85, 0x80, 0x8b, 0x48, 0x31, 0xd7, 0xbc,
401
+ 0x3f, 0xf4, 0xde, 0xf0, 0x8e, 0x4b, 0x7a, 0x9d,
402
+ 0xe5, 0x76, 0xd2, 0x65, 0x86, 0xce, 0xc6, 0x4b,
403
+ 0x61, 0x16
404
+ }
405
+ };
406
+
407
+ static const size_t test_input_len[1] =
408
+ {
409
+ 114U
410
+ };
411
+
412
+ static const unsigned char test_mac[1][16] =
413
+ {
414
+ {
415
+ 0x1a, 0xe1, 0x0b, 0x59, 0x4f, 0x09, 0xe2, 0x6a,
416
+ 0x7e, 0x90, 0x2e, 0xcb, 0xd0, 0x60, 0x06, 0x91
417
+ }
418
+ };
419
+
420
+ /* Make sure no other definition is already present. */
421
+ #undef ASSERT
422
+
423
+ #define ASSERT(cond, args) \
424
+ do \
425
+ { \
426
+ if (!(cond)) \
427
+ { \
428
+ if (verbose != 0) \
429
+ mbedtls_printf args; \
430
+ \
431
+ return -1; \
432
+ } \
433
+ } \
434
+ while (0)
435
+
436
+ int mbedtls_chachapoly_self_test(int verbose)
437
+ {
438
+ mbedtls_chachapoly_context ctx;
439
+ unsigned i;
440
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
441
+ unsigned char output[200];
442
+ unsigned char mac[16];
443
+
444
+ for (i = 0U; i < 1U; i++) {
445
+ if (verbose != 0) {
446
+ mbedtls_printf(" ChaCha20-Poly1305 test %u ", i);
447
+ }
448
+
449
+ mbedtls_chachapoly_init(&ctx);
450
+
451
+ ret = mbedtls_chachapoly_setkey(&ctx, test_key[i]);
452
+ ASSERT(0 == ret, ("setkey() error code: %i\n", ret));
453
+
454
+ ret = mbedtls_chachapoly_encrypt_and_tag(&ctx,
455
+ test_input_len[i],
456
+ test_nonce[i],
457
+ test_aad[i],
458
+ test_aad_len[i],
459
+ test_input[i],
460
+ output,
461
+ mac);
462
+
463
+ ASSERT(0 == ret, ("crypt_and_tag() error code: %i\n", ret));
464
+
465
+ ASSERT(0 == memcmp(output, test_output[i], test_input_len[i]),
466
+ ("failure (wrong output)\n"));
467
+
468
+ ASSERT(0 == memcmp(mac, test_mac[i], 16U),
469
+ ("failure (wrong MAC)\n"));
470
+
471
+ mbedtls_chachapoly_free(&ctx);
472
+
473
+ if (verbose != 0) {
474
+ mbedtls_printf("passed\n");
475
+ }
476
+ }
477
+
478
+ if (verbose != 0) {
479
+ mbedtls_printf("\n");
480
+ }
481
+
482
+ return 0;
483
+ }
484
+
485
+ #endif /* MBEDTLS_SELF_TEST */
486
+
487
+ #endif /* MBEDTLS_CHACHAPOLY_C */
@@ -0,0 +1,136 @@
1
+ /**
2
+ * \file check_crypto_config.h
3
+ *
4
+ * \brief Consistency checks for PSA configuration options
5
+ */
6
+ /*
7
+ * Copyright The Mbed TLS Contributors
8
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
9
+ */
10
+
11
+ /*
12
+ * It is recommended to include this file from your crypto_config.h
13
+ * in order to catch dependency issues early.
14
+ */
15
+
16
+ #ifndef MBEDTLS_CHECK_CRYPTO_CONFIG_H
17
+ #define MBEDTLS_CHECK_CRYPTO_CONFIG_H
18
+
19
+ #if defined(PSA_WANT_ALG_CCM) && \
20
+ !(defined(PSA_WANT_KEY_TYPE_AES) || \
21
+ defined(PSA_WANT_KEY_TYPE_CAMELLIA))
22
+ #error "PSA_WANT_ALG_CCM defined, but not all prerequisites"
23
+ #endif
24
+
25
+ #if defined(PSA_WANT_ALG_CMAC) && \
26
+ !(defined(PSA_WANT_KEY_TYPE_AES) || \
27
+ defined(PSA_WANT_KEY_TYPE_CAMELLIA) || \
28
+ defined(PSA_WANT_KEY_TYPE_DES))
29
+ #error "PSA_WANT_ALG_CMAC defined, but not all prerequisites"
30
+ #endif
31
+
32
+ #if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) && \
33
+ !(defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \
34
+ defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY))
35
+ #error "PSA_WANT_ALG_DETERMINISTIC_ECDSA defined, but not all prerequisites"
36
+ #endif
37
+
38
+ #if defined(PSA_WANT_ALG_ECDSA) && \
39
+ !(defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \
40
+ defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY))
41
+ #error "PSA_WANT_ALG_ECDSA defined, but not all prerequisites"
42
+ #endif
43
+
44
+ #if defined(PSA_WANT_ALG_GCM) && \
45
+ !(defined(PSA_WANT_KEY_TYPE_AES) || \
46
+ defined(PSA_WANT_KEY_TYPE_CAMELLIA))
47
+ #error "PSA_WANT_ALG_GCM defined, but not all prerequisites"
48
+ #endif
49
+
50
+ #if defined(PSA_WANT_ALG_RSA_PKCS1V15_CRYPT) && \
51
+ !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \
52
+ defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))
53
+ #error "PSA_WANT_ALG_RSA_PKCS1V15_CRYPT defined, but not all prerequisites"
54
+ #endif
55
+
56
+ #if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) && \
57
+ !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \
58
+ defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))
59
+ #error "PSA_WANT_ALG_RSA_PKCS1V15_SIGN defined, but not all prerequisites"
60
+ #endif
61
+
62
+ #if defined(PSA_WANT_ALG_RSA_OAEP) && \
63
+ !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \
64
+ defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))
65
+ #error "PSA_WANT_ALG_RSA_OAEP defined, but not all prerequisites"
66
+ #endif
67
+
68
+ #if defined(PSA_WANT_ALG_RSA_PSS) && \
69
+ !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \
70
+ defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))
71
+ #error "PSA_WANT_ALG_RSA_PSS defined, but not all prerequisites"
72
+ #endif
73
+
74
+ #if (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \
75
+ defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT) || \
76
+ defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT) || \
77
+ defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE) || \
78
+ defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE)) && \
79
+ !defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
80
+ #error "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_xxx defined, but not all prerequisites"
81
+ #endif
82
+
83
+ #if (defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \
84
+ defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT) || \
85
+ defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT) || \
86
+ defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE)) && \
87
+ !defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY)
88
+ #error "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_xxx defined, but not all prerequisites"
89
+ #endif
90
+
91
+ #if (defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC) || \
92
+ defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT) || \
93
+ defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT) || \
94
+ defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE)) && \
95
+ !defined(PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY)
96
+ #error "PSA_WANT_KEY_TYPE_DH_KEY_PAIR_xxx defined, but not all prerequisites"
97
+ #endif
98
+
99
+ #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR)
100
+ #if defined(MBEDTLS_DEPRECATED_REMOVED)
101
+ #error "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR is deprecated and will be removed in a \
102
+ future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_xxx \
103
+ symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"
104
+ #elif defined(MBEDTLS_DEPRECATED_WARNING)
105
+ #warning "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR is deprecated and will be removed in a \
106
+ future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_xxx \
107
+ symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"
108
+ #endif /* MBEDTLS_DEPRECATED_WARNING */
109
+ #endif /* PSA_WANT_KEY_TYPE_ECC_KEY_PAIR */
110
+
111
+ #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR)
112
+ #if defined(MBEDTLS_DEPRECATED_REMOVED)
113
+ #error "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR is deprecated and will be removed in a \
114
+ future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_xxx \
115
+ symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"
116
+ #elif defined(MBEDTLS_DEPRECATED_WARNING)
117
+ #warning "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR is deprecated and will be removed in a \
118
+ future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_xxx \
119
+ symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"
120
+ #endif /* MBEDTLS_DEPRECATED_WARNING */
121
+ #endif /* PSA_WANT_KEY_TYPE_RSA_KEY_PAIR */
122
+
123
+ #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE)
124
+ #error "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE defined, but feature is not supported"
125
+ #endif
126
+
127
+ #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE)
128
+ #error "PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE defined, but feature is not supported"
129
+ #endif
130
+
131
+ #if defined(PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS) && \
132
+ !defined(PSA_WANT_ALG_SHA_256)
133
+ #error "PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS defined, but not all prerequisites"
134
+ #endif
135
+
136
+ #endif /* MBEDTLS_CHECK_CRYPTO_CONFIG_H */