https://github.com/OpenSC/OpenSC/releases/tag/0.24.0
Security
CVE-2023-40660: Fix Potential PIN bypass (#2806,
frankmorgner/OpenSCToken#50, #2807)
CVE-2023-40661: Important dynamic analyzers reports
CVE-2023-4535: Out-of-bounds read in MyEID driver handling encryption using
symmetric keys (f1993dc)
General improvements
Fix compatibility of EAC with OpenSSL 3.0 (#2674)
Enable use_file_cache by default (#2501)
Use custom libctx with OpenSSL >= 3.0 (#2712, #2715)
Fix record-based files (#2604)
Fix several race conditions (#2735)
Run tests under Valgrind (#2756)
Test signing of data bigger than 512 bytes (#2789)
Update to OpenPACE 1.1.3 (#2796)
Implement logout for some of the card drivers (#2807)
Fix wrong popup position of opensc-notify (#2901)
Fixed various issues reported by OSS-Fuzz and Coverity regarding card
drivers, PKCS#11 and PKCS#15 init
Upstream also dropped the onepin module.
Regular .so loaded in iridium and handled via qdigidoc4 keeps working.
I bumped automake to 1.16 since comments in the tarball already mention
that version, i.e. no reason to stick to older 1.15.
Feedback? OK?
Index: Makefile
===================================================================
RCS file: /cvs/ports/security/opensc/Makefile,v
diff -u -p -r1.67 Makefile
--- Makefile 27 Sep 2023 16:34:34 -0000 1.67
+++ Makefile 18 Dec 2023 21:50:14 -0000
@@ -1,10 +1,9 @@
COMMENT= set of libraries and utilities to access smart cards
-V= 0.23.0
+V= 0.24.0
DISTNAME= opensc-${V}
-REVISION= 0
-SHARED_LIBS += opensc 8.0 # 9.0
+SHARED_LIBS += opensc 8.1 # 10.1
SHARED_LIBS += smm-local 3.1
CATEGORIES= security
@@ -14,7 +13,8 @@ HOMEPAGE= https://github.com/OpenSC/Open
# LGPLv2.1+
PERMIT_PACKAGE= Yes
-WANTLIB= c crypto curses gio-2.0 gobject-2.0 iconv pthread readline z
+WANTLIB += c crypto curses gio-2.0 gobject-2.0 iconv intl pthread
+WANTLIB += readline z
SITES= https://github.com/OpenSC/OpenSC/releases/download/${V}/
@@ -48,7 +48,7 @@ FAKE_FLAGS= mandir="${PREFIX}/man/" \
sysconfdir="${PREFIX}/share/examples/opensc/"
AUTOCONF_VERSION = 2.69
-AUTOMAKE_VERSION = 1.15
+AUTOMAKE_VERSION = 1.16
# Allow building with base-gcc
CFLAGS += -Wno-error
Index: distinfo
===================================================================
RCS file: /cvs/ports/security/opensc/distinfo,v
diff -u -p -r1.18 distinfo
--- distinfo 28 Jun 2023 22:21:26 -0000 1.18
+++ distinfo 18 Dec 2023 20:51:52 -0000
@@ -1,2 +1,2 @@
-SHA256 (opensc-0.23.0.tar.gz) = pIRKbqA6Ui7PNeSWWXFtrLa+A/fAEKGlg6rz65Fe0uA=
-SIZE (opensc-0.23.0.tar.gz) = 2366469
+SHA256 (opensc-0.24.0.tar.gz) = JNA8aShykdoyowxMOKMErYJ/VsuF2DYZ4fVAOrZIDvg=
+SIZE (opensc-0.24.0.tar.gz) = 2440952
Index: patches/patch-configure_ac
===================================================================
RCS file: /cvs/ports/security/opensc/patches/patch-configure_ac,v
diff -u -p -r1.15 patch-configure_ac
--- patches/patch-configure_ac 28 Jun 2023 22:21:26 -0000 1.15
+++ patches/patch-configure_ac 18 Dec 2023 20:56:43 -0000
@@ -1,7 +1,7 @@
Index: configure.ac
--- configure.ac.orig
+++ configure.ac
-@@ -427,7 +427,7 @@ AC_FUNC_STAT
+@@ -444,7 +444,7 @@ AC_FUNC_STAT
AC_FUNC_VPRINTF
AC_CHECK_FUNCS([ \
getpass gettimeofday getline memset mkdir \
Index: patches/patch-src_libopensc_card-iasecc_c
===================================================================
RCS file: patches/patch-src_libopensc_card-iasecc_c
diff -N patches/patch-src_libopensc_card-iasecc_c
--- patches/patch-src_libopensc_card-iasecc_c 1 Jul 2023 10:26:43 -0000
1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-merged da01e5fab9be9865db1aac203e574e0edbfd6584
-"fixed compatibility with LibreSSL >= 3.5.0"
-fixes https://github.com/OpenSC/OpenSC/issues/2664
-
-Index: src/libopensc/card-iasecc.c
---- src/libopensc/card-iasecc.c.orig
-+++ src/libopensc/card-iasecc.c
-@@ -45,10 +45,6 @@
- * LibreSSL
- */
-
--#if defined(LIBRESSL_VERSION_NUMBER)
--# define EVP_MD_CTX_md_data(x) (x->md_data)
--#endif
--
- #include "internal.h"
- #include "asn1.h"
- #include "cardctl.h"
Index: patches/patch-src_libopensc_sc-ossl-compat_h
===================================================================
RCS file: patches/patch-src_libopensc_sc-ossl-compat_h
diff -N patches/patch-src_libopensc_sc-ossl-compat_h
--- patches/patch-src_libopensc_sc-ossl-compat_h 14 Aug 2023 07:50:02
-0000 1.9
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-merged "LibreSSL fixes" https://github.com/OpenSC/OpenSC/pull/2816
-
-Index: src/libopensc/sc-ossl-compat.h
---- src/libopensc/sc-ossl-compat.h.orig
-+++ src/libopensc/sc-ossl-compat.h
-@@ -49,12 +49,6 @@ extern "C" {
- #if LIBRESSL_VERSION_NUMBER < 0x30500000L
- #define FIPS_mode() (0)
- #endif
--#define EVP_sha3_224() (NULL)
--#define EVP_sha3_256() (NULL)
--#define EVP_sha3_384() (NULL)
--#define EVP_sha3_512() (NULL)
--#define EVP_PKEY_new_raw_public_key(t, e, p, l) (NULL)
--#define EVP_PKEY_get_raw_public_key(p, pu, l) (0)
- #endif
-
- /* OpenSSL 1.1.1 has FIPS_mode function */
Index: patches/patch-src_pkcs11_Makefile_am
===================================================================
RCS file: /cvs/ports/security/opensc/patches/patch-src_pkcs11_Makefile_am,v
diff -u -p -r1.7 patch-src_pkcs11_Makefile_am
--- patches/patch-src_pkcs11_Makefile_am 28 Jun 2023 22:21:26 -0000
1.7
+++ patches/patch-src_pkcs11_Makefile_am 18 Dec 2023 20:56:43 -0000
@@ -10,7 +10,7 @@ Index: src/pkcs11/Makefile.am
+override libdir = $(prefix)/lib/pkcs11
+
MAINTAINERCLEANFILES = $(srcdir)/Makefile.in $(srcdir)/versioninfo-pkcs11.rc
$(srcdir)/versioninfo-pkcs11-spy.rc
- EXTRA_DIST = Makefile.mak versioninfo-pkcs11.rc.in
versioninfo-pkcs11-spy.rc.in opensc-pkcs11.pc.in opensc-pkcs11.dll.manifest
onepin-opensc-pkcs11.dll.manifest
+ EXTRA_DIST = Makefile.mak versioninfo-pkcs11.rc.in
versioninfo-pkcs11-spy.rc.in opensc-pkcs11.pc.in opensc-pkcs11.dll.manifest
@@ -27,10 +29,6 @@ if WIN32
OPENSC_PKCS11_LIBS += -lshlwapi
@@ -23,11 +23,11 @@ Index: src/pkcs11/Makefile.am
opensc_pkcs11_la_SOURCES = $(OPENSC_PKCS11_SRC) $(OPENSC_PKCS11_INC)
opensc_pkcs11_la_CFLAGS = $(OPENSC_PKCS11_CFLAGS)
opensc_pkcs11_la_LIBADD = $(OPENSC_PKCS11_LIBS)
-@@ -81,6 +79,7 @@ uninstall-hook:
+@@ -74,6 +72,7 @@ uninstall-hook:
else
# see http://wiki.cacert.org/wiki/Pkcs11TaskForce
install-exec-hook:
+we-dont-do-that-here:
- $(MKDIR_P) "$(DESTDIR)$(pkcs11dir)"
- for l in opensc-pkcs11$(DYN_LIB_EXT) onepin-opensc-pkcs11$(DYN_LIB_EXT)
pkcs11-spy$(DYN_LIB_EXT); do \
- rm -f "$(DESTDIR)$(pkcs11dir)/$$l"; \
+ cd $(DESTDIR)$(libdir) && \
+ rm -f "onepin-opensc-pkcs11$(DYN_LIB_EXT)" && \
+ $(LN_S) "opensc-pkcs11$(DYN_LIB_EXT)"
"onepin-opensc-pkcs11$(DYN_LIB_EXT)"
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/security/opensc/pkg/PLIST,v
diff -u -p -r1.17 PLIST
--- pkg/PLIST 28 Jun 2023 22:21:26 -0000 1.17
+++ pkg/PLIST 18 Dec 2023 21:07:30 -0000
@@ -25,7 +25,6 @@ lib/libopensc.la
lib/libsmm-local.la
@lib lib/libsmm-local.so.${LIBsmm-local_VERSION}
lib/pkcs11/
-@so lib/pkcs11/onepin-opensc-pkcs11.so
@so lib/pkcs11/opensc-pkcs11.so
@so lib/pkcs11/pkcs11-spy.so
lib/pkgconfig/libopensc.pc
@@ -83,9 +82,6 @@ share/examples/opensc/opensc.conf
@mode 644
@sample ${SYSCONFDIR}/opensc.conf
@mode
-share/examples/opensc/xdg/
-share/examples/opensc/xdg/autostart/
-share/examples/opensc/xdg/autostart/pkcs11-register.desktop
share/opensc/
share/opensc/asepcos.profile
share/opensc/authentic.profile