From 2e3575f092843d40af873bfbd98293a229e1f037 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos nmav@redhat.com Date: Sun, 30 Apr 2017 23:10:05 +0200 Subject: Update to 0.4.6-1
- Update to upstream 0.4.6 release --- .gitignore | 1 + 0001-Destroy-cert-cache-on-login-logout-too.patch | 35 ------- libp11-0.4.0-paths.patch | 33 ------- libp11-0.4.2-openssl.patch | 75 --------------- libp11-0.4.2-soname.patch | 80 ---------------- libp11-0.4.2-versioned-symbols.patch | 106 ---------------------- libp11.spec | 17 ++-- sources | 3 +- 8 files changed, 8 insertions(+), 342 deletions(-) delete mode 100644 0001-Destroy-cert-cache-on-login-logout-too.patch delete mode 100644 libp11-0.4.0-paths.patch delete mode 100644 libp11-0.4.2-openssl.patch delete mode 100644 libp11-0.4.2-soname.patch delete mode 100644 libp11-0.4.2-versioned-symbols.patch
diff --git a/.gitignore b/.gitignore index 933649c..024cc2d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ libp11-0.2.7.tar.gz /libp11-0.4.0.tar.gz /libp11-0.4.2.tar.gz /libp11-0.4.2.tar.gz.asc +/libp11-0.4.6.tar.gz diff --git a/0001-Destroy-cert-cache-on-login-logout-too.patch b/0001-Destroy-cert-cache-on-login-logout-too.patch deleted file mode 100644 index 9193a29..0000000 --- a/0001-Destroy-cert-cache-on-login-logout-too.patch +++ /dev/null @@ -1,35 +0,0 @@ -From bbcfd7b51b0606496c82be8eb8c2a5bf65eca167 Mon Sep 17 00:00:00 2001 -From: David Woodhouse David.Woodhouse@intel.com -Date: Mon, 5 Sep 2016 21:38:09 +0100 -Subject: [PATCH] Destroy cert cache on login/logout too - -Certificates can have the CKA_PRIVATE attribute, so that you need to log -in before you can see them. So destroy the cache when we log in, just as -we do the cache of keys. ---- - src/p11_slot.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/p11_slot.c b/src/p11_slot.c -index f031b3e..1fe40ab 100644 ---- a/src/p11_slot.c -+++ b/src/p11_slot.c -@@ -195,6 +195,7 @@ int pkcs11_login(PKCS11_SLOT * slot, int so, const char *pin, int relogin) - if (slot->token) { - pkcs11_destroy_keys(slot->token, CKO_PRIVATE_KEY); - pkcs11_destroy_keys(slot->token, CKO_PUBLIC_KEY); -+ pkcs11_destroy_certs(slot->token); - } - if (spriv->loggedIn) { - /* already logged in, log out first */ -@@ -251,6 +252,7 @@ int pkcs11_logout(PKCS11_SLOT * slot) - if (slot->token) { - pkcs11_destroy_keys(slot->token, CKO_PRIVATE_KEY); - pkcs11_destroy_keys(slot->token, CKO_PUBLIC_KEY); -+ pkcs11_destroy_certs(slot->token); - } - if (!spriv->haveSession) { - PKCS11err(PKCS11_F_PKCS11_LOGOUT, PKCS11_NO_SESSION); --- -2.5.5 - diff --git a/libp11-0.4.0-paths.patch b/libp11-0.4.0-paths.patch deleted file mode 100644 index 325e779..0000000 --- a/libp11-0.4.0-paths.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/examples/listkeys.c b/examples/listkeys.c -index 5e4249b..38e16b9 100644 ---- a/examples/listkeys.c -+++ b/examples/listkeys.c -@@ -77,13 +77,6 @@ int main(int argc, char *argv[]) - printf("Slot token model.......: %s\n", slot->token->model); - printf("Slot token serialnr....: %s\n", slot->token->serialnr); - -- /* get public keys */ -- rc = PKCS11_enumerate_public_keys(slot->token, &keys, &nkeys); -- error_queue("PKCS11_enumerate_public_keys"); -- CHECK_ERR(rc < 0, "PKCS11_enumerate_public_keys failed", 4); -- CHECK_ERR(nkeys == 0, "No public keys found", 5); -- list_keys("Public keys", keys, nkeys); -- - if (slot->token->loginRequired && argc > 2) { - strcpy(password, argv[2]); - /* perform pkcs #11 login */ -@@ -93,6 +86,13 @@ int main(int argc, char *argv[]) - CHECK_ERR(rc < 0, "PKCS11_login failed", 6); - } - -+ /* get public keys */ -+ rc = PKCS11_enumerate_public_keys(slot->token, &keys, &nkeys); -+ error_queue("PKCS11_enumerate_public_keys"); -+ CHECK_ERR(rc < 0, "PKCS11_enumerate_public_keys failed", 4); -+ CHECK_ERR(nkeys == 0, "No public keys found", 5); -+ list_keys("Public keys", keys, nkeys); -+ - /* get private keys */ - rc = PKCS11_enumerate_keys(slot->token, &keys, &nkeys); - error_queue("PKCS11_enumerate_keys"); - diff --git a/libp11-0.4.2-openssl.patch b/libp11-0.4.2-openssl.patch deleted file mode 100644 index abaa240..0000000 --- a/libp11-0.4.2-openssl.patch +++ /dev/null @@ -1,75 +0,0 @@ -diff --git a/src/eng_front.c b/src/eng_front.c -index d170604..c4fac6d 100644 ---- a/src/eng_front.c -+++ b/src/eng_front.c -@@ -68,7 +68,9 @@ - #include <openssl/crypto.h> - #include <openssl/objects.h> - #include <openssl/engine.h> --#include <openssl/dso.h> -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+# include <openssl/dso.h> -+#endif - #ifndef ENGINE_CMD_BASE - #error did not get engine.h - #endif -diff --git a/src/p11_ec.c b/src/p11_ec.c -index dd1742e..d2966cc 100644 ---- a/src/p11_ec.c -+++ b/src/p11_ec.c -@@ -278,13 +278,19 @@ static ECDSA_SIG *pkcs11_ecdsa_sign_sig(const unsigned char *dgst, int dlen, - if (sig == NULL) - return NULL; - #if OPENSSL_VERSION_NUMBER >= 0x10100000L -- ECDSA_SIG_get0(&r, &s, sig); -+ r = BN_new(); -+ s = BN_new(); - #else - r = sig->r; - s = sig->s; - #endif -+ - BN_bin2bn(sigret, siglen/2, r); - BN_bin2bn(sigret + siglen/2, siglen/2, s); -+ -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ ECDSA_SIG_set0(sig, r, s); -+#endif - return sig; - } - -diff --git a/src/p11_key.c b/src/p11_key.c -index 3a38907..65667c2 100644 ---- a/src/p11_key.c -+++ b/src/p11_key.c -@@ -223,7 +223,7 @@ static int pkcs11_store_key(PKCS11_TOKEN * token, EVP_PKEY * pk, - CK_ATTRIBUTE attrs[32]; - unsigned int n = 0; - int rv; -- BIGNUM *rsa_n, *rsa_e, *rsa_d, *rsa_p, *rsa_q; -+ const BIGNUM *rsa_n, *rsa_e, *rsa_d, *rsa_p, *rsa_q; - - /* First, make sure we have a session */ - if (!spriv->haveSession && PKCS11_open_session(slot, 1)) -diff --git a/src/p11_rsa.c b/src/p11_rsa.c -index e36bc76..f0aa822 100644 ---- a/src/p11_rsa.c -+++ b/src/p11_rsa.c -@@ -271,7 +271,7 @@ static EVP_PKEY *pkcs11_get_evp_key_rsa(PKCS11_KEY *key) - int pkcs11_get_key_modulus(PKCS11_KEY *key, BIGNUM **bn) - { - RSA *rsa = pkcs11_rsa(key); -- BIGNUM *rsa_n; -+ const BIGNUM *rsa_n; - - if (rsa == NULL) - return 0; -@@ -288,7 +288,7 @@ int pkcs11_get_key_modulus(PKCS11_KEY *key, BIGNUM **bn) - int pkcs11_get_key_exponent(PKCS11_KEY *key, BIGNUM **bn) - { - RSA *rsa = pkcs11_rsa(key); -- BIGNUM *rsa_e; -+ const BIGNUM *rsa_e; - - if (rsa == NULL) - return 0; diff --git a/libp11-0.4.2-soname.patch b/libp11-0.4.2-soname.patch deleted file mode 100644 index 22e5a2e..0000000 --- a/libp11-0.4.2-soname.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 2f79b80..c56acf9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2,6 +2,7 @@ dnl -*- mode: m4; -*- - - AC_PREREQ(2.60) - -+# When bumping versions see also the LT vesion numbers below. - define([PACKAGE_VERSION_MAJOR], [0]) - define([PACKAGE_VERSION_MINOR], [4]) - define([PACKAGE_VERSION_FIX], [2]) -@@ -17,15 +18,6 @@ LIBP11_VERSION_MAJOR="PACKAGE_VERSION_MAJOR" - LIBP11_VERSION_MINOR="PACKAGE_VERSION_MINOR" - LIBP11_VERSION_FIX="PACKAGE_VERSION_FIX" - --# LT Version numbers, remember to change them just *before* a release. --# (Code changed: REVISION++) --# (Oldest interface removed: OLDEST++) --# (Interfaces added: CURRENT++, REVISION=0) --LIBP11_LT_CURRENT="6" --LIBP11_LT_OLDEST="2" --LIBP11_LT_REVISION="2" --LIBP11_LT_AGE="$((${LIBP11_LT_CURRENT}-${LIBP11_LT_OLDEST}))" -- - AC_CONFIG_SRCDIR([src/libp11.h]) - - # silent build by default -@@ -36,6 +28,35 @@ AC_PROG_CC - PKG_PROG_PKG_CONFIG - AC_C_BIGENDIAN - -+# we need to set our soversion based on openssl's soversion to avoid -+# issues with applications linking to new openssl, old libp11, and vice versa -+case "`$PKG_CONFIG --modversion --silence-errors libcrypto || \ -+ $PKG_CONFIG --modversion openssl`" in -+ 1.1.*) # Predicted engines directory prefix for OpenSSL 1.1.x -+ LIBP11_LT_OLDEST="3" -+ debian_ssl_prefix="openssl-1.1.0";; -+ 1.0.*) # Engines directory prefix for OpenSSL 1.0.x -+ LIBP11_LT_OLDEST="2" -+ debian_ssl_prefix="openssl-1.0.0";; -+ *) # Engines directory prefix for OpenSSL 0.9.x -+ LIBP11_LT_OLDEST="2" -+ debian_ssl_prefix="ssl";; -+esac -+ -+ -+# LT Version numbers, remember to change them just *before* a release. -+# (Code changed: REVISION++) -+# (Oldest interface removed: OLDEST++) -+# (Interfaces added: CURRENT++, REVISION=0) -+# -+# Note that at this moment we tie the oldest (soname) version to -+# the openssl version we link to. If the ABI is broken on a later -+# release, we should either stick to supporting a single openssl ABI -+# or bump the LT_OLDEST version sufficiently to avoid clashes. -+LIBP11_LT_REVISION="2" -+LIBP11_LT_CURRENT="6" -+LIBP11_LT_AGE="$((${LIBP11_LT_CURRENT}-${LIBP11_LT_OLDEST}))" -+ - gl_LD_VERSION_SCRIPT - - AC_ARG_WITH( -@@ -108,15 +129,6 @@ AC_ARG_WITH( - if test "${enginesdir}" = ""; then - libcryptodir="`$PKG_CONFIG --variable=libdir --silence-errors libcrypto || \ - $PKG_CONFIG --variable=libdir openssl`" -- case "`$PKG_CONFIG --modversion --silence-errors libcrypto || \ -- $PKG_CONFIG --modversion openssl`" in -- 1.1.*) # Predicted engines directory prefix for OpenSSL 1.1.x -- debian_ssl_prefix="openssl-1.1.0";; -- 1.0.*) # Engines directory prefix for OpenSSL 1.0.x -- debian_ssl_prefix="openssl-1.0.0";; -- *) # Engines directory prefix for OpenSSL 0.9.x -- debian_ssl_prefix="ssl";; -- esac - if test -d "$libcryptodir/$debian_ssl_prefix/engines"; then - # Debian-based OpenSSL package (for example Ubuntu) - enginesdir="$libcryptodir/$debian_ssl_prefix/engines" diff --git a/libp11-0.4.2-versioned-symbols.patch b/libp11-0.4.2-versioned-symbols.patch deleted file mode 100644 index eb25b0d..0000000 --- a/libp11-0.4.2-versioned-symbols.patch +++ /dev/null @@ -1,106 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index a69e230..2f79b80 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -36,6 +36,8 @@ AC_PROG_CC - PKG_PROG_PKG_CONFIG - AC_C_BIGENDIAN - -+gl_LD_VERSION_SCRIPT -+ - AC_ARG_WITH( - [cygwin-native], - [AS_HELP_STRING([--with-cygwin-native],[compile native win32])], -@@ -221,6 +223,18 @@ if test "${enable_strict}" = "yes"; then - CFLAGS="${CFLAGS} -Wall -Wextra" - fi - -+rm -f src/libp11.map -+echo "LIBP11_${LIBP11_LT_OLDEST}" > src/libp11.map -+echo "{" >> src/libp11.map -+echo "global:" >> src/libp11.map -+tr '\n' ';' <src/libp11.exports >>src/libp11.map -+echo "" >> src/libp11.map -+echo "local:" >> src/libp11.map -+echo '*;' >> src/libp11.map -+echo "};" >> src/libp11.map -+ -+chmod ugo-w src/libp11.map -+ - AC_CONFIG_FILES([ - Makefile - src/Makefile -diff --git a/m4/ld-version-script.m4 b/m4/ld-version-script.m4 -new file mode 100644 -index 0000000..330c2cc ---- /dev/null -+++ b/m4/ld-version-script.m4 -@@ -0,0 +1,48 @@ -+# ld-version-script.m4 serial 4 -+dnl Copyright (C) 2008-2016 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Simon Josefsson -+ -+# FIXME: The test below returns a false positive for mingw -+# cross-compiles, 'local:' statements does not reduce number of -+# exported symbols in a DLL. Use --disable-ld-version-script to work -+# around the problem. -+ -+# gl_LD_VERSION_SCRIPT -+# -------------------- -+# Check if LD supports linker scripts, and define automake conditional -+# HAVE_LD_VERSION_SCRIPT if so. -+AC_DEFUN([gl_LD_VERSION_SCRIPT], -+[ -+ AC_ARG_ENABLE([ld-version-script], -+ [AS_HELP_STRING([--enable-ld-version-script], -+ [enable linker version script (default is enabled when possible)])], -+ [have_ld_version_script=$enableval], -+ [AC_CACHE_CHECK([if LD -Wl,--version-script works], -+ [gl_cv_sys_ld_version_script], -+ [gl_cv_sys_ld_version_script=no -+ save_LDFLAGS=$LDFLAGS -+ LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" -+ echo foo >conftest.map -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], -+ [], -+ [cat > conftest.map <<EOF -+VERS_1 { -+ global: sym; -+}; -+ -+VERS_2 { -+ global: sym; -+} VERS_1; -+EOF -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], -+ [gl_cv_sys_ld_version_script=yes])]) -+ rm -f conftest.map -+ LDFLAGS=$save_LDFLAGS]) -+ have_ld_version_script=$gl_cv_sys_ld_version_script]) -+ AM_CONDITIONAL([HAVE_LD_VERSION_SCRIPT], -+ [test "$have_ld_version_script" = yes]) -+]) -diff --git a/src/Makefile.am b/src/Makefile.am -index c39266b..8f6df08 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -22,8 +22,13 @@ endif - libp11_la_CFLAGS = $(AM_CFLAGS) $(OPENSSL_CFLAGS) - libp11_la_LIBADD = $(OPENSSL_LIBS) - libp11_la_LDFLAGS = $(AM_LDFLAGS) \ -- -version-info @LIBP11_LT_CURRENT@:@LIBP11_LT_REVISION@:@LIBP11_LT_AGE@ \ -- -export-symbols "$(srcdir)/libp11.exports" -+ -version-info @LIBP11_LT_CURRENT@:@LIBP11_LT_REVISION@:@LIBP11_LT_AGE@ -+ -+if HAVE_LD_VERSION_SCRIPT -+libp11_la_LDFLAGS += -Wl,--version-script="$(srcdir)/libp11.map" -+else -+libp11_la_LDFLAGS += -export-symbols "$(srcdir)/libp11.exports" -+endif - - pkcs11_la_SOURCES = eng_front.c eng_back.c eng_parse.c engine.h pkcs11.exports - if WIN32 diff --git a/libp11.spec b/libp11.spec index 0d80452..ab32678 100644 --- a/libp11.spec +++ b/libp11.spec @@ -1,6 +1,7 @@ +# This spec file has been automatically updated +Version: 0.4.6 +Release: 1%{?dist} Name: libp11 -Version: 0.4.2 -Release: 4%{?dist} Summary: Library for using PKCS#11 modules
Group: System Environment/Libraries @@ -8,10 +9,6 @@ License: LGPLv2+ URL: https://github.com/OpenSC/libp11 Source0: https://github.com/OpenSC/libp11/releases/download/%%7Bname%7D-%%7Bversion%7... BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Patch1: libp11-0.4.0-paths.patch -Patch2: libp11-0.4.2-openssl.patch -Patch3: libp11-0.4.2-versioned-symbols.patch -Patch4: libp11-0.4.2-soname.patch
BuildRequires: autoconf automake libtool BuildRequires: doxygen graphviz @@ -57,11 +54,6 @@ cards and software for using smart cards in PKCS#11 format, such as OpenSC. %prep %setup -q
-%patch1 -p1 -b .paths -%patch2 -p1 -b .openssl -%patch3 -p1 -b .versioned-symbols -%patch4 -p1 -b .soname - %build autoreconf -fvi %configure --disable-static --enable-api-doc --with-enginesdir=%{_libdir}/engines-1.1 @@ -109,6 +101,9 @@ make check %{?_smp_mflags} %{_libdir}/engines-1.1/*.so
%changelog +* Sun Apr 30 2017 Nikos Mavrogiannopoulos nmav@redhat.com - 0.4.6-1 +- Update to upstream 0.4.6 release + * Fri Feb 10 2017 Fedora Release Engineering releng@fedoraproject.org - 0.4.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
diff --git a/sources b/sources index 167ae59..57af083 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -c0c792840505650cda943a472d443f9b libp11-0.4.2.tar.gz -0406ab518542c50818c0543910508260 libp11-0.4.2.tar.gz.asc +SHA512 (libp11-0.4.6.tar.gz) = fe335c0670befe0f9be541f1751f96aab4ef9572ae2ba67edd73d019ffe9cfdcff110667e6ecabf3591cd7c64bf57bc1feedd2aad879e8dd16f545ebf81e2a9f
scm-commits@lists.fedoraproject.org