mirror of
https://git.suyu.dev/suyu/mbedtls.git
synced 2025-12-22 05:46:41 +01:00
Memory-allocation abstraction layer and buffer-based allocator added
This commit is contained in:
parent
f863485fea
commit
6e339b52e8
18 changed files with 818 additions and 103 deletions
|
|
@ -401,6 +401,32 @@
|
|||
#define POLARSSL_NO_PLATFORM_ENTROPY
|
||||
*/
|
||||
|
||||
/**
|
||||
* \def POLARSSL_MEMORY_DEBUG
|
||||
*
|
||||
* Enable debugging of buffer allocator memory issues. Automatically prints
|
||||
* (to stderr) all (fatal) messages on memory allocation issues. Enables
|
||||
* function for 'debug output' of allocated memory.
|
||||
*
|
||||
* Requires: POLARSSL_MEMORY_BUFFER_ALLOC_C
|
||||
* fprintf()
|
||||
*
|
||||
* Uncomment this macro to let the buffer allocator print out error messages.
|
||||
#define POLARSSL_MEMORY_DEBUG
|
||||
*/
|
||||
|
||||
/**
|
||||
* \def POLARSSL_MEMORY_BACKTRACE
|
||||
*
|
||||
* Include backtrace information with each allocated block.
|
||||
*
|
||||
* Requires: POLARSSL_MEMORY_BUFFER_ALLOC_C
|
||||
* GLIBC-compatible backtrace() an backtrace_symbols() support
|
||||
*
|
||||
* Uncomment this macro to include backtrace information
|
||||
#define POLARSSL_MEMORY_BACKTRACE
|
||||
*/
|
||||
|
||||
/**
|
||||
* \def POLARSSL_PKCS1_V21
|
||||
*
|
||||
|
|
@ -899,6 +925,32 @@
|
|||
*/
|
||||
#define POLARSSL_MD5_C
|
||||
|
||||
/**
|
||||
* \def POLARSSL_MEMORY_C
|
||||
*
|
||||
* Enable the memory allocation layer.
|
||||
* By default PolarSSL uses the system-provided malloc() and free().
|
||||
* (As long as POLARSSL_MEMORY_STDMALLOC and POLARSSL_MEMORY_STDFREE
|
||||
* are defined and unmodified)
|
||||
*
|
||||
* This allows different allocators (self-implemented or provided)
|
||||
*
|
||||
* Enable this layer to allow use of alternative memory allocators.
|
||||
#define POLARSSL_MEMORY_C
|
||||
*/
|
||||
|
||||
/**
|
||||
* The buffer allocator implementation that makes use of a (stack) based
|
||||
* buffer to 'allocate' dynamic memory. (replaces malloc() and free() calls)
|
||||
*
|
||||
* Module: library/memory_buffer_alloc.c
|
||||
*
|
||||
* Requires: POLARSSL_MEMORY_C
|
||||
*
|
||||
* Enable this module to enable the buffer memory allocator.
|
||||
#define POLARSSL_MEMORY_BUFFER_ALLOC_C
|
||||
*/
|
||||
|
||||
/**
|
||||
* \def POLARSSL_NET_C
|
||||
*
|
||||
|
|
@ -1231,6 +1283,11 @@
|
|||
#define ENTROPY_MAX_SOURCES 20 /**< Maximum number of sources supported */
|
||||
#define ENTROPY_MAX_GATHER 128 /**< Maximum amount requested from entropy sources */
|
||||
|
||||
// Memory options
|
||||
#define MEMORY_ALIGN_MULTIPLE 4 /**< Align on multiples of this value */
|
||||
#define POLARSSL_MEMORY_STDMALLOC malloc /**< Default allocator to use, can be undefined */
|
||||
#define POLARSSL_MEMORY_STDFREE free /**< Default free to use, can be undefined */
|
||||
|
||||
// SSL Cache options
|
||||
//
|
||||
#define SSL_CACHE_DEFAULT_TIMEOUT 86400 /**< 1 day */
|
||||
|
|
@ -1301,6 +1358,10 @@
|
|||
#error "POLARSSL_KEY_EXCHANGE_RSA_ENABLED defined, but not all prerequisites"
|
||||
#endif
|
||||
|
||||
#if defined(POLARSSL_MEMORY_BUFFER_ALLOC_C) && !defined(POLARSSL_MEMORY_C)
|
||||
#error "POLARSSL_MEMORY_BUFFER_ALLOC_C defined, but not all prerequisites"
|
||||
#endif
|
||||
|
||||
#if defined(POLARSSL_PBKDF2_C) && !defined(POLARSSL_MD_C)
|
||||
#error "POLARSSL_PBKDF2_C defined, but not all prerequisites"
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue