Fix #1628 (OpenSSL 1.1.1 End of Life on September 11, 2023) (#1745)

This commit is contained in:
yhirose 2023-12-24 08:20:58 -05:00 committed by GitHub
parent 374d058de7
commit eba980846b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 7 additions and 11 deletions

View file

@ -81,7 +81,7 @@ option(HTTPLIB_NO_EXCEPTIONS "Disable the use of C++ exceptions" OFF)
# Change as needed to set an OpenSSL minimum version. # Change as needed to set an OpenSSL minimum version.
# This is used in the installed Cmake config file. # This is used in the installed Cmake config file.
set(_HTTPLIB_OPENSSL_MIN_VER "1.1.1") set(_HTTPLIB_OPENSSL_MIN_VER "3.0.0")
# Allow for a build to require OpenSSL to pass, instead of just being optional # Allow for a build to require OpenSSL to pass, instead of just being optional
option(HTTPLIB_REQUIRE_OPENSSL "Requires OpenSSL to be found & linked, or fails build." OFF) option(HTTPLIB_REQUIRE_OPENSSL "Requires OpenSSL to be found & linked, or fails build." OFF)

View file

@ -53,7 +53,7 @@ SSL Support
SSL support is available with `CPPHTTPLIB_OPENSSL_SUPPORT`. `libssl` and `libcrypto` should be linked. SSL support is available with `CPPHTTPLIB_OPENSSL_SUPPORT`. `libssl` and `libcrypto` should be linked.
NOTE: cpp-httplib currently supports only version 1.1.1 and 3.0. NOTE: cpp-httplib currently supports only version 3.0 or later. Please see [this page](https://www.openssl.org/policies/releasestrat.html) to get more information.
NOTE for macOS: cpp-httplib now can use system certs with `CPPHTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN`. `CoreFoundation` and `Security` should be linked with `-framework`. NOTE for macOS: cpp-httplib now can use system certs with `CPPHTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN`. `CoreFoundation` and `Security` should be linked with `-framework`.

View file

@ -4,8 +4,7 @@ CXXFLAGS = -O2 -std=c++11 -I.. -Wall -Wextra -pthread
PREFIX = /usr/local PREFIX = /usr/local
#PREFIX = $(shell brew --prefix) #PREFIX = $(shell brew --prefix)
OPENSSL_DIR = $(PREFIX)/opt/openssl@1.1 OPENSSL_DIR = $(PREFIX)/opt/openssl@3
#OPENSSL_DIR = $(PREFIX)/opt/openssl@3
OPENSSL_SUPPORT = -DCPPHTTPLIB_OPENSSL_SUPPORT -I$(OPENSSL_DIR)/include -L$(OPENSSL_DIR)/lib -lssl -lcrypto OPENSSL_SUPPORT = -DCPPHTTPLIB_OPENSSL_SUPPORT -I$(OPENSSL_DIR)/include -L$(OPENSSL_DIR)/lib -lssl -lcrypto
ifneq ($(OS), Windows_NT) ifneq ($(OS), Windows_NT)

View file

@ -264,10 +264,8 @@ using socket_t = int;
#include <iostream> #include <iostream>
#include <sstream> #include <sstream>
#if OPENSSL_VERSION_NUMBER < 0x1010100fL #if OPENSSL_VERSION_NUMBER < 0x30000000L
#error Sorry, OpenSSL versions prior to 1.1.1 are not supported #error Sorry, OpenSSL versions prior to 3.0.0 are not supported
#elif OPENSSL_VERSION_NUMBER < 0x30000000L
#define SSL_get1_peer_certificate SSL_get_peer_certificate
#endif #endif
#endif #endif

View file

@ -30,7 +30,7 @@ endif
deps = [dependency('threads')] deps = [dependency('threads')]
args = [] args = []
openssl_dep = dependency('openssl', version: '>=1.1.1', required: get_option('cpp-httplib_openssl')) openssl_dep = dependency('openssl', version: '>=3.0.0', required: get_option('cpp-httplib_openssl'))
if openssl_dep.found() if openssl_dep.found()
deps += openssl_dep deps += openssl_dep
args += '-DCPPHTTPLIB_OPENSSL_SUPPORT' args += '-DCPPHTTPLIB_OPENSSL_SUPPORT'

View file

@ -4,8 +4,7 @@ CXXFLAGS = -g -std=c++11 -I. -Wall -Wextra -Wtype-limits -Wconversion -Wshadow #
PREFIX = /usr/local PREFIX = /usr/local
#PREFIX = $(shell brew --prefix) #PREFIX = $(shell brew --prefix)
OPENSSL_DIR = $(PREFIX)/opt/openssl@1.1 OPENSSL_DIR = $(PREFIX)/opt/openssl@3
#OPENSSL_DIR = $(PREFIX)/opt/openssl@3
OPENSSL_SUPPORT = -DCPPHTTPLIB_OPENSSL_SUPPORT -I$(OPENSSL_DIR)/include -L$(OPENSSL_DIR)/lib -lssl -lcrypto OPENSSL_SUPPORT = -DCPPHTTPLIB_OPENSSL_SUPPORT -I$(OPENSSL_DIR)/include -L$(OPENSSL_DIR)/lib -lssl -lcrypto
ifneq ($(OS), Windows_NT) ifneq ($(OS), Windows_NT)