edhoc 1.0.1 → 1.0.3
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/binding.gyp +64 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +34 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +97 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +37 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +34 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +38 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +170 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +74 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +74 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +62 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +62 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +141 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +141 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +61 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +61 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +112 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +112 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +93 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +93 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +193 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +194 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +189 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +189 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +88 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +88 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +63 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +63 -0
- package/external/libedhoc/externals/compact25519/src/c25519/c25519.c +126 -0
- package/external/libedhoc/externals/compact25519/src/c25519/c25519.h +49 -0
- package/external/libedhoc/externals/compact25519/src/c25519/ed25519.c +323 -0
- package/external/libedhoc/externals/compact25519/src/c25519/ed25519.h +84 -0
- package/external/libedhoc/externals/compact25519/src/c25519/edsign.c +171 -0
- package/external/libedhoc/externals/compact25519/src/c25519/edsign.h +53 -0
- package/external/libedhoc/externals/compact25519/src/c25519/f25519.c +330 -0
- package/external/libedhoc/externals/compact25519/src/c25519/f25519.h +98 -0
- package/external/libedhoc/externals/compact25519/src/c25519/fprime.c +226 -0
- package/external/libedhoc/externals/compact25519/src/c25519/fprime.h +81 -0
- package/external/libedhoc/externals/compact25519/src/c25519/sha512.c +230 -0
- package/external/libedhoc/externals/compact25519/src/c25519/sha512.h +54 -0
- package/external/libedhoc/externals/compact25519/src/compact_ed25519.c +46 -0
- package/external/libedhoc/externals/compact25519/src/compact_ed25519.h +110 -0
- package/external/libedhoc/externals/compact25519/src/compact_wipe.c +12 -0
- package/external/libedhoc/externals/compact25519/src/compact_wipe.h +14 -0
- package/external/libedhoc/externals/compact25519/src/compact_x25519.c +68 -0
- package/external/libedhoc/externals/compact25519/src/compact_x25519.h +101 -0
- package/external/libedhoc/externals/compact25519/test/pcg_random.h +25 -0
- package/external/libedhoc/externals/compact25519/test/run-all.c +178 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/Hacl_Curve25519.h +21 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/everest.h +234 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt128.h +124 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.h +280 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib.h +29 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h +204 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/builtin.h +16 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/callconv.h +46 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/compat.h +34 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/debug.h +57 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/target.h +102 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/types.h +61 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/wasmsupport.h +5 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/Hacl_Curve25519.h +21 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/inttypes.h +36 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/stdbool.h +31 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/x25519.h +190 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c +760 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519_joined.c +50 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/everest.c +102 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c +413 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c +100 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c +805 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/x25519.c +186 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.c +1514 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.h +135 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c +312 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.h +219 -0
- package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-dtls1_2.h +92 -0
- package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-tls1_2.h +83 -0
- package/external/libedhoc/externals/mbedtls/configs/config-no-entropy.h +73 -0
- package/external/libedhoc/externals/mbedtls/configs/config-suite-b.h +106 -0
- package/external/libedhoc/externals/mbedtls/configs/config-symmetric-only.h +77 -0
- package/external/libedhoc/externals/mbedtls/configs/config-thread.h +76 -0
- package/external/libedhoc/externals/mbedtls/configs/crypto-config-ccm-aes-sha256.h +25 -0
- package/external/libedhoc/externals/mbedtls/configs/crypto_config_profile_medium.h +136 -0
- package/external/libedhoc/externals/mbedtls/configs/tfm_mbedcrypto_config_profile_medium.h +609 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_encdec.h +54 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_hashing.h +30 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_mainpage.h +19 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_rng.h +27 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_ssltls.h +37 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_tcpip.h +32 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_x509.h +31 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/aes.h +627 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/aria.h +341 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1.h +641 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1write.h +389 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/base64.h +82 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/bignum.h +1084 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/build_info.h +146 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/camellia.h +303 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ccm.h +518 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/chacha20.h +202 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/chachapoly.h +342 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/check_config.h +1206 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/cipher.h +1183 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/cmac.h +246 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/compat-2.x.h +46 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +183 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +877 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +334 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +142 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_ssl.h +76 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_x509.h +25 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_psa.h +55 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/constant_time.h +36 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ctr_drbg.h +564 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/debug.h +308 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/des.h +385 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/dhm.h +972 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdh.h +441 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdsa.h +671 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecjpake.h +298 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecp.h +1362 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/entropy.h +273 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/error.h +201 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/gcm.h +370 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/hkdf.h +124 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/lms.h +440 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/mbedtls_config.h +4116 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/md.h +640 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/md5.h +190 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/net_sockets.h +299 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/nist_kw.h +166 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/oid.h +722 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pem.h +160 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pk.h +1091 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs12.h +186 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs5.h +197 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs7.h +241 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform.h +485 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_time.h +79 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_util.h +201 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/poly1305.h +168 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/private_access.h +20 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/psa_util.h +104 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ripemd160.h +136 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/rsa.h +1143 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha1.h +219 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha256.h +198 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha3.h +172 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha512.h +208 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl.h +5369 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cache.h +187 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ciphersuites.h +616 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ticket.h +181 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/threading.h +105 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/timing.h +94 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/version.h +78 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509.h +550 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crl.h +184 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crt.h +1196 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_csr.h +319 -0
- package/external/libedhoc/externals/mbedtls/include/psa/build_info.h +20 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto.h +4685 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_auto_enabled.h +21 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +91 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_synonyms.h +45 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_composites.h +210 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_compat.h +153 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_config.h +153 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_common.h +44 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_extra.h +2064 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_legacy.h +88 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_platform.h +92 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_se_driver.h +1383 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_sizes.h +1282 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_struct.h +460 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_types.h +453 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_values.h +2756 -0
- package/external/libedhoc/externals/mbedtls/library/aes.c +2315 -0
- package/external/libedhoc/externals/mbedtls/library/aesce.c +503 -0
- package/external/libedhoc/externals/mbedtls/library/aesce.h +121 -0
- package/external/libedhoc/externals/mbedtls/library/aesni.c +802 -0
- package/external/libedhoc/externals/mbedtls/library/aesni.h +158 -0
- package/external/libedhoc/externals/mbedtls/library/alignment.h +509 -0
- package/external/libedhoc/externals/mbedtls/library/aria.c +991 -0
- package/external/libedhoc/externals/mbedtls/library/asn1parse.c +467 -0
- package/external/libedhoc/externals/mbedtls/library/asn1write.c +436 -0
- package/external/libedhoc/externals/mbedtls/library/base64.c +299 -0
- package/external/libedhoc/externals/mbedtls/library/base64_internal.h +45 -0
- package/external/libedhoc/externals/mbedtls/library/bignum.c +2806 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_core.c +894 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_core.h +763 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod.c +394 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod.h +452 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.c +276 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.h +416 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
- package/external/libedhoc/externals/mbedtls/library/bn_mul.h +1094 -0
- package/external/libedhoc/externals/mbedtls/library/camellia.c +1044 -0
- package/external/libedhoc/externals/mbedtls/library/ccm.c +712 -0
- package/external/libedhoc/externals/mbedtls/library/chacha20.c +497 -0
- package/external/libedhoc/externals/mbedtls/library/chachapoly.c +478 -0
- package/external/libedhoc/externals/mbedtls/library/check_crypto_config.h +141 -0
- package/external/libedhoc/externals/mbedtls/library/cipher.c +1664 -0
- package/external/libedhoc/externals/mbedtls/library/cipher_wrap.c +2422 -0
- package/external/libedhoc/externals/mbedtls/library/cipher_wrap.h +132 -0
- package/external/libedhoc/externals/mbedtls/library/cmac.c +1067 -0
- package/external/libedhoc/externals/mbedtls/library/common.h +325 -0
- package/external/libedhoc/externals/mbedtls/library/constant_time.c +261 -0
- package/external/libedhoc/externals/mbedtls/library/constant_time_impl.h +554 -0
- package/external/libedhoc/externals/mbedtls/library/constant_time_internal.h +579 -0
- package/external/libedhoc/externals/mbedtls/library/ctr_drbg.c +881 -0
- package/external/libedhoc/externals/mbedtls/library/debug.c +465 -0
- package/external/libedhoc/externals/mbedtls/library/des.c +1042 -0
- package/external/libedhoc/externals/mbedtls/library/dhm.c +712 -0
- package/external/libedhoc/externals/mbedtls/library/ecdh.c +685 -0
- package/external/libedhoc/externals/mbedtls/library/ecdsa.c +867 -0
- package/external/libedhoc/externals/mbedtls/library/ecjpake.c +1216 -0
- package/external/libedhoc/externals/mbedtls/library/ecp.c +3631 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_curves.c +5467 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_curves_new.c +6043 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_internal_alt.h +287 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_invasive.h +325 -0
- package/external/libedhoc/externals/mbedtls/library/entropy.c +676 -0
- package/external/libedhoc/externals/mbedtls/library/entropy_poll.c +229 -0
- package/external/libedhoc/externals/mbedtls/library/entropy_poll.h +64 -0
- package/external/libedhoc/externals/mbedtls/library/error.c +878 -0
- package/external/libedhoc/externals/mbedtls/library/gcm.c +1168 -0
- package/external/libedhoc/externals/mbedtls/library/hkdf.c +161 -0
- package/external/libedhoc/externals/mbedtls/library/hmac_drbg.c +633 -0
- package/external/libedhoc/externals/mbedtls/library/lmots.c +821 -0
- package/external/libedhoc/externals/mbedtls/library/lmots.h +311 -0
- package/external/libedhoc/externals/mbedtls/library/lms.c +779 -0
- package/external/libedhoc/externals/mbedtls/library/md.c +1108 -0
- package/external/libedhoc/externals/mbedtls/library/md5.c +426 -0
- package/external/libedhoc/externals/mbedtls/library/md_psa.h +63 -0
- package/external/libedhoc/externals/mbedtls/library/md_wrap.h +46 -0
- package/external/libedhoc/externals/mbedtls/library/memory_buffer_alloc.c +745 -0
- package/external/libedhoc/externals/mbedtls/library/mps_common.h +181 -0
- package/external/libedhoc/externals/mbedtls/library/mps_error.h +89 -0
- package/external/libedhoc/externals/mbedtls/library/mps_reader.c +538 -0
- package/external/libedhoc/externals/mbedtls/library/mps_reader.h +366 -0
- package/external/libedhoc/externals/mbedtls/library/mps_trace.c +112 -0
- package/external/libedhoc/externals/mbedtls/library/mps_trace.h +154 -0
- package/external/libedhoc/externals/mbedtls/library/net_sockets.c +696 -0
- package/external/libedhoc/externals/mbedtls/library/nist_kw.c +725 -0
- package/external/libedhoc/externals/mbedtls/library/oid.c +1154 -0
- package/external/libedhoc/externals/mbedtls/library/padlock.c +155 -0
- package/external/libedhoc/externals/mbedtls/library/padlock.h +111 -0
- package/external/libedhoc/externals/mbedtls/library/pem.c +520 -0
- package/external/libedhoc/externals/mbedtls/library/pk.c +970 -0
- package/external/libedhoc/externals/mbedtls/library/pk_internal.h +118 -0
- package/external/libedhoc/externals/mbedtls/library/pk_wrap.c +1834 -0
- package/external/libedhoc/externals/mbedtls/library/pk_wrap.h +156 -0
- package/external/libedhoc/externals/mbedtls/library/pkcs12.c +447 -0
- package/external/libedhoc/externals/mbedtls/library/pkcs5.c +496 -0
- package/external/libedhoc/externals/mbedtls/library/pkcs7.c +773 -0
- package/external/libedhoc/externals/mbedtls/library/pkparse.c +1845 -0
- package/external/libedhoc/externals/mbedtls/library/pkwrite.c +836 -0
- package/external/libedhoc/externals/mbedtls/library/pkwrite.h +112 -0
- package/external/libedhoc/externals/mbedtls/library/platform.c +402 -0
- package/external/libedhoc/externals/mbedtls/library/platform_util.c +285 -0
- package/external/libedhoc/externals/mbedtls/library/poly1305.c +492 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto.c +8432 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.c +653 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.h +499 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.c +590 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.h +293 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_client.c +67 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_core.h +838 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_core_common.h +52 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers.h +2871 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.c +561 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.h +267 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.c +295 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.h +132 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.c +470 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.h +211 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_invasive.h +70 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_its.h +131 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.c +496 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.h +264 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.c +571 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.h +159 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_random_impl.h +192 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.c +727 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.h +317 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.c +373 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.h +185 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.c +559 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.h +213 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.c +481 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.h +384 -0
- package/external/libedhoc/externals/mbedtls/library/psa_its_file.c +259 -0
- package/external/libedhoc/externals/mbedtls/library/psa_util.c +160 -0
- package/external/libedhoc/externals/mbedtls/library/psa_util_internal.h +96 -0
- package/external/libedhoc/externals/mbedtls/library/ripemd160.c +490 -0
- package/external/libedhoc/externals/mbedtls/library/rsa.c +2640 -0
- package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.c +447 -0
- package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.h +208 -0
- package/external/libedhoc/externals/mbedtls/library/sha1.c +480 -0
- package/external/libedhoc/externals/mbedtls/library/sha256.c +946 -0
- package/external/libedhoc/externals/mbedtls/library/sha3.c +626 -0
- package/external/libedhoc/externals/mbedtls/library/sha512.c +1111 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_cache.c +410 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_ciphersuites.c +2050 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_client.c +1017 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_client.h +22 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_cookie.c +380 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers.h +78 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers_generated.c +234 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_misc.h +2847 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_msg.c +6155 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_ticket.c +540 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls.c +9577 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls12_client.c +3607 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls12_server.c +4403 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_client.c +3046 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_generic.c +1740 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_invasive.h +23 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.c +1897 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.h +651 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_server.c +3146 -0
- package/external/libedhoc/externals/mbedtls/library/threading.c +181 -0
- package/external/libedhoc/externals/mbedtls/library/timing.c +154 -0
- package/external/libedhoc/externals/mbedtls/library/version.c +32 -0
- package/external/libedhoc/externals/mbedtls/library/version_features.c +826 -0
- package/external/libedhoc/externals/mbedtls/library/x509.c +1776 -0
- package/external/libedhoc/externals/mbedtls/library/x509_create.c +557 -0
- package/external/libedhoc/externals/mbedtls/library/x509_crl.c +712 -0
- package/external/libedhoc/externals/mbedtls/library/x509_crt.c +3292 -0
- package/external/libedhoc/externals/mbedtls/library/x509_csr.c +574 -0
- package/external/libedhoc/externals/mbedtls/library/x509write.c +174 -0
- package/external/libedhoc/externals/mbedtls/library/x509write_crt.c +681 -0
- package/external/libedhoc/externals/mbedtls/library/x509write_csr.c +331 -0
- package/external/libedhoc/externals/mbedtls/programs/aes/crypt_and_hash.c +573 -0
- package/external/libedhoc/externals/mbedtls/programs/cipher/cipher_aead_demo.c +259 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/common.c +105 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/common.h +25 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_client.c +195 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsclient.c +138 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsserver.c +183 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pkcs7.c +20 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_privkey.c +106 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pubkey.c +86 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_server.c +218 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crl.c +41 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crt.c +41 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509csr.c +41 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/onefile.c +69 -0
- package/external/libedhoc/externals/mbedtls/programs/hash/generic_sum.c +209 -0
- package/external/libedhoc/externals/mbedtls/programs/hash/hello.c +45 -0
- package/external/libedhoc/externals/mbedtls/programs/hash/md_hmac_demo.c +136 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_client.c +274 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_genprime.c +161 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_server.c +296 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/ecdh_curve25519.c +189 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/ecdsa.c +217 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/gen_key.c +419 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/key_app.c +316 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/key_app_writer.c +435 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/mpi_demo.c +84 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_decrypt.c +153 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_encrypt.c +154 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_sign.c +155 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_verify.c +128 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_decrypt.c +172 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_encrypt.c +149 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_genkey.c +141 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign.c +155 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign_pss.c +161 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify.c +131 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify_pss.c +136 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/aead_demo.c +281 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/crypto_examples.c +321 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/hmac_demo.c +159 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/key_ladder_demo.c +691 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names.c +310 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names_generated.c +474 -0
- package/external/libedhoc/externals/mbedtls/programs/random/gen_entropy.c +75 -0
- package/external/libedhoc/externals/mbedtls/programs/random/gen_random_ctr_drbg.c +107 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_client.c +342 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_server.c +408 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/mini_client.c +274 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client1.c +288 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client2.c +3118 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_context_info.c +1009 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_fork_server.c +381 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_mail_client.c +804 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_pthread_server.c +489 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server.c +362 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server2.c +4268 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_common_source.c +375 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.c +601 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.h +306 -0
- package/external/libedhoc/externals/mbedtls/programs/test/benchmark.c +1284 -0
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_package/cmake_package.c +27 -0
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_package_install/cmake_package_install.c +28 -0
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_subproject/cmake_subproject.c +28 -0
- package/external/libedhoc/externals/mbedtls/programs/test/dlopen.c +92 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_compile_time_config.c +66 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_config.c +5137 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_config.h +34 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_included_headers.c +29 -0
- package/external/libedhoc/externals/mbedtls/programs/test/selftest.c +583 -0
- package/external/libedhoc/externals/mbedtls/programs/test/udp_proxy.c +967 -0
- package/external/libedhoc/externals/mbedtls/programs/test/zeroize.c +72 -0
- package/external/libedhoc/externals/mbedtls/programs/util/pem2der.c +265 -0
- package/external/libedhoc/externals/mbedtls/programs/util/strerror.c +61 -0
- package/external/libedhoc/externals/mbedtls/programs/wince_main.c +31 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_app.c +456 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_req.c +509 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_write.c +1012 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/crl_app.c +132 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/load_roots.c +165 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/req_app.c +132 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/tls13-only.h +31 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-for-test.h +89 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-malloc-0-null.h +22 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-zeroize-memset.h +17 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aes_alt.h +23 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aria_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/camellia_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ccm_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chacha20_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chachapoly_alt.h +18 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/cmac_alt.h +15 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/des_alt.h +22 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/dhm_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecjpake_alt.h +15 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecp_alt.h +22 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/gcm_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/md5_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/nist_kw_alt.h +15 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/platform_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/poly1305_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ripemd160_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/rsa_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha1_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha256_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha512_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/threading_alt.h +14 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/timing_alt.h +19 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-extra/psa/crypto.h +7 -0
- package/external/libedhoc/externals/mbedtls/tests/include/baremetal-override/time.h +6 -0
- package/external/libedhoc/externals/mbedtls/tests/include/spe/crypto_spe.h +131 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/arguments.h +26 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/asn1_helpers.h +38 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/bignum_helpers.h +106 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/certs.h +234 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/constant_flow.h +71 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/aead.h +121 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/asymmetric_encryption.h +67 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/cipher.h +130 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/config_test_driver.h +44 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/crypto_config_test_driver_extension.h +430 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/hash.h +64 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_agreement.h +62 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_management.h +123 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/mac.h +125 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/pake.h +75 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/signature.h +112 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/test_driver.h +32 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/fake_external_rng_for_test.h +40 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/helpers.h +268 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/macros.h +250 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_crypto_helpers.h +398 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_exercise_key.h +223 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_helpers.h +24 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/random.h +91 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/ssl_helpers.h +628 -0
- package/external/libedhoc/externals/mbedtls/tests/src/asn1_helpers.c +62 -0
- package/external/libedhoc/externals/mbedtls/tests/src/bignum_helpers.c +145 -0
- package/external/libedhoc/externals/mbedtls/tests/src/certs.c +480 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/hash.c +199 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/platform_builtin_keys.c +78 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_aead.c +462 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c +151 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_cipher.c +424 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_agreement.c +147 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_management.c +783 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_mac.c +422 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_pake.c +202 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_signature.c +405 -0
- package/external/libedhoc/externals/mbedtls/tests/src/fake_external_rng_for_test.c +45 -0
- package/external/libedhoc/externals/mbedtls/tests/src/helpers.c +353 -0
- package/external/libedhoc/externals/mbedtls/tests/src/psa_crypto_helpers.c +196 -0
- package/external/libedhoc/externals/mbedtls/tests/src/psa_exercise_key.c +989 -0
- package/external/libedhoc/externals/mbedtls/tests/src/random.c +136 -0
- package/external/libedhoc/externals/mbedtls/tests/src/test_certs.h +1226 -0
- package/external/libedhoc/externals/mbedtls/tests/src/test_helpers/ssl_helpers.c +2292 -0
- package/external/libedhoc/externals/mbedtls/tests/src/threading_helpers.c +210 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_common.h +422 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +69 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +358 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +296 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_tags.h +94 -0
- package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +41 -0
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +39 -0
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +39 -0
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +47 -0
- package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +128 -0
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +69 -0
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +70 -0
- package/external/libedhoc/externals/zcbor/src/zcbor_common.c +257 -0
- package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +1107 -0
- package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +722 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +368 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +189 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +529 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +2010 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +134 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +863 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +364 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +453 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +123 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +1527 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +66 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +136 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_pet.c +12 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.c +60 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.h +5 -0
- package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +1044 -0
- package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +202 -0
- package/external/libedhoc/include/edhoc.h +393 -0
- package/external/libedhoc/include/edhoc_context.h +318 -0
- package/external/libedhoc/include/edhoc_credentials.h +217 -0
- package/external/libedhoc/include/edhoc_crypto.h +331 -0
- package/external/libedhoc/include/edhoc_ead.h +99 -0
- package/external/libedhoc/include/edhoc_macros.h +51 -0
- package/external/libedhoc/include/edhoc_values.h +181 -0
- package/external/libedhoc/library/edhoc.c +219 -0
- package/external/libedhoc/library/edhoc_exporter.c +543 -0
- package/external/libedhoc/library/edhoc_message_1.c +439 -0
- package/external/libedhoc/library/edhoc_message_2.c +2994 -0
- package/external/libedhoc/library/edhoc_message_3.c +2658 -0
- package/external/libedhoc/library/edhoc_message_4.c +826 -0
- package/external/libedhoc/library/edhoc_message_error.c +238 -0
- package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +37 -0
- package/external/libedhoc/tests/include/cipher_suites/cipher_suite_0.h +134 -0
- package/external/libedhoc/tests/include/cipher_suites/cipher_suite_2.h +140 -0
- package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +48 -0
- package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +48 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +60 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +208 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +59 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/test_vector_1.h +738 -0
- package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +60 -0
- package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +199 -0
- package/external/libedhoc/tests/include/edhoc_trace_2/test_vector_2.h +525 -0
- package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +48 -0
- package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +92 -0
- package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +96 -0
- package/external/libedhoc/tests/include/x509_chain_cs_0/test_vector_x5chain_cs_0.h +140 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +58 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +56 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +57 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_vector_x5chain_cs_2.h +169 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +59 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +57 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_vector_x5chain_cs_2_static_dh.h +163 -0
- package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +60 -0
- package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +57 -0
- package/external/libedhoc/tests/include/x509_hash_cs_2/test_vector_x5t_cs_2.h +181 -0
- package/external/libedhoc/tests/src/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c +544 -0
- package/external/libedhoc/tests/src/cipher_suites/cipher_suite_0.c +447 -0
- package/external/libedhoc/tests/src/cipher_suites/cipher_suite_2.c +600 -0
- package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +475 -0
- package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +473 -0
- package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +252 -0
- package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +1829 -0
- package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +1247 -0
- package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +170 -0
- package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +1783 -0
- package/external/libedhoc/tests/src/error_message/test_edhoc_error_message.c +226 -0
- package/external/libedhoc/tests/src/tests.c +228 -0
- package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +332 -0
- package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +936 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +166 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +587 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +917 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +186 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +743 -0
- package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +261 -0
- package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +854 -0
- package/include/EdhocComposeAsyncWorker.h +61 -0
- package/include/EdhocCredentialManager.h +100 -0
- package/include/EdhocCryptoManager.h +504 -0
- package/include/EdhocEadManager.h +151 -0
- package/include/EdhocExportAsyncWorker.h +71 -0
- package/include/EdhocProcessAsyncWorker.h +76 -0
- package/include/LibEDHOC.h +304 -0
- package/include/Suites.h +27 -0
- package/include/UserContext.h +79 -0
- package/include/Utils.h +110 -0
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/edhoc.node +0 -0
- package/prebuilds/win32-ia32/edhoc.node +0 -0
- package/prebuilds/win32-x64/edhoc.node +0 -0
- package/src/EdhocComposeAsyncWorker.cpp +88 -0
- package/src/EdhocCredentialManager.cpp +360 -0
- package/src/EdhocCryptoManager.cpp +967 -0
- package/src/EdhocEadManager.cpp +156 -0
- package/src/EdhocExportAsyncWorker.cpp +82 -0
- package/src/EdhocProcessAsyncWorker.cpp +74 -0
- package/src/LibEDHOC.cpp +369 -0
- package/src/Suites.cpp +153 -0
- package/src/Utils.cpp +115 -0
- /package/prebuilds/{darwin-x64+arm64 → darwin-x64}/edhoc.node +0 -0
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/** Mutex usage verification framework. */
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright The Mbed TLS Contributors
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include <test/helpers.h>
|
|
9
|
+
#include <test/macros.h>
|
|
10
|
+
|
|
11
|
+
#if defined(MBEDTLS_TEST_MUTEX_USAGE)
|
|
12
|
+
|
|
13
|
+
#include "mbedtls/threading.h"
|
|
14
|
+
|
|
15
|
+
/** Mutex usage verification framework.
|
|
16
|
+
*
|
|
17
|
+
* The mutex usage verification code below aims to detect bad usage of
|
|
18
|
+
* Mbed TLS's mutex abstraction layer at runtime. Note that this is solely
|
|
19
|
+
* about the use of the mutex itself, not about checking whether the mutex
|
|
20
|
+
* correctly protects whatever it is supposed to protect.
|
|
21
|
+
*
|
|
22
|
+
* The normal usage of a mutex is:
|
|
23
|
+
* ```
|
|
24
|
+
* digraph mutex_states {
|
|
25
|
+
* "UNINITIALIZED"; // the initial state
|
|
26
|
+
* "IDLE";
|
|
27
|
+
* "FREED";
|
|
28
|
+
* "LOCKED";
|
|
29
|
+
* "UNINITIALIZED" -> "IDLE" [label="init"];
|
|
30
|
+
* "FREED" -> "IDLE" [label="init"];
|
|
31
|
+
* "IDLE" -> "LOCKED" [label="lock"];
|
|
32
|
+
* "LOCKED" -> "IDLE" [label="unlock"];
|
|
33
|
+
* "IDLE" -> "FREED" [label="free"];
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* All bad transitions that can be unambiguously detected are reported.
|
|
38
|
+
* An attempt to use an uninitialized mutex cannot be detected in general
|
|
39
|
+
* since the memory content may happen to denote a valid state. For the same
|
|
40
|
+
* reason, a double init cannot be detected.
|
|
41
|
+
* All-bits-zero is the state of a freed mutex, which is distinct from an
|
|
42
|
+
* initialized mutex, so attempting to use zero-initialized memory as a mutex
|
|
43
|
+
* without calling the init function is detected.
|
|
44
|
+
*
|
|
45
|
+
* The framework attempts to detect missing calls to init and free by counting
|
|
46
|
+
* calls to init and free. If there are more calls to init than free, this
|
|
47
|
+
* means that a mutex is not being freed somewhere, which is a memory leak
|
|
48
|
+
* on platforms where a mutex consumes resources other than the
|
|
49
|
+
* mbedtls_threading_mutex_t object itself. If there are more calls to free
|
|
50
|
+
* than init, this indicates a missing init, which is likely to be detected
|
|
51
|
+
* by an attempt to lock the mutex as well. A limitation of this framework is
|
|
52
|
+
* that it cannot detect scenarios where there is exactly the same number of
|
|
53
|
+
* calls to init and free but the calls don't match. A bug like this is
|
|
54
|
+
* unlikely to happen uniformly throughout the whole test suite though.
|
|
55
|
+
*
|
|
56
|
+
* If an error is detected, this framework will report what happened and the
|
|
57
|
+
* test case will be marked as failed. Unfortunately, the error report cannot
|
|
58
|
+
* indicate the exact location of the problematic call. To locate the error,
|
|
59
|
+
* use a debugger and set a breakpoint on mbedtls_test_mutex_usage_error().
|
|
60
|
+
*/
|
|
61
|
+
enum value_of_mutex_is_valid_field {
|
|
62
|
+
/* Potential values for the is_valid field of mbedtls_threading_mutex_t.
|
|
63
|
+
* Note that MUTEX_FREED must be 0 and MUTEX_IDLE must be 1 for
|
|
64
|
+
* compatibility with threading_mutex_init_pthread() and
|
|
65
|
+
* threading_mutex_free_pthread(). MUTEX_LOCKED could be any nonzero
|
|
66
|
+
* value. */
|
|
67
|
+
MUTEX_FREED = 0, //!< Set by threading_mutex_free_pthread
|
|
68
|
+
MUTEX_IDLE = 1, //!< Set by threading_mutex_init_pthread and by our unlock
|
|
69
|
+
MUTEX_LOCKED = 2, //!< Set by our lock
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
typedef struct {
|
|
73
|
+
void (*init)(mbedtls_threading_mutex_t *);
|
|
74
|
+
void (*free)(mbedtls_threading_mutex_t *);
|
|
75
|
+
int (*lock)(mbedtls_threading_mutex_t *);
|
|
76
|
+
int (*unlock)(mbedtls_threading_mutex_t *);
|
|
77
|
+
} mutex_functions_t;
|
|
78
|
+
static mutex_functions_t mutex_functions;
|
|
79
|
+
|
|
80
|
+
/** The total number of calls to mbedtls_mutex_init(), minus the total number
|
|
81
|
+
* of calls to mbedtls_mutex_free().
|
|
82
|
+
*
|
|
83
|
+
* Reset to 0 after each test case.
|
|
84
|
+
*/
|
|
85
|
+
static int live_mutexes;
|
|
86
|
+
|
|
87
|
+
static void mbedtls_test_mutex_usage_error(mbedtls_threading_mutex_t *mutex,
|
|
88
|
+
const char *msg)
|
|
89
|
+
{
|
|
90
|
+
(void) mutex;
|
|
91
|
+
if (mbedtls_test_info.mutex_usage_error == NULL) {
|
|
92
|
+
mbedtls_test_info.mutex_usage_error = msg;
|
|
93
|
+
}
|
|
94
|
+
mbedtls_fprintf(stdout, "[mutex: %s] ", msg);
|
|
95
|
+
/* Don't mark the test as failed yet. This way, if the test fails later
|
|
96
|
+
* for a functional reason, the test framework will report the message
|
|
97
|
+
* and location for this functional reason. If the test passes,
|
|
98
|
+
* mbedtls_test_mutex_usage_check() will mark it as failed. */
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
static void mbedtls_test_wrap_mutex_init(mbedtls_threading_mutex_t *mutex)
|
|
102
|
+
{
|
|
103
|
+
mutex_functions.init(mutex);
|
|
104
|
+
if (mutex->is_valid) {
|
|
105
|
+
++live_mutexes;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
static void mbedtls_test_wrap_mutex_free(mbedtls_threading_mutex_t *mutex)
|
|
110
|
+
{
|
|
111
|
+
switch (mutex->is_valid) {
|
|
112
|
+
case MUTEX_FREED:
|
|
113
|
+
mbedtls_test_mutex_usage_error(mutex, "free without init or double free");
|
|
114
|
+
break;
|
|
115
|
+
case MUTEX_IDLE:
|
|
116
|
+
/* Do nothing. The underlying free function will reset is_valid
|
|
117
|
+
* to 0. */
|
|
118
|
+
break;
|
|
119
|
+
case MUTEX_LOCKED:
|
|
120
|
+
mbedtls_test_mutex_usage_error(mutex, "free without unlock");
|
|
121
|
+
break;
|
|
122
|
+
default:
|
|
123
|
+
mbedtls_test_mutex_usage_error(mutex, "corrupted state");
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
if (mutex->is_valid) {
|
|
127
|
+
--live_mutexes;
|
|
128
|
+
}
|
|
129
|
+
mutex_functions.free(mutex);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
static int mbedtls_test_wrap_mutex_lock(mbedtls_threading_mutex_t *mutex)
|
|
133
|
+
{
|
|
134
|
+
int ret = mutex_functions.lock(mutex);
|
|
135
|
+
switch (mutex->is_valid) {
|
|
136
|
+
case MUTEX_FREED:
|
|
137
|
+
mbedtls_test_mutex_usage_error(mutex, "lock without init");
|
|
138
|
+
break;
|
|
139
|
+
case MUTEX_IDLE:
|
|
140
|
+
if (ret == 0) {
|
|
141
|
+
mutex->is_valid = 2;
|
|
142
|
+
}
|
|
143
|
+
break;
|
|
144
|
+
case MUTEX_LOCKED:
|
|
145
|
+
mbedtls_test_mutex_usage_error(mutex, "double lock");
|
|
146
|
+
break;
|
|
147
|
+
default:
|
|
148
|
+
mbedtls_test_mutex_usage_error(mutex, "corrupted state");
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
return ret;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
static int mbedtls_test_wrap_mutex_unlock(mbedtls_threading_mutex_t *mutex)
|
|
155
|
+
{
|
|
156
|
+
int ret = mutex_functions.unlock(mutex);
|
|
157
|
+
switch (mutex->is_valid) {
|
|
158
|
+
case MUTEX_FREED:
|
|
159
|
+
mbedtls_test_mutex_usage_error(mutex, "unlock without init");
|
|
160
|
+
break;
|
|
161
|
+
case MUTEX_IDLE:
|
|
162
|
+
mbedtls_test_mutex_usage_error(mutex, "unlock without lock");
|
|
163
|
+
break;
|
|
164
|
+
case MUTEX_LOCKED:
|
|
165
|
+
if (ret == 0) {
|
|
166
|
+
mutex->is_valid = MUTEX_IDLE;
|
|
167
|
+
}
|
|
168
|
+
break;
|
|
169
|
+
default:
|
|
170
|
+
mbedtls_test_mutex_usage_error(mutex, "corrupted state");
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
return ret;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
void mbedtls_test_mutex_usage_init(void)
|
|
177
|
+
{
|
|
178
|
+
mutex_functions.init = mbedtls_mutex_init;
|
|
179
|
+
mutex_functions.free = mbedtls_mutex_free;
|
|
180
|
+
mutex_functions.lock = mbedtls_mutex_lock;
|
|
181
|
+
mutex_functions.unlock = mbedtls_mutex_unlock;
|
|
182
|
+
mbedtls_mutex_init = &mbedtls_test_wrap_mutex_init;
|
|
183
|
+
mbedtls_mutex_free = &mbedtls_test_wrap_mutex_free;
|
|
184
|
+
mbedtls_mutex_lock = &mbedtls_test_wrap_mutex_lock;
|
|
185
|
+
mbedtls_mutex_unlock = &mbedtls_test_wrap_mutex_unlock;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
void mbedtls_test_mutex_usage_check(void)
|
|
189
|
+
{
|
|
190
|
+
if (live_mutexes != 0) {
|
|
191
|
+
/* A positive number (more init than free) means that a mutex resource
|
|
192
|
+
* is leaking (on platforms where a mutex consumes more than the
|
|
193
|
+
* mbedtls_threading_mutex_t object itself). The rare case of a
|
|
194
|
+
* negative number means a missing init somewhere. */
|
|
195
|
+
mbedtls_fprintf(stdout, "[mutex: %d leaked] ", live_mutexes);
|
|
196
|
+
live_mutexes = 0;
|
|
197
|
+
if (mbedtls_test_info.mutex_usage_error == NULL) {
|
|
198
|
+
mbedtls_test_info.mutex_usage_error = "missing free";
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (mbedtls_test_info.mutex_usage_error != NULL &&
|
|
202
|
+
mbedtls_test_info.result != MBEDTLS_TEST_RESULT_FAILED) {
|
|
203
|
+
/* Functionally, the test passed. But there was a mutex usage error,
|
|
204
|
+
* so mark the test as failed after all. */
|
|
205
|
+
mbedtls_test_fail("Mutex usage error", __LINE__, __FILE__);
|
|
206
|
+
}
|
|
207
|
+
mbedtls_test_info.mutex_usage_error = NULL;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
#endif /* MBEDTLS_TEST_MUTEX_USAGE */
|
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2020 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef ZCBOR_COMMON_H__
|
|
8
|
+
#define ZCBOR_COMMON_H__
|
|
9
|
+
|
|
10
|
+
#include <stdint.h>
|
|
11
|
+
#include <stdbool.h>
|
|
12
|
+
#include <stddef.h>
|
|
13
|
+
#include <string.h>
|
|
14
|
+
#include "zcbor_tags.h"
|
|
15
|
+
|
|
16
|
+
#ifdef __cplusplus
|
|
17
|
+
extern "C" {
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
/** Convenience type that allows pointing to strings directly inside the payload
|
|
21
|
+
* without the need to copy out.
|
|
22
|
+
*/
|
|
23
|
+
struct zcbor_string {
|
|
24
|
+
const uint8_t *value;
|
|
25
|
+
size_t len;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
/** Type representing a string fragment.
|
|
30
|
+
*
|
|
31
|
+
* Don't modify any member variables, or subsequent calls may fail.
|
|
32
|
+
**/
|
|
33
|
+
struct zcbor_string_fragment {
|
|
34
|
+
struct zcbor_string fragment; ///! Location and length of the fragment.
|
|
35
|
+
size_t offset; ///! The offset in the full string at which this fragment belongs.
|
|
36
|
+
size_t total_len; ///! The total length of the string this fragment is a part of.
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
/** Size to use in struct zcbor_string_fragment when the real size is unknown. */
|
|
41
|
+
#define ZCBOR_STRING_FRAGMENT_UNKNOWN_LENGTH SIZE_MAX
|
|
42
|
+
|
|
43
|
+
#ifdef ZCBOR_VERBOSE
|
|
44
|
+
#include <zephyr/sys/printk.h>
|
|
45
|
+
#define zcbor_trace() (printk("bytes left: %zu, byte: 0x%x, elem_count: 0x%" PRIxFAST32 ", err: %d, %s:%d\n",\
|
|
46
|
+
(size_t)state->payload_end - (size_t)state->payload, *state->payload, state->elem_count, \
|
|
47
|
+
state->constant_state ? state->constant_state->error : 0, __FILE__, __LINE__))
|
|
48
|
+
|
|
49
|
+
#define zcbor_print_assert(expr, ...) \
|
|
50
|
+
do { \
|
|
51
|
+
printk("ASSERTION \n \"" #expr \
|
|
52
|
+
"\"\nfailed at %s:%d with message:\n ", \
|
|
53
|
+
__FILE__, __LINE__); \
|
|
54
|
+
printk(__VA_ARGS__);\
|
|
55
|
+
} while(0)
|
|
56
|
+
#define zcbor_print(...) printk(__VA_ARGS__)
|
|
57
|
+
#else
|
|
58
|
+
#define zcbor_trace() ((void)state)
|
|
59
|
+
#define zcbor_print_assert(...)
|
|
60
|
+
#define zcbor_print(...)
|
|
61
|
+
#endif
|
|
62
|
+
|
|
63
|
+
#ifdef ZCBOR_ASSERTS
|
|
64
|
+
#define zcbor_assert(expr, ...) \
|
|
65
|
+
do { \
|
|
66
|
+
if (!(expr)) { \
|
|
67
|
+
zcbor_print_assert(expr, __VA_ARGS__); \
|
|
68
|
+
ZCBOR_FAIL(); \
|
|
69
|
+
} \
|
|
70
|
+
} while(0)
|
|
71
|
+
#define zcbor_assert_state(expr, ...) \
|
|
72
|
+
do { \
|
|
73
|
+
if (!(expr)) { \
|
|
74
|
+
zcbor_print_assert(expr, __VA_ARGS__); \
|
|
75
|
+
ZCBOR_ERR(ZCBOR_ERR_ASSERTION); \
|
|
76
|
+
} \
|
|
77
|
+
} while(0)
|
|
78
|
+
#else
|
|
79
|
+
#define zcbor_assert(expr, ...)
|
|
80
|
+
#define zcbor_assert_state(expr, ...)
|
|
81
|
+
#endif
|
|
82
|
+
|
|
83
|
+
#ifndef MIN
|
|
84
|
+
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
|
|
85
|
+
#endif
|
|
86
|
+
|
|
87
|
+
#ifndef ZCBOR_ARRAY_SIZE
|
|
88
|
+
#define ZCBOR_ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
|
|
89
|
+
#endif
|
|
90
|
+
|
|
91
|
+
#if SIZE_MAX <= UINT64_MAX
|
|
92
|
+
/** The ZCBOR_SUPPORTS_SIZE_T will be defined if processing of size_t type variables directly
|
|
93
|
+
* with zcbor_size_ functions is supported.
|
|
94
|
+
**/
|
|
95
|
+
#define ZCBOR_SUPPORTS_SIZE_T
|
|
96
|
+
#else
|
|
97
|
+
#warning "zcbor: Unsupported size_t encoding size"
|
|
98
|
+
#endif
|
|
99
|
+
|
|
100
|
+
struct zcbor_state_constant;
|
|
101
|
+
|
|
102
|
+
typedef struct {
|
|
103
|
+
union {
|
|
104
|
+
uint8_t *payload_mut;
|
|
105
|
+
uint8_t const *payload; /**< The current place in the payload. Will be
|
|
106
|
+
updated when an element is correctly
|
|
107
|
+
processed. */
|
|
108
|
+
};
|
|
109
|
+
uint8_t const *payload_bak; /**< Temporary backup of payload. */
|
|
110
|
+
size_t elem_count; /**< The current element is part of a LIST or a MAP,
|
|
111
|
+
and this keeps count of how many elements are
|
|
112
|
+
expected. This will be checked before processing
|
|
113
|
+
and decremented if the element is correctly
|
|
114
|
+
processed. */
|
|
115
|
+
uint8_t const *payload_end; /**< The end of the payload. This will be
|
|
116
|
+
checked against payload before
|
|
117
|
+
processing each element. */
|
|
118
|
+
bool indefinite_length_array; /**< Is set to true if the decoder is currently
|
|
119
|
+
decoding the contents of an indefinite-
|
|
120
|
+
length array. */
|
|
121
|
+
bool payload_moved; /**< Is set to true while the state is stored as a backup
|
|
122
|
+
if @ref zcbor_update_state is called, since that function
|
|
123
|
+
updates the payload_end of all backed-up states. */
|
|
124
|
+
struct zcbor_state_constant *constant_state; /**< The part of the state that is
|
|
125
|
+
not backed up and duplicated. */
|
|
126
|
+
} zcbor_state_t;
|
|
127
|
+
|
|
128
|
+
struct zcbor_state_constant {
|
|
129
|
+
zcbor_state_t *backup_list;
|
|
130
|
+
size_t current_backup;
|
|
131
|
+
size_t num_backups;
|
|
132
|
+
int error;
|
|
133
|
+
#ifdef ZCBOR_STOP_ON_ERROR
|
|
134
|
+
bool stop_on_error;
|
|
135
|
+
#endif
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
/** Function pointer type used with zcbor_multi_decode.
|
|
139
|
+
*
|
|
140
|
+
* This type is compatible with all decoding functions here and in the generated
|
|
141
|
+
* code, except for zcbor_multi_decode.
|
|
142
|
+
*/
|
|
143
|
+
typedef bool(zcbor_encoder_t)(zcbor_state_t *, const void *);
|
|
144
|
+
typedef bool(zcbor_decoder_t)(zcbor_state_t *, void *);
|
|
145
|
+
|
|
146
|
+
/** Enumeration representing the major types available in CBOR.
|
|
147
|
+
*
|
|
148
|
+
* The major type is represented in the 3 first bits of the header byte.
|
|
149
|
+
*/
|
|
150
|
+
typedef enum
|
|
151
|
+
{
|
|
152
|
+
ZCBOR_MAJOR_TYPE_PINT = 0, ///! Positive Integer
|
|
153
|
+
ZCBOR_MAJOR_TYPE_NINT = 1, ///! Negative Integer
|
|
154
|
+
ZCBOR_MAJOR_TYPE_BSTR = 2, ///! Byte String
|
|
155
|
+
ZCBOR_MAJOR_TYPE_TSTR = 3, ///! Text String
|
|
156
|
+
ZCBOR_MAJOR_TYPE_LIST = 4, ///! List
|
|
157
|
+
ZCBOR_MAJOR_TYPE_MAP = 5, ///! Map
|
|
158
|
+
ZCBOR_MAJOR_TYPE_TAG = 6, ///! Semantic Tag
|
|
159
|
+
ZCBOR_MAJOR_TYPE_SIMPLE = 7, ///! Simple values and floats
|
|
160
|
+
} zcbor_major_type_t;
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
/** Convenience macro for failing out of a decoding/encoding function.
|
|
164
|
+
*/
|
|
165
|
+
#define ZCBOR_FAIL() \
|
|
166
|
+
do {\
|
|
167
|
+
zcbor_trace(); \
|
|
168
|
+
return false; \
|
|
169
|
+
} while(0)
|
|
170
|
+
|
|
171
|
+
#define ZCBOR_FAIL_IF(expr) \
|
|
172
|
+
do {\
|
|
173
|
+
if (expr) { \
|
|
174
|
+
ZCBOR_FAIL(); \
|
|
175
|
+
} \
|
|
176
|
+
} while(0)
|
|
177
|
+
|
|
178
|
+
#define ZCBOR_ERR(err) \
|
|
179
|
+
do { \
|
|
180
|
+
zcbor_error(state, err); \
|
|
181
|
+
ZCBOR_FAIL(); \
|
|
182
|
+
} while(0)
|
|
183
|
+
|
|
184
|
+
#define ZCBOR_ERR_IF(expr, err) \
|
|
185
|
+
do {\
|
|
186
|
+
if (expr) { \
|
|
187
|
+
ZCBOR_ERR(err); \
|
|
188
|
+
} \
|
|
189
|
+
} while(0)
|
|
190
|
+
|
|
191
|
+
#define ZCBOR_CHECK_PAYLOAD() \
|
|
192
|
+
ZCBOR_ERR_IF(state->payload >= state->payload_end, ZCBOR_ERR_NO_PAYLOAD)
|
|
193
|
+
|
|
194
|
+
#ifdef ZCBOR_STOP_ON_ERROR
|
|
195
|
+
#define ZCBOR_CHECK_ERROR() \
|
|
196
|
+
do { \
|
|
197
|
+
if (!zcbor_check_error(state)) { \
|
|
198
|
+
ZCBOR_FAIL(); \
|
|
199
|
+
} \
|
|
200
|
+
} while(0)
|
|
201
|
+
#else
|
|
202
|
+
#define ZCBOR_CHECK_ERROR()
|
|
203
|
+
#endif
|
|
204
|
+
|
|
205
|
+
#define ZCBOR_VALUE_IN_HEADER 23 ///! Values below this are encoded directly in the header.
|
|
206
|
+
#define ZCBOR_VALUE_IS_1_BYTE 24 ///! The next 1 byte contains the value.
|
|
207
|
+
#define ZCBOR_VALUE_IS_2_BYTES 25 ///! The next 2 bytes contain the value.
|
|
208
|
+
#define ZCBOR_VALUE_IS_4_BYTES 26 ///! The next 4 bytes contain the value.
|
|
209
|
+
#define ZCBOR_VALUE_IS_8_BYTES 27 ///! The next 8 bytes contain the value.
|
|
210
|
+
#define ZCBOR_VALUE_IS_INDEFINITE_LENGTH 31 ///! The list or map has indefinite length, and will instead be terminated by a 0xFF token.
|
|
211
|
+
|
|
212
|
+
#define ZCBOR_BOOL_TO_SIMPLE ((uint8_t)20) ///! In CBOR, false/true have the values 20/21
|
|
213
|
+
|
|
214
|
+
#define ZCBOR_FLAG_RESTORE 1UL ///! Restore from the backup. Overwrite the current state with the state from the backup.
|
|
215
|
+
#define ZCBOR_FLAG_CONSUME 2UL ///! Consume the backup. Remove the backup from the stack of backups.
|
|
216
|
+
#define ZCBOR_FLAG_TRANSFER_PAYLOAD 4UL ///! Keep the pre-restore payload after restoring.
|
|
217
|
+
|
|
218
|
+
#define ZCBOR_SUCCESS 0
|
|
219
|
+
#define ZCBOR_ERR_NO_BACKUP_MEM 1
|
|
220
|
+
#define ZCBOR_ERR_NO_BACKUP_ACTIVE 2
|
|
221
|
+
#define ZCBOR_ERR_LOW_ELEM_COUNT 3
|
|
222
|
+
#define ZCBOR_ERR_HIGH_ELEM_COUNT 4
|
|
223
|
+
#define ZCBOR_ERR_INT_SIZE 5
|
|
224
|
+
#define ZCBOR_ERR_FLOAT_SIZE 6
|
|
225
|
+
#define ZCBOR_ERR_ADDITIONAL_INVAL 7 ///! > 27
|
|
226
|
+
#define ZCBOR_ERR_NO_PAYLOAD 8
|
|
227
|
+
#define ZCBOR_ERR_PAYLOAD_NOT_CONSUMED 9
|
|
228
|
+
#define ZCBOR_ERR_WRONG_TYPE 10
|
|
229
|
+
#define ZCBOR_ERR_WRONG_VALUE 11
|
|
230
|
+
#define ZCBOR_ERR_WRONG_RANGE 12
|
|
231
|
+
#define ZCBOR_ERR_ITERATIONS 13
|
|
232
|
+
#define ZCBOR_ERR_ASSERTION 14
|
|
233
|
+
#define ZCBOR_ERR_UNKNOWN 31
|
|
234
|
+
|
|
235
|
+
/** The largest possible elem_count. */
|
|
236
|
+
#ifdef UINT_FAST32_MAX
|
|
237
|
+
#define ZCBOR_MAX_ELEM_COUNT UINT_FAST32_MAX
|
|
238
|
+
#else
|
|
239
|
+
#define ZCBOR_MAX_ELEM_COUNT ((size_t)(-1L))
|
|
240
|
+
#endif
|
|
241
|
+
|
|
242
|
+
/** Initial value for elem_count for when it just needs to be large. */
|
|
243
|
+
#define ZCBOR_LARGE_ELEM_COUNT (ZCBOR_MAX_ELEM_COUNT - 16)
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
/** Take a backup of the current state. Overwrite the current elem_count. */
|
|
247
|
+
bool zcbor_new_backup(zcbor_state_t *state, size_t new_elem_count);
|
|
248
|
+
|
|
249
|
+
/** Consult the most recent backup. In doing so, check whether elem_count is
|
|
250
|
+
* less than or equal to max_elem_count.
|
|
251
|
+
* Also, take action based on the flags (See ZCBOR_FLAG_*).
|
|
252
|
+
*/
|
|
253
|
+
bool zcbor_process_backup(zcbor_state_t *state, uint32_t flags, size_t max_elem_count);
|
|
254
|
+
|
|
255
|
+
/** Convenience function for starting encoding/decoding of a union.
|
|
256
|
+
*
|
|
257
|
+
* That is, for attempting to encode, or especially decode, multiple options.
|
|
258
|
+
* Makes a new backup.
|
|
259
|
+
*/
|
|
260
|
+
bool zcbor_union_start_code(zcbor_state_t *state);
|
|
261
|
+
|
|
262
|
+
/** Convenience function before encoding/decoding one element of a union.
|
|
263
|
+
*
|
|
264
|
+
* Call this before attempting each option.
|
|
265
|
+
* Restores the backup, without consuming it.
|
|
266
|
+
*/
|
|
267
|
+
bool zcbor_union_elem_code(zcbor_state_t *state);
|
|
268
|
+
|
|
269
|
+
/** Convenience function before encoding/decoding one element of a union.
|
|
270
|
+
*
|
|
271
|
+
* Consumes the backup without restoring it.
|
|
272
|
+
*/
|
|
273
|
+
bool zcbor_union_end_code(zcbor_state_t *state);
|
|
274
|
+
|
|
275
|
+
/** Initialize a state with backups.
|
|
276
|
+
* As long as n_states is more than 1, one of the states in the array is used
|
|
277
|
+
* as a struct zcbor_state_constant object.
|
|
278
|
+
* If there is no struct zcbor_state_constant (n_states == 1), error codes are
|
|
279
|
+
* not available.
|
|
280
|
+
* This means that you get a state with (n_states - 2) backups.
|
|
281
|
+
* payload, payload_len, and elem_count are used to initialize the first state.
|
|
282
|
+
* in the array, which is the state that can be passed to cbor functions.
|
|
283
|
+
*/
|
|
284
|
+
void zcbor_new_state(zcbor_state_t *state_array, size_t n_states,
|
|
285
|
+
const uint8_t *payload, size_t payload_len, size_t elem_count);
|
|
286
|
+
|
|
287
|
+
#ifdef ZCBOR_STOP_ON_ERROR
|
|
288
|
+
/** Check stored error and fail if present, but only if stop_on_error is true. */
|
|
289
|
+
static inline bool zcbor_check_error(const zcbor_state_t *state)
|
|
290
|
+
{
|
|
291
|
+
struct zcbor_state_constant *cs = state->constant_state;
|
|
292
|
+
return !(cs && cs->stop_on_error && cs->error);
|
|
293
|
+
}
|
|
294
|
+
#endif
|
|
295
|
+
|
|
296
|
+
/** Return the current error state, replacing it with SUCCESS. */
|
|
297
|
+
static inline int zcbor_pop_error(zcbor_state_t *state)
|
|
298
|
+
{
|
|
299
|
+
if (!state->constant_state) {
|
|
300
|
+
return ZCBOR_SUCCESS;
|
|
301
|
+
}
|
|
302
|
+
int err = state->constant_state->error;
|
|
303
|
+
|
|
304
|
+
state->constant_state->error = ZCBOR_SUCCESS;
|
|
305
|
+
return err;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/** Look at current error state without altering it */
|
|
309
|
+
static inline int zcbor_peek_error(const zcbor_state_t *state)
|
|
310
|
+
{
|
|
311
|
+
if (!state->constant_state) {
|
|
312
|
+
return ZCBOR_SUCCESS;
|
|
313
|
+
} else {
|
|
314
|
+
return state->constant_state->error;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/** Write the provided error to the error state. */
|
|
319
|
+
static inline void zcbor_error(zcbor_state_t *state, int err)
|
|
320
|
+
{
|
|
321
|
+
#ifdef ZCBOR_STOP_ON_ERROR
|
|
322
|
+
if (zcbor_check_error(state))
|
|
323
|
+
#endif
|
|
324
|
+
{
|
|
325
|
+
if (state->constant_state) {
|
|
326
|
+
state->constant_state->error = err;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
/** Whether the current payload is exhausted. */
|
|
332
|
+
static inline bool zcbor_payload_at_end(const zcbor_state_t *state)
|
|
333
|
+
{
|
|
334
|
+
return (state->payload == state->payload_end);
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
/** Update the current payload pointer (and payload_end).
|
|
338
|
+
*
|
|
339
|
+
* For use when the payload is divided into multiple chunks.
|
|
340
|
+
*
|
|
341
|
+
* This function also updates all backups to the new payload_end.
|
|
342
|
+
* This sets a flag so that @ref zcbor_process_backup fails if a backup is
|
|
343
|
+
* processed with the flag @ref ZCBOR_FLAG_RESTORE, but without the flag
|
|
344
|
+
* @ref ZCBOR_FLAG_TRANSFER_PAYLOAD since this would cause an invalid state.
|
|
345
|
+
*
|
|
346
|
+
* @param[inout] state The current state, will be updated with
|
|
347
|
+
* the new payload pointer.
|
|
348
|
+
* @param[in] payload The new payload chunk.
|
|
349
|
+
* @param[in] payload_len The length of the new payload chunk.
|
|
350
|
+
*/
|
|
351
|
+
void zcbor_update_state(zcbor_state_t *state,
|
|
352
|
+
const uint8_t *payload, size_t payload_len);
|
|
353
|
+
|
|
354
|
+
/** Check that the provided fragments are complete and in the right order.
|
|
355
|
+
*
|
|
356
|
+
* If the total length is not known, the total_len can have the value
|
|
357
|
+
* @ref ZCBOR_STRING_FRAGMENT_UNKNOWN_LENGTH. If so, all fragments will be
|
|
358
|
+
* updated with the actual total length.
|
|
359
|
+
*
|
|
360
|
+
* @param[in] fragments An array of string fragments. Cannot be NULL.
|
|
361
|
+
* @param[in] num_fragments The number of fragments in @p fragments.
|
|
362
|
+
*
|
|
363
|
+
* @retval true If the fragments are in the right order, and there are no
|
|
364
|
+
* fragments missing.
|
|
365
|
+
* @retval false If not all fragments have the same total_len, or gaps are
|
|
366
|
+
* found, or if any fragment value is NULL.
|
|
367
|
+
*/
|
|
368
|
+
bool zcbor_validate_string_fragments(struct zcbor_string_fragment *fragments,
|
|
369
|
+
size_t num_fragments);
|
|
370
|
+
|
|
371
|
+
/** Assemble the fragments into a single string.
|
|
372
|
+
*
|
|
373
|
+
* The fragments are copied in the order they appear, without regard for
|
|
374
|
+
* offset or total_len. To ensure that the fragments are correct, first
|
|
375
|
+
* validate with @ref zcbor_validate_string_fragments.
|
|
376
|
+
*
|
|
377
|
+
* @param[in] fragments An array of string fragments. Cannot be NULL.
|
|
378
|
+
* @param[in] num_fragments The number of fragments in @p fragments.
|
|
379
|
+
* @param[out] result The buffer to place the assembled string into.
|
|
380
|
+
* @param[inout] result_len In: The length of the @p result.
|
|
381
|
+
* Out: The length of the assembled string.
|
|
382
|
+
*
|
|
383
|
+
* @retval true On success.
|
|
384
|
+
* @retval false If the assembled string would be larger than the buffer.
|
|
385
|
+
* The buffer might still be written to.
|
|
386
|
+
*/
|
|
387
|
+
bool zcbor_splice_string_fragments(struct zcbor_string_fragment *fragments,
|
|
388
|
+
size_t num_fragments, uint8_t *result, size_t *result_len);
|
|
389
|
+
|
|
390
|
+
/** Compare two struct zcbor_string instances.
|
|
391
|
+
*
|
|
392
|
+
* @param[in] str1 A string
|
|
393
|
+
* @param[in] str2 A string to compare to @p str1
|
|
394
|
+
*
|
|
395
|
+
* @retval true if the strings are identical
|
|
396
|
+
* @retval false if length or contents don't match, or one one or both strings is NULL.
|
|
397
|
+
*/
|
|
398
|
+
bool zcbor_compare_strings(const struct zcbor_string *str1,
|
|
399
|
+
const struct zcbor_string *str2);
|
|
400
|
+
|
|
401
|
+
/** Calculate the length of a CBOR string, list, or map header.
|
|
402
|
+
*
|
|
403
|
+
* This can be used to find the start of the CBOR object when you have a
|
|
404
|
+
* pointer to the start of the contents. The function assumes that the header
|
|
405
|
+
* will be the shortest it can be.
|
|
406
|
+
*
|
|
407
|
+
* @param[in] num_elems The number of elements in the string, list, or map.
|
|
408
|
+
*
|
|
409
|
+
* @return The length of the header in bytes (1-9).
|
|
410
|
+
*/
|
|
411
|
+
size_t zcbor_header_len(size_t num_elems);
|
|
412
|
+
|
|
413
|
+
/** Find whether the state is at the end of a list or map.
|
|
414
|
+
*/
|
|
415
|
+
bool zcbor_array_at_end(zcbor_state_t *state);
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
#ifdef __cplusplus
|
|
419
|
+
}
|
|
420
|
+
#endif
|
|
421
|
+
|
|
422
|
+
#endif /* ZCBOR_COMMON_H__ */
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2020 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef ZCBOR_DEBUG_H__
|
|
8
|
+
#define ZCBOR_DEBUG_H__
|
|
9
|
+
|
|
10
|
+
#include <stdint.h>
|
|
11
|
+
#include <stdbool.h>
|
|
12
|
+
#include <stddef.h>
|
|
13
|
+
#include "zcbor_common.h"
|
|
14
|
+
|
|
15
|
+
#ifdef __cplusplus
|
|
16
|
+
extern "C" {
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
__attribute__((used))
|
|
20
|
+
static void zcbor_print_compare_lines(const uint8_t *str1, const uint8_t *str2, uint32_t size)
|
|
21
|
+
{
|
|
22
|
+
for (uint32_t j = 0; j < size; j++) {
|
|
23
|
+
printk ("%x ", str1[j]);
|
|
24
|
+
}
|
|
25
|
+
printk("\r\n");
|
|
26
|
+
for (uint32_t j = 0; j < size; j++) {
|
|
27
|
+
printk ("%x ", str2[j]);
|
|
28
|
+
}
|
|
29
|
+
printk("\r\n");
|
|
30
|
+
for (uint32_t j = 0; j < size; j++) {
|
|
31
|
+
printk ("%x ", str1[j] != str2[j]);
|
|
32
|
+
}
|
|
33
|
+
printk("\r\n");
|
|
34
|
+
printk("\r\n");
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
__attribute__((used))
|
|
38
|
+
static void zcbor_print_compare_strings(const uint8_t *str1, const uint8_t *str2, uint32_t size)
|
|
39
|
+
{
|
|
40
|
+
for (uint32_t i = 0; i <= size / 16; i++) {
|
|
41
|
+
printk("line %d (char %d)\r\n", i, i*16);
|
|
42
|
+
zcbor_print_compare_lines(&str1[i*16], &str2[i*16],
|
|
43
|
+
MIN(16, (size - i*16)));
|
|
44
|
+
}
|
|
45
|
+
printk("\r\n");
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
__attribute__((used))
|
|
49
|
+
static void zcbor_print_compare_strings_diff(const uint8_t *str1, const uint8_t *str2, uint32_t size)
|
|
50
|
+
{
|
|
51
|
+
bool printed = false;
|
|
52
|
+
for (uint32_t i = 0; i <= size / 16; i++) {
|
|
53
|
+
if (memcmp(&str1[i*16], &str2[i*16], MIN(16, (size - i*16)) != 0)) {
|
|
54
|
+
printk("line %d (char %d)\r\n", i, i*16);
|
|
55
|
+
zcbor_print_compare_lines(&str1[i*16], &str2[i*16],
|
|
56
|
+
MIN(16, (size - i*16)));
|
|
57
|
+
printed = true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (printed) {
|
|
61
|
+
printk("\r\n");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
#ifdef __cplusplus
|
|
66
|
+
}
|
|
67
|
+
#endif
|
|
68
|
+
|
|
69
|
+
#endif /* ZCBOR_DEBUG_H__ */
|