@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,156 @@
1
+ /**
2
+ * \file debug.h
3
+ *
4
+ * \brief Functions for controlling and providing debug output from the library.
5
+ */
6
+ /*
7
+ * Copyright The Mbed TLS Contributors
8
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
9
+ */
10
+ #ifndef MBEDTLS_DEBUG_H
11
+ #define MBEDTLS_DEBUG_H
12
+
13
+ #include "mbedtls/build_info.h"
14
+
15
+ #include "mbedtls/ssl.h"
16
+
17
+ #if defined(MBEDTLS_ECP_C)
18
+ #include "mbedtls/ecp.h"
19
+ #endif
20
+
21
+ #if defined(MBEDTLS_DEBUG_C)
22
+
23
+ #define MBEDTLS_DEBUG_STRIP_PARENS(...) __VA_ARGS__
24
+
25
+ #define MBEDTLS_SSL_DEBUG_MSG(level, args) \
26
+ mbedtls_debug_print_msg(ssl, level, __FILE__, __LINE__, \
27
+ MBEDTLS_DEBUG_STRIP_PARENS args)
28
+
29
+ #define MBEDTLS_SSL_DEBUG_RET(level, text, ret) \
30
+ mbedtls_debug_print_ret(ssl, level, __FILE__, __LINE__, text, ret)
31
+
32
+ #define MBEDTLS_SSL_DEBUG_BUF(level, text, buf, len) \
33
+ mbedtls_debug_print_buf(ssl, level, __FILE__, __LINE__, text, buf, len)
34
+
35
+ #if defined(MBEDTLS_BIGNUM_C)
36
+ #define MBEDTLS_SSL_DEBUG_MPI(level, text, X) \
37
+ mbedtls_debug_print_mpi(ssl, level, __FILE__, __LINE__, text, X)
38
+ #endif
39
+
40
+ #if defined(MBEDTLS_ECP_C)
41
+ #define MBEDTLS_SSL_DEBUG_ECP(level, text, X) \
42
+ mbedtls_debug_print_ecp(ssl, level, __FILE__, __LINE__, text, X)
43
+ #endif
44
+
45
+ #if defined(MBEDTLS_X509_CRT_PARSE_C)
46
+ #if !defined(MBEDTLS_X509_REMOVE_INFO)
47
+ #define MBEDTLS_SSL_DEBUG_CRT(level, text, crt) \
48
+ mbedtls_debug_print_crt(ssl, level, __FILE__, __LINE__, text, crt)
49
+ #else
50
+ #define MBEDTLS_SSL_DEBUG_CRT(level, text, crt) do { } while (0)
51
+ #endif /* MBEDTLS_X509_REMOVE_INFO */
52
+ #endif /* MBEDTLS_X509_CRT_PARSE_C */
53
+
54
+ #if defined(MBEDTLS_ECDH_C)
55
+ #define MBEDTLS_SSL_DEBUG_ECDH(level, ecdh, attr) \
56
+ mbedtls_debug_printf_ecdh(ssl, level, __FILE__, __LINE__, ecdh, attr)
57
+ #endif
58
+
59
+ #else /* MBEDTLS_DEBUG_C */
60
+
61
+ #define MBEDTLS_SSL_DEBUG_MSG(level, args) do { } while (0)
62
+ #define MBEDTLS_SSL_DEBUG_RET(level, text, ret) do { } while (0)
63
+ #define MBEDTLS_SSL_DEBUG_BUF(level, text, buf, len) do { } while (0)
64
+ #define MBEDTLS_SSL_DEBUG_MPI(level, text, X) do { } while (0)
65
+ #define MBEDTLS_SSL_DEBUG_ECP(level, text, X) do { } while (0)
66
+ #define MBEDTLS_SSL_DEBUG_CRT(level, text, crt) do { } while (0)
67
+ #define MBEDTLS_SSL_DEBUG_ECDH(level, ecdh, attr) do { } while (0)
68
+
69
+ #endif /* MBEDTLS_DEBUG_C */
70
+
71
+ /**
72
+ * \def MBEDTLS_PRINTF_ATTRIBUTE
73
+ *
74
+ * Mark a function as having printf attributes, and thus enable checking
75
+ * via -wFormat and other flags. This does nothing on builds with compilers
76
+ * that do not support the format attribute
77
+ *
78
+ * Module: library/debug.c
79
+ * Caller:
80
+ *
81
+ * This module provides debugging functions.
82
+ */
83
+ #if defined(__has_attribute)
84
+ #if __has_attribute(format)
85
+ #if defined(__MINGW32__) && __USE_MINGW_ANSI_STDIO == 1
86
+ #define MBEDTLS_PRINTF_ATTRIBUTE(string_index, first_to_check) \
87
+ __attribute__((__format__(gnu_printf, string_index, first_to_check)))
88
+ #else /* defined(__MINGW32__) && __USE_MINGW_ANSI_STDIO == 1 */
89
+ #define MBEDTLS_PRINTF_ATTRIBUTE(string_index, first_to_check) \
90
+ __attribute__((format(printf, string_index, first_to_check)))
91
+ #endif
92
+ #else /* __has_attribute(format) */
93
+ #define MBEDTLS_PRINTF_ATTRIBUTE(string_index, first_to_check)
94
+ #endif /* __has_attribute(format) */
95
+ #else /* defined(__has_attribute) */
96
+ #define MBEDTLS_PRINTF_ATTRIBUTE(string_index, first_to_check)
97
+ #endif
98
+
99
+ /**
100
+ * \def MBEDTLS_PRINTF_SIZET
101
+ *
102
+ * MBEDTLS_PRINTF_xxx: Due to issues with older window compilers
103
+ * and MinGW we need to define the printf specifier for size_t
104
+ * and long long per platform.
105
+ *
106
+ * Module: library/debug.c
107
+ * Caller:
108
+ *
109
+ * This module provides debugging functions.
110
+ */
111
+ #if defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER < 1900)
112
+ #include <inttypes.h>
113
+ #define MBEDTLS_PRINTF_SIZET PRIuPTR
114
+ #define MBEDTLS_PRINTF_LONGLONG PRId64
115
+ #else \
116
+ /* defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER < 1900) */
117
+ #define MBEDTLS_PRINTF_SIZET "zu"
118
+ #define MBEDTLS_PRINTF_LONGLONG "lld"
119
+ #endif \
120
+ /* defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER < 1900) */
121
+
122
+ #if !defined(MBEDTLS_PRINTF_MS_TIME)
123
+ #include <inttypes.h>
124
+ #if !defined(PRId64)
125
+ #define MBEDTLS_PRINTF_MS_TIME MBEDTLS_PRINTF_LONGLONG
126
+ #else
127
+ #define MBEDTLS_PRINTF_MS_TIME PRId64
128
+ #endif
129
+ #endif /* MBEDTLS_PRINTF_MS_TIME */
130
+
131
+ #ifdef __cplusplus
132
+ extern "C" {
133
+ #endif
134
+
135
+ /**
136
+ * \brief Set the threshold error level to handle globally all debug output.
137
+ * Debug messages that have a level over the threshold value are
138
+ * discarded.
139
+ * (Default value: 0 = No debug )
140
+ *
141
+ * \param threshold threshold level of messages to filter on. Messages at a
142
+ * higher level will be discarded.
143
+ * - Debug levels
144
+ * - 0 No debug
145
+ * - 1 Error
146
+ * - 2 State change
147
+ * - 3 Informational
148
+ * - 4 Verbose
149
+ */
150
+ void mbedtls_debug_set_threshold(int threshold);
151
+
152
+ #ifdef __cplusplus
153
+ }
154
+ #endif
155
+
156
+ #endif /* MBEDTLS_DEBUG_H */
@@ -0,0 +1,385 @@
1
+ /**
2
+ * \file des.h
3
+ *
4
+ * \brief DES block cipher
5
+ *
6
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
7
+ * security risk. We recommend considering stronger ciphers
8
+ * instead.
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 MBEDTLS_DES_H
16
+ #define MBEDTLS_DES_H
17
+ #include "mbedtls/private_access.h"
18
+
19
+ #include "mbedtls/build_info.h"
20
+ #include "mbedtls/platform_util.h"
21
+
22
+ #include <stddef.h>
23
+ #include <stdint.h>
24
+
25
+ #define MBEDTLS_DES_ENCRYPT 1
26
+ #define MBEDTLS_DES_DECRYPT 0
27
+
28
+ /** The data input has an invalid length. */
29
+ #define MBEDTLS_ERR_DES_INVALID_INPUT_LENGTH -0x0032
30
+
31
+ #define MBEDTLS_DES_KEY_SIZE 8
32
+
33
+ #ifdef __cplusplus
34
+ extern "C" {
35
+ #endif
36
+
37
+ #if !defined(MBEDTLS_DES_ALT)
38
+ // Regular implementation
39
+ //
40
+
41
+ /**
42
+ * \brief DES context structure
43
+ *
44
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
45
+ * security risk. We recommend considering stronger ciphers
46
+ * instead.
47
+ */
48
+ typedef struct mbedtls_des_context {
49
+ uint32_t MBEDTLS_PRIVATE(sk)[32]; /*!< DES subkeys */
50
+ }
51
+ mbedtls_des_context;
52
+
53
+ /**
54
+ * \brief Triple-DES context structure
55
+ *
56
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
57
+ * security risk. We recommend considering stronger ciphers
58
+ * instead.
59
+ */
60
+ typedef struct mbedtls_des3_context {
61
+ uint32_t MBEDTLS_PRIVATE(sk)[96]; /*!< 3DES subkeys */
62
+ }
63
+ mbedtls_des3_context;
64
+
65
+ #else /* MBEDTLS_DES_ALT */
66
+ #include "des_alt.h"
67
+ #endif /* MBEDTLS_DES_ALT */
68
+
69
+ /**
70
+ * \brief Initialize DES context
71
+ *
72
+ * \param ctx DES context to be initialized
73
+ *
74
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
75
+ * security risk. We recommend considering stronger ciphers
76
+ * instead.
77
+ */
78
+ void mbedtls_des_init(mbedtls_des_context *ctx);
79
+
80
+ /**
81
+ * \brief Clear DES context
82
+ *
83
+ * \param ctx DES context to be cleared
84
+ *
85
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
86
+ * security risk. We recommend considering stronger ciphers
87
+ * instead.
88
+ */
89
+ void mbedtls_des_free(mbedtls_des_context *ctx);
90
+
91
+ /**
92
+ * \brief Initialize Triple-DES context
93
+ *
94
+ * \param ctx DES3 context to be initialized
95
+ *
96
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
97
+ * security risk. We recommend considering stronger ciphers
98
+ * instead.
99
+ */
100
+ void mbedtls_des3_init(mbedtls_des3_context *ctx);
101
+
102
+ /**
103
+ * \brief Clear Triple-DES context
104
+ *
105
+ * \param ctx DES3 context to be cleared
106
+ *
107
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
108
+ * security risk. We recommend considering stronger ciphers
109
+ * instead.
110
+ */
111
+ void mbedtls_des3_free(mbedtls_des3_context *ctx);
112
+
113
+ /**
114
+ * \brief Set key parity on the given key to odd.
115
+ *
116
+ * DES keys are 56 bits long, but each byte is padded with
117
+ * a parity bit to allow verification.
118
+ *
119
+ * \param key 8-byte secret key
120
+ *
121
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
122
+ * security risk. We recommend considering stronger ciphers
123
+ * instead.
124
+ */
125
+ void mbedtls_des_key_set_parity(unsigned char key[MBEDTLS_DES_KEY_SIZE]);
126
+
127
+ /**
128
+ * \brief Check that key parity on the given key is odd.
129
+ *
130
+ * DES keys are 56 bits long, but each byte is padded with
131
+ * a parity bit to allow verification.
132
+ *
133
+ * \param key 8-byte secret key
134
+ *
135
+ * \return 0 is parity was ok, 1 if parity was not correct.
136
+ *
137
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
138
+ * security risk. We recommend considering stronger ciphers
139
+ * instead.
140
+ */
141
+ MBEDTLS_CHECK_RETURN_TYPICAL
142
+ int mbedtls_des_key_check_key_parity(const unsigned char key[MBEDTLS_DES_KEY_SIZE]);
143
+
144
+ /**
145
+ * \brief Check that key is not a weak or semi-weak DES key
146
+ *
147
+ * \param key 8-byte secret key
148
+ *
149
+ * \return 0 if no weak key was found, 1 if a weak key was identified.
150
+ *
151
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
152
+ * security risk. We recommend considering stronger ciphers
153
+ * instead.
154
+ */
155
+ MBEDTLS_CHECK_RETURN_TYPICAL
156
+ int mbedtls_des_key_check_weak(const unsigned char key[MBEDTLS_DES_KEY_SIZE]);
157
+
158
+ /**
159
+ * \brief DES key schedule (56-bit, encryption)
160
+ *
161
+ * \param ctx DES context to be initialized
162
+ * \param key 8-byte secret key
163
+ *
164
+ * \return 0
165
+ *
166
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
167
+ * security risk. We recommend considering stronger ciphers
168
+ * instead.
169
+ */
170
+ MBEDTLS_CHECK_RETURN_TYPICAL
171
+ int mbedtls_des_setkey_enc(mbedtls_des_context *ctx, const unsigned char key[MBEDTLS_DES_KEY_SIZE]);
172
+
173
+ /**
174
+ * \brief DES key schedule (56-bit, decryption)
175
+ *
176
+ * \param ctx DES context to be initialized
177
+ * \param key 8-byte secret key
178
+ *
179
+ * \return 0
180
+ *
181
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
182
+ * security risk. We recommend considering stronger ciphers
183
+ * instead.
184
+ */
185
+ MBEDTLS_CHECK_RETURN_TYPICAL
186
+ int mbedtls_des_setkey_dec(mbedtls_des_context *ctx, const unsigned char key[MBEDTLS_DES_KEY_SIZE]);
187
+
188
+ /**
189
+ * \brief Triple-DES key schedule (112-bit, encryption)
190
+ *
191
+ * \param ctx 3DES context to be initialized
192
+ * \param key 16-byte secret key
193
+ *
194
+ * \return 0
195
+ *
196
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
197
+ * security risk. We recommend considering stronger ciphers
198
+ * instead.
199
+ */
200
+ MBEDTLS_CHECK_RETURN_TYPICAL
201
+ int mbedtls_des3_set2key_enc(mbedtls_des3_context *ctx,
202
+ const unsigned char key[MBEDTLS_DES_KEY_SIZE * 2]);
203
+
204
+ /**
205
+ * \brief Triple-DES key schedule (112-bit, decryption)
206
+ *
207
+ * \param ctx 3DES context to be initialized
208
+ * \param key 16-byte secret key
209
+ *
210
+ * \return 0
211
+ *
212
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
213
+ * security risk. We recommend considering stronger ciphers
214
+ * instead.
215
+ */
216
+ MBEDTLS_CHECK_RETURN_TYPICAL
217
+ int mbedtls_des3_set2key_dec(mbedtls_des3_context *ctx,
218
+ const unsigned char key[MBEDTLS_DES_KEY_SIZE * 2]);
219
+
220
+ /**
221
+ * \brief Triple-DES key schedule (168-bit, encryption)
222
+ *
223
+ * \param ctx 3DES context to be initialized
224
+ * \param key 24-byte secret key
225
+ *
226
+ * \return 0
227
+ *
228
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
229
+ * security risk. We recommend considering stronger ciphers
230
+ * instead.
231
+ */
232
+ MBEDTLS_CHECK_RETURN_TYPICAL
233
+ int mbedtls_des3_set3key_enc(mbedtls_des3_context *ctx,
234
+ const unsigned char key[MBEDTLS_DES_KEY_SIZE * 3]);
235
+
236
+ /**
237
+ * \brief Triple-DES key schedule (168-bit, decryption)
238
+ *
239
+ * \param ctx 3DES context to be initialized
240
+ * \param key 24-byte secret key
241
+ *
242
+ * \return 0
243
+ *
244
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
245
+ * security risk. We recommend considering stronger ciphers
246
+ * instead.
247
+ */
248
+ MBEDTLS_CHECK_RETURN_TYPICAL
249
+ int mbedtls_des3_set3key_dec(mbedtls_des3_context *ctx,
250
+ const unsigned char key[MBEDTLS_DES_KEY_SIZE * 3]);
251
+
252
+ /**
253
+ * \brief DES-ECB block encryption/decryption
254
+ *
255
+ * \param ctx DES context
256
+ * \param input 64-bit input block
257
+ * \param output 64-bit output block
258
+ *
259
+ * \return 0 if successful
260
+ *
261
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
262
+ * security risk. We recommend considering stronger ciphers
263
+ * instead.
264
+ */
265
+ MBEDTLS_CHECK_RETURN_TYPICAL
266
+ int mbedtls_des_crypt_ecb(mbedtls_des_context *ctx,
267
+ const unsigned char input[8],
268
+ unsigned char output[8]);
269
+
270
+ #if defined(MBEDTLS_CIPHER_MODE_CBC)
271
+ /**
272
+ * \brief DES-CBC buffer encryption/decryption
273
+ *
274
+ * \note Upon exit, the content of the IV is updated so that you can
275
+ * call the function same function again on the following
276
+ * block(s) of data and get the same result as if it was
277
+ * encrypted in one call. This allows a "streaming" usage.
278
+ * If on the other hand you need to retain the contents of the
279
+ * IV, you should either save it manually or use the cipher
280
+ * module instead.
281
+ *
282
+ * \param ctx DES context
283
+ * \param mode MBEDTLS_DES_ENCRYPT or MBEDTLS_DES_DECRYPT
284
+ * \param length length of the input data
285
+ * \param iv initialization vector (updated after use)
286
+ * \param input buffer holding the input data
287
+ * \param output buffer holding the output data
288
+ *
289
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
290
+ * security risk. We recommend considering stronger ciphers
291
+ * instead.
292
+ */
293
+ MBEDTLS_CHECK_RETURN_TYPICAL
294
+ int mbedtls_des_crypt_cbc(mbedtls_des_context *ctx,
295
+ int mode,
296
+ size_t length,
297
+ unsigned char iv[8],
298
+ const unsigned char *input,
299
+ unsigned char *output);
300
+ #endif /* MBEDTLS_CIPHER_MODE_CBC */
301
+
302
+ /**
303
+ * \brief 3DES-ECB block encryption/decryption
304
+ *
305
+ * \param ctx 3DES context
306
+ * \param input 64-bit input block
307
+ * \param output 64-bit output block
308
+ *
309
+ * \return 0 if successful
310
+ *
311
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
312
+ * security risk. We recommend considering stronger ciphers
313
+ * instead.
314
+ */
315
+ MBEDTLS_CHECK_RETURN_TYPICAL
316
+ int mbedtls_des3_crypt_ecb(mbedtls_des3_context *ctx,
317
+ const unsigned char input[8],
318
+ unsigned char output[8]);
319
+
320
+ #if defined(MBEDTLS_CIPHER_MODE_CBC)
321
+ /**
322
+ * \brief 3DES-CBC buffer encryption/decryption
323
+ *
324
+ * \note Upon exit, the content of the IV is updated so that you can
325
+ * call the function same function again on the following
326
+ * block(s) of data and get the same result as if it was
327
+ * encrypted in one call. This allows a "streaming" usage.
328
+ * If on the other hand you need to retain the contents of the
329
+ * IV, you should either save it manually or use the cipher
330
+ * module instead.
331
+ *
332
+ * \param ctx 3DES context
333
+ * \param mode MBEDTLS_DES_ENCRYPT or MBEDTLS_DES_DECRYPT
334
+ * \param length length of the input data
335
+ * \param iv initialization vector (updated after use)
336
+ * \param input buffer holding the input data
337
+ * \param output buffer holding the output data
338
+ *
339
+ * \return 0 if successful, or MBEDTLS_ERR_DES_INVALID_INPUT_LENGTH
340
+ *
341
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
342
+ * security risk. We recommend considering stronger ciphers
343
+ * instead.
344
+ */
345
+ MBEDTLS_CHECK_RETURN_TYPICAL
346
+ int mbedtls_des3_crypt_cbc(mbedtls_des3_context *ctx,
347
+ int mode,
348
+ size_t length,
349
+ unsigned char iv[8],
350
+ const unsigned char *input,
351
+ unsigned char *output);
352
+ #endif /* MBEDTLS_CIPHER_MODE_CBC */
353
+
354
+ /**
355
+ * \brief Internal function for key expansion.
356
+ * (Only exposed to allow overriding it,
357
+ * see MBEDTLS_DES_SETKEY_ALT)
358
+ *
359
+ * \param SK Round keys
360
+ * \param key Base key
361
+ *
362
+ * \warning DES/3DES are considered weak ciphers and their use constitutes a
363
+ * security risk. We recommend considering stronger ciphers
364
+ * instead.
365
+ */
366
+ void mbedtls_des_setkey(uint32_t SK[32],
367
+ const unsigned char key[MBEDTLS_DES_KEY_SIZE]);
368
+
369
+ #if defined(MBEDTLS_SELF_TEST)
370
+
371
+ /**
372
+ * \brief Checkup routine
373
+ *
374
+ * \return 0 if successful, or 1 if the test failed
375
+ */
376
+ MBEDTLS_CHECK_RETURN_CRITICAL
377
+ int mbedtls_des_self_test(int verbose);
378
+
379
+ #endif /* MBEDTLS_SELF_TEST */
380
+
381
+ #ifdef __cplusplus
382
+ }
383
+ #endif
384
+
385
+ #endif /* des.h */