mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-20 21:43:41 +00:00
The programs point libuv, c-ares and Mbed TLS (MBEDTLS_PLATFORM_MEMORY in the bundled build) at their own FixedHeap before anything runs, mark the end of startup with heap_seal(), and in verbose mode report heap use and any allocation after it at exit. The library build keeps the host's allocator. measure_alloc.py gains --udp, and the alloc_steady_programs_* tests now fail on any malloc per relayed TCP connection (by name and by address) or UDP association, for every cipher family.
39 lines
1.3 KiB
C
39 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-3.0-or-later */
|
|
#ifndef SS_MBEDTLS_CONFIG_H
|
|
#define SS_MBEDTLS_CONFIG_H
|
|
/* Only the primitives used by Shadowsocks. No TLS, X.509, networking, public
|
|
* key operations, PSA storage or independent entropy subsystem. Randomness
|
|
* is supplied by libsodium. MD5/SHA1 remain required by legacy AEAD key
|
|
* derivation even when legacy stream ciphers are disabled. */
|
|
#define MBEDTLS_AES_C
|
|
#define MBEDTLS_CIPHER_C
|
|
#define MBEDTLS_GCM_C
|
|
/* GCM on the block-cipher layer keeps the AES context inside
|
|
* mbedtls_gcm_context, so mbedtls_gcm_setkey() does not allocate. Mbed TLS
|
|
* only enables this by itself when MBEDTLS_CIPHER_C is off, and the legacy
|
|
* stream ciphers need MBEDTLS_CIPHER_C. */
|
|
#define MBEDTLS_BLOCK_CIPHER_C
|
|
#define MBEDTLS_MD_C
|
|
#define MBEDTLS_MD5_C
|
|
#define MBEDTLS_SHA1_C
|
|
#define MBEDTLS_SHA256_C
|
|
#define MBEDTLS_SHA512_C
|
|
#define MBEDTLS_PLATFORM_C
|
|
/* The programs route Mbed TLS allocations into a bounded heap. */
|
|
#define MBEDTLS_PLATFORM_MEMORY
|
|
#define MBEDTLS_VERSION_C
|
|
#define MBEDTLS_VERSION_FEATURES
|
|
#define MBEDTLS_CIPHER_MODE_CTR
|
|
#define MBEDTLS_CIPHER_MODE_CFB
|
|
#define MBEDTLS_CAMELLIA_C
|
|
#if defined(__x86_64__) || defined(_M_X64)
|
|
#define MBEDTLS_AESNI_C
|
|
#if defined(__GNUC__) || defined(__clang__)
|
|
#define MBEDTLS_HAVE_ASM
|
|
#endif
|
|
#endif
|
|
#if defined(__aarch64__)
|
|
#define MBEDTLS_AESCE_C
|
|
#endif
|
|
#endif
|