mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-04 04:32:24 -05:00 
			
		
		
		
	Remove MBEDTLS_CHECK_PARAMS option
Signed-off-by: TRodziewicz <tomasz.rodziewicz@mobica.com>
This commit is contained in:
		
							parent
							
								
									875b5fb7fa
								
							
						
					
					
						commit
						cc7074128a
					
				@ -836,6 +836,10 @@
 | 
				
			|||||||
#error "MBEDTLS_SSL_PROTO_TLS1_1 (TLS v1.1 support) was removed in Mbed TLS 3.0. See https://github.com/ARMmbed/mbedtls/issues/4286"
 | 
					#error "MBEDTLS_SSL_PROTO_TLS1_1 (TLS v1.1 support) was removed in Mbed TLS 3.0. See https://github.com/ARMmbed/mbedtls/issues/4286"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(MBEDTLS_CHECK_PARAMS) //no-check-names
 | 
				
			||||||
 | 
					#error "MBEDTLS_CHECK_PARAMS was removed in Mbed TLS 3.0. See https://github.com/ARMmbed/mbedtls/issues/4313"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Avoid warning from -pedantic. This is a convenient place for this
 | 
					 * Avoid warning from -pedantic. This is a convenient place for this
 | 
				
			||||||
 * workaround since this is included by every single file before the
 | 
					 * workaround since this is included by every single file before the
 | 
				
			||||||
 | 
				
			|||||||
@ -255,72 +255,6 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
//#define MBEDTLS_DEPRECATED_REMOVED
 | 
					//#define MBEDTLS_DEPRECATED_REMOVED
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * \def MBEDTLS_CHECK_PARAMS
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * This configuration option controls whether the library validates more of
 | 
					 | 
				
			||||||
 * the parameters passed to it.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * When this flag is not defined, the library only attempts to validate an
 | 
					 | 
				
			||||||
 * input parameter if: (1) they may come from the outside world (such as the
 | 
					 | 
				
			||||||
 * network, the filesystem, etc.) or (2) not validating them could result in
 | 
					 | 
				
			||||||
 * internal memory errors such as overflowing a buffer controlled by the
 | 
					 | 
				
			||||||
 * library. On the other hand, it doesn't attempt to validate parameters whose
 | 
					 | 
				
			||||||
 * values are fully controlled by the application (such as pointers).
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * When this flag is defined, the library additionally attempts to validate
 | 
					 | 
				
			||||||
 * parameters that are fully controlled by the application, and should always
 | 
					 | 
				
			||||||
 * be valid if the application code is fully correct and trusted.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * For example, when a function accepts as input a pointer to a buffer that may
 | 
					 | 
				
			||||||
 * contain untrusted data, and its documentation mentions that this pointer
 | 
					 | 
				
			||||||
 * must not be NULL:
 | 
					 | 
				
			||||||
 * - The pointer is checked to be non-NULL only if this option is enabled.
 | 
					 | 
				
			||||||
 * - The content of the buffer is always validated.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * When this flag is defined, if a library function receives a parameter that
 | 
					 | 
				
			||||||
 * is invalid:
 | 
					 | 
				
			||||||
 * 1. The function will invoke the macro MBEDTLS_PARAM_FAILED().
 | 
					 | 
				
			||||||
 * 2. If MBEDTLS_PARAM_FAILED() did not terminate the program, the function
 | 
					 | 
				
			||||||
 *   will immediately return. If the function returns an Mbed TLS error code,
 | 
					 | 
				
			||||||
 *   the error code in this case is MBEDTLS_ERR_xxx_BAD_INPUT_DATA.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * When defining this flag, you also need to arrange a definition for
 | 
					 | 
				
			||||||
 * MBEDTLS_PARAM_FAILED(). You can do this by any of the following methods:
 | 
					 | 
				
			||||||
 * - By default, the library defines MBEDTLS_PARAM_FAILED() to call a
 | 
					 | 
				
			||||||
 *   function mbedtls_param_failed(), but the library does not define this
 | 
					 | 
				
			||||||
 *   function. If you do not make any other arrangements, you must provide
 | 
					 | 
				
			||||||
 *   the function mbedtls_param_failed() in your application.
 | 
					 | 
				
			||||||
 *   See `platform_util.h` for its prototype.
 | 
					 | 
				
			||||||
 * - If you enable the macro #MBEDTLS_CHECK_PARAMS_ASSERT, then the
 | 
					 | 
				
			||||||
 *   library defines MBEDTLS_PARAM_FAILED(\c cond) to be `assert(cond)`.
 | 
					 | 
				
			||||||
 *   You can still supply an alternative definition of
 | 
					 | 
				
			||||||
 *   MBEDTLS_PARAM_FAILED(), which may call `assert`.
 | 
					 | 
				
			||||||
 * - If you define a macro MBEDTLS_PARAM_FAILED() before including `config.h`
 | 
					 | 
				
			||||||
 *   or you uncomment the definition of MBEDTLS_PARAM_FAILED() in `config.h`,
 | 
					 | 
				
			||||||
 *   the library will call the macro that you defined and will not supply
 | 
					 | 
				
			||||||
 *   its own version. Note that if MBEDTLS_PARAM_FAILED() calls `assert`,
 | 
					 | 
				
			||||||
 *   you need to enable #MBEDTLS_CHECK_PARAMS_ASSERT so that library source
 | 
					 | 
				
			||||||
 *   files include `<assert.h>`.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Uncomment to enable validation of application-controlled parameters.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
//#define MBEDTLS_CHECK_PARAMS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * \def MBEDTLS_CHECK_PARAMS_ASSERT
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Allow MBEDTLS_PARAM_FAILED() to call `assert`, and make it default to
 | 
					 | 
				
			||||||
 * `assert`. This macro is only used if #MBEDTLS_CHECK_PARAMS is defined.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * If this macro is not defined, then MBEDTLS_PARAM_FAILED() defaults to
 | 
					 | 
				
			||||||
 * calling a function mbedtls_param_failed(). See the documentation of
 | 
					 | 
				
			||||||
 * #MBEDTLS_CHECK_PARAMS for details.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Uncomment to allow MBEDTLS_PARAM_FAILED() to call `assert`.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
//#define MBEDTLS_CHECK_PARAMS_ASSERT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* \} name SECTION: System support */
 | 
					/* \} name SECTION: System support */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
@ -3385,42 +3319,6 @@
 | 
				
			|||||||
//#define MBEDTLS_PLATFORM_NV_SEED_READ_MACRO   mbedtls_platform_std_nv_seed_read /**< Default nv_seed_read function to use, can be undefined */
 | 
					//#define MBEDTLS_PLATFORM_NV_SEED_READ_MACRO   mbedtls_platform_std_nv_seed_read /**< Default nv_seed_read function to use, can be undefined */
 | 
				
			||||||
//#define MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO  mbedtls_platform_std_nv_seed_write /**< Default nv_seed_write function to use, can be undefined */
 | 
					//#define MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO  mbedtls_platform_std_nv_seed_write /**< Default nv_seed_write function to use, can be undefined */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * \brief       This macro is invoked by the library when an invalid parameter
 | 
					 | 
				
			||||||
 *              is detected that is only checked with #MBEDTLS_CHECK_PARAMS
 | 
					 | 
				
			||||||
 *              (see the documentation of that option for context).
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *              When you leave this undefined here, the library provides
 | 
					 | 
				
			||||||
 *              a default definition. If the macro #MBEDTLS_CHECK_PARAMS_ASSERT
 | 
					 | 
				
			||||||
 *              is defined, the default definition is `assert(cond)`,
 | 
					 | 
				
			||||||
 *              otherwise the default definition calls a function
 | 
					 | 
				
			||||||
 *              mbedtls_param_failed(). This function is declared in
 | 
					 | 
				
			||||||
 *              `platform_util.h` for the benefit of the library, but
 | 
					 | 
				
			||||||
 *              you need to define in your application.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *              When you define this here, this replaces the default
 | 
					 | 
				
			||||||
 *              definition in platform_util.h (which no longer declares the
 | 
					 | 
				
			||||||
 *              function mbedtls_param_failed()) and it is your responsibility
 | 
					 | 
				
			||||||
 *              to make sure this macro expands to something suitable (in
 | 
					 | 
				
			||||||
 *              particular, that all the necessary declarations are visible
 | 
					 | 
				
			||||||
 *              from within the library - you can ensure that by providing
 | 
					 | 
				
			||||||
 *              them in this file next to the macro definition).
 | 
					 | 
				
			||||||
 *              If you define this macro to call `assert`, also define
 | 
					 | 
				
			||||||
 *              #MBEDTLS_CHECK_PARAMS_ASSERT so that library source files
 | 
					 | 
				
			||||||
 *              include `<assert.h>`.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *              Note that you may define this macro to expand to nothing, in
 | 
					 | 
				
			||||||
 *              which case you don't have to worry about declarations or
 | 
					 | 
				
			||||||
 *              definitions. However, you will then be notified about invalid
 | 
					 | 
				
			||||||
 *              parameters only in non-void functions, and void function will
 | 
					 | 
				
			||||||
 *              just silently return early on invalid parameters, which
 | 
					 | 
				
			||||||
 *              partially negates the benefits of enabling
 | 
					 | 
				
			||||||
 *              #MBEDTLS_CHECK_PARAMS in the first place, so is discouraged.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * \param cond  The expression that should evaluate to true, but doesn't.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
//#define MBEDTLS_PARAM_FAILED( cond )               assert( cond )
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* PSA options */
 | 
					/* PSA options */
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Use HMAC_DRBG with the specified hash algorithm for HMAC_DRBG for the
 | 
					 * Use HMAC_DRBG with the specified hash algorithm for HMAC_DRBG for the
 | 
				
			||||||
 | 
				
			|||||||
@ -39,78 +39,10 @@
 | 
				
			|||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(MBEDTLS_CHECK_PARAMS)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#if defined(MBEDTLS_CHECK_PARAMS_ASSERT)
 | 
					 | 
				
			||||||
/* Allow the user to define MBEDTLS_PARAM_FAILED to something like assert
 | 
					 | 
				
			||||||
 * (which is what our config.h suggests). */
 | 
					 | 
				
			||||||
#include <assert.h>
 | 
					 | 
				
			||||||
#endif /* MBEDTLS_CHECK_PARAMS_ASSERT */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#if defined(MBEDTLS_PARAM_FAILED)
 | 
					 | 
				
			||||||
/** An alternative definition of MBEDTLS_PARAM_FAILED has been set in config.h.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * This flag can be used to check whether it is safe to assume that
 | 
					 | 
				
			||||||
 * MBEDTLS_PARAM_FAILED() will expand to a call to mbedtls_param_failed().
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#define MBEDTLS_PARAM_FAILED_ALT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#elif defined(MBEDTLS_CHECK_PARAMS_ASSERT)
 | 
					 | 
				
			||||||
#define MBEDTLS_PARAM_FAILED( cond ) assert( cond )
 | 
					 | 
				
			||||||
#define MBEDTLS_PARAM_FAILED_ALT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#else /* MBEDTLS_PARAM_FAILED */
 | 
					 | 
				
			||||||
#define MBEDTLS_PARAM_FAILED( cond ) \
 | 
					 | 
				
			||||||
    mbedtls_param_failed( #cond, __FILE__, __LINE__ )
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * \brief       User supplied callback function for parameter validation failure.
 | 
					 | 
				
			||||||
 *              See #MBEDTLS_CHECK_PARAMS for context.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *              This function will be called unless an alternative treatement
 | 
					 | 
				
			||||||
 *              is defined through the #MBEDTLS_PARAM_FAILED macro.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *              This function can return, and the operation will be aborted, or
 | 
					 | 
				
			||||||
 *              alternatively, through use of setjmp()/longjmp() can resume
 | 
					 | 
				
			||||||
 *              execution in the application code.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * \param failure_condition The assertion that didn't hold.
 | 
					 | 
				
			||||||
 * \param file  The file where the assertion failed.
 | 
					 | 
				
			||||||
 * \param line  The line in the file where the assertion failed.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
void mbedtls_param_failed( const char *failure_condition,
 | 
					 | 
				
			||||||
                           const char *file,
 | 
					 | 
				
			||||||
                           int line );
 | 
					 | 
				
			||||||
#endif /* MBEDTLS_PARAM_FAILED */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Internal macro meant to be called only from within the library. */
 | 
					 | 
				
			||||||
#define MBEDTLS_INTERNAL_VALIDATE_RET( cond, ret )  \
 | 
					 | 
				
			||||||
    do {                                            \
 | 
					 | 
				
			||||||
        if( !(cond) )                               \
 | 
					 | 
				
			||||||
        {                                           \
 | 
					 | 
				
			||||||
            MBEDTLS_PARAM_FAILED( cond );           \
 | 
					 | 
				
			||||||
            return( ret );                          \
 | 
					 | 
				
			||||||
        }                                           \
 | 
					 | 
				
			||||||
    } while( 0 )
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Internal macro meant to be called only from within the library. */
 | 
					 | 
				
			||||||
#define MBEDTLS_INTERNAL_VALIDATE( cond )           \
 | 
					 | 
				
			||||||
    do {                                            \
 | 
					 | 
				
			||||||
        if( !(cond) )                               \
 | 
					 | 
				
			||||||
        {                                           \
 | 
					 | 
				
			||||||
            MBEDTLS_PARAM_FAILED( cond );           \
 | 
					 | 
				
			||||||
            return;                                 \
 | 
					 | 
				
			||||||
        }                                           \
 | 
					 | 
				
			||||||
    } while( 0 )
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#else /* MBEDTLS_CHECK_PARAMS */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Internal macros meant to be called only from within the library. */
 | 
					/* Internal macros meant to be called only from within the library. */
 | 
				
			||||||
#define MBEDTLS_INTERNAL_VALIDATE_RET( cond, ret )  do { } while( 0 )
 | 
					#define MBEDTLS_INTERNAL_VALIDATE_RET( cond, ret )  do { } while( 0 )
 | 
				
			||||||
#define MBEDTLS_INTERNAL_VALIDATE( cond )           do { } while( 0 )
 | 
					#define MBEDTLS_INTERNAL_VALIDATE( cond )           do { } while( 0 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* MBEDTLS_CHECK_PARAMS */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Internal helper macros for deprecating API constants. */
 | 
					/* Internal helper macros for deprecating API constants. */
 | 
				
			||||||
#if !defined(MBEDTLS_DEPRECATED_REMOVED)
 | 
					#if !defined(MBEDTLS_DEPRECATED_REMOVED)
 | 
				
			||||||
#if defined(MBEDTLS_DEPRECATED_WARNING)
 | 
					#if defined(MBEDTLS_DEPRECATED_WARNING)
 | 
				
			||||||
 | 
				
			|||||||
@ -1028,9 +1028,6 @@ psa_status_t psa_wipe_key_slot( psa_key_slot_t *slot )
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    if( slot->lock_count != 1 )
 | 
					    if( slot->lock_count != 1 )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
#ifdef MBEDTLS_CHECK_PARAMS
 | 
					 | 
				
			||||||
        MBEDTLS_PARAM_FAILED( slot->lock_count == 1 );
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
        status = PSA_ERROR_CORRUPTION_DETECTED;
 | 
					        status = PSA_ERROR_CORRUPTION_DETECTED;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -409,17 +409,6 @@ psa_status_t psa_unlock_key_slot( psa_key_slot_t *slot )
 | 
				
			|||||||
        return( PSA_SUCCESS );
 | 
					        return( PSA_SUCCESS );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*
 | 
					 | 
				
			||||||
     * As the return error code may not be handled in case of multiple errors,
 | 
					 | 
				
			||||||
     * do our best to report if the lock counter is equal to zero: if
 | 
					 | 
				
			||||||
     * available call MBEDTLS_PARAM_FAILED that may terminate execution (if
 | 
					 | 
				
			||||||
     * called as part of the execution of a unit test suite this will stop the
 | 
					 | 
				
			||||||
     * test suite execution).
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
#ifdef MBEDTLS_CHECK_PARAMS
 | 
					 | 
				
			||||||
    MBEDTLS_PARAM_FAILED( slot->lock_count > 0 );
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return( PSA_ERROR_CORRUPTION_DETECTED );
 | 
					    return( PSA_ERROR_CORRUPTION_DETECTED );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -50,7 +50,6 @@ unless( -f $config_file && -f $query_config_format_file ) {
 | 
				
			|||||||
# throw errors.
 | 
					# throw errors.
 | 
				
			||||||
my @excluded = qw(
 | 
					my @excluded = qw(
 | 
				
			||||||
MBEDTLS_SSL_CIPHERSUITES
 | 
					MBEDTLS_SSL_CIPHERSUITES
 | 
				
			||||||
MBEDTLS_PARAM_FAILED
 | 
					 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
my $excluded_re = join '|', @excluded;
 | 
					my $excluded_re = join '|', @excluded;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user