Skip to content

Commit 42a8cfd

Browse files
authored
Upgrade openssl 1.1.1m and fix crash with new openssl version (#453)
Fixes #452, IB-7265 Signed-off-by: Raul Metsma <[email protected]>
1 parent 3e94fc8 commit 42a8cfd

File tree

4 files changed

+19
-19
lines changed

4 files changed

+19
-19
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ jobs:
165165
"zlib:x64-windows-v${{ matrix.toolset }}"
166166
"boost-test:x86-windows-v${{ matrix.toolset }}"
167167
"boost-test:x64-windows-v${{ matrix.toolset }}"
168-
vcpkgGitCommitId: 30465138ef7facf1d4c1aa8a06dd62ceb71cc2eb
168+
vcpkgGitCommitId: 291b84e651bc21d90088394139097f9a5396cc00
169169
- name: Install dependencies
170170
run: choco install doxygen.install swig -y > $null
171171
- name: Build xsd

build-library.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ if [ "$#" -eq 0 ]; then
88
echo " target: osx ios iossimulator androidarm androidarm64 androidx86 androidx86_64"
99
echo "To control iOS, macOS builds set environment variables:"
1010
echo " minimum deployment target"
11-
echo " - MACOSX_DEPLOYMENT_TARGET=10.11"
12-
echo " - IPHONEOS_DEPLOYMENT_TARGET=9.0"
11+
echo " - MACOSX_DEPLOYMENT_TARGET=10.14"
12+
echo " - IPHONEOS_DEPLOYMENT_TARGET=12.0"
1313
echo " archs to build on macOS/iOS"
1414
echo " - ARCHS=\"x86_64 arm64\" (macOS)"
15-
echo " - ARCHS=\"armv7 arm64\" (iOS)"
15+
echo " - ARCHS=\"arm64\" (iOS)"
1616
echo " - ARCHS=\"x86_64\" (iPhoneSimulator)"
1717
exit
1818
fi
@@ -59,11 +59,11 @@ case "$@" in
5959
*)
6060
echo "Building for iOS"
6161
TARGET=iphoneos
62-
: ${ARCHS:="armv7 arm64"}
62+
: ${ARCHS:="arm64"}
6363
;;
6464
esac
6565
TARGET_PATH=/Library/libdigidocpp.${TARGET}
66-
: ${IPHONEOS_DEPLOYMENT_TARGET:="9.0"}
66+
: ${IPHONEOS_DEPLOYMENT_TARGET:="12.0"}
6767
export IPHONEOS_DEPLOYMENT_TARGET
6868
CMAKEARGS="
6969
-DCMAKE_C_COMPILER_WORKS=yes \
@@ -83,7 +83,7 @@ case "$@" in
8383
TARGET=macOS
8484
TARGET_PATH=/Library/libdigidocpp
8585
: ${ARCHS:="x86_64 arm64"}
86-
: ${MACOSX_DEPLOYMENT_TARGET:="10.13"}
86+
: ${MACOSX_DEPLOYMENT_TARGET:="10.14"}
8787
export MACOSX_DEPLOYMENT_TARGET
8888
esac
8989

prepare_osx_build_environment.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ XERCES_DIR=xerces-c-3.2.3
55
XALAN_DIR=xalan_c-1.12
66
XMLSEC_DIR=xml-security-c-2.0.4
77
XSD=xsd-4.0.0-i686-macosx
8-
OPENSSL_DIR=openssl-1.1.1l
8+
OPENSSL_DIR=openssl-1.1.1m
99
LIBXML2_DIR=libxml2-2.9.10
1010
ANDROID_NDK=android-ndk-r21e
1111
FREETYPE_DIR=freetype-2.10.1
@@ -77,7 +77,7 @@ case "$@" in
7777
CONFIGURE="--host=arm-apple-darwin --enable-static --disable-shared --disable-dependency-tracking"
7878
SYSROOT=$(xcrun -sdk iphonesimulator --show-sdk-path)
7979
: ${ARCHS:="x86_64"}
80-
: ${IPHONEOS_DEPLOYMENT_TARGET:="9.0"}
80+
: ${IPHONEOS_DEPLOYMENT_TARGET:="12.0"}
8181
export IPHONEOS_DEPLOYMENT_TARGET
8282
export CFLAGS="-arch ${ARCHS// / -arch } -isysroot ${SYSROOT}"
8383
export CXXFLAGS="${CFLAGS} -std=gnu++11 -Wno-null-conversion"
@@ -87,8 +87,8 @@ case "$@" in
8787
TARGET_PATH=/Library/libdigidocpp.iphoneos
8888
CONFIGURE="--host=arm-apple-darwin --enable-static --disable-shared --disable-dependency-tracking"
8989
SYSROOT=$(xcrun -sdk iphoneos --show-sdk-path)
90-
: ${ARCHS:="armv7 arm64"}
91-
: ${IPHONEOS_DEPLOYMENT_TARGET:="9.0"}
90+
: ${ARCHS:="arm64"}
91+
: ${IPHONEOS_DEPLOYMENT_TARGET:="12.0"}
9292
export IPHONEOS_DEPLOYMENT_TARGET
9393
export CFLAGS="-arch ${ARCHS// / -arch } -isysroot ${SYSROOT}"
9494
export CXXFLAGS="${CFLAGS} -std=gnu++11 -Wno-null-conversion"
@@ -99,7 +99,7 @@ case "$@" in
9999
CONFIGURE="--disable-static --enable-shared --disable-dependency-tracking"
100100
SYSROOT=$(xcrun -sdk macosx --show-sdk-path)
101101
: ${ARCHS:="x86_64 arm64"}
102-
: ${MACOSX_DEPLOYMENT_TARGET:="10.13"}
102+
: ${MACOSX_DEPLOYMENT_TARGET:="10.14"}
103103
export MACOSX_DEPLOYMENT_TARGET
104104
export CFLAGS="-arch ${ARCHS// / -arch } "
105105
export CXXFLAGS="${CFLAGS} -std=gnu++11 -Wno-null-conversion"
@@ -433,10 +433,10 @@ case "$@" in
433433
echo " tasks: xerces, xalan, openssl, xmlsec, xsd, all, help"
434434
echo "To control iOS, macOS builds set environment variables:"
435435
echo " minimum deployment target"
436-
echo " - MACOSX_DEPLOYMENT_TARGET=10.11"
437-
echo " - IPHONEOS_DEPLOYMENT_TARGET=9.0"
436+
echo " - MACOSX_DEPLOYMENT_TARGET=10.14"
437+
echo " - IPHONEOS_DEPLOYMENT_TARGET=12.0"
438438
echo " archs to build on iOS"
439-
echo " - ARCHS=\"armv7 arm64\" (iOS)"
439+
echo " - ARCHS=\"arm64\" (iOS)"
440440
echo " - ARCHS=\"x86_64\" (iPhoneSimulator)"
441441
;;
442442
esac

src/crypto/TS.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ static void TS_VERIFY_CTX_set_flags(TS_VERIFY_CTX *ctx, int f)
4848

4949
static void TS_VERIFY_CTX_set_imprint(TS_VERIFY_CTX *ctx, unsigned char *hexstr, long len)
5050
{
51+
OPENSSL_free(ctx->imprint);
5152
ctx->imprint = hexstr;
5253
ctx->imprint_len = unsigned(len);
5354
}
@@ -257,11 +258,10 @@ void TS::verify(const Digest &digest)
257258
{
258259
SCOPE(TS_VERIFY_CTX, ctx, TS_VERIFY_CTX_new());
259260
TS_VERIFY_CTX_set_flags(ctx.get(), TS_VFY_IMPRINT|TS_VFY_VERSION|TS_VFY_SIGNATURE);
260-
TS_VERIFY_CTX_set_imprint(ctx.get(), data.data(), long(data.size()));
261+
TS_VERIFY_CTX_set_imprint(ctx.get(),
262+
(unsigned char*)OPENSSL_memdup(data.data(), data.size()), long(data.size()));
261263
TS_VERIFY_CTX_set_store(ctx.get(), store.release());
262-
int err = TS_RESP_verify_token(ctx.get(), d.get());
263-
TS_VERIFY_CTX_set_imprint(ctx.get(), nullptr, 0); //Avoid CRYPTO_free
264-
if(err != 1)
264+
if(TS_RESP_verify_token(ctx.get(), d.get()) != 1)
265265
{
266266
unsigned long err = ERR_get_error();
267267
if(ERR_GET_LIB(err) == ERR_LIB_TS && ERR_GET_REASON(err) == TS_R_CERTIFICATE_VERIFY_ERROR)

0 commit comments

Comments
 (0)