@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.
- package/LICENSE +202 -0
- package/package.json +16 -6
- package/src/scr_array.c +488 -0
- package/src/scr_assert.c +1393 -0
- package/src/scr_async.c +2593 -0
- package/src/scr_async_dyn.c +607 -0
- package/src/scr_bytes.c +1425 -0
- package/src/scr_bytes_io.c +161 -0
- package/src/scr_child.c +3587 -0
- package/src/scr_closure.c +214 -0
- package/src/scr_console.c +143 -0
- package/src/scr_cycle.c +218 -0
- package/src/scr_dc.c +805 -0
- package/src/scr_dgram.c +1007 -0
- package/src/scr_dyn_handle.c +154 -0
- package/src/scr_dyn_invoke.c +644 -0
- package/src/scr_error.c +332 -0
- package/src/scr_events.c +714 -0
- package/src/scr_events_emitter.c +699 -0
- package/src/scr_exception.c +242 -0
- package/src/scr_fetch.c +1130 -0
- package/src/scr_fetch_curl.c +654 -0
- package/src/scr_http.c +3482 -0
- package/src/scr_http2.c +3030 -0
- package/src/scr_inspect.c +803 -0
- package/src/scr_inspect_island.c +51 -0
- package/src/scr_island.c +9363 -0
- package/src/scr_json.c +2151 -0
- package/src/scr_lib.c +3612 -0
- package/src/scr_loop_epoll.c +241 -0
- package/src/scr_loop_kqueue.c +121 -0
- package/src/scr_loop_wsapoll.c +208 -0
- package/src/scr_map.c +591 -0
- package/src/scr_net.c +3017 -0
- package/src/scr_net_island.c +458 -0
- package/src/scr_number.c +115 -0
- package/src/scr_object.c +25 -0
- package/src/scr_path.c +1266 -0
- package/src/scr_platform.h +119 -0
- package/src/scr_readline.c +287 -0
- package/src/scr_regex.c +1080 -0
- package/src/scr_runtime.h +5046 -0
- package/src/scr_stream.c +2877 -0
- package/src/scr_string.c +1264 -0
- package/src/scr_symbol.c +132 -0
- package/src/scr_test.c +662 -0
- package/src/scr_tls.c +1520 -0
- package/src/scr_union.c +105 -0
- package/src/scr_url.c +911 -0
- package/src/scr_url_internal.h +29 -0
- package/src/scr_url_params.c +561 -0
- package/src/scr_watch.c +568 -0
- package/src/scr_web.c +1778 -0
- package/src/scr_win.c +76 -0
- package/src/scr_zlib.c +197 -0
- package/src/scr_zlib_island.c +15 -0
- package/vendor/README.md +52 -0
- package/vendor/curl/COPYRIGHT +534 -0
- package/vendor/curl/include/curl/curl.h +3214 -0
- package/vendor/curl/include/curl/curlver.h +79 -0
- package/vendor/curl/include/curl/easy.h +125 -0
- package/vendor/curl/include/curl/header.h +74 -0
- package/vendor/curl/include/curl/mprintf.h +52 -0
- package/vendor/curl/include/curl/multi.h +460 -0
- package/vendor/curl/include/curl/options.h +70 -0
- package/vendor/curl/include/curl/stdcheaders.h +35 -0
- package/vendor/curl/include/curl/system.h +508 -0
- package/vendor/curl/include/curl/typecheck-gcc.h +716 -0
- package/vendor/curl/include/curl/urlapi.h +149 -0
- package/vendor/curl/include/curl/websockets.h +84 -0
- package/vendor/mbedtls/LICENSE +553 -0
- package/vendor/mbedtls/include/CMakeLists.txt +22 -0
- package/vendor/mbedtls/include/mbedtls/aes.h +631 -0
- package/vendor/mbedtls/include/mbedtls/aria.h +343 -0
- package/vendor/mbedtls/include/mbedtls/asn1.h +642 -0
- package/vendor/mbedtls/include/mbedtls/asn1write.h +390 -0
- package/vendor/mbedtls/include/mbedtls/base64.h +82 -0
- package/vendor/mbedtls/include/mbedtls/bignum.h +1088 -0
- package/vendor/mbedtls/include/mbedtls/block_cipher.h +76 -0
- package/vendor/mbedtls/include/mbedtls/build_info.h +194 -0
- package/vendor/mbedtls/include/mbedtls/camellia.h +305 -0
- package/vendor/mbedtls/include/mbedtls/ccm.h +526 -0
- package/vendor/mbedtls/include/mbedtls/chacha20.h +209 -0
- package/vendor/mbedtls/include/mbedtls/chachapoly.h +351 -0
- package/vendor/mbedtls/include/mbedtls/check_config.h +1149 -0
- package/vendor/mbedtls/include/mbedtls/cipher.h +1250 -0
- package/vendor/mbedtls/include/mbedtls/cmac.h +246 -0
- package/vendor/mbedtls/include/mbedtls/compat-2.x.h +46 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +578 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +873 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +359 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +145 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_ssl.h +91 -0
- package/vendor/mbedtls/include/mbedtls/config_adjust_x509.h +35 -0
- package/vendor/mbedtls/include/mbedtls/config_psa.h +61 -0
- package/vendor/mbedtls/include/mbedtls/constant_time.h +36 -0
- package/vendor/mbedtls/include/mbedtls/ctr_drbg.h +596 -0
- package/vendor/mbedtls/include/mbedtls/debug.h +156 -0
- package/vendor/mbedtls/include/mbedtls/des.h +385 -0
- package/vendor/mbedtls/include/mbedtls/dhm.h +972 -0
- package/vendor/mbedtls/include/mbedtls/ecdh.h +455 -0
- package/vendor/mbedtls/include/mbedtls/ecdsa.h +674 -0
- package/vendor/mbedtls/include/mbedtls/ecjpake.h +298 -0
- package/vendor/mbedtls/include/mbedtls/ecp.h +1517 -0
- package/vendor/mbedtls/include/mbedtls/entropy.h +274 -0
- package/vendor/mbedtls/include/mbedtls/error.h +201 -0
- package/vendor/mbedtls/include/mbedtls/gcm.h +387 -0
- package/vendor/mbedtls/include/mbedtls/hkdf.h +124 -0
- package/vendor/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
- package/vendor/mbedtls/include/mbedtls/lms.h +440 -0
- package/vendor/mbedtls/include/mbedtls/mbedtls_config.h +4446 -0
- package/vendor/mbedtls/include/mbedtls/md.h +526 -0
- package/vendor/mbedtls/include/mbedtls/md5.h +190 -0
- package/vendor/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
- package/vendor/mbedtls/include/mbedtls/net_sockets.h +299 -0
- package/vendor/mbedtls/include/mbedtls/nist_kw.h +166 -0
- package/vendor/mbedtls/include/mbedtls/oid.h +727 -0
- package/vendor/mbedtls/include/mbedtls/pem.h +160 -0
- package/vendor/mbedtls/include/mbedtls/pk.h +1303 -0
- package/vendor/mbedtls/include/mbedtls/pkcs12.h +186 -0
- package/vendor/mbedtls/include/mbedtls/pkcs5.h +198 -0
- package/vendor/mbedtls/include/mbedtls/pkcs7.h +252 -0
- package/vendor/mbedtls/include/mbedtls/platform.h +516 -0
- package/vendor/mbedtls/include/mbedtls/platform_time.h +79 -0
- package/vendor/mbedtls/include/mbedtls/platform_util.h +247 -0
- package/vendor/mbedtls/include/mbedtls/poly1305.h +168 -0
- package/vendor/mbedtls/include/mbedtls/private_access.h +20 -0
- package/vendor/mbedtls/include/mbedtls/psa_util.h +207 -0
- package/vendor/mbedtls/include/mbedtls/ripemd160.h +136 -0
- package/vendor/mbedtls/include/mbedtls/rsa.h +1170 -0
- package/vendor/mbedtls/include/mbedtls/sha1.h +219 -0
- package/vendor/mbedtls/include/mbedtls/sha256.h +200 -0
- package/vendor/mbedtls/include/mbedtls/sha3.h +172 -0
- package/vendor/mbedtls/include/mbedtls/sha512.h +208 -0
- package/vendor/mbedtls/include/mbedtls/ssl.h +5887 -0
- package/vendor/mbedtls/include/mbedtls/ssl_cache.h +187 -0
- package/vendor/mbedtls/include/mbedtls/ssl_ciphersuites.h +482 -0
- package/vendor/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
- package/vendor/mbedtls/include/mbedtls/ssl_ticket.h +199 -0
- package/vendor/mbedtls/include/mbedtls/threading.h +167 -0
- package/vendor/mbedtls/include/mbedtls/timing.h +94 -0
- package/vendor/mbedtls/include/mbedtls/version.h +78 -0
- package/vendor/mbedtls/include/mbedtls/x509.h +500 -0
- package/vendor/mbedtls/include/mbedtls/x509_crl.h +184 -0
- package/vendor/mbedtls/include/mbedtls/x509_crt.h +1208 -0
- package/vendor/mbedtls/include/mbedtls/x509_csr.h +382 -0
- package/vendor/mbedtls/include/psa/build_info.h +20 -0
- package/vendor/mbedtls/include/psa/crypto.h +4998 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_auto_enabled.h +31 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_config_dependencies.h +51 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +101 -0
- package/vendor/mbedtls/include/psa/crypto_adjust_config_synonyms.h +49 -0
- package/vendor/mbedtls/include/psa/crypto_builtin_composites.h +214 -0
- package/vendor/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
- package/vendor/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
- package/vendor/mbedtls/include/psa/crypto_compat.h +230 -0
- package/vendor/mbedtls/include/psa/crypto_config.h +145 -0
- package/vendor/mbedtls/include/psa/crypto_driver_common.h +44 -0
- package/vendor/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
- package/vendor/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
- package/vendor/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
- package/vendor/mbedtls/include/psa/crypto_extra.h +2145 -0
- package/vendor/mbedtls/include/psa/crypto_legacy.h +88 -0
- package/vendor/mbedtls/include/psa/crypto_platform.h +102 -0
- package/vendor/mbedtls/include/psa/crypto_se_driver.h +1383 -0
- package/vendor/mbedtls/include/psa/crypto_sizes.h +1319 -0
- package/vendor/mbedtls/include/psa/crypto_struct.h +527 -0
- package/vendor/mbedtls/include/psa/crypto_types.h +508 -0
- package/vendor/mbedtls/include/psa/crypto_values.h +2782 -0
- package/vendor/mbedtls/library/aes.c +2294 -0
- package/vendor/mbedtls/library/aesce.c +624 -0
- package/vendor/mbedtls/library/aesce.h +136 -0
- package/vendor/mbedtls/library/aesni.c +846 -0
- package/vendor/mbedtls/library/aesni.h +162 -0
- package/vendor/mbedtls/library/alignment.h +704 -0
- package/vendor/mbedtls/library/aria.c +969 -0
- package/vendor/mbedtls/library/asn1parse.c +468 -0
- package/vendor/mbedtls/library/asn1write.c +440 -0
- package/vendor/mbedtls/library/base64.c +322 -0
- package/vendor/mbedtls/library/base64_internal.h +45 -0
- package/vendor/mbedtls/library/bignum.c +2583 -0
- package/vendor/mbedtls/library/bignum_core.c +1240 -0
- package/vendor/mbedtls/library/bignum_core.h +872 -0
- package/vendor/mbedtls/library/bignum_core_invasive.h +38 -0
- package/vendor/mbedtls/library/bignum_internal.h +122 -0
- package/vendor/mbedtls/library/bignum_mod.c +394 -0
- package/vendor/mbedtls/library/bignum_mod.h +452 -0
- package/vendor/mbedtls/library/bignum_mod_raw.c +276 -0
- package/vendor/mbedtls/library/bignum_mod_raw.h +416 -0
- package/vendor/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
- package/vendor/mbedtls/library/block_cipher.c +207 -0
- package/vendor/mbedtls/library/block_cipher_internal.h +99 -0
- package/vendor/mbedtls/library/bn_mul.h +1094 -0
- package/vendor/mbedtls/library/camellia.c +1058 -0
- package/vendor/mbedtls/library/ccm.c +777 -0
- package/vendor/mbedtls/library/chacha20.c +563 -0
- package/vendor/mbedtls/library/chacha20_internal.h +23 -0
- package/vendor/mbedtls/library/chachapoly.c +487 -0
- package/vendor/mbedtls/library/check_crypto_config.h +136 -0
- package/vendor/mbedtls/library/cipher.c +1712 -0
- package/vendor/mbedtls/library/cipher_invasive.h +28 -0
- package/vendor/mbedtls/library/cipher_wrap.c +2482 -0
- package/vendor/mbedtls/library/cipher_wrap.h +178 -0
- package/vendor/mbedtls/library/cmac.c +1067 -0
- package/vendor/mbedtls/library/common.h +487 -0
- package/vendor/mbedtls/library/constant_time.c +247 -0
- package/vendor/mbedtls/library/constant_time_impl.h +541 -0
- package/vendor/mbedtls/library/constant_time_internal.h +579 -0
- package/vendor/mbedtls/library/ctr.h +35 -0
- package/vendor/mbedtls/library/ctr_drbg.c +1016 -0
- package/vendor/mbedtls/library/debug.c +475 -0
- package/vendor/mbedtls/library/debug_internal.h +185 -0
- package/vendor/mbedtls/library/des.c +1042 -0
- package/vendor/mbedtls/library/dhm.c +700 -0
- package/vendor/mbedtls/library/ecdh.c +696 -0
- package/vendor/mbedtls/library/ecdsa.c +858 -0
- package/vendor/mbedtls/library/ecjpake.c +1216 -0
- package/vendor/mbedtls/library/ecp.c +3674 -0
- package/vendor/mbedtls/library/ecp_curves.c +6125 -0
- package/vendor/mbedtls/library/ecp_curves_new.c +9 -0
- package/vendor/mbedtls/library/ecp_internal_alt.h +287 -0
- package/vendor/mbedtls/library/ecp_invasive.h +305 -0
- package/vendor/mbedtls/library/entropy.c +680 -0
- package/vendor/mbedtls/library/entropy_poll.c +233 -0
- package/vendor/mbedtls/library/entropy_poll.h +64 -0
- package/vendor/mbedtls/library/error.c +878 -0
- package/vendor/mbedtls/library/gcm.c +1330 -0
- package/vendor/mbedtls/library/hkdf.c +161 -0
- package/vendor/mbedtls/library/hmac_drbg.c +633 -0
- package/vendor/mbedtls/library/lmots.c +789 -0
- package/vendor/mbedtls/library/lmots.h +288 -0
- package/vendor/mbedtls/library/lms.c +778 -0
- package/vendor/mbedtls/library/md.c +1108 -0
- package/vendor/mbedtls/library/md5.c +426 -0
- package/vendor/mbedtls/library/md_psa.h +26 -0
- package/vendor/mbedtls/library/md_wrap.h +46 -0
- package/vendor/mbedtls/library/memory_buffer_alloc.c +751 -0
- package/vendor/mbedtls/library/mps_common.h +181 -0
- package/vendor/mbedtls/library/mps_error.h +89 -0
- package/vendor/mbedtls/library/mps_reader.c +538 -0
- package/vendor/mbedtls/library/mps_reader.h +366 -0
- package/vendor/mbedtls/library/mps_trace.c +112 -0
- package/vendor/mbedtls/library/mps_trace.h +154 -0
- package/vendor/mbedtls/library/net_sockets.c +694 -0
- package/vendor/mbedtls/library/nist_kw.c +729 -0
- package/vendor/mbedtls/library/oid.c +1166 -0
- package/vendor/mbedtls/library/padlock.c +157 -0
- package/vendor/mbedtls/library/padlock.h +111 -0
- package/vendor/mbedtls/library/pem.c +554 -0
- package/vendor/mbedtls/library/pk.c +1602 -0
- package/vendor/mbedtls/library/pk_ecc.c +261 -0
- package/vendor/mbedtls/library/pk_internal.h +241 -0
- package/vendor/mbedtls/library/pk_wrap.c +1618 -0
- package/vendor/mbedtls/library/pk_wrap.h +138 -0
- package/vendor/mbedtls/library/pkcs12.c +437 -0
- package/vendor/mbedtls/library/pkcs5.c +500 -0
- package/vendor/mbedtls/library/pkcs7.c +787 -0
- package/vendor/mbedtls/library/pkparse.c +1392 -0
- package/vendor/mbedtls/library/pkwrite.c +631 -0
- package/vendor/mbedtls/library/pkwrite.h +121 -0
- package/vendor/mbedtls/library/platform.c +402 -0
- package/vendor/mbedtls/library/platform_util.c +258 -0
- package/vendor/mbedtls/library/poly1305.c +492 -0
- package/vendor/mbedtls/library/psa_crypto.c +9532 -0
- package/vendor/mbedtls/library/psa_crypto_aead.c +646 -0
- package/vendor/mbedtls/library/psa_crypto_aead.h +499 -0
- package/vendor/mbedtls/library/psa_crypto_cipher.c +747 -0
- package/vendor/mbedtls/library/psa_crypto_cipher.h +316 -0
- package/vendor/mbedtls/library/psa_crypto_client.c +22 -0
- package/vendor/mbedtls/library/psa_crypto_core.h +983 -0
- package/vendor/mbedtls/library/psa_crypto_core_common.h +52 -0
- package/vendor/mbedtls/library/psa_crypto_driver_wrappers.h +2896 -0
- package/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
- package/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
- package/vendor/mbedtls/library/psa_crypto_ecp.c +594 -0
- package/vendor/mbedtls/library/psa_crypto_ecp.h +267 -0
- package/vendor/mbedtls/library/psa_crypto_ffdh.c +361 -0
- package/vendor/mbedtls/library/psa_crypto_ffdh.h +131 -0
- package/vendor/mbedtls/library/psa_crypto_hash.c +470 -0
- package/vendor/mbedtls/library/psa_crypto_hash.h +211 -0
- package/vendor/mbedtls/library/psa_crypto_invasive.h +92 -0
- package/vendor/mbedtls/library/psa_crypto_its.h +131 -0
- package/vendor/mbedtls/library/psa_crypto_mac.c +505 -0
- package/vendor/mbedtls/library/psa_crypto_mac.h +264 -0
- package/vendor/mbedtls/library/psa_crypto_pake.c +571 -0
- package/vendor/mbedtls/library/psa_crypto_pake.h +159 -0
- package/vendor/mbedtls/library/psa_crypto_random.c +181 -0
- package/vendor/mbedtls/library/psa_crypto_random.h +72 -0
- package/vendor/mbedtls/library/psa_crypto_random_impl.h +200 -0
- package/vendor/mbedtls/library/psa_crypto_rsa.c +714 -0
- package/vendor/mbedtls/library/psa_crypto_rsa.h +321 -0
- package/vendor/mbedtls/library/psa_crypto_se.c +373 -0
- package/vendor/mbedtls/library/psa_crypto_se.h +192 -0
- package/vendor/mbedtls/library/psa_crypto_slot_management.c +1137 -0
- package/vendor/mbedtls/library/psa_crypto_slot_management.h +344 -0
- package/vendor/mbedtls/library/psa_crypto_storage.c +481 -0
- package/vendor/mbedtls/library/psa_crypto_storage.h +392 -0
- package/vendor/mbedtls/library/psa_its_file.c +254 -0
- package/vendor/mbedtls/library/psa_util.c +614 -0
- package/vendor/mbedtls/library/psa_util_internal.h +100 -0
- package/vendor/mbedtls/library/ripemd160.c +490 -0
- package/vendor/mbedtls/library/rsa.c +3121 -0
- package/vendor/mbedtls/library/rsa_alt_helpers.c +455 -0
- package/vendor/mbedtls/library/rsa_alt_helpers.h +209 -0
- package/vendor/mbedtls/library/rsa_internal.h +188 -0
- package/vendor/mbedtls/library/sha1.c +480 -0
- package/vendor/mbedtls/library/sha256.c +983 -0
- package/vendor/mbedtls/library/sha3.c +721 -0
- package/vendor/mbedtls/library/sha512.c +1115 -0
- package/vendor/mbedtls/library/ssl_cache.c +410 -0
- package/vendor/mbedtls/library/ssl_ciphersuites.c +2050 -0
- package/vendor/mbedtls/library/ssl_ciphersuites_internal.h +154 -0
- package/vendor/mbedtls/library/ssl_client.c +1023 -0
- package/vendor/mbedtls/library/ssl_client.h +22 -0
- package/vendor/mbedtls/library/ssl_cookie.c +384 -0
- package/vendor/mbedtls/library/ssl_debug_helpers.h +85 -0
- package/vendor/mbedtls/library/ssl_debug_helpers_generated.c +251 -0
- package/vendor/mbedtls/library/ssl_misc.h +3198 -0
- package/vendor/mbedtls/library/ssl_msg.c +6619 -0
- package/vendor/mbedtls/library/ssl_ticket.c +556 -0
- package/vendor/mbedtls/library/ssl_tls.c +10234 -0
- package/vendor/mbedtls/library/ssl_tls12_client.c +3688 -0
- package/vendor/mbedtls/library/ssl_tls12_server.c +4311 -0
- package/vendor/mbedtls/library/ssl_tls13_client.c +3208 -0
- package/vendor/mbedtls/library/ssl_tls13_generic.c +1793 -0
- package/vendor/mbedtls/library/ssl_tls13_invasive.h +23 -0
- package/vendor/mbedtls/library/ssl_tls13_keys.c +1918 -0
- package/vendor/mbedtls/library/ssl_tls13_keys.h +668 -0
- package/vendor/mbedtls/library/ssl_tls13_server.c +3624 -0
- package/vendor/mbedtls/library/threading.c +193 -0
- package/vendor/mbedtls/library/threading_internal.h +28 -0
- package/vendor/mbedtls/library/timing.c +152 -0
- package/vendor/mbedtls/library/version.c +32 -0
- package/vendor/mbedtls/library/version_features.c +856 -0
- package/vendor/mbedtls/library/x509.c +1776 -0
- package/vendor/mbedtls/library/x509_create.c +570 -0
- package/vendor/mbedtls/library/x509_crl.c +708 -0
- package/vendor/mbedtls/library/x509_crt.c +3311 -0
- package/vendor/mbedtls/library/x509_csr.c +648 -0
- package/vendor/mbedtls/library/x509_internal.h +101 -0
- package/vendor/mbedtls/library/x509write.c +174 -0
- package/vendor/mbedtls/library/x509write_crt.c +688 -0
- package/vendor/mbedtls/library/x509write_csr.c +336 -0
- package/vendor/quickjs-ng/CMakeLists.txt +566 -0
- package/vendor/quickjs-ng/LICENSE +24 -0
- package/vendor/quickjs-ng/README.md +24 -0
- package/vendor/quickjs-ng/api-test.c +1195 -0
- package/vendor/quickjs-ng/builtin-array-fromasync.h +119 -0
- package/vendor/quickjs-ng/builtin-iterator-zip-keyed.h +332 -0
- package/vendor/quickjs-ng/builtin-iterator-zip.h +337 -0
- package/vendor/quickjs-ng/cutils.h +1998 -0
- package/vendor/quickjs-ng/dtoa.c +1619 -0
- package/vendor/quickjs-ng/dtoa.h +87 -0
- package/vendor/quickjs-ng/gen/function_source.c +81 -0
- package/vendor/quickjs-ng/gen/hello.c +53 -0
- package/vendor/quickjs-ng/gen/hello_module.c +106 -0
- package/vendor/quickjs-ng/gen/repl.c +3036 -0
- package/vendor/quickjs-ng/gen/standalone.c +323 -0
- package/vendor/quickjs-ng/gen/test_fib.c +81 -0
- package/vendor/quickjs-ng/libregexp-opcode.h +73 -0
- package/vendor/quickjs-ng/libregexp.c +3474 -0
- package/vendor/quickjs-ng/libregexp.h +101 -0
- package/vendor/quickjs-ng/libunicode-table.h +5173 -0
- package/vendor/quickjs-ng/libunicode.c +2069 -0
- package/vendor/quickjs-ng/libunicode.h +172 -0
- package/vendor/quickjs-ng/list.h +107 -0
- package/vendor/quickjs-ng/lre-test.c +52 -0
- package/vendor/quickjs-ng/qjs.c +762 -0
- package/vendor/quickjs-ng/qjsc.c +673 -0
- package/vendor/quickjs-ng/quickjs-atom.h +280 -0
- package/vendor/quickjs-ng/quickjs-c-atomics.h +54 -0
- package/vendor/quickjs-ng/quickjs-libc.c +5037 -0
- package/vendor/quickjs-ng/quickjs-libc.h +87 -0
- package/vendor/quickjs-ng/quickjs-opcode.h +377 -0
- package/vendor/quickjs-ng/quickjs.c +64041 -0
- package/vendor/quickjs-ng/quickjs.h +1447 -0
- package/vendor/quickjs-ng/run-test262.c +2374 -0
- package/vendor/quickjs-ng/unicode_gen.c +3121 -0
- package/vendor/quickjs-ng/unicode_gen_def.h +310 -0
- package/vendor/ryu/LICENSE-Boost +23 -0
- package/vendor/ryu/common.h +114 -0
- package/vendor/ryu/d2s.c +509 -0
- package/vendor/ryu/d2s_full_table.h +367 -0
- package/vendor/ryu/d2s_intrinsics.h +357 -0
- package/vendor/ryu/d2s_small_table.h +186 -0
- package/vendor/ryu/digit_table.h +35 -0
- package/vendor/ryu/ryu.h +46 -0
- package/vendor/zlib/LICENSE +22 -0
- package/vendor/zlib/adler32.c +164 -0
- package/vendor/zlib/compress.c +75 -0
- package/vendor/zlib/crc32.c +1049 -0
- package/vendor/zlib/crc32.h +9446 -0
- package/vendor/zlib/deflate.c +2139 -0
- package/vendor/zlib/deflate.h +377 -0
- package/vendor/zlib/gzclose.c +23 -0
- package/vendor/zlib/gzguts.h +214 -0
- package/vendor/zlib/gzlib.c +582 -0
- package/vendor/zlib/gzread.c +602 -0
- package/vendor/zlib/gzwrite.c +631 -0
- package/vendor/zlib/infback.c +628 -0
- package/vendor/zlib/inffast.c +320 -0
- package/vendor/zlib/inffast.h +11 -0
- package/vendor/zlib/inffixed.h +94 -0
- package/vendor/zlib/inflate.c +1526 -0
- package/vendor/zlib/inflate.h +126 -0
- package/vendor/zlib/inftrees.c +299 -0
- package/vendor/zlib/inftrees.h +62 -0
- package/vendor/zlib/trees.c +1117 -0
- package/vendor/zlib/trees.h +128 -0
- package/vendor/zlib/uncompr.c +85 -0
- package/vendor/zlib/zconf.h +543 -0
- package/vendor/zlib/zlib.h +1938 -0
- package/vendor/zlib/zutil.c +299 -0
- package/vendor/zlib/zutil.h +254 -0
- package/README.md +0 -3
- package/index.js +0 -2
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* \file platform_util.h
|
|
3
|
+
*
|
|
4
|
+
* \brief Common and shared functions used by multiple modules in the Mbed TLS
|
|
5
|
+
* library.
|
|
6
|
+
*/
|
|
7
|
+
/*
|
|
8
|
+
* Copyright The Mbed TLS Contributors
|
|
9
|
+
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
|
10
|
+
*/
|
|
11
|
+
#ifndef MBEDTLS_PLATFORM_UTIL_H
|
|
12
|
+
#define MBEDTLS_PLATFORM_UTIL_H
|
|
13
|
+
|
|
14
|
+
#include "mbedtls/build_info.h"
|
|
15
|
+
|
|
16
|
+
#include <stddef.h>
|
|
17
|
+
#if defined(MBEDTLS_HAVE_TIME_DATE)
|
|
18
|
+
#include "mbedtls/platform_time.h"
|
|
19
|
+
#include <time.h>
|
|
20
|
+
#endif /* MBEDTLS_HAVE_TIME_DATE */
|
|
21
|
+
|
|
22
|
+
#ifdef __cplusplus
|
|
23
|
+
extern "C" {
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
/* Internal helper macros for deprecating API constants. */
|
|
27
|
+
#if !defined(MBEDTLS_DEPRECATED_REMOVED)
|
|
28
|
+
#if defined(MBEDTLS_DEPRECATED_WARNING)
|
|
29
|
+
#define MBEDTLS_DEPRECATED __attribute__((deprecated))
|
|
30
|
+
MBEDTLS_DEPRECATED typedef char const *mbedtls_deprecated_string_constant_t;
|
|
31
|
+
#define MBEDTLS_DEPRECATED_STRING_CONSTANT(VAL) \
|
|
32
|
+
((mbedtls_deprecated_string_constant_t) (VAL))
|
|
33
|
+
MBEDTLS_DEPRECATED typedef int mbedtls_deprecated_numeric_constant_t;
|
|
34
|
+
#define MBEDTLS_DEPRECATED_NUMERIC_CONSTANT(VAL) \
|
|
35
|
+
((mbedtls_deprecated_numeric_constant_t) (VAL))
|
|
36
|
+
#else /* MBEDTLS_DEPRECATED_WARNING */
|
|
37
|
+
#define MBEDTLS_DEPRECATED
|
|
38
|
+
#define MBEDTLS_DEPRECATED_STRING_CONSTANT(VAL) VAL
|
|
39
|
+
#define MBEDTLS_DEPRECATED_NUMERIC_CONSTANT(VAL) VAL
|
|
40
|
+
#endif /* MBEDTLS_DEPRECATED_WARNING */
|
|
41
|
+
#endif /* MBEDTLS_DEPRECATED_REMOVED */
|
|
42
|
+
|
|
43
|
+
/* Implementation of the check-return facility.
|
|
44
|
+
* See the user documentation in mbedtls_config.h.
|
|
45
|
+
*
|
|
46
|
+
* Do not use this macro directly to annotate function: instead,
|
|
47
|
+
* use one of MBEDTLS_CHECK_RETURN_CRITICAL or MBEDTLS_CHECK_RETURN_TYPICAL
|
|
48
|
+
* depending on how important it is to check the return value.
|
|
49
|
+
*/
|
|
50
|
+
#if !defined(MBEDTLS_CHECK_RETURN)
|
|
51
|
+
#if defined(__GNUC__)
|
|
52
|
+
#define MBEDTLS_CHECK_RETURN __attribute__((__warn_unused_result__))
|
|
53
|
+
#elif defined(_MSC_VER) && _MSC_VER >= 1700
|
|
54
|
+
#include <sal.h>
|
|
55
|
+
#define MBEDTLS_CHECK_RETURN _Check_return_
|
|
56
|
+
#else
|
|
57
|
+
#define MBEDTLS_CHECK_RETURN
|
|
58
|
+
#endif
|
|
59
|
+
#endif
|
|
60
|
+
|
|
61
|
+
/** Critical-failure function
|
|
62
|
+
*
|
|
63
|
+
* This macro appearing at the beginning of the declaration of a function
|
|
64
|
+
* indicates that its return value should be checked in all applications.
|
|
65
|
+
* Omitting the check is very likely to indicate a bug in the application
|
|
66
|
+
* and will result in a compile-time warning if #MBEDTLS_CHECK_RETURN
|
|
67
|
+
* is implemented for the compiler in use.
|
|
68
|
+
*
|
|
69
|
+
* \note The use of this macro is a work in progress.
|
|
70
|
+
* This macro may be added to more functions in the future.
|
|
71
|
+
* Such an extension is not considered an API break, provided that
|
|
72
|
+
* there are near-unavoidable circumstances under which the function
|
|
73
|
+
* can fail. For example, signature/MAC/AEAD verification functions,
|
|
74
|
+
* and functions that require a random generator, are considered
|
|
75
|
+
* return-check-critical.
|
|
76
|
+
*/
|
|
77
|
+
#define MBEDTLS_CHECK_RETURN_CRITICAL MBEDTLS_CHECK_RETURN
|
|
78
|
+
|
|
79
|
+
/** Ordinary-failure function
|
|
80
|
+
*
|
|
81
|
+
* This macro appearing at the beginning of the declaration of a function
|
|
82
|
+
* indicates that its return value should be generally be checked in portable
|
|
83
|
+
* applications. Omitting the check will result in a compile-time warning if
|
|
84
|
+
* #MBEDTLS_CHECK_RETURN is implemented for the compiler in use and
|
|
85
|
+
* #MBEDTLS_CHECK_RETURN_WARNING is enabled in the compile-time configuration.
|
|
86
|
+
*
|
|
87
|
+
* You can use #MBEDTLS_IGNORE_RETURN to explicitly ignore the return value
|
|
88
|
+
* of a function that is annotated with #MBEDTLS_CHECK_RETURN.
|
|
89
|
+
*
|
|
90
|
+
* \note The use of this macro is a work in progress.
|
|
91
|
+
* This macro will be added to more functions in the future.
|
|
92
|
+
* Eventually this should appear before most functions returning
|
|
93
|
+
* an error code (as \c int in the \c mbedtls_xxx API or
|
|
94
|
+
* as ::psa_status_t in the \c psa_xxx API).
|
|
95
|
+
*/
|
|
96
|
+
#if defined(MBEDTLS_CHECK_RETURN_WARNING)
|
|
97
|
+
#define MBEDTLS_CHECK_RETURN_TYPICAL MBEDTLS_CHECK_RETURN
|
|
98
|
+
#else
|
|
99
|
+
#define MBEDTLS_CHECK_RETURN_TYPICAL
|
|
100
|
+
#endif
|
|
101
|
+
|
|
102
|
+
/** Benign-failure function
|
|
103
|
+
*
|
|
104
|
+
* This macro appearing at the beginning of the declaration of a function
|
|
105
|
+
* indicates that it is rarely useful to check its return value.
|
|
106
|
+
*
|
|
107
|
+
* This macro has an empty expansion. It exists for documentation purposes:
|
|
108
|
+
* a #MBEDTLS_CHECK_RETURN_OPTIONAL annotation indicates that the function
|
|
109
|
+
* has been analyzed for return-check usefulness, whereas the lack of
|
|
110
|
+
* an annotation indicates that the function has not been analyzed and its
|
|
111
|
+
* return-check usefulness is unknown.
|
|
112
|
+
*/
|
|
113
|
+
#define MBEDTLS_CHECK_RETURN_OPTIONAL
|
|
114
|
+
|
|
115
|
+
/** \def MBEDTLS_IGNORE_RETURN
|
|
116
|
+
*
|
|
117
|
+
* Call this macro with one argument, a function call, to suppress a warning
|
|
118
|
+
* from #MBEDTLS_CHECK_RETURN due to that function call.
|
|
119
|
+
*/
|
|
120
|
+
#if !defined(MBEDTLS_IGNORE_RETURN)
|
|
121
|
+
/* GCC doesn't silence the warning with just (void)(result).
|
|
122
|
+
* (void)!(result) is known to work up at least up to GCC 10, as well
|
|
123
|
+
* as with Clang and MSVC.
|
|
124
|
+
*
|
|
125
|
+
* https://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/Non_002dbugs.html
|
|
126
|
+
* https://stackoverflow.com/questions/40576003/ignoring-warning-wunused-result
|
|
127
|
+
* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425#c34
|
|
128
|
+
*/
|
|
129
|
+
#define MBEDTLS_IGNORE_RETURN(result) ((void) !(result))
|
|
130
|
+
#endif
|
|
131
|
+
|
|
132
|
+
/* If the following macro is defined, the library is being built by the test
|
|
133
|
+
* framework, and the framework is going to provide a replacement
|
|
134
|
+
* mbedtls_platform_zeroize() using a preprocessor macro, so the function
|
|
135
|
+
* declaration should be omitted. */
|
|
136
|
+
#if !defined(MBEDTLS_TEST_DEFINES_ZEROIZE) //no-check-names
|
|
137
|
+
/**
|
|
138
|
+
* \brief Securely zeroize a buffer
|
|
139
|
+
*
|
|
140
|
+
* The function is meant to wipe the data contained in a buffer so
|
|
141
|
+
* that it can no longer be recovered even if the program memory
|
|
142
|
+
* is later compromised. Call this function on sensitive data
|
|
143
|
+
* stored on the stack before returning from a function, and on
|
|
144
|
+
* sensitive data stored on the heap before freeing the heap
|
|
145
|
+
* object.
|
|
146
|
+
*
|
|
147
|
+
* It is extremely difficult to guarantee that calls to
|
|
148
|
+
* mbedtls_platform_zeroize() are not removed by aggressive
|
|
149
|
+
* compiler optimizations in a portable way. For this reason, Mbed
|
|
150
|
+
* TLS provides the configuration option
|
|
151
|
+
* MBEDTLS_PLATFORM_ZEROIZE_ALT, which allows users to configure
|
|
152
|
+
* mbedtls_platform_zeroize() to use a suitable implementation for
|
|
153
|
+
* their platform and needs
|
|
154
|
+
*
|
|
155
|
+
* \param buf Buffer to be zeroized
|
|
156
|
+
* \param len Length of the buffer in bytes
|
|
157
|
+
*
|
|
158
|
+
*/
|
|
159
|
+
void mbedtls_platform_zeroize(void *buf, size_t len);
|
|
160
|
+
#endif
|
|
161
|
+
|
|
162
|
+
/** \brief The type of custom random generator (RNG) callbacks.
|
|
163
|
+
*
|
|
164
|
+
* Many Mbed TLS functions take two parameters
|
|
165
|
+
* `mbedtls_f_rng_t *f_rng, void *p_rng`. The
|
|
166
|
+
* library will call \c f_rng to generate
|
|
167
|
+
* random values.
|
|
168
|
+
*
|
|
169
|
+
* \note This is typically one of the following:
|
|
170
|
+
* - mbedtls_ctr_drbg_random() with \c p_rng
|
|
171
|
+
* pointing to a #mbedtls_ctr_drbg_context;
|
|
172
|
+
* - mbedtls_hmac_drbg_random() with \c p_rng
|
|
173
|
+
* pointing to a #mbedtls_hmac_drbg_context;
|
|
174
|
+
* - mbedtls_psa_get_random() with
|
|
175
|
+
* `prng = MBEDTLS_PSA_RANDOM_STATE`.
|
|
176
|
+
*
|
|
177
|
+
* \note Generally, given a call
|
|
178
|
+
* `mbedtls_foo(f_rng, p_rng, ....)`, the RNG callback
|
|
179
|
+
* and the context only need to remain valid until
|
|
180
|
+
* the call to `mbedtls_foo` returns. However, there
|
|
181
|
+
* are a few exceptions where the callback is stored
|
|
182
|
+
* in for future use. Check the documentation of
|
|
183
|
+
* the calling function.
|
|
184
|
+
*
|
|
185
|
+
* \warning In a multithreaded environment, calling the
|
|
186
|
+
* function should be thread-safe. The standard
|
|
187
|
+
* functions provided by the library are thread-safe
|
|
188
|
+
* when #MBEDTLS_THREADING_C is enabled.
|
|
189
|
+
*
|
|
190
|
+
* \warning This function must either provide as many
|
|
191
|
+
* bytes as requested of **cryptographic quality**
|
|
192
|
+
* random data, or return a negative error code.
|
|
193
|
+
*
|
|
194
|
+
* \param p_rng The \c p_rng argument that was passed along \c f_rng.
|
|
195
|
+
* The library always passes \c p_rng unchanged.
|
|
196
|
+
* This is typically a pointer to the random generator
|
|
197
|
+
* state, or \c NULL if the custom random generator
|
|
198
|
+
* doesn't need a context-specific state.
|
|
199
|
+
* \param[out] output On success, this must be filled with \p output_size
|
|
200
|
+
* bytes of cryptographic-quality random data.
|
|
201
|
+
* \param output_size The number of bytes to output.
|
|
202
|
+
*
|
|
203
|
+
* \return \c 0 on success, or a negative error code on failure.
|
|
204
|
+
* Library functions will generally propagate this
|
|
205
|
+
* error code, so \c MBEDTLS_ERR_xxx values are
|
|
206
|
+
* recommended. #MBEDTLS_ERR_ENTROPY_SOURCE_FAILED is
|
|
207
|
+
* typically sensible for RNG failures.
|
|
208
|
+
*/
|
|
209
|
+
typedef int mbedtls_f_rng_t(void *p_rng,
|
|
210
|
+
unsigned char *output, size_t output_size);
|
|
211
|
+
|
|
212
|
+
#if defined(MBEDTLS_HAVE_TIME_DATE)
|
|
213
|
+
/**
|
|
214
|
+
* \brief Platform-specific implementation of gmtime_r()
|
|
215
|
+
*
|
|
216
|
+
* The function is a thread-safe abstraction that behaves
|
|
217
|
+
* similarly to the gmtime_r() function from Unix/POSIX.
|
|
218
|
+
*
|
|
219
|
+
* Mbed TLS will try to identify the underlying platform and
|
|
220
|
+
* make use of an appropriate underlying implementation (e.g.
|
|
221
|
+
* gmtime_r() for POSIX and gmtime_s() for Windows). If this is
|
|
222
|
+
* not possible, then gmtime() will be used. In this case, calls
|
|
223
|
+
* from the library to gmtime() will be guarded by the mutex
|
|
224
|
+
* mbedtls_threading_gmtime_mutex if MBEDTLS_THREADING_C is
|
|
225
|
+
* enabled. It is recommended that calls from outside the library
|
|
226
|
+
* are also guarded by this mutex.
|
|
227
|
+
*
|
|
228
|
+
* If MBEDTLS_PLATFORM_GMTIME_R_ALT is defined, then Mbed TLS will
|
|
229
|
+
* unconditionally use the alternative implementation for
|
|
230
|
+
* mbedtls_platform_gmtime_r() supplied by the user at compile time.
|
|
231
|
+
*
|
|
232
|
+
* \param tt Pointer to an object containing time (in seconds) since the
|
|
233
|
+
* epoch to be converted
|
|
234
|
+
* \param tm_buf Pointer to an object where the results will be stored
|
|
235
|
+
*
|
|
236
|
+
* \return Pointer to an object of type struct tm on success, otherwise
|
|
237
|
+
* NULL
|
|
238
|
+
*/
|
|
239
|
+
struct tm *mbedtls_platform_gmtime_r(const mbedtls_time_t *tt,
|
|
240
|
+
struct tm *tm_buf);
|
|
241
|
+
#endif /* MBEDTLS_HAVE_TIME_DATE */
|
|
242
|
+
|
|
243
|
+
#ifdef __cplusplus
|
|
244
|
+
}
|
|
245
|
+
#endif
|
|
246
|
+
|
|
247
|
+
#endif /* MBEDTLS_PLATFORM_UTIL_H */
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* \file poly1305.h
|
|
3
|
+
*
|
|
4
|
+
* \brief This file contains Poly1305 definitions and functions.
|
|
5
|
+
*
|
|
6
|
+
* Poly1305 is a one-time message authenticator that can be used to
|
|
7
|
+
* authenticate messages. Poly1305-AES was created by Daniel
|
|
8
|
+
* Bernstein https://cr.yp.to/mac/poly1305-20050329.pdf The generic
|
|
9
|
+
* Poly1305 algorithm (not tied to AES) was also standardized in RFC
|
|
10
|
+
* 7539.
|
|
11
|
+
*
|
|
12
|
+
* \author Daniel King <damaki.gh@gmail.com>
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/*
|
|
16
|
+
* Copyright The Mbed TLS Contributors
|
|
17
|
+
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
#ifndef MBEDTLS_POLY1305_H
|
|
21
|
+
#define MBEDTLS_POLY1305_H
|
|
22
|
+
#include "mbedtls/private_access.h"
|
|
23
|
+
|
|
24
|
+
#include "mbedtls/build_info.h"
|
|
25
|
+
|
|
26
|
+
#include <stdint.h>
|
|
27
|
+
#include <stddef.h>
|
|
28
|
+
|
|
29
|
+
/** Invalid input parameter(s). */
|
|
30
|
+
#define MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA -0x0057
|
|
31
|
+
|
|
32
|
+
#ifdef __cplusplus
|
|
33
|
+
extern "C" {
|
|
34
|
+
#endif
|
|
35
|
+
|
|
36
|
+
#if !defined(MBEDTLS_POLY1305_ALT)
|
|
37
|
+
|
|
38
|
+
typedef struct mbedtls_poly1305_context {
|
|
39
|
+
uint32_t MBEDTLS_PRIVATE(r)[4]; /** The value for 'r' (low 128 bits of the key). */
|
|
40
|
+
uint32_t MBEDTLS_PRIVATE(s)[4]; /** The value for 's' (high 128 bits of the key). */
|
|
41
|
+
uint32_t MBEDTLS_PRIVATE(acc)[5]; /** The accumulator number. */
|
|
42
|
+
uint8_t MBEDTLS_PRIVATE(queue)[16]; /** The current partial block of data. */
|
|
43
|
+
size_t MBEDTLS_PRIVATE(queue_len); /** The number of bytes stored in 'queue'. */
|
|
44
|
+
}
|
|
45
|
+
mbedtls_poly1305_context;
|
|
46
|
+
|
|
47
|
+
#else /* MBEDTLS_POLY1305_ALT */
|
|
48
|
+
#include "poly1305_alt.h"
|
|
49
|
+
#endif /* MBEDTLS_POLY1305_ALT */
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* \brief This function initializes the specified Poly1305 context.
|
|
53
|
+
*
|
|
54
|
+
* It must be the first API called before using
|
|
55
|
+
* the context.
|
|
56
|
+
*
|
|
57
|
+
* It is usually followed by a call to
|
|
58
|
+
* \c mbedtls_poly1305_starts(), then one or more calls to
|
|
59
|
+
* \c mbedtls_poly1305_update(), then one call to
|
|
60
|
+
* \c mbedtls_poly1305_finish(), then finally
|
|
61
|
+
* \c mbedtls_poly1305_free().
|
|
62
|
+
*
|
|
63
|
+
* \param ctx The Poly1305 context to initialize. This must
|
|
64
|
+
* not be \c NULL.
|
|
65
|
+
*/
|
|
66
|
+
void mbedtls_poly1305_init(mbedtls_poly1305_context *ctx);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* \brief This function releases and clears the specified
|
|
70
|
+
* Poly1305 context.
|
|
71
|
+
*
|
|
72
|
+
* \param ctx The Poly1305 context to clear. This may be \c NULL, in which
|
|
73
|
+
* case this function is a no-op. If it is not \c NULL, it must
|
|
74
|
+
* point to an initialized Poly1305 context.
|
|
75
|
+
*/
|
|
76
|
+
void mbedtls_poly1305_free(mbedtls_poly1305_context *ctx);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* \brief This function sets the one-time authentication key.
|
|
80
|
+
*
|
|
81
|
+
* \warning The key must be unique and unpredictable for each
|
|
82
|
+
* invocation of Poly1305.
|
|
83
|
+
*
|
|
84
|
+
* \param ctx The Poly1305 context to which the key should be bound.
|
|
85
|
+
* This must be initialized.
|
|
86
|
+
* \param key The buffer containing the \c 32 Byte (\c 256 Bit) key.
|
|
87
|
+
*
|
|
88
|
+
* \return \c 0 on success.
|
|
89
|
+
* \return A negative error code on failure.
|
|
90
|
+
*/
|
|
91
|
+
int mbedtls_poly1305_starts(mbedtls_poly1305_context *ctx,
|
|
92
|
+
const unsigned char key[32]);
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* \brief This functions feeds an input buffer into an ongoing
|
|
96
|
+
* Poly1305 computation.
|
|
97
|
+
*
|
|
98
|
+
* It is called between \c mbedtls_cipher_poly1305_starts() and
|
|
99
|
+
* \c mbedtls_cipher_poly1305_finish().
|
|
100
|
+
* It can be called repeatedly to process a stream of data.
|
|
101
|
+
*
|
|
102
|
+
* \param ctx The Poly1305 context to use for the Poly1305 operation.
|
|
103
|
+
* This must be initialized and bound to a key.
|
|
104
|
+
* \param ilen The length of the input data in Bytes.
|
|
105
|
+
* Any value is accepted.
|
|
106
|
+
* \param input The buffer holding the input data.
|
|
107
|
+
* This pointer can be \c NULL if `ilen == 0`.
|
|
108
|
+
*
|
|
109
|
+
* \return \c 0 on success.
|
|
110
|
+
* \return A negative error code on failure.
|
|
111
|
+
*/
|
|
112
|
+
int mbedtls_poly1305_update(mbedtls_poly1305_context *ctx,
|
|
113
|
+
const unsigned char *input,
|
|
114
|
+
size_t ilen);
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* \brief This function generates the Poly1305 Message
|
|
118
|
+
* Authentication Code (MAC).
|
|
119
|
+
*
|
|
120
|
+
* \param ctx The Poly1305 context to use for the Poly1305 operation.
|
|
121
|
+
* This must be initialized and bound to a key.
|
|
122
|
+
* \param mac The buffer to where the MAC is written. This must
|
|
123
|
+
* be a writable buffer of length \c 16 Bytes.
|
|
124
|
+
*
|
|
125
|
+
* \return \c 0 on success.
|
|
126
|
+
* \return A negative error code on failure.
|
|
127
|
+
*/
|
|
128
|
+
int mbedtls_poly1305_finish(mbedtls_poly1305_context *ctx,
|
|
129
|
+
unsigned char mac[16]);
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* \brief This function calculates the Poly1305 MAC of the input
|
|
133
|
+
* buffer with the provided key.
|
|
134
|
+
*
|
|
135
|
+
* \warning The key must be unique and unpredictable for each
|
|
136
|
+
* invocation of Poly1305.
|
|
137
|
+
*
|
|
138
|
+
* \param key The buffer containing the \c 32 Byte (\c 256 Bit) key.
|
|
139
|
+
* \param ilen The length of the input data in Bytes.
|
|
140
|
+
* Any value is accepted.
|
|
141
|
+
* \param input The buffer holding the input data.
|
|
142
|
+
* This pointer can be \c NULL if `ilen == 0`.
|
|
143
|
+
* \param mac The buffer to where the MAC is written. This must be
|
|
144
|
+
* a writable buffer of length \c 16 Bytes.
|
|
145
|
+
*
|
|
146
|
+
* \return \c 0 on success.
|
|
147
|
+
* \return A negative error code on failure.
|
|
148
|
+
*/
|
|
149
|
+
int mbedtls_poly1305_mac(const unsigned char key[32],
|
|
150
|
+
const unsigned char *input,
|
|
151
|
+
size_t ilen,
|
|
152
|
+
unsigned char mac[16]);
|
|
153
|
+
|
|
154
|
+
#if defined(MBEDTLS_SELF_TEST)
|
|
155
|
+
/**
|
|
156
|
+
* \brief The Poly1305 checkup routine.
|
|
157
|
+
*
|
|
158
|
+
* \return \c 0 on success.
|
|
159
|
+
* \return \c 1 on failure.
|
|
160
|
+
*/
|
|
161
|
+
int mbedtls_poly1305_self_test(int verbose);
|
|
162
|
+
#endif /* MBEDTLS_SELF_TEST */
|
|
163
|
+
|
|
164
|
+
#ifdef __cplusplus
|
|
165
|
+
}
|
|
166
|
+
#endif
|
|
167
|
+
|
|
168
|
+
#endif /* MBEDTLS_POLY1305_H */
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* \file private_access.h
|
|
3
|
+
*
|
|
4
|
+
* \brief Macro wrapper for struct's members.
|
|
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_PRIVATE_ACCESS_H
|
|
12
|
+
#define MBEDTLS_PRIVATE_ACCESS_H
|
|
13
|
+
|
|
14
|
+
#ifndef MBEDTLS_ALLOW_PRIVATE_ACCESS
|
|
15
|
+
#define MBEDTLS_PRIVATE(member) private_##member
|
|
16
|
+
#else
|
|
17
|
+
#define MBEDTLS_PRIVATE(member) member
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
#endif /* MBEDTLS_PRIVATE_ACCESS_H */
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* \file psa_util.h
|
|
3
|
+
*
|
|
4
|
+
* \brief Utility functions for the use of the PSA Crypto library.
|
|
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_PSA_UTIL_H
|
|
12
|
+
#define MBEDTLS_PSA_UTIL_H
|
|
13
|
+
#include "mbedtls/private_access.h"
|
|
14
|
+
|
|
15
|
+
#include "mbedtls/build_info.h"
|
|
16
|
+
|
|
17
|
+
#include "psa/crypto.h"
|
|
18
|
+
|
|
19
|
+
/* ASN1 defines used in the ECDSA conversion functions.
|
|
20
|
+
* Note: intentionally not adding MBEDTLS_ASN1_[PARSE|WRITE]_C guards here
|
|
21
|
+
* otherwise error codes would be unknown in test_suite_psa_crypto_util.data.*/
|
|
22
|
+
#include <mbedtls/asn1write.h>
|
|
23
|
+
|
|
24
|
+
#if defined(MBEDTLS_PSA_CRYPTO_CLIENT)
|
|
25
|
+
|
|
26
|
+
/** The random generator function for the PSA subsystem.
|
|
27
|
+
*
|
|
28
|
+
* This function is suitable as the `f_rng` random generator function
|
|
29
|
+
* parameter of many `mbedtls_xxx` functions.
|
|
30
|
+
*
|
|
31
|
+
* The implementation of this function depends on the configuration of the
|
|
32
|
+
* library.
|
|
33
|
+
*
|
|
34
|
+
* \note This function may only be used if the PSA crypto subsystem is active.
|
|
35
|
+
* This means that you must call psa_crypto_init() before any call to
|
|
36
|
+
* this function, and you must not call this function after calling
|
|
37
|
+
* mbedtls_psa_crypto_free().
|
|
38
|
+
*
|
|
39
|
+
* \param p_rng This parameter is only kept for backward compatibility
|
|
40
|
+
* reasons with legacy `f_rng` functions and it's ignored.
|
|
41
|
+
* Set to #MBEDTLS_PSA_RANDOM_STATE or NULL.
|
|
42
|
+
* \param output The buffer to fill. It must have room for
|
|
43
|
+
* \c output_size bytes.
|
|
44
|
+
* \param output_size The number of bytes to write to \p output.
|
|
45
|
+
* This function may fail if \p output_size is too
|
|
46
|
+
* large. It is guaranteed to accept any output size
|
|
47
|
+
* requested by Mbed TLS library functions. The
|
|
48
|
+
* maximum request size depends on the library
|
|
49
|
+
* configuration.
|
|
50
|
+
*
|
|
51
|
+
* \return \c 0 on success.
|
|
52
|
+
* \return An `MBEDTLS_ERR_ENTROPY_xxx`,
|
|
53
|
+
* `MBEDTLS_ERR_PLATFORM_xxx,
|
|
54
|
+
* `MBEDTLS_ERR_CTR_DRBG_xxx` or
|
|
55
|
+
* `MBEDTLS_ERR_HMAC_DRBG_xxx` on error.
|
|
56
|
+
*/
|
|
57
|
+
int mbedtls_psa_get_random(void *p_rng,
|
|
58
|
+
unsigned char *output,
|
|
59
|
+
size_t output_size);
|
|
60
|
+
|
|
61
|
+
/** The random generator state for the PSA subsystem.
|
|
62
|
+
*
|
|
63
|
+
* This macro always expands to NULL because the `p_rng` parameter is unused
|
|
64
|
+
* in mbedtls_psa_get_random(), but it's kept for interface's backward
|
|
65
|
+
* compatibility.
|
|
66
|
+
*/
|
|
67
|
+
#define MBEDTLS_PSA_RANDOM_STATE NULL
|
|
68
|
+
|
|
69
|
+
/** \defgroup psa_tls_helpers TLS helper functions
|
|
70
|
+
* @{
|
|
71
|
+
*/
|
|
72
|
+
#if defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
|
|
73
|
+
#include <mbedtls/ecp.h>
|
|
74
|
+
|
|
75
|
+
/** Convert an ECC curve identifier from the Mbed TLS encoding to PSA.
|
|
76
|
+
*
|
|
77
|
+
* \param grpid An Mbed TLS elliptic curve identifier
|
|
78
|
+
* (`MBEDTLS_ECP_DP_xxx`).
|
|
79
|
+
* \param[out] bits On success the bit size of the curve; 0 on failure.
|
|
80
|
+
*
|
|
81
|
+
* \return If the curve is supported in the PSA API, this function
|
|
82
|
+
* returns the proper PSA curve identifier
|
|
83
|
+
* (`PSA_ECC_FAMILY_xxx`). This holds even if the curve is
|
|
84
|
+
* not supported by the ECP module.
|
|
85
|
+
* \return \c 0 if the curve is not supported in the PSA API.
|
|
86
|
+
*/
|
|
87
|
+
psa_ecc_family_t mbedtls_ecc_group_to_psa(mbedtls_ecp_group_id grpid,
|
|
88
|
+
size_t *bits);
|
|
89
|
+
|
|
90
|
+
/** Convert an ECC curve identifier from the PSA encoding to Mbed TLS.
|
|
91
|
+
*
|
|
92
|
+
* \param family A PSA elliptic curve family identifier
|
|
93
|
+
* (`PSA_ECC_FAMILY_xxx`).
|
|
94
|
+
* \param bits The bit-length of a private key on \p curve.
|
|
95
|
+
*
|
|
96
|
+
* \return If the curve is supported in the PSA API, this function
|
|
97
|
+
* returns the corresponding Mbed TLS elliptic curve
|
|
98
|
+
* identifier (`MBEDTLS_ECP_DP_xxx`).
|
|
99
|
+
* \return #MBEDTLS_ECP_DP_NONE if the combination of \c curve
|
|
100
|
+
* and \p bits is not supported.
|
|
101
|
+
*/
|
|
102
|
+
mbedtls_ecp_group_id mbedtls_ecc_group_from_psa(psa_ecc_family_t family,
|
|
103
|
+
size_t bits);
|
|
104
|
+
#endif /* PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY */
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* \brief This function returns the PSA algorithm identifier
|
|
108
|
+
* associated with the given digest type.
|
|
109
|
+
*
|
|
110
|
+
* \param md_type The type of digest to search for. Must not be NONE.
|
|
111
|
+
*
|
|
112
|
+
* \warning If \p md_type is \c MBEDTLS_MD_NONE, this function will
|
|
113
|
+
* not return \c PSA_ALG_NONE, but an invalid algorithm.
|
|
114
|
+
*
|
|
115
|
+
* \warning This function does not check if the algorithm is
|
|
116
|
+
* supported, it always returns the corresponding identifier.
|
|
117
|
+
*
|
|
118
|
+
* \return The PSA algorithm identifier associated with \p md_type,
|
|
119
|
+
* regardless of whether it is supported or not.
|
|
120
|
+
*/
|
|
121
|
+
static inline psa_algorithm_t mbedtls_md_psa_alg_from_type(mbedtls_md_type_t md_type)
|
|
122
|
+
{
|
|
123
|
+
return PSA_ALG_CATEGORY_HASH | (psa_algorithm_t) md_type;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* \brief This function returns the given digest type
|
|
128
|
+
* associated with the PSA algorithm identifier.
|
|
129
|
+
*
|
|
130
|
+
* \param psa_alg The PSA algorithm identifier to search for.
|
|
131
|
+
*
|
|
132
|
+
* \warning This function does not check if the algorithm is
|
|
133
|
+
* supported, it always returns the corresponding identifier.
|
|
134
|
+
*
|
|
135
|
+
* \return The MD type associated with \p psa_alg,
|
|
136
|
+
* regardless of whether it is supported or not.
|
|
137
|
+
*/
|
|
138
|
+
static inline mbedtls_md_type_t mbedtls_md_type_from_psa_alg(psa_algorithm_t psa_alg)
|
|
139
|
+
{
|
|
140
|
+
return (mbedtls_md_type_t) (psa_alg & PSA_ALG_HASH_MASK);
|
|
141
|
+
}
|
|
142
|
+
#endif /* MBEDTLS_PSA_CRYPTO_CLIENT */
|
|
143
|
+
|
|
144
|
+
#if defined(MBEDTLS_PSA_UTIL_HAVE_ECDSA)
|
|
145
|
+
|
|
146
|
+
/** Convert an ECDSA signature from raw format to DER ASN.1 format.
|
|
147
|
+
*
|
|
148
|
+
* \param bits Size of each coordinate in bits.
|
|
149
|
+
* \param raw Buffer that contains the signature in raw format.
|
|
150
|
+
* \param raw_len Length of \p raw in bytes. This must be
|
|
151
|
+
* PSA_BITS_TO_BYTES(bits) bytes.
|
|
152
|
+
* \param[out] der Buffer that will be filled with the converted DER
|
|
153
|
+
* output. It can overlap with raw buffer.
|
|
154
|
+
* \param der_size Size of \p der in bytes. It is enough if \p der_size
|
|
155
|
+
* is at least the size of the actual output. (The size
|
|
156
|
+
* of the output can vary depending on the presence of
|
|
157
|
+
* leading zeros in the data.) You can use
|
|
158
|
+
* #MBEDTLS_ECDSA_MAX_SIG_LEN(\p bits) to determine a
|
|
159
|
+
* size that is large enough for all signatures for a
|
|
160
|
+
* given value of \p bits.
|
|
161
|
+
* \param[out] der_len On success it contains the amount of valid data
|
|
162
|
+
* (in bytes) written to \p der. It's undefined
|
|
163
|
+
* in case of failure.
|
|
164
|
+
*
|
|
165
|
+
* \note The behavior is undefined if \p der is null,
|
|
166
|
+
* even if \p der_size is 0.
|
|
167
|
+
*
|
|
168
|
+
* \return 0 if successful.
|
|
169
|
+
* \return #MBEDTLS_ERR_ASN1_BUF_TOO_SMALL if \p der_size
|
|
170
|
+
* is too small or if \p bits is larger than the
|
|
171
|
+
* largest supported curve.
|
|
172
|
+
* \return #MBEDTLS_ERR_ASN1_INVALID_DATA if one of the
|
|
173
|
+
* numbers in the signature is 0.
|
|
174
|
+
*/
|
|
175
|
+
int mbedtls_ecdsa_raw_to_der(size_t bits, const unsigned char *raw, size_t raw_len,
|
|
176
|
+
unsigned char *der, size_t der_size, size_t *der_len);
|
|
177
|
+
|
|
178
|
+
/** Convert an ECDSA signature from DER ASN.1 format to raw format.
|
|
179
|
+
*
|
|
180
|
+
* \param bits Size of each coordinate in bits.
|
|
181
|
+
* \param der Buffer that contains the signature in DER format.
|
|
182
|
+
* \param der_len Size of \p der in bytes.
|
|
183
|
+
* \param[out] raw Buffer that will be filled with the converted raw
|
|
184
|
+
* signature. It can overlap with der buffer.
|
|
185
|
+
* \param raw_size Size of \p raw in bytes. Must be at least
|
|
186
|
+
* 2 * PSA_BITS_TO_BYTES(bits) bytes.
|
|
187
|
+
* \param[out] raw_len On success it is updated with the amount of valid
|
|
188
|
+
* data (in bytes) written to \p raw. It's undefined
|
|
189
|
+
* in case of failure.
|
|
190
|
+
*
|
|
191
|
+
* \return 0 if successful.
|
|
192
|
+
* \return #MBEDTLS_ERR_ASN1_BUF_TOO_SMALL if \p raw_size
|
|
193
|
+
* is too small or if \p bits is larger than the
|
|
194
|
+
* largest supported curve.
|
|
195
|
+
* \return #MBEDTLS_ERR_ASN1_INVALID_DATA if the data in
|
|
196
|
+
* \p der is inconsistent with \p bits.
|
|
197
|
+
* \return An \c MBEDTLS_ERR_ASN1_xxx error code if
|
|
198
|
+
* \p der is malformed.
|
|
199
|
+
*/
|
|
200
|
+
int mbedtls_ecdsa_der_to_raw(size_t bits, const unsigned char *der, size_t der_len,
|
|
201
|
+
unsigned char *raw, size_t raw_size, size_t *raw_len);
|
|
202
|
+
|
|
203
|
+
#endif /* MBEDTLS_PSA_UTIL_HAVE_ECDSA */
|
|
204
|
+
|
|
205
|
+
/**@}*/
|
|
206
|
+
|
|
207
|
+
#endif /* MBEDTLS_PSA_UTIL_H */
|