parent
db39c668a8
commit
ed76a23fcc
2
.github/labeler.yml
vendored
2
.github/labeler.yml
vendored
@ -236,7 +236,7 @@ TLS:
|
|||||||
- all:
|
- all:
|
||||||
- changed-files:
|
- changed-files:
|
||||||
- any-glob-to-all-files:
|
- any-glob-to-all-files:
|
||||||
- '{CMake/FindBearSSL.cmake,CMake/FindMbedTLS.cmake,CMake/FindWolfSSL.cmake,docs/examples/ssl*,docs/examples/*ssl.*,docs/examples/*tls.*,docs/SSL*,docs/libcurl/curl_global_sslset*,docs/libcurl/opts/CURLINFO_CA*,docs/libcurl/opts/CURLINFO_CERT*,docs/libcurl/opts/CURLINFO_SSL*,docs/libcurl/opts/CURLINFO_TLS*,docs/libcurl/opts/CURLOPT_CA*,docs/libcurl/opts/CURLOPT_CERT*,docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY*,docs/libcurl/opts/CURLOPT_SSL*,docs/libcurl/opts/CURLOPT_TLS*,docs/libcurl/opts/CURLOPT_USE_SSL*,lib/vtls/**,m4/curl-bearssl.m4,m4/curl-gnutls.m4,m4/curl-mbedtls.m4,m4/curl-openssl.m4,m4/curl-rustls.m4,m4/curl-schannel.m4,m4/curl-sectransp.m4,m4/curl-wolfssl.m4}'
|
- '{CMake/FindBearSSL.cmake,CMake/FindMbedTLS.cmake,CMake/FindWolfSSL.cmake,CMake/Findrustls.cmake,docs/examples/ssl*,docs/examples/*ssl.*,docs/examples/*tls.*,docs/SSL*,docs/libcurl/curl_global_sslset*,docs/libcurl/opts/CURLINFO_CA*,docs/libcurl/opts/CURLINFO_CERT*,docs/libcurl/opts/CURLINFO_SSL*,docs/libcurl/opts/CURLINFO_TLS*,docs/libcurl/opts/CURLOPT_CA*,docs/libcurl/opts/CURLOPT_CERT*,docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY*,docs/libcurl/opts/CURLOPT_SSL*,docs/libcurl/opts/CURLOPT_TLS*,docs/libcurl/opts/CURLOPT_USE_SSL*,lib/vtls/**,m4/curl-bearssl.m4,m4/curl-gnutls.m4,m4/curl-mbedtls.m4,m4/curl-openssl.m4,m4/curl-rustls.m4,m4/curl-schannel.m4,m4/curl-sectransp.m4,m4/curl-wolfssl.m4}'
|
||||||
|
|
||||||
URL:
|
URL:
|
||||||
- all:
|
- all:
|
||||||
|
|||||||
48
CMake/Findrustls.cmake
Normal file
48
CMake/Findrustls.cmake
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#***************************************************************************
|
||||||
|
# _ _ ____ _
|
||||||
|
# Project ___| | | | _ \| |
|
||||||
|
# / __| | | | |_) | |
|
||||||
|
# | (__| |_| | _ <| |___
|
||||||
|
# \___|\___/|_| \_\_____|
|
||||||
|
#
|
||||||
|
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
|
#
|
||||||
|
# This software is licensed as described in the file COPYING, which
|
||||||
|
# you should have received as part of this distribution. The terms
|
||||||
|
# are also available at https://curl.se/docs/copyright.html.
|
||||||
|
#
|
||||||
|
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||||
|
# copies of the Software, and permit persons to whom the Software is
|
||||||
|
# furnished to do so, under the terms of the COPYING file.
|
||||||
|
#
|
||||||
|
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
# KIND, either express or implied.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: curl
|
||||||
|
#
|
||||||
|
###########################################################################
|
||||||
|
# Find the rustls library
|
||||||
|
#
|
||||||
|
# Result Variables:
|
||||||
|
#
|
||||||
|
# RUSTLS_FOUND System has rustls
|
||||||
|
# RUSTLS_INCLUDE_DIRS The rustls include directories
|
||||||
|
# RUSTLS_LIBRARIES The rustls library names
|
||||||
|
|
||||||
|
find_path(RUSTLS_INCLUDE_DIR "rustls.h")
|
||||||
|
|
||||||
|
find_library(RUSTLS_LIBRARY "rustls")
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(rustls
|
||||||
|
REQUIRED_VARS
|
||||||
|
RUSTLS_INCLUDE_DIR
|
||||||
|
RUSTLS_LIBRARY
|
||||||
|
)
|
||||||
|
|
||||||
|
if(RUSTLS_FOUND)
|
||||||
|
set(RUSTLS_INCLUDE_DIRS ${RUSTLS_INCLUDE_DIR})
|
||||||
|
set(RUSTLS_LIBRARIES ${RUSTLS_LIBRARY})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
mark_as_advanced(RUSTLS_INCLUDE_DIR RUSTLS_LIBRARY)
|
||||||
@ -458,6 +458,7 @@ cmake_dependent_option(CURL_USE_MBEDTLS "Enable mbedTLS for SSL/TLS" OFF CURL_EN
|
|||||||
cmake_dependent_option(CURL_USE_BEARSSL "Enable BearSSL for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
cmake_dependent_option(CURL_USE_BEARSSL "Enable BearSSL for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||||
cmake_dependent_option(CURL_USE_WOLFSSL "Enable wolfSSL for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
cmake_dependent_option(CURL_USE_WOLFSSL "Enable wolfSSL for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||||
cmake_dependent_option(CURL_USE_GNUTLS "Enable GnuTLS for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
cmake_dependent_option(CURL_USE_GNUTLS "Enable GnuTLS for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||||
|
cmake_dependent_option(CURL_USE_RUSTLS "Enable rustls for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||||
|
|
||||||
set(_openssl_default ON)
|
set(_openssl_default ON)
|
||||||
if(WIN32 OR CURL_USE_SECTRANSP OR CURL_USE_SCHANNEL OR CURL_USE_MBEDTLS OR CURL_USE_WOLFSSL)
|
if(WIN32 OR CURL_USE_SECTRANSP OR CURL_USE_SCHANNEL OR CURL_USE_MBEDTLS OR CURL_USE_WOLFSSL)
|
||||||
@ -474,6 +475,7 @@ count_true(_enabled_ssl_options_count
|
|||||||
CURL_USE_BEARSSL
|
CURL_USE_BEARSSL
|
||||||
CURL_USE_WOLFSSL
|
CURL_USE_WOLFSSL
|
||||||
CURL_USE_GNUTLS
|
CURL_USE_GNUTLS
|
||||||
|
CURL_USE_RUSTLS
|
||||||
)
|
)
|
||||||
if(_enabled_ssl_options_count GREATER 1)
|
if(_enabled_ssl_options_count GREATER 1)
|
||||||
set(CURL_WITH_MULTI_SSL ON)
|
set(CURL_WITH_MULTI_SSL ON)
|
||||||
@ -614,6 +616,20 @@ if(CURL_USE_GNUTLS)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CURL_USE_RUSTLS)
|
||||||
|
find_package(rustls REQUIRED)
|
||||||
|
set(_ssl_enabled ON)
|
||||||
|
set(USE_RUSTLS ON)
|
||||||
|
list(APPEND CURL_LIBS ${RUSTLS_LIBRARIES})
|
||||||
|
list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "rustls")
|
||||||
|
include_directories(${RUSTLS_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
if(CURL_DEFAULT_SSL_BACKEND AND CURL_DEFAULT_SSL_BACKEND STREQUAL "rustls")
|
||||||
|
set(valid_default_ssl_backend TRUE)
|
||||||
|
endif()
|
||||||
|
set(curl_ca_bundle_supported TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(CURL_DEFAULT_SSL_BACKEND AND NOT _valid_default_ssl_backend)
|
if(CURL_DEFAULT_SSL_BACKEND AND NOT _valid_default_ssl_backend)
|
||||||
message(FATAL_ERROR "CURL_DEFAULT_SSL_BACKEND '${CURL_DEFAULT_SSL_BACKEND}' not enabled.")
|
message(FATAL_ERROR "CURL_DEFAULT_SSL_BACKEND '${CURL_DEFAULT_SSL_BACKEND}' not enabled.")
|
||||||
endif()
|
endif()
|
||||||
@ -1866,6 +1882,7 @@ if(NOT CURL_DISABLE_INSTALL)
|
|||||||
_add_if("BearSSL" _ssl_enabled AND USE_BEARSSL)
|
_add_if("BearSSL" _ssl_enabled AND USE_BEARSSL)
|
||||||
_add_if("wolfSSL" _ssl_enabled AND USE_WOLFSSL)
|
_add_if("wolfSSL" _ssl_enabled AND USE_WOLFSSL)
|
||||||
_add_if("GnuTLS" _ssl_enabled AND USE_GNUTLS)
|
_add_if("GnuTLS" _ssl_enabled AND USE_GNUTLS)
|
||||||
|
_add_if("rustls" _ssl_enabled AND USE_RUSTLS)
|
||||||
|
|
||||||
if(_items)
|
if(_items)
|
||||||
if(NOT CMAKE_VERSION VERSION_LESS 3.13)
|
if(NOT CMAKE_VERSION VERSION_LESS 3.13)
|
||||||
|
|||||||
@ -47,6 +47,7 @@ CMAKE_DIST = \
|
|||||||
CMake/FindQUICHE.cmake \
|
CMake/FindQUICHE.cmake \
|
||||||
CMake/FindWolfSSL.cmake \
|
CMake/FindWolfSSL.cmake \
|
||||||
CMake/FindZstd.cmake \
|
CMake/FindZstd.cmake \
|
||||||
|
CMake/Findrustls.cmake \
|
||||||
CMake/Macros.cmake \
|
CMake/Macros.cmake \
|
||||||
CMake/OtherTests.cmake \
|
CMake/OtherTests.cmake \
|
||||||
CMake/PickyWarnings.cmake \
|
CMake/PickyWarnings.cmake \
|
||||||
|
|||||||
@ -689,6 +689,9 @@ ${SIZEOF_TIME_T_CODE}
|
|||||||
/* if BearSSL is enabled */
|
/* if BearSSL is enabled */
|
||||||
#cmakedefine USE_BEARSSL 1
|
#cmakedefine USE_BEARSSL 1
|
||||||
|
|
||||||
|
/* if rustls is enabled */
|
||||||
|
#cmakedefine USE_RUSTLS 1
|
||||||
|
|
||||||
/* if wolfSSL is enabled */
|
/* if wolfSSL is enabled */
|
||||||
#cmakedefine USE_WOLFSSL 1
|
#cmakedefine USE_WOLFSSL 1
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user