kopia lustrzana https://github.com/espressif/esp-idf
mbedtls: import mbedtls project w/o modification
rodzic
37d30c7a6e
commit
0908fba1a3
|
@ -1,99 +1,55 @@
|
|||
set(COMPONENT_ADD_INCLUDEDIRS port/include mbedtls/include)
|
||||
set(COMPONENT_SRCS "mbedtls/library/aes.c"
|
||||
"mbedtls/library/aesni.c"
|
||||
"mbedtls/library/arc4.c"
|
||||
"mbedtls/library/aria.c"
|
||||
"mbedtls/library/asn1parse.c"
|
||||
"mbedtls/library/asn1write.c"
|
||||
"mbedtls/library/base64.c"
|
||||
"mbedtls/library/bignum.c"
|
||||
"mbedtls/library/blowfish.c"
|
||||
"mbedtls/library/camellia.c"
|
||||
"mbedtls/library/ccm.c"
|
||||
"mbedtls/library/certs.c"
|
||||
"mbedtls/library/chacha20.c"
|
||||
"mbedtls/library/chachapoly.c"
|
||||
"mbedtls/library/cipher.c"
|
||||
"mbedtls/library/cipher_wrap.c"
|
||||
"mbedtls/library/cmac.c"
|
||||
"mbedtls/library/ctr_drbg.c"
|
||||
"mbedtls/library/debug.c"
|
||||
"mbedtls/library/des.c"
|
||||
"mbedtls/library/dhm.c"
|
||||
"mbedtls/library/ecdh.c"
|
||||
"mbedtls/library/ecdsa.c"
|
||||
"mbedtls/library/ecjpake.c"
|
||||
"mbedtls/library/ecp.c"
|
||||
"mbedtls/library/ecp_curves.c"
|
||||
"mbedtls/library/entropy.c"
|
||||
"mbedtls/library/entropy_poll.c"
|
||||
"mbedtls/library/error.c"
|
||||
"mbedtls/library/gcm.c"
|
||||
"mbedtls/library/havege.c"
|
||||
"mbedtls/library/hkdf.c"
|
||||
"mbedtls/library/hmac_drbg.c"
|
||||
"mbedtls/library/md.c"
|
||||
"mbedtls/library/md2.c"
|
||||
"mbedtls/library/md4.c"
|
||||
"mbedtls/library/md5.c"
|
||||
"mbedtls/library/md_wrap.c"
|
||||
"mbedtls/library/memory_buffer_alloc.c"
|
||||
"mbedtls/library/net_sockets.c"
|
||||
"mbedtls/library/nist_kw.c"
|
||||
"mbedtls/library/oid.c"
|
||||
"mbedtls/library/padlock.c"
|
||||
"mbedtls/library/pem.c"
|
||||
"mbedtls/library/pk.c"
|
||||
"mbedtls/library/pk_wrap.c"
|
||||
"mbedtls/library/pkcs11.c"
|
||||
"mbedtls/library/pkcs12.c"
|
||||
"mbedtls/library/pkcs5.c"
|
||||
"mbedtls/library/pkparse.c"
|
||||
"mbedtls/library/pkwrite.c"
|
||||
"mbedtls/library/platform.c"
|
||||
"mbedtls/library/platform_util.c"
|
||||
"mbedtls/library/poly1305.c"
|
||||
"mbedtls/library/ripemd160.c"
|
||||
"mbedtls/library/rsa.c"
|
||||
"mbedtls/library/rsa_internal.c"
|
||||
"mbedtls/library/sha1.c"
|
||||
"mbedtls/library/sha256.c"
|
||||
"mbedtls/library/sha512.c"
|
||||
"mbedtls/library/ssl_cache.c"
|
||||
"mbedtls/library/ssl_ciphersuites.c"
|
||||
"mbedtls/library/ssl_cli.c"
|
||||
"mbedtls/library/ssl_cookie.c"
|
||||
"mbedtls/library/ssl_srv.c"
|
||||
"mbedtls/library/ssl_ticket.c"
|
||||
"mbedtls/library/ssl_tls.c"
|
||||
"mbedtls/library/threading.c"
|
||||
"mbedtls/library/timing.c"
|
||||
"mbedtls/library/version.c"
|
||||
"mbedtls/library/version_features.c"
|
||||
"mbedtls/library/x509.c"
|
||||
"mbedtls/library/x509_create.c"
|
||||
"mbedtls/library/x509_crl.c"
|
||||
"mbedtls/library/x509_crt.c"
|
||||
"mbedtls/library/x509_csr.c"
|
||||
"mbedtls/library/x509write_crt.c"
|
||||
"mbedtls/library/x509write_csr.c"
|
||||
"mbedtls/library/xtea.c"
|
||||
"port/esp_bignum.c"
|
||||
"port/esp_hardware.c"
|
||||
"port/esp_mem.c"
|
||||
"port/esp_sha1.c"
|
||||
"port/esp_sha256.c"
|
||||
"port/esp_sha512.c"
|
||||
"port/mbedtls_debug.c"
|
||||
"port/net_sockets.c")
|
||||
|
||||
set(COMPONENT_ADD_INCLUDEDIRS "port/include" "mbedtls/include")
|
||||
set(COMPONENT_SRCS "mbedtls.c")
|
||||
set(COMPONENT_REQUIRES lwip)
|
||||
|
||||
register_component()
|
||||
|
||||
target_compile_definitions(${COMPONENT_TARGET} PUBLIC
|
||||
-DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h"
|
||||
)
|
||||
# Only build mbedtls libraries
|
||||
set(ENABLE_TESTING CACHE BOOL OFF)
|
||||
set(ENABLE_PROGRAMS CACHE BOOL OFF)
|
||||
|
||||
# Use same policy between IDF and mbedtls build
|
||||
function(project)
|
||||
set(_args ARGV)
|
||||
_project(${${_args}})
|
||||
cmake_policy(SET CMP0022 NEW)
|
||||
endfunction()
|
||||
|
||||
# Needed to for include_next includes to work from within mbedtls
|
||||
include_directories("${COMPONENT_PATH}/port/include")
|
||||
|
||||
# Import mbedtls library targets
|
||||
add_subdirectory(mbedtls)
|
||||
|
||||
set(mbedtls_targets mbedtls mbedcrypto mbedx509)
|
||||
|
||||
# Add port files to mbedtls targets
|
||||
target_sources(mbedtls PRIVATE "${COMPONENT_PATH}/port/esp_bignum.c"
|
||||
"${COMPONENT_PATH}/port/esp_hardware.c"
|
||||
"${COMPONENT_PATH}/port/esp_mem.c"
|
||||
"${COMPONENT_PATH}/port/esp_sha1.c"
|
||||
"${COMPONENT_PATH}/port/esp_sha256.c"
|
||||
"${COMPONENT_PATH}/port/esp_sha512.c"
|
||||
"${COMPONENT_PATH}/port/mbedtls_debug.c"
|
||||
"${COMPONENT_PATH}/port/net_sockets.c")
|
||||
|
||||
foreach(target ${mbedtls_targets})
|
||||
# Propagate compile options to mbedtls library targets
|
||||
target_include_directories(${target} PRIVATE "${IDF_INCLUDE_DIRECTORIES}")
|
||||
target_compile_options(${target} PRIVATE "${IDF_COMPILE_OPTIONS};${IDF_C_COMPILE_OPTIONS}")
|
||||
target_compile_definitions(${target} PRIVATE "${IDF_COMPILE_DEFINITIONS}")
|
||||
target_compile_definitions(${target} PUBLIC -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h")
|
||||
|
||||
# The mbedtls targets also depends on core components
|
||||
foreach(common ${IDF_COMPONENT_REQUIRES_COMMON})
|
||||
component_get_target(common_target ${common})
|
||||
set_property(TARGET ${target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${common_target})
|
||||
set_property(TARGET ${target} APPEND PROPERTY LINK_LIBRARIES ${common_target})
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
# Link mbedtls libraries to component library
|
||||
target_link_libraries(${COMPONENT_TARGET} ${mbedtls_targets})
|
||||
|
||||
# Catch usage of deprecated mbedTLS functions when building tests
|
||||
if(mbedtls_test IN_LIST BUILD_TEST_COMPONENTS)
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
// Empty file
|
|
@ -27,7 +27,6 @@
|
|||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/param.h>
|
||||
#include "mbedtls/bignum.h"
|
||||
#include "rom/bigint.h"
|
||||
#include "soc/hwcrypto_reg.h"
|
||||
#include "esp_system.h"
|
||||
|
@ -36,6 +35,8 @@
|
|||
#include "esp_intr_alloc.h"
|
||||
#include "esp_attr.h"
|
||||
|
||||
#include <mbedtls/bignum.h>
|
||||
|
||||
#include "soc/dport_reg.h"
|
||||
|
||||
#include "freertos/FreeRTOS.h"
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
#include <stdio.h>
|
||||
#include <esp_system.h>
|
||||
|
||||
#include "mbedtls/entropy_poll.h"
|
||||
|
||||
#ifndef MBEDTLS_ENTROPY_HARDWARE_ALT
|
||||
#error "MBEDTLS_ENTROPY_HARDWARE_ALT should always be set in ESP-IDF"
|
||||
#endif
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include <esp_attr.h>
|
||||
#include <esp_heap_caps.h>
|
||||
#include <sdkconfig.h>
|
||||
#include "esp_mem.h"
|
||||
|
||||
#ifndef CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#include "mbedtls/ssl.h"
|
||||
#include "mbedtls/esp_debug.h"
|
||||
|
||||
#ifdef CONFIG_MBEDTLS_DEBUG
|
||||
static const char *TAG = "mbedtls";
|
||||
|
||||
static void mbedtls_esp_debug(void *ctx, int level,
|
||||
|
@ -28,9 +29,9 @@ static void mbedtls_esp_debug(void *ctx, int level,
|
|||
|
||||
void mbedtls_esp_enable_debug_log(mbedtls_ssl_config *conf, int threshold)
|
||||
{
|
||||
esp_log_level_t level = ESP_LOG_NONE;
|
||||
mbedtls_debug_set_threshold(threshold);
|
||||
mbedtls_ssl_conf_dbg(conf, mbedtls_esp_debug, NULL);
|
||||
esp_log_level_t level = ESP_LOG_NONE;
|
||||
switch(threshold) {
|
||||
case 1:
|
||||
level = ESP_LOG_WARN;
|
||||
|
@ -53,6 +54,7 @@ void mbedtls_esp_disable_debug_log(mbedtls_ssl_config *conf)
|
|||
mbedtls_ssl_conf_dbg(conf, NULL, NULL);
|
||||
}
|
||||
|
||||
|
||||
/* Default mbedtls debug function that translates mbedTLS debug output
|
||||
to ESP_LOGx debug output.
|
||||
*/
|
||||
|
@ -89,3 +91,4 @@ static void mbedtls_esp_debug(void *ctx, int level,
|
|||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
|
@ -131,6 +131,10 @@ int mbedtls_net_bind( mbedtls_net_context *ctx, const char *bind_ip, const char
|
|||
{
|
||||
int ret;
|
||||
struct addrinfo hints, *addr_list, *cur;
|
||||
struct sockaddr_in *serv_addr = NULL;
|
||||
#if SO_REUSE
|
||||
int n = 1;
|
||||
#endif
|
||||
|
||||
if ( ( ret = net_prepare() ) != 0 ) {
|
||||
return ( ret );
|
||||
|
@ -157,7 +161,6 @@ int mbedtls_net_bind( mbedtls_net_context *ctx, const char *bind_ip, const char
|
|||
|
||||
/*SO_REUSEADDR option dafault is disable in source code(lwip)*/
|
||||
#if SO_REUSE
|
||||
int n = 1;
|
||||
if ( setsockopt( fd, SOL_SOCKET, SO_REUSEADDR,
|
||||
(const char *) &n, sizeof( n ) ) != 0 ) {
|
||||
close( fd );
|
||||
|
@ -166,7 +169,6 @@ int mbedtls_net_bind( mbedtls_net_context *ctx, const char *bind_ip, const char
|
|||
}
|
||||
#endif
|
||||
/*bind interface dafault don't process the addr is 0xffffffff for TCP Protocol*/
|
||||
struct sockaddr_in *serv_addr = NULL;
|
||||
serv_addr = (struct sockaddr_in *)cur->ai_addr;
|
||||
serv_addr->sin_addr.s_addr = htonl(INADDR_ANY); /* Any incoming interface */
|
||||
if ( bind( fd, (struct sockaddr *)serv_addr, cur->ai_addrlen ) != 0 ) {
|
||||
|
|
|
@ -21,7 +21,7 @@ SOURCE_FILES = \
|
|||
crc.cpp \
|
||||
main.cpp
|
||||
|
||||
CPPFLAGS += -I../include -I../src -I./ -I../../esp32/include -I ../../esp_mbedtls/mbedtls/include -I ../../spi_flash/include -I ../../../tools/catch -fprofile-arcs -ftest-coverage -DCONFIG_NVS_ENCRYPTION
|
||||
CPPFLAGS += -I../include -I../src -I./ -I../../esp32/include -I ../../mbedtls/mbedtls/include -I ../../spi_flash/include -I ../../../tools/catch -fprofile-arcs -ftest-coverage -DCONFIG_NVS_ENCRYPTION
|
||||
CFLAGS += -fprofile-arcs -ftest-coverage
|
||||
CXXFLAGS += -std=c++11 -Wall -Werror
|
||||
LDFLAGS += -lstdc++ -Wall -fprofile-arcs -ftest-coverage
|
||||
|
@ -33,8 +33,8 @@ COVERAGE_FILES = $(OBJ_FILES:.o=.gc*)
|
|||
$(OBJ_FILES): %.o: %.cpp
|
||||
|
||||
$(TEST_PROGRAM): $(OBJ_FILES)
|
||||
$(MAKE) -C ../../esp_mbedtls/mbedtls/ lib
|
||||
g++ $(LDFLAGS) -o $(TEST_PROGRAM) $(OBJ_FILES) ../../esp_mbedtls/mbedtls/library/libmbedcrypto.a
|
||||
$(MAKE) -C ../../mbedtls/mbedtls/ lib
|
||||
g++ $(LDFLAGS) -o $(TEST_PROGRAM) $(OBJ_FILES) ../../mbedtls/mbedtls/library/libmbedcrypto.a
|
||||
|
||||
$(OUTPUT_DIR):
|
||||
mkdir -p $(OUTPUT_DIR)
|
||||
|
@ -56,7 +56,7 @@ coverage_report: coverage.info
|
|||
@echo "Coverage report is in coverage_report/index.html"
|
||||
|
||||
clean:
|
||||
$(MAKE) -C ../../esp_mbedtls/mbedtls/ clean
|
||||
$(MAKE) -C ../../mbedtls/mbedtls/ clean
|
||||
rm -f $(OBJ_FILES) $(TEST_PROGRAM)
|
||||
rm -f $(COVERAGE_FILES) *.gcov
|
||||
rm -rf coverage_report/
|
||||
|
|
Ładowanie…
Reference in New Issue