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) | 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(MBEDTLS_LIBRARY mbedtls) | ||||||
| find_library(MBEDX509_LIBRARY mbedx509) | find_library(MBEDX509_LIBRARY mbedx509) | ||||||
| find_library(MBEDCRYPTO_LIBRARY mbedcrypto) | 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 |     # This MBEDTLS_FOUND check is to help find a cmake manually configured MbedTLS | ||||||
|     if (NOT MBEDTLS_FOUND) |     if (NOT MBEDTLS_FOUND) | ||||||
|       find_package(MbedTLS REQUIRED) |       find_package(MbedTLS REQUIRED) | ||||||
|  |        | ||||||
|  |       if (MBEDTLS_VERSION_GREATER_THAN_3) | ||||||
|  |         target_compile_definitions(ixwebsocket PRIVATE IXWEBSOCKET_USE_MBED_TLS_MIN_VERSION_3) | ||||||
|  |       endif() | ||||||
|  |        | ||||||
|     endif() |     endif() | ||||||
|     target_include_directories(ixwebsocket PUBLIC $<BUILD_INTERFACE:${MBEDTLS_INCLUDE_DIRS}>) |     target_include_directories(ixwebsocket PUBLIC $<BUILD_INTERFACE:${MBEDTLS_INCLUDE_DIRS}>) | ||||||
|     target_link_libraries(ixwebsocket ${MBEDTLS_LIBRARIES}) |     target_link_libraries(ixwebsocket ${MBEDTLS_LIBRARIES}) | ||||||
|   | |||||||
| @@ -2,6 +2,10 @@ | |||||||
|  |  | ||||||
| All changes to this project will be documented in this file. | 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 | ## [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) | (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 + "'"; |                 errMsg = "Cannot parse cert file '" + _tlsOptions.certFile + "'"; | ||||||
|                 return false; |                 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) |             if (mbedtls_pk_parse_keyfile(&_pkey, _tlsOptions.keyFile.c_str(), "") < 0) | ||||||
|  | #endif | ||||||
|             { |             { | ||||||
|                 errMsg = "Cannot parse key file '" + _tlsOptions.keyFile + "'"; |                 errMsg = "Cannot parse key file '" + _tlsOptions.keyFile + "'"; | ||||||
|                 return false; |                 return false; | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ | |||||||
| #include <mbedtls/debug.h> | #include <mbedtls/debug.h> | ||||||
| #include <mbedtls/entropy.h> | #include <mbedtls/entropy.h> | ||||||
| #include <mbedtls/error.h> | #include <mbedtls/error.h> | ||||||
| #include <mbedtls/net.h> | #include <mbedtls/net_sockets.h> | ||||||
| #include <mbedtls/platform.h> | #include <mbedtls/platform.h> | ||||||
| #include <mbedtls/x509.h> | #include <mbedtls/x509.h> | ||||||
| #include <mbedtls/x509_crt.h> | #include <mbedtls/x509_crt.h> | ||||||
|   | |||||||
| @@ -6,4 +6,4 @@ | |||||||
|  |  | ||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #define IX_WEBSOCKET_VERSION "11.3.0" | #define IX_WEBSOCKET_VERSION "11.3.1" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user