@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,475 @@
1
+ /*
2
+ * Debugging routines
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_DEBUG_C)
11
+
12
+ #include "mbedtls/platform.h"
13
+
14
+ #include "debug_internal.h"
15
+ #include "mbedtls/error.h"
16
+
17
+ #include <stdarg.h>
18
+ #include <stdio.h>
19
+ #include <string.h>
20
+
21
+ /* DEBUG_BUF_SIZE must be at least 2 */
22
+ #define DEBUG_BUF_SIZE 512
23
+
24
+ int mbedtls_debug_snprintf(char *dest, size_t maxlen,
25
+ const char *format, ...)
26
+ {
27
+ va_list argp;
28
+ va_start(argp, format);
29
+ int ret = mbedtls_vsnprintf(dest, maxlen, format, argp);
30
+ va_end(argp);
31
+ return ret;
32
+ }
33
+
34
+ static int debug_threshold = 0;
35
+
36
+ void mbedtls_debug_set_threshold(int threshold)
37
+ {
38
+ debug_threshold = threshold;
39
+ }
40
+
41
+ /*
42
+ * All calls to f_dbg must be made via this function
43
+ */
44
+ static inline void debug_send_line(const mbedtls_ssl_context *ssl, int level,
45
+ const char *file, int line,
46
+ const char *str)
47
+ {
48
+ /*
49
+ * If in a threaded environment, we need a thread identifier.
50
+ * Since there is no portable way to get one, use the address of the ssl
51
+ * context instead, as it shouldn't be shared between threads.
52
+ */
53
+ #if defined(MBEDTLS_THREADING_C)
54
+ char idstr[20 + DEBUG_BUF_SIZE]; /* 0x + 16 nibbles + ': ' */
55
+ mbedtls_snprintf(idstr, sizeof(idstr), "%p: %s", (void *) ssl, str);
56
+ ssl->conf->f_dbg(ssl->conf->p_dbg, level, file, line, idstr);
57
+ #else
58
+ ssl->conf->f_dbg(ssl->conf->p_dbg, level, file, line, str);
59
+ #endif
60
+ }
61
+
62
+ MBEDTLS_PRINTF_ATTRIBUTE(5, 6)
63
+ void mbedtls_debug_print_msg(const mbedtls_ssl_context *ssl, int level,
64
+ const char *file, int line,
65
+ const char *format, ...)
66
+ {
67
+ va_list argp;
68
+ char str[DEBUG_BUF_SIZE];
69
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
70
+
71
+ MBEDTLS_STATIC_ASSERT(DEBUG_BUF_SIZE >= 2, "DEBUG_BUF_SIZE too small");
72
+
73
+ if (NULL == ssl ||
74
+ NULL == ssl->conf ||
75
+ NULL == ssl->conf->f_dbg ||
76
+ level > debug_threshold) {
77
+ return;
78
+ }
79
+
80
+ va_start(argp, format);
81
+ ret = mbedtls_vsnprintf(str, DEBUG_BUF_SIZE, format, argp);
82
+ va_end(argp);
83
+
84
+ if (ret < 0) {
85
+ ret = 0;
86
+ } else {
87
+ if (ret >= DEBUG_BUF_SIZE - 1) {
88
+ ret = DEBUG_BUF_SIZE - 2;
89
+ }
90
+ }
91
+ str[ret] = '\n';
92
+ str[ret + 1] = '\0';
93
+
94
+ debug_send_line(ssl, level, file, line, str);
95
+ }
96
+
97
+ void mbedtls_debug_print_ret(const mbedtls_ssl_context *ssl, int level,
98
+ const char *file, int line,
99
+ const char *text, int ret)
100
+ {
101
+ char str[DEBUG_BUF_SIZE];
102
+
103
+ if (NULL == ssl ||
104
+ NULL == ssl->conf ||
105
+ NULL == ssl->conf->f_dbg ||
106
+ level > debug_threshold) {
107
+ return;
108
+ }
109
+
110
+ /*
111
+ * With non-blocking I/O and examples that just retry immediately,
112
+ * the logs would be quickly flooded with WANT_READ, so ignore that.
113
+ * Don't ignore WANT_WRITE however, since it is usually rare.
114
+ */
115
+ if (ret == MBEDTLS_ERR_SSL_WANT_READ) {
116
+ return;
117
+ }
118
+
119
+ mbedtls_snprintf(str, sizeof(str), "%s() returned %d (-0x%04x)\n",
120
+ text, ret, (unsigned int) -ret);
121
+
122
+ debug_send_line(ssl, level, file, line, str);
123
+ }
124
+
125
+ void mbedtls_debug_print_buf(const mbedtls_ssl_context *ssl, int level,
126
+ const char *file, int line, const char *text,
127
+ const unsigned char *buf, size_t len)
128
+ {
129
+ char str[DEBUG_BUF_SIZE];
130
+ char txt[17];
131
+ size_t i, idx = 0;
132
+
133
+ if (NULL == ssl ||
134
+ NULL == ssl->conf ||
135
+ NULL == ssl->conf->f_dbg ||
136
+ level > debug_threshold) {
137
+ return;
138
+ }
139
+
140
+ mbedtls_snprintf(str + idx, sizeof(str) - idx, "dumping '%s' (%u bytes)\n",
141
+ text, (unsigned int) len);
142
+
143
+ debug_send_line(ssl, level, file, line, str);
144
+
145
+ memset(txt, 0, sizeof(txt));
146
+ for (i = 0; i < len; i++) {
147
+ if (i >= 4096) {
148
+ break;
149
+ }
150
+
151
+ if (i % 16 == 0) {
152
+ if (i > 0) {
153
+ mbedtls_snprintf(str + idx, sizeof(str) - idx, " %s\n", txt);
154
+ debug_send_line(ssl, level, file, line, str);
155
+
156
+ idx = 0;
157
+ memset(txt, 0, sizeof(txt));
158
+ }
159
+
160
+ idx += mbedtls_snprintf(str + idx, sizeof(str) - idx, "%04x: ",
161
+ (unsigned int) i);
162
+
163
+ }
164
+
165
+ idx += mbedtls_snprintf(str + idx, sizeof(str) - idx, " %02x",
166
+ (unsigned int) buf[i]);
167
+ txt[i % 16] = (buf[i] > 31 && buf[i] < 127) ? buf[i] : '.';
168
+ }
169
+
170
+ if (len > 0) {
171
+ for (/* i = i */; i % 16 != 0; i++) {
172
+ idx += mbedtls_snprintf(str + idx, sizeof(str) - idx, " ");
173
+ }
174
+
175
+ mbedtls_snprintf(str + idx, sizeof(str) - idx, " %s\n", txt);
176
+ debug_send_line(ssl, level, file, line, str);
177
+ }
178
+ }
179
+
180
+ #if defined(MBEDTLS_ECP_LIGHT)
181
+ void mbedtls_debug_print_ecp(const mbedtls_ssl_context *ssl, int level,
182
+ const char *file, int line,
183
+ const char *text, const mbedtls_ecp_point *X)
184
+ {
185
+ char str[DEBUG_BUF_SIZE];
186
+
187
+ if (NULL == ssl ||
188
+ NULL == ssl->conf ||
189
+ NULL == ssl->conf->f_dbg ||
190
+ level > debug_threshold) {
191
+ return;
192
+ }
193
+
194
+ mbedtls_snprintf(str, sizeof(str), "%s(X)", text);
195
+ mbedtls_debug_print_mpi(ssl, level, file, line, str, &X->X);
196
+
197
+ mbedtls_snprintf(str, sizeof(str), "%s(Y)", text);
198
+ mbedtls_debug_print_mpi(ssl, level, file, line, str, &X->Y);
199
+ }
200
+ #endif /* MBEDTLS_ECP_LIGHT */
201
+
202
+ #if defined(MBEDTLS_PK_USE_PSA_EC_DATA)
203
+ static void mbedtls_debug_print_ec_coord(const mbedtls_ssl_context *ssl, int level,
204
+ const char *file, int line, const char *text,
205
+ const unsigned char *buf, size_t len)
206
+ {
207
+ char str[DEBUG_BUF_SIZE];
208
+ size_t i, idx = 0;
209
+
210
+ mbedtls_snprintf(str + idx, sizeof(str) - idx, "value of '%s' (%u bits) is:\n",
211
+ text, (unsigned int) len * 8);
212
+
213
+ debug_send_line(ssl, level, file, line, str);
214
+
215
+ for (i = 0; i < len; i++) {
216
+ if (i >= 4096) {
217
+ break;
218
+ }
219
+
220
+ if (i % 16 == 0) {
221
+ if (i > 0) {
222
+ mbedtls_snprintf(str + idx, sizeof(str) - idx, "\n");
223
+ debug_send_line(ssl, level, file, line, str);
224
+
225
+ idx = 0;
226
+ }
227
+ }
228
+
229
+ idx += mbedtls_snprintf(str + idx, sizeof(str) - idx, " %02x",
230
+ (unsigned int) buf[i]);
231
+ }
232
+
233
+ if (len > 0) {
234
+ for (/* i = i */; i % 16 != 0; i++) {
235
+ idx += mbedtls_snprintf(str + idx, sizeof(str) - idx, " ");
236
+ }
237
+
238
+ mbedtls_snprintf(str + idx, sizeof(str) - idx, "\n");
239
+ debug_send_line(ssl, level, file, line, str);
240
+ }
241
+ }
242
+
243
+ void mbedtls_debug_print_psa_ec(const mbedtls_ssl_context *ssl, int level,
244
+ const char *file, int line,
245
+ const char *text, const mbedtls_pk_context *pk)
246
+ {
247
+ char str[DEBUG_BUF_SIZE];
248
+ const uint8_t *coord_start;
249
+ size_t coord_len;
250
+
251
+ if (NULL == ssl ||
252
+ NULL == ssl->conf ||
253
+ NULL == ssl->conf->f_dbg ||
254
+ level > debug_threshold) {
255
+ return;
256
+ }
257
+
258
+ /* For the description of pk->pk_raw content please refer to the description
259
+ * psa_export_public_key() function. */
260
+ coord_len = (pk->pub_raw_len - 1)/2;
261
+
262
+ /* X coordinate */
263
+ coord_start = pk->pub_raw + 1;
264
+ mbedtls_snprintf(str, sizeof(str), "%s(X)", text);
265
+ mbedtls_debug_print_ec_coord(ssl, level, file, line, str, coord_start, coord_len);
266
+
267
+ /* Y coordinate */
268
+ coord_start = coord_start + coord_len;
269
+ mbedtls_snprintf(str, sizeof(str), "%s(Y)", text);
270
+ mbedtls_debug_print_ec_coord(ssl, level, file, line, str, coord_start, coord_len);
271
+ }
272
+ #endif /* MBEDTLS_PK_USE_PSA_EC_DATA */
273
+
274
+ #if defined(MBEDTLS_BIGNUM_C)
275
+ void mbedtls_debug_print_mpi(const mbedtls_ssl_context *ssl, int level,
276
+ const char *file, int line,
277
+ const char *text, const mbedtls_mpi *X)
278
+ {
279
+ char str[DEBUG_BUF_SIZE];
280
+ size_t bitlen;
281
+ size_t idx = 0;
282
+
283
+ if (NULL == ssl ||
284
+ NULL == ssl->conf ||
285
+ NULL == ssl->conf->f_dbg ||
286
+ NULL == X ||
287
+ level > debug_threshold) {
288
+ return;
289
+ }
290
+
291
+ bitlen = mbedtls_mpi_bitlen(X);
292
+
293
+ mbedtls_snprintf(str, sizeof(str), "value of '%s' (%u bits) is:\n",
294
+ text, (unsigned) bitlen);
295
+ debug_send_line(ssl, level, file, line, str);
296
+
297
+ if (bitlen == 0) {
298
+ str[0] = ' '; str[1] = '0'; str[2] = '0';
299
+ idx = 3;
300
+ } else {
301
+ int n;
302
+ for (n = (int) ((bitlen - 1) / 8); n >= 0; n--) {
303
+ size_t limb_offset = n / sizeof(mbedtls_mpi_uint);
304
+ size_t offset_in_limb = n % sizeof(mbedtls_mpi_uint);
305
+ unsigned char octet =
306
+ (X->p[limb_offset] >> (offset_in_limb * 8)) & 0xff;
307
+ mbedtls_snprintf(str + idx, sizeof(str) - idx, " %02x", octet);
308
+ idx += 3;
309
+ /* Wrap lines after 16 octets that each take 3 columns */
310
+ if (idx >= 3 * 16) {
311
+ mbedtls_snprintf(str + idx, sizeof(str) - idx, "\n");
312
+ debug_send_line(ssl, level, file, line, str);
313
+ idx = 0;
314
+ }
315
+ }
316
+ }
317
+
318
+ if (idx != 0) {
319
+ mbedtls_snprintf(str + idx, sizeof(str) - idx, "\n");
320
+ debug_send_line(ssl, level, file, line, str);
321
+ }
322
+ }
323
+ #endif /* MBEDTLS_BIGNUM_C */
324
+
325
+ #if defined(MBEDTLS_X509_CRT_PARSE_C) && !defined(MBEDTLS_X509_REMOVE_INFO)
326
+ static void debug_print_pk(const mbedtls_ssl_context *ssl, int level,
327
+ const char *file, int line,
328
+ const char *text, const mbedtls_pk_context *pk)
329
+ {
330
+ size_t i;
331
+ mbedtls_pk_debug_item items[MBEDTLS_PK_DEBUG_MAX_ITEMS];
332
+ char name[16];
333
+
334
+ memset(items, 0, sizeof(items));
335
+
336
+ if (mbedtls_pk_debug(pk, items) != 0) {
337
+ debug_send_line(ssl, level, file, line,
338
+ "invalid PK context\n");
339
+ return;
340
+ }
341
+
342
+ for (i = 0; i < MBEDTLS_PK_DEBUG_MAX_ITEMS; i++) {
343
+ if (items[i].type == MBEDTLS_PK_DEBUG_NONE) {
344
+ return;
345
+ }
346
+
347
+ mbedtls_snprintf(name, sizeof(name), "%s%s", text, items[i].name);
348
+ name[sizeof(name) - 1] = '\0';
349
+
350
+ #if defined(MBEDTLS_RSA_C)
351
+ if (items[i].type == MBEDTLS_PK_DEBUG_MPI) {
352
+ mbedtls_debug_print_mpi(ssl, level, file, line, name, items[i].value);
353
+ } else
354
+ #endif /* MBEDTLS_RSA_C */
355
+ #if defined(MBEDTLS_ECP_LIGHT)
356
+ if (items[i].type == MBEDTLS_PK_DEBUG_ECP) {
357
+ mbedtls_debug_print_ecp(ssl, level, file, line, name, items[i].value);
358
+ } else
359
+ #endif /* MBEDTLS_ECP_LIGHT */
360
+ #if defined(MBEDTLS_PK_USE_PSA_EC_DATA)
361
+ if (items[i].type == MBEDTLS_PK_DEBUG_PSA_EC) {
362
+ mbedtls_debug_print_psa_ec(ssl, level, file, line, name, items[i].value);
363
+ } else
364
+ #endif /* MBEDTLS_PK_USE_PSA_EC_DATA */
365
+ { debug_send_line(ssl, level, file, line,
366
+ "should not happen\n"); }
367
+ }
368
+ }
369
+
370
+ static void debug_print_line_by_line(const mbedtls_ssl_context *ssl, int level,
371
+ const char *file, int line, const char *text)
372
+ {
373
+ char str[DEBUG_BUF_SIZE];
374
+ const char *start, *cur;
375
+
376
+ start = text;
377
+ for (cur = text; *cur != '\0'; cur++) {
378
+ if (*cur == '\n') {
379
+ size_t len = (size_t) (cur - start) + 1;
380
+ if (len > DEBUG_BUF_SIZE - 1) {
381
+ len = DEBUG_BUF_SIZE - 1;
382
+ }
383
+
384
+ memcpy(str, start, len);
385
+ str[len] = '\0';
386
+
387
+ debug_send_line(ssl, level, file, line, str);
388
+
389
+ start = cur + 1;
390
+ }
391
+ }
392
+ }
393
+
394
+ void mbedtls_debug_print_crt(const mbedtls_ssl_context *ssl, int level,
395
+ const char *file, int line,
396
+ const char *text, const mbedtls_x509_crt *crt)
397
+ {
398
+ char str[DEBUG_BUF_SIZE];
399
+ int i = 0;
400
+
401
+ if (NULL == ssl ||
402
+ NULL == ssl->conf ||
403
+ NULL == ssl->conf->f_dbg ||
404
+ NULL == crt ||
405
+ level > debug_threshold) {
406
+ return;
407
+ }
408
+
409
+ while (crt != NULL) {
410
+ char buf[1024];
411
+
412
+ mbedtls_snprintf(str, sizeof(str), "%s #%d:\n", text, ++i);
413
+ debug_send_line(ssl, level, file, line, str);
414
+
415
+ mbedtls_x509_crt_info(buf, sizeof(buf) - 1, "", crt);
416
+ debug_print_line_by_line(ssl, level, file, line, buf);
417
+
418
+ debug_print_pk(ssl, level, file, line, "crt->", &crt->pk);
419
+
420
+ crt = crt->next;
421
+ }
422
+ }
423
+ #endif /* MBEDTLS_X509_CRT_PARSE_C && MBEDTLS_X509_REMOVE_INFO */
424
+
425
+ #if defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_ANY_ENABLED) && \
426
+ defined(MBEDTLS_ECDH_C)
427
+ static void mbedtls_debug_printf_ecdh_internal(const mbedtls_ssl_context *ssl,
428
+ int level, const char *file,
429
+ int line,
430
+ const mbedtls_ecdh_context *ecdh,
431
+ mbedtls_debug_ecdh_attr attr)
432
+ {
433
+ #if defined(MBEDTLS_ECDH_LEGACY_CONTEXT)
434
+ const mbedtls_ecdh_context *ctx = ecdh;
435
+ #else
436
+ const mbedtls_ecdh_context_mbed *ctx = &ecdh->ctx.mbed_ecdh;
437
+ #endif
438
+
439
+ switch (attr) {
440
+ case MBEDTLS_DEBUG_ECDH_Q:
441
+ mbedtls_debug_print_ecp(ssl, level, file, line, "ECDH: Q",
442
+ &ctx->Q);
443
+ break;
444
+ case MBEDTLS_DEBUG_ECDH_QP:
445
+ mbedtls_debug_print_ecp(ssl, level, file, line, "ECDH: Qp",
446
+ &ctx->Qp);
447
+ break;
448
+ case MBEDTLS_DEBUG_ECDH_Z:
449
+ mbedtls_debug_print_mpi(ssl, level, file, line, "ECDH: z",
450
+ &ctx->z);
451
+ break;
452
+ default:
453
+ break;
454
+ }
455
+ }
456
+
457
+ void mbedtls_debug_printf_ecdh(const mbedtls_ssl_context *ssl, int level,
458
+ const char *file, int line,
459
+ const mbedtls_ecdh_context *ecdh,
460
+ mbedtls_debug_ecdh_attr attr)
461
+ {
462
+ #if defined(MBEDTLS_ECDH_LEGACY_CONTEXT)
463
+ mbedtls_debug_printf_ecdh_internal(ssl, level, file, line, ecdh, attr);
464
+ #else
465
+ switch (ecdh->var) {
466
+ default:
467
+ mbedtls_debug_printf_ecdh_internal(ssl, level, file, line, ecdh,
468
+ attr);
469
+ }
470
+ #endif
471
+ }
472
+ #endif /* MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_ANY_ENABLED &&
473
+ MBEDTLS_ECDH_C */
474
+
475
+ #endif /* MBEDTLS_DEBUG_C */
@@ -0,0 +1,185 @@
1
+ /**
2
+ * \file debug_internal.h
3
+ *
4
+ * \brief Internal part of the public "debug.h".
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_INTERNAL_H
11
+ #define MBEDTLS_DEBUG_INTERNAL_H
12
+
13
+ #include "mbedtls/debug.h"
14
+
15
+ /* This should be equivalent to mbedtls_snprintf(). But it might not be due
16
+ * to platform shenanigans. For example, Mbed TLS and TF-PSA-Crypto could
17
+ * have inconsistent platform definitions. On Mingw, some code might
18
+ * be built with a different setting of __USE_MINGW_ANSI_STDIO, resulting
19
+ * in an old non-C99 printf being used somewhere.
20
+ *
21
+ * Our library assumes that mbedtls_snprintf() and other printf functions
22
+ * are consistent throughout. This function is not an official API and
23
+ * is not meant to be used inside the library. It is provided to help
24
+ * debugging printf inconsistencies issues. If you need it, good luck!
25
+ */
26
+ int mbedtls_debug_snprintf(char *dest, size_t maxlen,
27
+ const char *format, ...) MBEDTLS_PRINTF_ATTRIBUTE(3, 4);
28
+ /**
29
+ * \brief Print a message to the debug output. This function is always used
30
+ * through the MBEDTLS_SSL_DEBUG_MSG() macro, which supplies the ssl
31
+ * context, file and line number parameters.
32
+ *
33
+ * \param ssl SSL context
34
+ * \param level error level of the debug message
35
+ * \param file file the message has occurred in
36
+ * \param line line number the message has occurred at
37
+ * \param format format specifier, in printf format
38
+ * \param ... variables used by the format specifier
39
+ *
40
+ * \attention This function is intended for INTERNAL usage within the
41
+ * library only.
42
+ */
43
+ void mbedtls_debug_print_msg(const mbedtls_ssl_context *ssl, int level,
44
+ const char *file, int line,
45
+ const char *format, ...) MBEDTLS_PRINTF_ATTRIBUTE(5, 6);
46
+
47
+ /**
48
+ * \brief Print the return value of a function to the debug output. This
49
+ * function is always used through the MBEDTLS_SSL_DEBUG_RET() macro,
50
+ * which supplies the ssl context, file and line number parameters.
51
+ *
52
+ * \param ssl SSL context
53
+ * \param level error level of the debug message
54
+ * \param file file the error has occurred in
55
+ * \param line line number the error has occurred in
56
+ * \param text the name of the function that returned the error
57
+ * \param ret the return code value
58
+ *
59
+ * \attention This function is intended for INTERNAL usage within the
60
+ * library only.
61
+ */
62
+ void mbedtls_debug_print_ret(const mbedtls_ssl_context *ssl, int level,
63
+ const char *file, int line,
64
+ const char *text, int ret);
65
+
66
+ /**
67
+ * \brief Output a buffer of size len bytes to the debug output. This function
68
+ * is always used through the MBEDTLS_SSL_DEBUG_BUF() macro,
69
+ * which supplies the ssl context, file and line number parameters.
70
+ *
71
+ * \param ssl SSL context
72
+ * \param level error level of the debug message
73
+ * \param file file the error has occurred in
74
+ * \param line line number the error has occurred in
75
+ * \param text a name or label for the buffer being dumped. Normally the
76
+ * variable or buffer name
77
+ * \param buf the buffer to be outputted
78
+ * \param len length of the buffer
79
+ *
80
+ * \attention This function is intended for INTERNAL usage within the
81
+ * library only.
82
+ */
83
+ void mbedtls_debug_print_buf(const mbedtls_ssl_context *ssl, int level,
84
+ const char *file, int line, const char *text,
85
+ const unsigned char *buf, size_t len);
86
+
87
+ #if defined(MBEDTLS_BIGNUM_C)
88
+ /**
89
+ * \brief Print a MPI variable to the debug output. This function is always
90
+ * used through the MBEDTLS_SSL_DEBUG_MPI() macro, which supplies the
91
+ * ssl context, file and line number parameters.
92
+ *
93
+ * \param ssl SSL context
94
+ * \param level error level of the debug message
95
+ * \param file file the error has occurred in
96
+ * \param line line number the error has occurred in
97
+ * \param text a name or label for the MPI being output. Normally the
98
+ * variable name
99
+ * \param X the MPI variable
100
+ *
101
+ * \attention This function is intended for INTERNAL usage within the
102
+ * library only.
103
+ */
104
+ void mbedtls_debug_print_mpi(const mbedtls_ssl_context *ssl, int level,
105
+ const char *file, int line,
106
+ const char *text, const mbedtls_mpi *X);
107
+ #endif
108
+
109
+ #if defined(MBEDTLS_ECP_LIGHT)
110
+ /**
111
+ * \brief Print an ECP point to the debug output. This function is always
112
+ * used through the MBEDTLS_SSL_DEBUG_ECP() macro, which supplies the
113
+ * ssl context, file and line number parameters.
114
+ *
115
+ * \param ssl SSL context
116
+ * \param level error level of the debug message
117
+ * \param file file the error has occurred in
118
+ * \param line line number the error has occurred in
119
+ * \param text a name or label for the ECP point being output. Normally the
120
+ * variable name
121
+ * \param X the ECP point
122
+ *
123
+ * \attention This function is intended for INTERNAL usage within the
124
+ * library only.
125
+ */
126
+ void mbedtls_debug_print_ecp(const mbedtls_ssl_context *ssl, int level,
127
+ const char *file, int line,
128
+ const char *text, const mbedtls_ecp_point *X);
129
+ #endif
130
+
131
+ #if defined(MBEDTLS_X509_CRT_PARSE_C) && !defined(MBEDTLS_X509_REMOVE_INFO)
132
+ /**
133
+ * \brief Print a X.509 certificate structure to the debug output. This
134
+ * function is always used through the MBEDTLS_SSL_DEBUG_CRT() macro,
135
+ * which supplies the ssl context, file and line number parameters.
136
+ *
137
+ * \param ssl SSL context
138
+ * \param level error level of the debug message
139
+ * \param file file the error has occurred in
140
+ * \param line line number the error has occurred in
141
+ * \param text a name or label for the certificate being output
142
+ * \param crt X.509 certificate structure
143
+ *
144
+ * \attention This function is intended for INTERNAL usage within the
145
+ * library only.
146
+ */
147
+ void mbedtls_debug_print_crt(const mbedtls_ssl_context *ssl, int level,
148
+ const char *file, int line,
149
+ const char *text, const mbedtls_x509_crt *crt);
150
+ #endif
151
+
152
+ /* Note: the MBEDTLS_ECDH_C guard here is mandatory because this debug function
153
+ only works for the built-in implementation. */
154
+ #if defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_ANY_ENABLED) && \
155
+ defined(MBEDTLS_ECDH_C)
156
+ typedef enum {
157
+ MBEDTLS_DEBUG_ECDH_Q,
158
+ MBEDTLS_DEBUG_ECDH_QP,
159
+ MBEDTLS_DEBUG_ECDH_Z,
160
+ } mbedtls_debug_ecdh_attr;
161
+
162
+ /**
163
+ * \brief Print a field of the ECDH structure in the SSL context to the debug
164
+ * output. This function is always used through the
165
+ * MBEDTLS_SSL_DEBUG_ECDH() macro, which supplies the ssl context, file
166
+ * and line number parameters.
167
+ *
168
+ * \param ssl SSL context
169
+ * \param level error level of the debug message
170
+ * \param file file the error has occurred in
171
+ * \param line line number the error has occurred in
172
+ * \param ecdh the ECDH context
173
+ * \param attr the identifier of the attribute being output
174
+ *
175
+ * \attention This function is intended for INTERNAL usage within the
176
+ * library only.
177
+ */
178
+ void mbedtls_debug_printf_ecdh(const mbedtls_ssl_context *ssl, int level,
179
+ const char *file, int line,
180
+ const mbedtls_ecdh_context *ecdh,
181
+ mbedtls_debug_ecdh_attr attr);
182
+ #endif /* MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_ANY_ENABLED &&
183
+ MBEDTLS_ECDH_C */
184
+
185
+ #endif /* MBEDTLS_DEBUG_INTERNAL_H */