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
						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