Fix mbedtls-3.0 problem (#322)
* Fix mbedtls-3.0 problem This cause CI to fail on macOS. See this migration guide => https://github.com/ARMmbed/mbedtls/blob/development/docs/3.0-migration-guide.md * cmake change find header file * define macro for mbedtls >= 3 * update api call * Update IXWebSocketVersion.h * Update CHANGELOG.md
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							3f1fc6906c
						
					
				
				
					commit
					97aa1f956a
				
			@@ -1,5 +1,8 @@
 | 
			
		||||
find_path(MBEDTLS_INCLUDE_DIRS mbedtls/ssl.h)
 | 
			
		||||
 | 
			
		||||
# mbedtls-3.0 changed headers files, and we need to ifdef'out a few things
 | 
			
		||||
find_path(MBEDTLS_VERSION_GREATER_THAN_3 mbedtls/build_info.h)
 | 
			
		||||
 | 
			
		||||
find_library(MBEDTLS_LIBRARY mbedtls)
 | 
			
		||||
find_library(MBEDX509_LIBRARY mbedx509)
 | 
			
		||||
find_library(MBEDCRYPTO_LIBRARY mbedcrypto)
 | 
			
		||||
 
 | 
			
		||||
@@ -195,6 +195,11 @@ if (USE_TLS)
 | 
			
		||||
    # This MBEDTLS_FOUND check is to help find a cmake manually configured MbedTLS
 | 
			
		||||
    if (NOT MBEDTLS_FOUND)
 | 
			
		||||
      find_package(MbedTLS REQUIRED)
 | 
			
		||||
      
 | 
			
		||||
      if (MBEDTLS_VERSION_GREATER_THAN_3)
 | 
			
		||||
        target_compile_definitions(ixwebsocket PRIVATE IXWEBSOCKET_USE_MBED_TLS_MIN_VERSION_3)
 | 
			
		||||
      endif()
 | 
			
		||||
      
 | 
			
		||||
    endif()
 | 
			
		||||
    target_include_directories(ixwebsocket PUBLIC $<BUILD_INTERFACE:${MBEDTLS_INCLUDE_DIRS}>)
 | 
			
		||||
    target_link_libraries(ixwebsocket ${MBEDTLS_LIBRARIES})
 | 
			
		||||
 
 | 
			
		||||
@@ -2,6 +2,10 @@
 | 
			
		||||
 | 
			
		||||
All changes to this project will be documented in this file.
 | 
			
		||||
 | 
			
		||||
## [11.3.1] - 2021-10-22
 | 
			
		||||
 | 
			
		||||
(library/cmake) Compatible with MbedTLS 3 + fix a bug on Windows where the incorrect remote port is computed (#320)
 | 
			
		||||
 | 
			
		||||
## [11.3.0] - 2021-09-20
 | 
			
		||||
 | 
			
		||||
(library/cmake) Only find OpenSSL, MbedTLS, zlib if they have not already been found, make CMake install optional (#317) + Use GNUInstallDirs in cmake (#318)
 | 
			
		||||
 
 | 
			
		||||
@@ -132,7 +132,11 @@ namespace ix
 | 
			
		||||
                errMsg = "Cannot parse cert file '" + _tlsOptions.certFile + "'";
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
#ifdef IXWEBSOCKET_USE_MBED_TLS_MIN_VERSION_3
 | 
			
		||||
            if (mbedtls_pk_parse_keyfile(&_pkey, _tlsOptions.keyFile.c_str(), "", mbedtls_ctr_drbg_random, &_ctr_drbg) < 0)
 | 
			
		||||
#else
 | 
			
		||||
            if (mbedtls_pk_parse_keyfile(&_pkey, _tlsOptions.keyFile.c_str(), "") < 0)
 | 
			
		||||
#endif
 | 
			
		||||
            {
 | 
			
		||||
                errMsg = "Cannot parse key file '" + _tlsOptions.keyFile + "'";
 | 
			
		||||
                return false;
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@
 | 
			
		||||
#include <mbedtls/debug.h>
 | 
			
		||||
#include <mbedtls/entropy.h>
 | 
			
		||||
#include <mbedtls/error.h>
 | 
			
		||||
#include <mbedtls/net.h>
 | 
			
		||||
#include <mbedtls/net_sockets.h>
 | 
			
		||||
#include <mbedtls/platform.h>
 | 
			
		||||
#include <mbedtls/x509.h>
 | 
			
		||||
#include <mbedtls/x509_crt.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -6,4 +6,4 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#define IX_WEBSOCKET_VERSION "11.3.0"
 | 
			
		||||
#define IX_WEBSOCKET_VERSION "11.3.1"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user