Compare commits
	
		
			13 Commits
		
	
	
		
			feature/pr
			...
			bsergean-p
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 317e3c44bf | ||
|  | 61b90251af | ||
|  | 851157f252 | ||
|  | 69541cf750 | ||
|  | 1e166eee57 | ||
|  | 6860b2d09d | ||
|  | 9bbd1f1b30 | ||
|  | 18c2b69633 | ||
|  | 178f218374 | ||
|  | 6a1aa27b5f | ||
|  | e7f89ae529 | ||
|  | cdeaf8e2be | ||
|  | dbafa0aa07 | 
| @@ -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) | ||||||
|   | |||||||
| @@ -180,18 +180,28 @@ if (USE_TLS) | |||||||
|       # set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} /opt/local/include/openssl-1.0) |       # set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} /opt/local/include/openssl-1.0) | ||||||
|     endif() |     endif() | ||||||
|  |  | ||||||
|     # Use OPENSSL_ROOT_DIR CMake variable if you need to use your own openssl |     # This OPENSSL_FOUND check is to help find a cmake manually configured OpenSSL | ||||||
|     find_package(OpenSSL REQUIRED)  |     if (NOT OPENSSL_FOUND) | ||||||
|  |       find_package(OpenSSL REQUIRED) | ||||||
|  |     endif() | ||||||
|     message(STATUS "OpenSSL: " ${OPENSSL_VERSION}) |     message(STATUS "OpenSSL: " ${OPENSSL_VERSION}) | ||||||
|  |  | ||||||
|     add_definitions(${OPENSSL_DEFINITIONS}) |     add_definitions(${OPENSSL_DEFINITIONS}) | ||||||
|     target_include_directories(ixwebsocket PUBLIC ${OPENSSL_INCLUDE_DIR}) |     target_include_directories(ixwebsocket PUBLIC $<BUILD_INTERFACE:${OPENSSL_INCLUDE_DIR}>) | ||||||
|     target_link_libraries(ixwebsocket ${OPENSSL_LIBRARIES}) |     target_link_libraries(ixwebsocket ${OPENSSL_LIBRARIES}) | ||||||
|   elseif (USE_MBED_TLS) |   elseif (USE_MBED_TLS) | ||||||
|     message(STATUS "TLS configured to use mbedtls") |     message(STATUS "TLS configured to use mbedtls") | ||||||
|  |  | ||||||
|     find_package(MbedTLS REQUIRED) |     # This MBEDTLS_FOUND check is to help find a cmake manually configured MbedTLS | ||||||
|     target_include_directories(ixwebsocket PUBLIC ${MBEDTLS_INCLUDE_DIRS}) |     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}) |     target_link_libraries(ixwebsocket ${MBEDTLS_LIBRARIES}) | ||||||
|   elseif (USE_SECURE_TRANSPORT) |   elseif (USE_SECURE_TRANSPORT) | ||||||
|     message(STATUS "TLS configured to use secure transport") |     message(STATUS "TLS configured to use secure transport") | ||||||
| @@ -202,9 +212,11 @@ endif() | |||||||
| option(USE_ZLIB "Enable zlib support" TRUE) | option(USE_ZLIB "Enable zlib support" TRUE) | ||||||
|  |  | ||||||
| if (USE_ZLIB) | if (USE_ZLIB) | ||||||
|   # Use ZLIB_ROOT CMake variable if you need to use your own zlib |   # This ZLIB_FOUND check is to help find a cmake manually configured zlib | ||||||
|   find_package(ZLIB REQUIRED) |   if (NOT ZLIB_FOUND) | ||||||
|   include_directories(${ZLIB_INCLUDE_DIRS}) |     find_package(ZLIB REQUIRED) | ||||||
|  |   endif() | ||||||
|  |   target_include_directories(ixwebsocket PUBLIC $<BUILD_INTERFACE:${ZLIB_INCLUDE_DIRS}>) | ||||||
|   target_link_libraries(ixwebsocket ${ZLIB_LIBRARIES}) |   target_link_libraries(ixwebsocket ${ZLIB_LIBRARIES}) | ||||||
|  |  | ||||||
|   target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_ZLIB) |   target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_ZLIB) | ||||||
| @@ -242,23 +254,29 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC") | |||||||
|     target_compile_options(ixwebsocket PRIVATE /MP) |     target_compile_options(ixwebsocket PRIVATE /MP) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
|  | include(GNUInstallDirs) | ||||||
|  |  | ||||||
| target_include_directories(ixwebsocket PUBLIC | target_include_directories(ixwebsocket PUBLIC | ||||||
|   $<BUILD_INTERFACE:${IXWEBSOCKET_INCLUDE_DIRS}/> |   $<BUILD_INTERFACE:${IXWEBSOCKET_INCLUDE_DIRS}/> | ||||||
|   $<INSTALL_INTERFACE:include/ixwebsocket> |   $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/ixwebsocket> | ||||||
| ) | ) | ||||||
|  |  | ||||||
| set_target_properties(ixwebsocket PROPERTIES PUBLIC_HEADER "${IXWEBSOCKET_HEADERS}") | set_target_properties(ixwebsocket PROPERTIES PUBLIC_HEADER "${IXWEBSOCKET_HEADERS}") | ||||||
|  |  | ||||||
| install(TARGETS ixwebsocket | option(IXWEBSOCKET_INSTALL "Install IXWebSocket" TRUE) | ||||||
|         EXPORT ixwebsocket |  | ||||||
|         ARCHIVE DESTINATION lib |  | ||||||
|         PUBLIC_HEADER DESTINATION include/ixwebsocket/ |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| install(EXPORT ixwebsocket | if (IXWEBSOCKET_INSTALL) | ||||||
|         FILE ixwebsocket-config.cmake |   install(TARGETS ixwebsocket | ||||||
|         NAMESPACE ixwebsocket:: |           EXPORT ixwebsocket | ||||||
|         DESTINATION lib/cmake/ixwebsocket) |           ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} | ||||||
|  |           PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ixwebsocket/ | ||||||
|  |   ) | ||||||
|  |  | ||||||
|  |   install(EXPORT ixwebsocket | ||||||
|  |           FILE ixwebsocket-config.cmake | ||||||
|  |           NAMESPACE ixwebsocket:: | ||||||
|  |           DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ixwebsocket) | ||||||
|  | endif() | ||||||
|  |  | ||||||
| if (USE_WS OR USE_TEST) | if (USE_WS OR USE_TEST) | ||||||
|   include(FetchContent) |   include(FetchContent) | ||||||
|   | |||||||
| @@ -2,6 +2,14 @@ | |||||||
|  |  | ||||||
| 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 | ||||||
|  |  | ||||||
|  | (library/cmake) Only find OpenSSL, MbedTLS, zlib if they have not already been found, make CMake install optional (#317) + Use GNUInstallDirs in cmake (#318) | ||||||
|  |  | ||||||
| ## [11.2.10] - 2021-07-27 | ## [11.2.10] - 2021-07-27 | ||||||
|  |  | ||||||
| (ws) bump CLI command line parsing library from 1.8 to 2.0 | (ws) bump CLI command line parsing library from 1.8 to 2.0 | ||||||
|   | |||||||
| @@ -20,7 +20,7 @@ Options for building: | |||||||
| * `-DBUILD_SHARED_LIBS=ON` will build the unittest as a shared libary instead of a static library, which is the default | * `-DBUILD_SHARED_LIBS=ON` will build the unittest as a shared libary instead of a static library, which is the default | ||||||
| * `-DUSE_ZLIB=1` will enable zlib support, required for http client + server + websocket per message deflate extension | * `-DUSE_ZLIB=1` will enable zlib support, required for http client + server + websocket per message deflate extension | ||||||
| * `-DUSE_TLS=1` will enable TLS support | * `-DUSE_TLS=1` will enable TLS support | ||||||
| * `-DUSE_OPEN_SSL=1` will use [openssl](https://www.openssl.org/) for the TLS support (default on Linux and Windows) | * `-DUSE_OPEN_SSL=1` will use [openssl](https://www.openssl.org/) for the TLS support (default on Linux and Windows). When using a custom version of openssl (say a prebuilt version, odd runtime problems can happens, as in #319, and special cmake trickery will be required (see this [comment](https://github.com/machinezone/IXWebSocket/issues/175#issuecomment-620231032)) | ||||||
| * `-DUSE_MBED_TLS=1` will use [mbedlts](https://tls.mbed.org/) for the TLS support | * `-DUSE_MBED_TLS=1` will use [mbedlts](https://tls.mbed.org/) for the TLS support | ||||||
| * `-DUSE_WS=1` will build the ws interactive command line tool | * `-DUSE_WS=1` will build the ws interactive command line tool | ||||||
| * `-DUSE_TEST=1` will build the unittest | * `-DUSE_TEST=1` will build the unittest | ||||||
|   | |||||||
| @@ -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.2.10" | #define IX_WEBSOCKET_VERSION "11.3.1" | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								ws/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								ws/package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -8,7 +8,7 @@ | |||||||
|       "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" |       "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" | ||||||
|     }, |     }, | ||||||
|     "ws": { |     "ws": { | ||||||
|       "version": "6.2.0", |       "version": ">=6.2.2", | ||||||
|       "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz", |       "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz", | ||||||
|       "integrity": "sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w==", |       "integrity": "sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w==", | ||||||
|       "requires": { |       "requires": { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user