See sthen's thread from earlier this day and 
https://github.com/OpenSC/OpenSC/releases for changelog.
Quite a few things changed so I bumped both majors.

I also adjusted the default PKCS11 provider so `pkcs11-tool' doesn't
need to use `--module /usr/local/lib/pkcs11/opensc-pkcs11.so' anymore
(the previous default /usr/local/lib/opensc-pkcs11.so does not exist).

`make update-plist' added share/applications/org.opensc.notify.desktop
and `@tag update-desktop-database' but `make update' would fail with
"@tag update-desktop-database definition not found" so I left these
PLIST updates out for now as I fail to see how to fix this.
Does anyone know how to fix this?

Works fine for my daily usage with a YubiKey NEO on amd64.

Index: Makefile
===================================================================
RCS file: /cvs/ports/security/opensc/Makefile,v
retrieving revision 1.46
diff -u -p -r1.46 Makefile
--- Makefile    10 May 2018 16:02:56 -0000      1.46
+++ Makefile    13 Sep 2018 16:59:42 -0000
@@ -2,13 +2,12 @@
 
 COMMENT=       set of libraries and utilities to access smart cards
 
-V=             0.17.0
+V=             0.19.0
 DISTNAME=      opensc-${V}
-REVISION=      3
 SUBST_VARS +=  V
 
-SHARED_LIBS +=  opensc 6.0     # 5.0
-SHARED_LIBS += smm-local 2.0   # 5.0
+SHARED_LIBS += opensc 7.0      # 5.0
+SHARED_LIBS += smm-local 3.0   # 5.0
 
 CATEGORIES=    security
 
@@ -19,7 +18,7 @@ MAINTAINER=   David Coppa <dcoppa@openbsd.
 # LGPLv2.1+
 PERMIT_PACKAGE_CDROM=  Yes
 
-WANTLIB=       c crypto ncurses pthread readline z
+WANTLIB=       c crypto curses ffi iconv intl ncurses pthread readline z
 
 MASTER_SITES=  https://github.com/OpenSC/OpenSC/releases/download/${V}/
 
@@ -37,6 +36,7 @@ CONFIGURE_ARGS=       --enable-static \
                --sysconfdir=${SYSCONFDIR} \
                --enable-sm \
                --disable-cryptotokenkit \
+               --with-pkcs11-provider=${LOCALBASE}/lib/pkcs11/opensc-pkcs11.so 
\
                --with-xsl-stylesheetsdir=${LOCALBASE}/share/xsl/docbook
 CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include/PCSC"
 
@@ -44,7 +44,7 @@ FAKE_FLAGS=   mandir="${PREFIX}/man/" \
                sysconfdir="${PREFIX}/share/examples/opensc/"
 
 AUTOCONF_VERSION = 2.69
-AUTOMAKE_VERSION = 1.14
+AUTOMAKE_VERSION = 1.15
 
 pre-configure:
        cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \
@@ -52,9 +52,8 @@ pre-configure:
 
 post-install:
        ${INSTALL_DATA_DIR} ${PREFIX}/lib/pkgconfig
-       ${SUBST_CMD} -c -m 0644 -o ${BINOWN} -g ${BINGRP} \
-               ${FILESDIR}/libopensc.pc \
-                       ${PREFIX}/lib/pkgconfig/libopensc.pc
+       ${SUBST_CMD} -c -m ${NONBINMODE} -o ${BINOWN} -g ${BINGRP} \
+           ${FILESDIR}/libopensc.pc ${PREFIX}/lib/pkgconfig/libopensc.pc
        @find ${PREFIX}/lib/pkcs11/ -name '*.la' -delete
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/security/opensc/distinfo,v
retrieving revision 1.13
diff -u -p -r1.13 distinfo
--- distinfo    10 May 2018 16:02:56 -0000      1.13
+++ distinfo    13 Sep 2018 15:10:32 -0000
@@ -1,2 +1,2 @@
-SHA256 (opensc-0.17.0.tar.gz) = vnPGgWhnq0ch5qmufbqOiQxfFp8KLLtL81Tg8wqUgwA=
-SIZE (opensc-0.17.0.tar.gz) = 1950547
+SHA256 (opensc-0.19.0.tar.gz) = LFoOTfkCdjUpC5wPOt278NZR213bCreJyw6XjwL9WCY=
+SIZE (opensc-0.19.0.tar.gz) = 2080320
Index: patches/patch-configure_ac
===================================================================
RCS file: /cvs/ports/security/opensc/patches/patch-configure_ac,v
retrieving revision 1.7
diff -u -p -r1.7 patch-configure_ac
--- patches/patch-configure_ac  16 Aug 2017 14:39:07 -0000      1.7
+++ patches/patch-configure_ac  13 Sep 2018 16:00:16 -0000
@@ -7,18 +7,17 @@ libdl is not required on OpenBSD
 Index: configure.ac
 --- configure.ac.orig
 +++ configure.ac
-@@ -327,30 +327,9 @@ elif test "${xslstylesheetsdir}" != "no"; then
+@@ -341,29 +341,9 @@ elif test "${xslstylesheetsdir}" != "no"; then
  fi
  AC_MSG_RESULT([${xslstylesheetsdir}])
  
 -AC_MSG_CHECKING([git checkout])
 -GIT_CHECKOUT="no"
 -if test -n "${GIT}" -a -d "${srcdir}/.git"; then
--      AC_DEFINE([HAVE_CONFIG_VERSION_H], [1], [extra version available in 
config-version.h])
 -      GIT_CHECKOUT="yes"
 -fi
 -AC_MSG_RESULT([${GIT_CHECKOUT}])
-+OPENSC_SCM_REVISION="OpenSC-0.17.0, rev: 43951252, commit-time: 2017-07-18 
14:29:50 +0000"
++OPENSC_SCM_REVISION="OpenSC-0.19.0, rev: f1691fc9, commit-time: 2018-09-13 
13:47:21 2018 +0200"
 +OPENSC_VERSION_REVISION="0"
  
 -if test "${GIT_CHECKOUT}" = "yes"; then
@@ -40,7 +39,7 @@ Index: configure.ac
  dnl C Compiler features
  AC_C_INLINE
  
-@@ -401,11 +380,6 @@ AC_CHECK_LIB(
+@@ -414,11 +394,6 @@ AC_CHECK_LIB(
  )
  
  if test "${WIN32}" = "no"; then
@@ -52,10 +51,10 @@ Index: configure.ac
        dnl Special check for pthread support.
        AX_PTHREAD(
                [AC_DEFINE(
-@@ -931,7 +905,6 @@ AM_CONDITIONAL([ENABLE_MINIDRIVER_SETUP_CUSTOMACTION],
- AM_CONDITIONAL([ENABLE_SM], [test "${enable_sm}" = "yes"])
+@@ -1036,7 +1011,6 @@ AM_CONDITIONAL([ENABLE_SM], [test "${enable_sm}" = "ye
  AM_CONDITIONAL([ENABLE_DNIE_UI], [test "${enable_dnie_ui}" = "yes"])
  AM_CONDITIONAL([ENABLE_NPATOOL], [test "${ENABLE_NPATOOL}" = "yes"])
+ AM_CONDITIONAL([ENABLE_TESTS], [test "${enable_tests}" = "yes"])
 -AM_CONDITIONAL([GIT_CHECKOUT], [test "${GIT_CHECKOUT}" = "yes"])
  
  if test "${enable_pedantic}" = "yes"; then
Index: patches/patch-doc_tools_Makefile_am
===================================================================
RCS file: /cvs/ports/security/opensc/patches/patch-doc_tools_Makefile_am,v
retrieving revision 1.1
diff -u -p -r1.1 patch-doc_tools_Makefile_am
--- patches/patch-doc_tools_Makefile_am 7 Jun 2016 14:08:44 -0000       1.1
+++ patches/patch-doc_tools_Makefile_am 13 Sep 2018 15:18:35 -0000
@@ -2,21 +2,21 @@ $OpenBSD: patch-doc_tools_Makefile_am,v 
 
 Do not install bash-completion scripts
 
---- doc/tools/Makefile.am.orig Fri Jun  3 16:47:44 2016
-+++ doc/tools/Makefile.am      Fri Jun  3 16:48:26 2016
-@@ -12,9 +12,6 @@ man1_MANS = $(patsubst $(srcdir)/%.xml, %, $(wildcard 
- man5_MANS = $(patsubst $(srcdir)/%.xml, %, $(wildcard $(srcdir)/*.5.xml))
+Index: doc/tools/Makefile.am
+--- doc/tools/Makefile.am.orig
++++ doc/tools/Makefile.am
+@@ -14,8 +14,6 @@ if ENABLE_MAN
+ man1_MANS = $(patsubst $(srcdir)/%.xml, %, $(wildcard $(srcdir)/*.1.xml))
  endif
  
 -completion_DATA = $(patsubst $(srcdir)/%.1.xml, %, $(wildcard 
$(srcdir)/*.1.xml))
--completiondir = $(sysconfdir)/bash_completion.d
 -
- tools.html: $(srcdir)/tools.xml $(wildcard $(srcdir)/*.1.xml) $(wildcard 
$(srcdir)/*.5.xml)
+ tools.html: $(srcdir)/tools.xml $(wildcard $(srcdir)/*.1.xml)
        $(XSLTPROC) --nonet --path "$(srcdir)/..:$(xslstylesheetsdir)/html" 
--xinclude -o $@ html.xsl $<
  
-@@ -43,4 +40,4 @@ tools.html: $(srcdir)/tools.xml $(wildcard $(srcdir)/*
+@@ -43,4 +41,4 @@ tools.html: $(srcdir)/tools.xml $(wildcard $(srcdir)/*
                > $@
  
  clean-local:
--      -rm -rf $(html_DATA) $(man1_MANS) $(man5_MANS) $(completion_DATA)
+-      -rm -rf $(html_DATA) $(man1_MANS) $(completion_DATA)
 +      -rm -rf $(html_DATA) $(man1_MANS) $(man5_MANS)
Index: patches/patch-etc_Makefile_am
===================================================================
RCS file: /cvs/ports/security/opensc/patches/patch-etc_Makefile_am,v
retrieving revision 1.1
diff -u -p -r1.1 patch-etc_Makefile_am
--- patches/patch-etc_Makefile_am       16 Aug 2017 14:39:07 -0000      1.1
+++ patches/patch-etc_Makefile_am       13 Sep 2018 15:18:31 -0000
@@ -3,16 +3,16 @@ $OpenBSD: patch-etc_Makefile_am,v 1.1 20
 Index: etc/Makefile.am
 --- etc/Makefile.am.orig
 +++ etc/Makefile.am
-@@ -32,11 +32,7 @@ opensc.conf: opensc.conf.in force
+@@ -32,11 +32,7 @@ opensc.conf.example: opensc.conf.example.in force
  
- install-exec-hook: opensc.conf
+ install-exec-hook: opensc.conf.example
        $(MKDIR_P) "$(DESTDIR)$(sysconfdir)"
 -      if [ -f "$(DESTDIR)$(sysconfdir)/opensc.conf" ]; then \
--              $(INSTALL_DATA) opensc.conf 
"$(DESTDIR)$(sysconfdir)/opensc.conf.new"; \
+-              $(INSTALL_DATA) $(srcdir)/opensc.conf 
"$(DESTDIR)$(sysconfdir)/opensc.conf.new"; \
 -      else \
--              $(INSTALL_DATA) opensc.conf 
"$(DESTDIR)$(sysconfdir)/opensc.conf"; \
+-              $(INSTALL_DATA) $(srcdir)/opensc.conf 
"$(DESTDIR)$(sysconfdir)/opensc.conf"; \
 -      fi
 +      $(INSTALL_DATA) opensc.conf "$(DESTDIR)$(sysconfdir)/opensc.conf"
+       $(MKDIR_P) "$(DESTDIR)$(docdir)"
+       $(INSTALL_DATA) opensc.conf.example "$(DESTDIR)$(docdir)/opensc.conf";
  
- uninstall-hook: opensc.conf
-       rm -f "$(DESTDIR)$(sysconfdir)/opensc.conf.new" 
"$(DESTDIR)$(sysconfdir)/opensc.conf"
Index: patches/patch-src_common_libpkcs11_c
===================================================================
RCS file: patches/patch-src_common_libpkcs11_c
diff -N patches/patch-src_common_libpkcs11_c
--- patches/patch-src_common_libpkcs11_c        11 Sep 2017 09:27:38 -0000      
1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-$OpenBSD: patch-src_common_libpkcs11_c,v 1.3 2017/09/11 09:27:38 dcoppa Exp $
-
-memory leak if C_UnloadModule() fails
-(upstream git commit e2fe24d56ac4a90bf140c670ebea02dee6a599d6)
-
-Index: src/common/libpkcs11.c
---- src/common/libpkcs11.c.orig
-+++ src/common/libpkcs11.c
-@@ -75,8 +75,9 @@ C_LoadModule(const char *mspec, CK_FUNCTION_LIST_PTR_P
-               return (void *) mod;
-       else {
-               fprintf(stderr, "C_GetFunctionList failed %lx", rv);
--              C_UnloadModule((void *) mod);
--              return NULL;
-+              rv = C_UnloadModule((void *) mod);
-+              if (rv == CKR_OK)
-+                      mod = NULL; /* already freed */
-       }
- failed:
-       free(mod);
Index: patches/patch-src_libopensc_card-jpki_c
===================================================================
RCS file: patches/patch-src_libopensc_card-jpki_c
diff -N patches/patch-src_libopensc_card-jpki_c
--- patches/patch-src_libopensc_card-jpki_c     11 Sep 2017 09:27:38 -0000      
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-$OpenBSD: patch-src_libopensc_card-jpki_c,v 1.1 2017/09/11 09:27:38 dcoppa Exp 
$
-
-commit da9484bd6b4052ea6fb022d27bd7e75350d6cf76
-Author: HAMANO Tsukasa <ham...@osstech.co.jp>
-Date:   Mon Apr 10 07:39:44 2017
-
-fix trivial leak
-
-Index: src/libopensc/card-jpki.c
---- src/libopensc/card-jpki.c.orig
-+++ src/libopensc/card-jpki.c
-@@ -82,7 +82,10 @@ jpki_finish(sc_card_t * card)
-       struct jpki_private_data *drvdata = JPKI_DRVDATA(card);
- 
-       LOG_FUNC_CALLED(card->ctx);
--
-+      if (drvdata->mf) {
-+              free(drvdata->mf);
-+              drvdata->mf = NULL;
-+      }
-       if (drvdata) {
-               free(drvdata);
-               card->drv_data = NULL;
Index: patches/patch-src_libopensc_pkcs15-pubkey_c
===================================================================
RCS file: patches/patch-src_libopensc_pkcs15-pubkey_c
diff -N patches/patch-src_libopensc_pkcs15-pubkey_c
--- patches/patch-src_libopensc_pkcs15-pubkey_c 11 Sep 2017 09:27:38 -0000      
1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,33 +0,0 @@
-$OpenBSD: patch-src_libopensc_pkcs15-pubkey_c,v 1.3 2017/09/11 09:27:38 dcoppa 
Exp $
-
-Plug memory leaks
-(upstream git commit e2fe24d56ac4a90bf140c670ebea02dee6a599d6)
-
-Index: src/libopensc/pkcs15-pubkey.c
---- src/libopensc/pkcs15-pubkey.c.orig
-+++ src/libopensc/pkcs15-pubkey.c
-@@ -1098,8 +1098,10 @@ sc_pkcs15_dup_pubkey(struct sc_context *ctx, struct sc
-               rv = sc_asn1_encode_algorithm_id(ctx, &alg, 
&alglen,key->alg_id, 0);
-               if (rv == SC_SUCCESS) {
-                       pubkey->alg_id = (struct sc_algorithm_id *)calloc(1, 
sizeof(struct sc_algorithm_id));
--                      if (pubkey->alg_id == NULL)
-+                      if (pubkey->alg_id == NULL) {
-+                              free(pubkey);
-                               LOG_FUNC_RETURN(ctx, SC_ERROR_OUT_OF_MEMORY);
-+                      }
-                       rv = sc_asn1_decode_algorithm_id(ctx, alg, alglen, 
pubkey->alg_id, 0);
-                       free(alg);
-               }
-@@ -1389,8 +1391,10 @@ sc_pkcs15_pubkey_from_spki_fields(struct sc_context *c
-               }
- 
-               pubkey->u.ec.ecpointQ.value = malloc(pk.len);
--              if (pubkey->u.ec.ecpointQ.value == NULL)
--                      LOG_FUNC_RETURN(ctx, SC_ERROR_OUT_OF_MEMORY);
-+              if (pubkey->u.ec.ecpointQ.value == NULL) {
-+                      r = SC_ERROR_OUT_OF_MEMORY;
-+                      LOG_TEST_GOTO_ERR(ctx, r, "failed to malloc() memory");
-+              }
-               memcpy(pubkey->u.ec.ecpointQ.value, pk.value, pk.len);
-               pubkey->u.ec.ecpointQ.len = pk.len;
-       }
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        18 Feb 2018 14:21:23 
-0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,42 +0,0 @@
-$OpenBSD: patch-src_libopensc_sc-ossl-compat_h,v 1.3 2018/02/18 14:21:23 sthen 
Exp $
-
-Index: src/libopensc/sc-ossl-compat.h
---- src/libopensc/sc-ossl-compat.h.orig
-+++ src/libopensc/sc-ossl-compat.h
-@@ -92,12 +92,16 @@ extern "C" {
- #define RSA_PKCS1_OpenSSL             RSA_PKCS1_SSLeay
- #define OPENSSL_malloc_init           CRYPTO_malloc_init
- 
-+#if !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x2070000fL
- #define EVP_PKEY_get0_RSA(x)          (x->pkey.rsa)
- #define EVP_PKEY_get0_DSA(x)          (x->pkey.dsa)
-+#endif
- #define X509_get_extension_flags(x)   (x->ex_flags)
- #define X509_get_key_usage(x)         (x->ex_kusage)
- #define X509_get_extended_key_usage(x)        (x->ex_xkusage)
-+#if !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x2070000fL
- #define EVP_PKEY_up_ref(user_key)     CRYPTO_add(&user_key->references, 1, 
CRYPTO_LOCK_EVP_PKEY)
-+#endif
- #if !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x2050300fL
- #define X509_up_ref(cert)             CRYPTO_add(&cert->references, 1, 
CRYPTO_LOCK_X509)
- #endif
-@@ -110,7 +114,8 @@ extern "C" {
-  * If that is not good enough, versions could be added to libopensc
-  */
- 
--#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
-+    (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 
0x2070000fL)
- /* based on OpenSSL-1.1.0 e_os2.h */
- /* sc_ossl_inline: portable inline definition usable in public headers */
- # if !defined(inline) && !defined(__cplusplus)
-@@ -127,9 +132,6 @@ extern "C" {
- # else
- #  define sc_ossl_inline inline
- # endif
--#endif
--
--#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- 
- #define RSA_bits(R) (BN_num_bits(R->n))
- 
Index: patches/patch-src_pkcs11_Makefile_am
===================================================================
RCS file: /cvs/ports/security/opensc/patches/patch-src_pkcs11_Makefile_am,v
retrieving revision 1.2
diff -u -p -r1.2 patch-src_pkcs11_Makefile_am
--- patches/patch-src_pkcs11_Makefile_am        16 Aug 2017 14:39:07 -0000      
1.2
+++ patches/patch-src_pkcs11_Makefile_am        16 Jul 2018 09:39:41 -0000
@@ -8,7 +8,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
+-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
  
  lib_LTLIBRARIES = opensc-pkcs11.la pkcs11-spy.la onepin-opensc-pkcs11.la
Index: patches/patch-src_pkcs11_framework-pkcs15_c
===================================================================
RCS file: patches/patch-src_pkcs11_framework-pkcs15_c
diff -N patches/patch-src_pkcs11_framework-pkcs15_c
--- patches/patch-src_pkcs11_framework-pkcs15_c 11 Sep 2017 09:27:38 -0000      
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,94 +0,0 @@
-$OpenBSD: patch-src_pkcs11_framework-pkcs15_c,v 1.1 2017/09/11 09:27:38 dcoppa 
Exp $
-
-Fix memory leaks, null pointer dereferences, dead assignments
-(upstream git commit e2fe24d56ac4a90bf140c670ebea02dee6a599d6)
-
-Index: src/pkcs11/framework-pkcs15.c
---- src/pkcs11/framework-pkcs15.c.orig
-+++ src/pkcs11/framework-pkcs15.c
-@@ -718,7 +718,7 @@ __pkcs15_create_pubkey_object(struct pkcs15_fw_data *f
-       } else if (!(pubkey->emulated && (fw_data->p15_card->flags & 
SC_PKCS15_CARD_FLAG_EMULATED))) {
-               sc_pkcs15_free_pubkey(p15_key);
-       }
--      if (object->pub_data) {
-+      if (object && object->pub_data) {
-               if ((object->pub_data->alg_id)&&(object->pub_data->algorithm == 
SC_ALGORITHM_GOSTR3410))
-                       object->pub_data->alg_id->params = 
&((object->pub_data->u).gostr3410.params);
-       }
-@@ -734,7 +734,7 @@ static int
- __pkcs15_create_prkey_object(struct pkcs15_fw_data *fw_data,
-       struct sc_pkcs15_object *prkey, struct pkcs15_any_object **prkey_object)
- {
--      struct pkcs15_prkey_object *object;
-+      struct pkcs15_prkey_object *object = NULL;
-       int rv;
- 
-       rv = __pkcs15_create_object(fw_data, (struct pkcs15_any_object **) 
&object,
-@@ -1821,7 +1821,7 @@ pkcs15_initialize(struct sc_pkcs11_slot *slot, void *p
- 
-               if (p15card)   {
-                       sc_log(context, "pkcs15init erase card");
--                      rc = sc_pkcs15init_erase_card(p15card, profile, NULL);
-+                      sc_pkcs15init_erase_card(p15card, profile, NULL);
- 
-                       sc_log(context, "pkcs15init unbind");
-                       sc_pkcs15init_unbind(profile);
-@@ -2266,7 +2266,7 @@ pkcs15_create_secret_key(struct sc_pkcs11_slot *slot, 
-           skey_info->data.value = args.key.data;
-           skey_info->data.len = args.key.data_len;
-           skey_info->value_len = args.value_len; /* callers prefered length */
--
-+          args.key.data = NULL;
-       }
-       else {
- #if 1
-@@ -2290,6 +2290,7 @@ pkcs15_create_secret_key(struct sc_pkcs11_slot *slot, 
-       rv = CKR_OK;
- 
- out:
-+      free(args.key.data); /* if allocated */
-       free(key_obj);
-       return rv;
- }
-@@ -2335,7 +2336,6 @@ pkcs15_create_public_key(struct sc_pkcs11_slot *slot, 
-                       return CKR_ATTRIBUTE_VALUE_INVALID;
-       }
- 
--      rv = CKR_OK;
-       while (ulCount--) {
-               CK_ATTRIBUTE_PTR attr = pTemplate++;
-               sc_pkcs15_bignum_t *bn = NULL;
-@@ -2429,7 +2429,6 @@ pkcs15_create_certificate(struct sc_pkcs11_slot *slot,
-       if (cert_type != CKC_X_509)
-               return CKR_ATTRIBUTE_VALUE_INVALID;
- 
--      rv = CKR_OK;
-       while (ulCount--) {
-               CK_ATTRIBUTE_PTR attr = pTemplate++;
- 
-@@ -2438,7 +2437,7 @@ pkcs15_create_certificate(struct sc_pkcs11_slot *slot,
-               case CKA_CLASS:
-                       break;
-               case CKA_PRIVATE:
--                      rv = attr_extract(attr, &bValue, NULL);
-+                      attr_extract(attr, &bValue, NULL);
-                       if (bValue) {
-                               rv = CKR_TEMPLATE_INCONSISTENT;
-                               goto out;
-@@ -2505,7 +2504,6 @@ pkcs15_create_data(struct sc_pkcs11_slot *slot, struct
-       if (!fw_data)
-               return sc_to_cryptoki_error(SC_ERROR_INTERNAL, 
"C_CreateObject");
- 
--      rv = CKR_OK;
-       while (ulCount--) {
-               CK_ATTRIBUTE_PTR attr = pTemplate++;
- 
-@@ -2514,7 +2512,7 @@ pkcs15_create_data(struct sc_pkcs11_slot *slot, struct
-               case CKA_CLASS:
-                       break;
-               case CKA_PRIVATE:
--                      rv = attr_extract(attr, &bValue, NULL);
-+                      attr_extract(attr, &bValue, NULL);
-                       if (bValue) {
-                               pin = slot_data_auth_info(slot->fw_data);
-                               if (pin == NULL) {
Index: patches/patch-src_pkcs11_mechanism_c
===================================================================
RCS file: patches/patch-src_pkcs11_mechanism_c
diff -N patches/patch-src_pkcs11_mechanism_c
--- patches/patch-src_pkcs11_mechanism_c        11 Sep 2017 09:27:38 -0000      
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-$OpenBSD: patch-src_pkcs11_mechanism_c,v 1.1 2017/09/11 09:27:38 dcoppa Exp $
-
-Plug a memory leak
-(upstream git commit e2fe24d56ac4a90bf140c670ebea02dee6a599d6)
-
-Index: src/pkcs11/mechanism.c
---- src/pkcs11/mechanism.c.orig
-+++ src/pkcs11/mechanism.c
-@@ -1060,7 +1060,10 @@ sc_pkcs11_register_sign_and_hash_mechanism(struct sc_p
- 
-       new_type = sc_pkcs11_new_fw_mechanism(mech, &mech_info, 
sign_type->key_type, info, free_info);
- 
--      if (!new_type)
-+      if (!new_type) {
-+              free(info);
-               return CKR_HOST_MEMORY;
-+      }
-+
-       return sc_pkcs11_register_mechanism(p11card, new_type);
- }
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/security/opensc/pkg/PLIST,v
retrieving revision 1.11
diff -u -p -r1.11 PLIST
--- pkg/PLIST   16 Aug 2017 14:39:07 -0000      1.11
+++ pkg/PLIST   13 Sep 2018 19:08:54 -0000
@@ -2,13 +2,16 @@
 @bin bin/cardos-tool
 @bin bin/cryptoflex-tool
 @bin bin/dnie-tool
+@bin bin/egk-tool
 @bin bin/eidenv
 @bin bin/gids-tool
 @bin bin/iasecc-tool
 @bin bin/netkey-tool
 @bin bin/npa-tool
 @bin bin/openpgp-tool
+@bin bin/opensc-asn1
 @bin bin/opensc-explorer
+@bin bin/opensc-notify
 @bin bin/opensc-tool
 @bin bin/piv-tool
 @bin bin/pkcs11-tool
@@ -31,13 +34,16 @@ lib/pkgconfig/libopensc.pc
 @man man/man1/cardos-tool.1
 @man man/man1/cryptoflex-tool.1
 @man man/man1/dnie-tool.1
+@man man/man1/egk-tool.1
 @man man/man1/eidenv.1
 @man man/man1/gids-tool.1
 @man man/man1/iasecc-tool.1
 @man man/man1/netkey-tool.1
 @man man/man1/npa-tool.1
 @man man/man1/openpgp-tool.1
+@man man/man1/opensc-asn1.1
 @man man/man1/opensc-explorer.1
+@man man/man1/opensc-notify.1
 @man man/man1/opensc-tool.1
 @man man/man1/piv-tool.1
 @man man/man1/pkcs11-tool.1
@@ -46,9 +52,11 @@ lib/pkgconfig/libopensc.pc
 @man man/man1/pkcs15-tool.1
 @man man/man1/sc-hsm-tool.1
 @man man/man1/westcos-tool.1
+@man man/man5/opensc.conf.5
 @man man/man5/pkcs15-profile.5
 @comment share/doc/opensc/
 @comment share/doc/opensc/NEWS
+share/doc/opensc/opensc.conf
 share/examples/opensc/
 share/examples/opensc/opensc.conf
 @mode 644

Reply via email to