fix build with recent nss (FS#72291)

This commit is contained in:
Christian Hesse
2021-10-10 21:50:52 +00:00
parent 2769607a63
commit 70af7ddd8f
2 changed files with 71 additions and 3 deletions

View File

@@ -0,0 +1,58 @@
From 083a3a62f2e631deec2fb2799d10660a41c50294 Mon Sep 17 00:00:00 2001
From: Alon Bar-Lev <alon.barlev@gmail.com>
Date: Fri, 30 Jul 2021 20:06:36 +0300
Subject: [PATCH] nss: use nss pkcs11.h
make nss happy with its own extensions and non-standard behavior.
---
lib/_pkcs11h-crypto-nss.c | 14 ++++++++++----
lib/common.h | 7 +++++++
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/lib/_pkcs11h-crypto-nss.c b/lib/_pkcs11h-crypto-nss.c
index 4b70e826..f57f9e6b 100644
--- a/lib/_pkcs11h-crypto-nss.c
+++ b/lib/_pkcs11h-crypto-nss.c
@@ -48,15 +48,21 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#include "common.h"
-
-#include "_pkcs11h-crypto.h"
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
#if defined(ENABLE_PKCS11H_ENGINE_NSS)
-#define _PKCS11T_H_ /* required so no conflict with ours */
#include <nss.h>
#include <cert.h>
+/* Use PKCS#11 of nss to avoid conflicts and make nss happy with its own extensions */
+#define PKCS11_H 1
+
+#include "common.h"
+
+#include "_pkcs11h-crypto.h"
+
static
int
__pkcs11h_crypto_nss_initialize (
diff --git a/lib/common.h b/lib/common.h
index 61a958af..2499e9c5 100644
--- a/lib/common.h
+++ b/lib/common.h
@@ -72,5 +72,12 @@
#define _PKCS11H_ASSERT assert
+#ifndef FALSE
+#define FALSE 0
+#endif
+#ifndef TRUE
+#define TRUE 1
+#endif
+
#endif

View File

@@ -5,18 +5,27 @@
pkgname=pkcs11-helper
pkgver=1.27.0
pkgrel=1
pkgrel=2
pkgdesc="A library that simplifies the interaction with PKCS11 providers for end-user applications using a simple API and optional OpenSSL engine"
arch=('x86_64')
url='https://github.com/OpenSC/pkcs11-helper'
license=(GPL BSD)
depends=('gnutls' 'nss' 'openssl')
provides=('libpkcs11-helper.so')
source=("https://github.com/OpenSC/${pkgname}/releases/download/${pkgname}-${pkgver%.0}/${pkgname}-${pkgver}.tar.bz2")
sha256sums=('653730f0c561bbf5941754c0783976113589b2dc64a0661c908dc878bfa4e58b')
source=("https://github.com/OpenSC/${pkgname}/releases/download/${pkgname}-${pkgver%.0}/${pkgname}-${pkgver}.tar.bz2"
'0001-nss-use-nss-pkcs11-h.patch')
sha256sums=('653730f0c561bbf5941754c0783976113589b2dc64a0661c908dc878bfa4e58b'
'a4a27c9f71c5f2cf57a79eeba2c6749424393c20e6b5967f46095b10f393f439')
prepare() {
cd pkcs11-helper-$pkgver
patch -Np1 < ../0001-nss-use-nss-pkcs11-h.patch
}
build() {
cd pkcs11-helper-$pkgver
libtoolize
aclocal
autoheader
@@ -28,6 +37,7 @@ build() {
package() {
cd pkcs11-helper-$pkgver
make DESTDIR="$pkgdir" install
mkdir -p "$pkgdir"/usr/share/licenses/$pkgname/
install -D -m0644 COPYING* "$pkgdir"/usr/share/licenses/$pkgname/