@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,121 @@
1
+ /**
2
+ * \file pkwrite.h
3
+ *
4
+ * \brief Internal defines shared by the PK write module
5
+ */
6
+ /*
7
+ * Copyright The Mbed TLS Contributors
8
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
9
+ */
10
+
11
+ #ifndef MBEDTLS_PK_WRITE_H
12
+ #define MBEDTLS_PK_WRITE_H
13
+
14
+ #include "mbedtls/build_info.h"
15
+
16
+ #include "mbedtls/pk.h"
17
+
18
+ #if defined(MBEDTLS_USE_PSA_CRYPTO)
19
+ #include "psa/crypto.h"
20
+ #endif /* MBEDTLS_USE_PSA_CRYPTO */
21
+
22
+ /*
23
+ * Max sizes of key per types. Shown as tag + len (+ content).
24
+ */
25
+
26
+ #if defined(MBEDTLS_RSA_C)
27
+ /*
28
+ * RSA public keys:
29
+ * SubjectPublicKeyInfo ::= SEQUENCE { 1 + 3
30
+ * algorithm AlgorithmIdentifier, 1 + 1 (sequence)
31
+ * + 1 + 1 + 9 (rsa oid)
32
+ * + 1 + 1 (params null)
33
+ * subjectPublicKey BIT STRING } 1 + 3 + (1 + below)
34
+ * RSAPublicKey ::= SEQUENCE { 1 + 3
35
+ * modulus INTEGER, -- n 1 + 3 + MPI_MAX + 1
36
+ * publicExponent INTEGER -- e 1 + 3 + MPI_MAX + 1
37
+ * }
38
+ */
39
+ #define MBEDTLS_PK_RSA_PUB_DER_MAX_BYTES (38 + 2 * MBEDTLS_MPI_MAX_SIZE)
40
+
41
+ /*
42
+ * RSA private keys:
43
+ * RSAPrivateKey ::= SEQUENCE { 1 + 3
44
+ * version Version, 1 + 1 + 1
45
+ * modulus INTEGER, 1 + 3 + MPI_MAX + 1
46
+ * publicExponent INTEGER, 1 + 3 + MPI_MAX + 1
47
+ * privateExponent INTEGER, 1 + 3 + MPI_MAX + 1
48
+ * prime1 INTEGER, 1 + 3 + MPI_MAX / 2 + 1
49
+ * prime2 INTEGER, 1 + 3 + MPI_MAX / 2 + 1
50
+ * exponent1 INTEGER, 1 + 3 + MPI_MAX / 2 + 1
51
+ * exponent2 INTEGER, 1 + 3 + MPI_MAX / 2 + 1
52
+ * coefficient INTEGER, 1 + 3 + MPI_MAX / 2 + 1
53
+ * otherPrimeInfos OtherPrimeInfos OPTIONAL 0 (not supported)
54
+ * }
55
+ */
56
+ #define MBEDTLS_MPI_MAX_SIZE_2 (MBEDTLS_MPI_MAX_SIZE / 2 + \
57
+ MBEDTLS_MPI_MAX_SIZE % 2)
58
+ #define MBEDTLS_PK_RSA_PRV_DER_MAX_BYTES (47 + 3 * MBEDTLS_MPI_MAX_SIZE \
59
+ + 5 * MBEDTLS_MPI_MAX_SIZE_2)
60
+
61
+ #else /* MBEDTLS_RSA_C */
62
+
63
+ #define MBEDTLS_PK_RSA_PUB_DER_MAX_BYTES 0
64
+ #define MBEDTLS_PK_RSA_PRV_DER_MAX_BYTES 0
65
+
66
+ #endif /* MBEDTLS_RSA_C */
67
+
68
+ #if defined(MBEDTLS_PK_HAVE_ECC_KEYS)
69
+
70
+ /* Find the maximum number of bytes necessary to store an EC point. When USE_PSA
71
+ * is defined this means looking for the maximum between PSA and built-in
72
+ * supported curves. */
73
+ #if defined(MBEDTLS_USE_PSA_CRYPTO)
74
+ #define MBEDTLS_PK_MAX_ECC_BYTES (PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS) > \
75
+ MBEDTLS_ECP_MAX_BYTES ? \
76
+ PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS) : \
77
+ MBEDTLS_ECP_MAX_BYTES)
78
+ #else /* MBEDTLS_USE_PSA_CRYPTO */
79
+ #define MBEDTLS_PK_MAX_ECC_BYTES MBEDTLS_ECP_MAX_BYTES
80
+ #endif /* MBEDTLS_USE_PSA_CRYPTO */
81
+
82
+ /*
83
+ * EC public keys:
84
+ * SubjectPublicKeyInfo ::= SEQUENCE { 1 + 2
85
+ * algorithm AlgorithmIdentifier, 1 + 1 (sequence)
86
+ * + 1 + 1 + 7 (ec oid)
87
+ * + 1 + 1 + 9 (namedCurve oid)
88
+ * subjectPublicKey BIT STRING 1 + 2 + 1 [1]
89
+ * + 1 (point format) [1]
90
+ * + 2 * ECP_MAX (coords) [1]
91
+ * }
92
+ */
93
+ #define MBEDTLS_PK_ECP_PUB_DER_MAX_BYTES (30 + 2 * MBEDTLS_PK_MAX_ECC_BYTES)
94
+
95
+ /*
96
+ * EC private keys:
97
+ * ECPrivateKey ::= SEQUENCE { 1 + 2
98
+ * version INTEGER , 1 + 1 + 1
99
+ * privateKey OCTET STRING, 1 + 1 + ECP_MAX
100
+ * parameters [0] ECParameters OPTIONAL, 1 + 1 + (1 + 1 + 9)
101
+ * publicKey [1] BIT STRING OPTIONAL 1 + 2 + [1] above
102
+ * }
103
+ */
104
+ #define MBEDTLS_PK_ECP_PRV_DER_MAX_BYTES (29 + 3 * MBEDTLS_PK_MAX_ECC_BYTES)
105
+
106
+ #else /* MBEDTLS_PK_HAVE_ECC_KEYS */
107
+
108
+ #define MBEDTLS_PK_ECP_PUB_DER_MAX_BYTES 0
109
+ #define MBEDTLS_PK_ECP_PRV_DER_MAX_BYTES 0
110
+
111
+ #endif /* MBEDTLS_PK_HAVE_ECC_KEYS */
112
+
113
+ /* Define the maximum available public key DER length based on the supported
114
+ * key types (EC and/or RSA). */
115
+ #if (MBEDTLS_PK_RSA_PUB_DER_MAX_BYTES > MBEDTLS_PK_ECP_PUB_DER_MAX_BYTES)
116
+ #define MBEDTLS_PK_WRITE_PUBKEY_MAX_SIZE MBEDTLS_PK_RSA_PUB_DER_MAX_BYTES
117
+ #else
118
+ #define MBEDTLS_PK_WRITE_PUBKEY_MAX_SIZE MBEDTLS_PK_ECP_PUB_DER_MAX_BYTES
119
+ #endif
120
+
121
+ #endif /* MBEDTLS_PK_WRITE_H */
@@ -0,0 +1,402 @@
1
+ /*
2
+ * Platform abstraction layer
3
+ *
4
+ * Copyright The Mbed TLS Contributors
5
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
6
+ */
7
+
8
+ #include "common.h"
9
+
10
+ #if defined(MBEDTLS_PLATFORM_C)
11
+
12
+ #include "mbedtls/platform.h"
13
+ #include "mbedtls/platform_util.h"
14
+ #include "mbedtls/error.h"
15
+
16
+ /* The compile time configuration of memory allocation via the macros
17
+ * MBEDTLS_PLATFORM_{FREE/CALLOC}_MACRO takes precedence over the runtime
18
+ * configuration via mbedtls_platform_set_calloc_free(). So, omit everything
19
+ * related to the latter if MBEDTLS_PLATFORM_{FREE/CALLOC}_MACRO are defined. */
20
+ #if defined(MBEDTLS_PLATFORM_MEMORY) && \
21
+ !(defined(MBEDTLS_PLATFORM_CALLOC_MACRO) && \
22
+ defined(MBEDTLS_PLATFORM_FREE_MACRO))
23
+
24
+ #if !defined(MBEDTLS_PLATFORM_STD_CALLOC)
25
+ static void *platform_calloc_uninit(size_t n, size_t size)
26
+ {
27
+ ((void) n);
28
+ ((void) size);
29
+ return NULL;
30
+ }
31
+
32
+ #define MBEDTLS_PLATFORM_STD_CALLOC platform_calloc_uninit
33
+ #endif /* !MBEDTLS_PLATFORM_STD_CALLOC */
34
+
35
+ #if !defined(MBEDTLS_PLATFORM_STD_FREE)
36
+ static void platform_free_uninit(void *ptr)
37
+ {
38
+ ((void) ptr);
39
+ }
40
+
41
+ #define MBEDTLS_PLATFORM_STD_FREE platform_free_uninit
42
+ #endif /* !MBEDTLS_PLATFORM_STD_FREE */
43
+
44
+ static void * (*mbedtls_calloc_func)(size_t, size_t) = MBEDTLS_PLATFORM_STD_CALLOC;
45
+ static void (*mbedtls_free_func)(void *) = MBEDTLS_PLATFORM_STD_FREE;
46
+
47
+ void *mbedtls_calloc(size_t nmemb, size_t size)
48
+ {
49
+ return (*mbedtls_calloc_func)(nmemb, size);
50
+ }
51
+
52
+ void mbedtls_free(void *ptr)
53
+ {
54
+ (*mbedtls_free_func)(ptr);
55
+ }
56
+
57
+ int mbedtls_platform_set_calloc_free(void *(*calloc_func)(size_t, size_t),
58
+ void (*free_func)(void *))
59
+ {
60
+ mbedtls_calloc_func = calloc_func;
61
+ mbedtls_free_func = free_func;
62
+ return 0;
63
+ }
64
+ #endif /* MBEDTLS_PLATFORM_MEMORY &&
65
+ !( defined(MBEDTLS_PLATFORM_CALLOC_MACRO) &&
66
+ defined(MBEDTLS_PLATFORM_FREE_MACRO) ) */
67
+
68
+ #if defined(MBEDTLS_PLATFORM_HAS_NON_CONFORMING_SNPRINTF)
69
+ #include <stdarg.h>
70
+ int mbedtls_platform_win32_snprintf(char *s, size_t n, const char *fmt, ...)
71
+ {
72
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
73
+ va_list argp;
74
+
75
+ va_start(argp, fmt);
76
+ ret = mbedtls_vsnprintf(s, n, fmt, argp);
77
+ va_end(argp);
78
+
79
+ return ret;
80
+ }
81
+ #endif
82
+
83
+ #if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT)
84
+ #if !defined(MBEDTLS_PLATFORM_STD_SNPRINTF)
85
+ /*
86
+ * Make dummy function to prevent NULL pointer dereferences
87
+ */
88
+ static int platform_snprintf_uninit(char *s, size_t n,
89
+ const char *format, ...)
90
+ {
91
+ ((void) s);
92
+ ((void) n);
93
+ ((void) format);
94
+ return 0;
95
+ }
96
+
97
+ #define MBEDTLS_PLATFORM_STD_SNPRINTF platform_snprintf_uninit
98
+ #endif /* !MBEDTLS_PLATFORM_STD_SNPRINTF */
99
+
100
+ int (*mbedtls_snprintf)(char *s, size_t n,
101
+ const char *format,
102
+ ...) = MBEDTLS_PLATFORM_STD_SNPRINTF;
103
+
104
+ int mbedtls_platform_set_snprintf(int (*snprintf_func)(char *s, size_t n,
105
+ const char *format,
106
+ ...))
107
+ {
108
+ mbedtls_snprintf = snprintf_func;
109
+ return 0;
110
+ }
111
+ #endif /* MBEDTLS_PLATFORM_SNPRINTF_ALT */
112
+
113
+ #if defined(MBEDTLS_PLATFORM_HAS_NON_CONFORMING_VSNPRINTF)
114
+ #include <stdarg.h>
115
+ int mbedtls_platform_win32_vsnprintf(char *s, size_t n, const char *fmt, va_list arg)
116
+ {
117
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
118
+
119
+ /* Avoid calling the invalid parameter handler by checking ourselves */
120
+ if (s == NULL || n == 0 || fmt == NULL) {
121
+ return -1;
122
+ }
123
+
124
+ #if defined(_TRUNCATE)
125
+ ret = vsnprintf_s(s, n, _TRUNCATE, fmt, arg);
126
+ #else
127
+ ret = vsnprintf(s, n, fmt, arg);
128
+ if (ret < 0 || (size_t) ret == n) {
129
+ s[n-1] = '\0';
130
+ ret = -1;
131
+ }
132
+ #endif
133
+
134
+ return ret;
135
+ }
136
+ #endif
137
+
138
+ #if defined(MBEDTLS_PLATFORM_VSNPRINTF_ALT)
139
+ #if !defined(MBEDTLS_PLATFORM_STD_VSNPRINTF)
140
+ /*
141
+ * Make dummy function to prevent NULL pointer dereferences
142
+ */
143
+ static int platform_vsnprintf_uninit(char *s, size_t n,
144
+ const char *format, va_list arg)
145
+ {
146
+ ((void) s);
147
+ ((void) n);
148
+ ((void) format);
149
+ ((void) arg);
150
+ return -1;
151
+ }
152
+
153
+ #define MBEDTLS_PLATFORM_STD_VSNPRINTF platform_vsnprintf_uninit
154
+ #endif /* !MBEDTLS_PLATFORM_STD_VSNPRINTF */
155
+
156
+ int (*mbedtls_vsnprintf)(char *s, size_t n,
157
+ const char *format,
158
+ va_list arg) = MBEDTLS_PLATFORM_STD_VSNPRINTF;
159
+
160
+ int mbedtls_platform_set_vsnprintf(int (*vsnprintf_func)(char *s, size_t n,
161
+ const char *format,
162
+ va_list arg))
163
+ {
164
+ mbedtls_vsnprintf = vsnprintf_func;
165
+ return 0;
166
+ }
167
+ #endif /* MBEDTLS_PLATFORM_VSNPRINTF_ALT */
168
+
169
+ #if defined(MBEDTLS_PLATFORM_PRINTF_ALT)
170
+ #if !defined(MBEDTLS_PLATFORM_STD_PRINTF)
171
+ /*
172
+ * Make dummy function to prevent NULL pointer dereferences
173
+ */
174
+ static int platform_printf_uninit(const char *format, ...)
175
+ {
176
+ ((void) format);
177
+ return 0;
178
+ }
179
+
180
+ #define MBEDTLS_PLATFORM_STD_PRINTF platform_printf_uninit
181
+ #endif /* !MBEDTLS_PLATFORM_STD_PRINTF */
182
+
183
+ int (*mbedtls_printf)(const char *, ...) = MBEDTLS_PLATFORM_STD_PRINTF;
184
+
185
+ int mbedtls_platform_set_printf(int (*printf_func)(const char *, ...))
186
+ {
187
+ mbedtls_printf = printf_func;
188
+ return 0;
189
+ }
190
+ #endif /* MBEDTLS_PLATFORM_PRINTF_ALT */
191
+
192
+ #if defined(MBEDTLS_PLATFORM_FPRINTF_ALT)
193
+ #if !defined(MBEDTLS_PLATFORM_STD_FPRINTF)
194
+ /*
195
+ * Make dummy function to prevent NULL pointer dereferences
196
+ */
197
+ static int platform_fprintf_uninit(FILE *stream, const char *format, ...)
198
+ {
199
+ ((void) stream);
200
+ ((void) format);
201
+ return 0;
202
+ }
203
+
204
+ #define MBEDTLS_PLATFORM_STD_FPRINTF platform_fprintf_uninit
205
+ #endif /* !MBEDTLS_PLATFORM_STD_FPRINTF */
206
+
207
+ int (*mbedtls_fprintf)(FILE *, const char *, ...) =
208
+ MBEDTLS_PLATFORM_STD_FPRINTF;
209
+
210
+ int mbedtls_platform_set_fprintf(int (*fprintf_func)(FILE *, const char *, ...))
211
+ {
212
+ mbedtls_fprintf = fprintf_func;
213
+ return 0;
214
+ }
215
+ #endif /* MBEDTLS_PLATFORM_FPRINTF_ALT */
216
+
217
+ #if defined(MBEDTLS_PLATFORM_SETBUF_ALT)
218
+ #if !defined(MBEDTLS_PLATFORM_STD_SETBUF)
219
+ /*
220
+ * Make dummy function to prevent NULL pointer dereferences
221
+ */
222
+ static void platform_setbuf_uninit(FILE *stream, char *buf)
223
+ {
224
+ ((void) stream);
225
+ ((void) buf);
226
+ }
227
+
228
+ #define MBEDTLS_PLATFORM_STD_SETBUF platform_setbuf_uninit
229
+ #endif /* !MBEDTLS_PLATFORM_STD_SETBUF */
230
+ void (*mbedtls_setbuf)(FILE *stream, char *buf) = MBEDTLS_PLATFORM_STD_SETBUF;
231
+
232
+ int mbedtls_platform_set_setbuf(void (*setbuf_func)(FILE *stream, char *buf))
233
+ {
234
+ mbedtls_setbuf = setbuf_func;
235
+ return 0;
236
+ }
237
+ #endif /* MBEDTLS_PLATFORM_SETBUF_ALT */
238
+
239
+ #if defined(MBEDTLS_PLATFORM_EXIT_ALT)
240
+ #if !defined(MBEDTLS_PLATFORM_STD_EXIT)
241
+ /*
242
+ * Make dummy function to prevent NULL pointer dereferences
243
+ */
244
+ static void platform_exit_uninit(int status)
245
+ {
246
+ ((void) status);
247
+ }
248
+
249
+ #define MBEDTLS_PLATFORM_STD_EXIT platform_exit_uninit
250
+ #endif /* !MBEDTLS_PLATFORM_STD_EXIT */
251
+
252
+ void (*mbedtls_exit)(int status) = MBEDTLS_PLATFORM_STD_EXIT;
253
+
254
+ int mbedtls_platform_set_exit(void (*exit_func)(int status))
255
+ {
256
+ mbedtls_exit = exit_func;
257
+ return 0;
258
+ }
259
+ #endif /* MBEDTLS_PLATFORM_EXIT_ALT */
260
+
261
+ #if defined(MBEDTLS_HAVE_TIME)
262
+
263
+ #if defined(MBEDTLS_PLATFORM_TIME_ALT)
264
+ #if !defined(MBEDTLS_PLATFORM_STD_TIME)
265
+ /*
266
+ * Make dummy function to prevent NULL pointer dereferences
267
+ */
268
+ static mbedtls_time_t platform_time_uninit(mbedtls_time_t *timer)
269
+ {
270
+ ((void) timer);
271
+ return 0;
272
+ }
273
+
274
+ #define MBEDTLS_PLATFORM_STD_TIME platform_time_uninit
275
+ #endif /* !MBEDTLS_PLATFORM_STD_TIME */
276
+
277
+ mbedtls_time_t (*mbedtls_time)(mbedtls_time_t *timer) = MBEDTLS_PLATFORM_STD_TIME;
278
+
279
+ int mbedtls_platform_set_time(mbedtls_time_t (*time_func)(mbedtls_time_t *timer))
280
+ {
281
+ mbedtls_time = time_func;
282
+ return 0;
283
+ }
284
+ #endif /* MBEDTLS_PLATFORM_TIME_ALT */
285
+
286
+ #endif /* MBEDTLS_HAVE_TIME */
287
+
288
+ #if defined(MBEDTLS_ENTROPY_NV_SEED)
289
+ #if !defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) && defined(MBEDTLS_FS_IO)
290
+ /* Default implementations for the platform independent seed functions use
291
+ * standard libc file functions to read from and write to a pre-defined filename
292
+ */
293
+ int mbedtls_platform_std_nv_seed_read(unsigned char *buf, size_t buf_len)
294
+ {
295
+ FILE *file;
296
+ size_t n;
297
+
298
+ if ((file = fopen(MBEDTLS_PLATFORM_STD_NV_SEED_FILE, "rb")) == NULL) {
299
+ return -1;
300
+ }
301
+
302
+ /* Ensure no stdio buffering of secrets, as such buffers cannot be wiped. */
303
+ mbedtls_setbuf(file, NULL);
304
+
305
+ if ((n = fread(buf, 1, buf_len, file)) != buf_len) {
306
+ fclose(file);
307
+ mbedtls_platform_zeroize(buf, buf_len);
308
+ return -1;
309
+ }
310
+
311
+ fclose(file);
312
+ return (int) n;
313
+ }
314
+
315
+ int mbedtls_platform_std_nv_seed_write(unsigned char *buf, size_t buf_len)
316
+ {
317
+ FILE *file;
318
+ size_t n;
319
+
320
+ if ((file = fopen(MBEDTLS_PLATFORM_STD_NV_SEED_FILE, "w")) == NULL) {
321
+ return -1;
322
+ }
323
+
324
+ /* Ensure no stdio buffering of secrets, as such buffers cannot be wiped. */
325
+ mbedtls_setbuf(file, NULL);
326
+
327
+ if ((n = fwrite(buf, 1, buf_len, file)) != buf_len) {
328
+ fclose(file);
329
+ return -1;
330
+ }
331
+
332
+ fclose(file);
333
+ return (int) n;
334
+ }
335
+ #endif /* MBEDTLS_PLATFORM_NO_STD_FUNCTIONS */
336
+
337
+ #if defined(MBEDTLS_PLATFORM_NV_SEED_ALT)
338
+ #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_READ)
339
+ /*
340
+ * Make dummy function to prevent NULL pointer dereferences
341
+ */
342
+ static int platform_nv_seed_read_uninit(unsigned char *buf, size_t buf_len)
343
+ {
344
+ ((void) buf);
345
+ ((void) buf_len);
346
+ return -1;
347
+ }
348
+
349
+ #define MBEDTLS_PLATFORM_STD_NV_SEED_READ platform_nv_seed_read_uninit
350
+ #endif /* !MBEDTLS_PLATFORM_STD_NV_SEED_READ */
351
+
352
+ #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_WRITE)
353
+ /*
354
+ * Make dummy function to prevent NULL pointer dereferences
355
+ */
356
+ static int platform_nv_seed_write_uninit(unsigned char *buf, size_t buf_len)
357
+ {
358
+ ((void) buf);
359
+ ((void) buf_len);
360
+ return -1;
361
+ }
362
+
363
+ #define MBEDTLS_PLATFORM_STD_NV_SEED_WRITE platform_nv_seed_write_uninit
364
+ #endif /* !MBEDTLS_PLATFORM_STD_NV_SEED_WRITE */
365
+
366
+ int (*mbedtls_nv_seed_read)(unsigned char *buf, size_t buf_len) =
367
+ MBEDTLS_PLATFORM_STD_NV_SEED_READ;
368
+ int (*mbedtls_nv_seed_write)(unsigned char *buf, size_t buf_len) =
369
+ MBEDTLS_PLATFORM_STD_NV_SEED_WRITE;
370
+
371
+ int mbedtls_platform_set_nv_seed(
372
+ int (*nv_seed_read_func)(unsigned char *buf, size_t buf_len),
373
+ int (*nv_seed_write_func)(unsigned char *buf, size_t buf_len))
374
+ {
375
+ mbedtls_nv_seed_read = nv_seed_read_func;
376
+ mbedtls_nv_seed_write = nv_seed_write_func;
377
+ return 0;
378
+ }
379
+ #endif /* MBEDTLS_PLATFORM_NV_SEED_ALT */
380
+ #endif /* MBEDTLS_ENTROPY_NV_SEED */
381
+
382
+ #if !defined(MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT)
383
+ /*
384
+ * Placeholder platform setup that does nothing by default
385
+ */
386
+ int mbedtls_platform_setup(mbedtls_platform_context *ctx)
387
+ {
388
+ (void) ctx;
389
+
390
+ return 0;
391
+ }
392
+
393
+ /*
394
+ * Placeholder platform teardown that does nothing by default
395
+ */
396
+ void mbedtls_platform_teardown(mbedtls_platform_context *ctx)
397
+ {
398
+ (void) ctx;
399
+ }
400
+ #endif /* MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT */
401
+
402
+ #endif /* MBEDTLS_PLATFORM_C */