forked from pool/libp11
This commit is contained in:
parent
7f8bf75aa1
commit
74f063623c
@ -1,2 +1 @@
|
|||||||
libp11
|
libp11-1
|
||||||
libp11-0
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:cb0bfa332e124373e843d82a152a2a3c5989cca4a3c344c47076ae4e618cc5da
|
|
||||||
size 305743
|
|
3
libp11-0.2.4.tar.bz2
Normal file
3
libp11-0.2.4.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:82727e24018eb93280476a4c8f61f4dd24f62584a1f36faf839decfb422bbc6c
|
||||||
|
size 306885
|
22
libp11-api-fix.patch
Normal file
22
libp11-api-fix.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
--- src/libp11.h
|
||||||
|
+++ src/libp11.h
|
||||||
|
@@ -112,7 +112,7 @@
|
||||||
|
*
|
||||||
|
* @return none
|
||||||
|
*/
|
||||||
|
-extern void *PKCS11_CTX_init_args(PKCS11_CTX * ctx, const char * init_args);
|
||||||
|
+extern void PKCS11_CTX_init_args(PKCS11_CTX * ctx, const char * init_args);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load a PKCS#11 module
|
||||||
|
--- src/p11_load.c
|
||||||
|
+++ src/p11_load.c
|
||||||
|
@@ -43,7 +43,7 @@
|
||||||
|
/*
|
||||||
|
* Set private init args for module
|
||||||
|
*/
|
||||||
|
-void *PKCS11_CTX_init_args(PKCS11_CTX * ctx, const char *init_args)
|
||||||
|
+void PKCS11_CTX_init_args(PKCS11_CTX * ctx, const char *init_args)
|
||||||
|
{
|
||||||
|
PKCS11_CTX_private *priv = PRIVCTX(ctx);
|
||||||
|
priv->init_args = init_args ? strdup(init_args) : NULL;
|
15
libp11-api-update.patch
Normal file
15
libp11-api-update.patch
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
--- configure.ac
|
||||||
|
+++ configure.ac
|
||||||
|
@@ -20,9 +20,9 @@
|
||||||
|
# (Code changed: REVISION++)
|
||||||
|
# (Oldest interface removed: OLDEST++)
|
||||||
|
# (Interfaces added: CURRENT++, REVISION=0)
|
||||||
|
-LIBP11_LT_CURRENT="1"
|
||||||
|
-LIBP11_LT_OLDEST="0"
|
||||||
|
-LIBP11_LT_REVISION="2"
|
||||||
|
+LIBP11_LT_CURRENT="2"
|
||||||
|
+LIBP11_LT_OLDEST="1"
|
||||||
|
+LIBP11_LT_REVISION="0"
|
||||||
|
LIBP11_LT_AGE="$((${LIBP11_LT_CURRENT}-${LIBP11_LT_OLDEST}))"
|
||||||
|
|
||||||
|
AC_CONFIG_SRCDIR([src/libp11.h])
|
@ -1,6 +1,62 @@
|
|||||||
|
--- src/libp11.h
|
||||||
|
+++ src/libp11.h
|
||||||
|
@@ -53,7 +53,7 @@
|
||||||
|
typedef struct PKCS11_key_st {
|
||||||
|
char *label;
|
||||||
|
unsigned char *id;
|
||||||
|
- int id_len;
|
||||||
|
+ size_t id_len;
|
||||||
|
unsigned char isPrivate; /**< private key present? */
|
||||||
|
unsigned char needLogin; /**< login to read private key? */
|
||||||
|
EVP_PKEY *evp_key; /**< initially NULL, need to call PKCS11_load_key */
|
||||||
|
@@ -64,7 +64,7 @@
|
||||||
|
typedef struct PKCS11_cert_st {
|
||||||
|
char *label;
|
||||||
|
unsigned char *id;
|
||||||
|
- int id_len;
|
||||||
|
+ size_t id_len;
|
||||||
|
X509 *x509;
|
||||||
|
void *_private;
|
||||||
|
} PKCS11_CERT;
|
||||||
|
@@ -291,7 +291,7 @@
|
||||||
|
* @retval -1 error
|
||||||
|
*/
|
||||||
|
|
||||||
|
-extern int PKCS11_generate_key(PKCS11_TOKEN * token, int algorithm, unsigned int bits, char *label, unsigned char* id, unsigned int id_len);
|
||||||
|
+extern int PKCS11_generate_key(PKCS11_TOKEN * token, int algorithm, unsigned int bits, char *label, unsigned char* id, size_t id_len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store private key on a token
|
||||||
|
@@ -304,7 +304,7 @@
|
||||||
|
* @retval 0 success
|
||||||
|
* @retval -1 error
|
||||||
|
*/
|
||||||
|
-extern int PKCS11_store_private_key(PKCS11_TOKEN * token, EVP_PKEY * pk, char *label, unsigned char *id, unsigned int id_len);
|
||||||
|
+extern int PKCS11_store_private_key(PKCS11_TOKEN * token, EVP_PKEY * pk, char *label, unsigned char *id, size_t id_len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store public key on a token
|
||||||
|
@@ -317,7 +317,7 @@
|
||||||
|
* @retval 0 success
|
||||||
|
* @retval -1 error
|
||||||
|
*/
|
||||||
|
-extern int PKCS11_store_public_key(PKCS11_TOKEN * token, EVP_PKEY * pk, char *label, unsigned char *id, unsigned int id_len);
|
||||||
|
+extern int PKCS11_store_public_key(PKCS11_TOKEN * token, EVP_PKEY * pk, char *label, unsigned char *id, size_t id_len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store certificate on a token
|
||||||
|
@@ -332,7 +332,7 @@
|
||||||
|
* @retval -1 error
|
||||||
|
*/
|
||||||
|
extern int PKCS11_store_certificate(PKCS11_TOKEN * token, X509 * x509,
|
||||||
|
- char *label, unsigned char *id, unsigned int id_len,
|
||||||
|
+ char *label, unsigned char *id, size_t id_len,
|
||||||
|
PKCS11_CERT **ret_cert);
|
||||||
|
|
||||||
|
/* rsa private key operations */
|
||||||
--- src/p11_cert.c
|
--- src/p11_cert.c
|
||||||
+++ src/p11_cert.c
|
+++ src/p11_cert.c
|
||||||
@@ -173,7 +173,7 @@
|
@@ -174,7 +174,7 @@
|
||||||
cert->x509 = d2i_X509(NULL, &p, size);
|
cert->x509 = d2i_X509(NULL, &p, size);
|
||||||
}
|
}
|
||||||
cert->id_len = sizeof(id);
|
cert->id_len = sizeof(id);
|
||||||
@ -9,9 +65,56 @@
|
|||||||
cert->id = (unsigned char *) malloc(cert->id_len);
|
cert->id = (unsigned char *) malloc(cert->id_len);
|
||||||
memcpy(cert->id, id, cert->id_len);
|
memcpy(cert->id, id, cert->id_len);
|
||||||
}
|
}
|
||||||
|
@@ -219,7 +219,7 @@
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
PKCS11_store_certificate(PKCS11_TOKEN * token, X509 * x509, char *label,
|
||||||
|
- unsigned char *id, unsigned int id_len,
|
||||||
|
+ unsigned char *id, size_t id_len,
|
||||||
|
PKCS11_CERT ** ret_cert)
|
||||||
|
{
|
||||||
|
PKCS11_SLOT *slot = TOKEN2SLOT(token);
|
||||||
--- src/p11_key.c
|
--- src/p11_key.c
|
||||||
+++ src/p11_key.c
|
+++ src/p11_key.c
|
||||||
@@ -282,7 +282,7 @@
|
@@ -31,9 +31,9 @@
|
||||||
|
CK_SESSION_HANDLE session, CK_OBJECT_HANDLE o,
|
||||||
|
CK_OBJECT_CLASS type, PKCS11_KEY **);
|
||||||
|
static int pkcs11_store_private_key(PKCS11_TOKEN *, EVP_PKEY *, char *,
|
||||||
|
- unsigned char *, unsigned int, PKCS11_KEY **);
|
||||||
|
+ unsigned char *, size_t, PKCS11_KEY **);
|
||||||
|
static int pkcs11_store_public_key(PKCS11_TOKEN *, EVP_PKEY *, char *,
|
||||||
|
- unsigned char *, unsigned int, PKCS11_KEY **);
|
||||||
|
+ unsigned char *, size_t, PKCS11_KEY **);
|
||||||
|
|
||||||
|
static CK_OBJECT_CLASS key_search_class;
|
||||||
|
static CK_ATTRIBUTE key_search_attrs[] = {
|
||||||
|
@@ -93,14 +93,14 @@
|
||||||
|
/*
|
||||||
|
* Store a private key on the token
|
||||||
|
*/
|
||||||
|
-int PKCS11_store_private_key(PKCS11_TOKEN * token, EVP_PKEY * pk, char *label, unsigned char *id, unsigned int id_len)
|
||||||
|
+int PKCS11_store_private_key(PKCS11_TOKEN * token, EVP_PKEY * pk, char *label, unsigned char *id, size_t id_len)
|
||||||
|
{
|
||||||
|
if (pkcs11_store_private_key(token, pk, label, id, id_len, NULL))
|
||||||
|
return -1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-int PKCS11_store_public_key(PKCS11_TOKEN * token, EVP_PKEY * pk, char *label, unsigned char *id, unsigned int id_len)
|
||||||
|
+int PKCS11_store_public_key(PKCS11_TOKEN * token, EVP_PKEY * pk, char *label, unsigned char *id, size_t id_len)
|
||||||
|
{
|
||||||
|
if (pkcs11_store_public_key(token, pk, label, id, id_len, NULL))
|
||||||
|
return -1;
|
||||||
|
@@ -114,7 +114,7 @@
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
PKCS11_generate_key(PKCS11_TOKEN * token,
|
||||||
|
- int algorithm, unsigned int bits, char *label, unsigned char* id, unsigned int id_len)
|
||||||
|
+ int algorithm, unsigned int bits, char *label, unsigned char* id, size_t id_len)
|
||||||
|
{
|
||||||
|
PKCS11_KEY *key_obj;
|
||||||
|
EVP_PKEY *pk;
|
||||||
|
@@ -283,7 +283,7 @@
|
||||||
if (!pkcs11_getattr_s(token, obj, CKA_LABEL, label, sizeof(label)))
|
if (!pkcs11_getattr_s(token, obj, CKA_LABEL, label, sizeof(label)))
|
||||||
key->label = BUF_strdup(label);
|
key->label = BUF_strdup(label);
|
||||||
key->id_len = sizeof(id);
|
key->id_len = sizeof(id);
|
||||||
@ -20,3 +123,32 @@
|
|||||||
key->id = (unsigned char *) malloc(key->id_len);
|
key->id = (unsigned char *) malloc(key->id_len);
|
||||||
memcpy(key->id, id, key->id_len);
|
memcpy(key->id, id, key->id_len);
|
||||||
}
|
}
|
||||||
|
@@ -329,7 +329,7 @@
|
||||||
|
* Store private key
|
||||||
|
*/
|
||||||
|
static int pkcs11_store_private_key(PKCS11_TOKEN * token, EVP_PKEY * pk,
|
||||||
|
- char *label, unsigned char *id, unsigned int id_len,
|
||||||
|
+ char *label, unsigned char *id, size_t id_len,
|
||||||
|
PKCS11_KEY ** ret_key)
|
||||||
|
{
|
||||||
|
PKCS11_SLOT *slot = TOKEN2SLOT(token);
|
||||||
|
@@ -392,7 +392,7 @@
|
||||||
|
* Store public key
|
||||||
|
*/
|
||||||
|
static int pkcs11_store_public_key(PKCS11_TOKEN * token, EVP_PKEY * pk,
|
||||||
|
- char *label, unsigned char *id, unsigned int id_len,
|
||||||
|
+ char *label, unsigned char *id, size_t id_len,
|
||||||
|
PKCS11_KEY ** ret_key)
|
||||||
|
{
|
||||||
|
PKCS11_SLOT *slot = TOKEN2SLOT(token);
|
||||||
|
--- src/pkcs11.h
|
||||||
|
+++ src/pkcs11.h
|
||||||
|
@@ -460,7 +460,7 @@
|
||||||
|
{
|
||||||
|
ck_attribute_type_t type;
|
||||||
|
void *value;
|
||||||
|
- unsigned long value_len;
|
||||||
|
+ size_t value_len;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 19 14:53:13 CEST 2008 - sbrabec@suse.cz
|
||||||
|
|
||||||
|
- Updated to version 0.2.4:
|
||||||
|
* Build system rewritten
|
||||||
|
* added PKCS11_CTX_init_args
|
||||||
|
* fix segfault in init_args code
|
||||||
|
* implemented PKCS11_private_encrypt
|
||||||
|
- Fixed incorrect API.
|
||||||
|
- Fixed x86_64 issues.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de
|
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de
|
||||||
|
|
||||||
|
63
libp11.spec
63
libp11.spec
@ -1,10 +1,17 @@
|
|||||||
#
|
#
|
||||||
# spec file for package libp11 (Version 0.2.3)
|
# spec file for package libp11 (Version 0.2.4)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
# This file and all modifications and additions to the pristine
|
|
||||||
# package are under the same license as the package itself.
|
|
||||||
#
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -12,14 +19,17 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: libp11
|
Name: libp11
|
||||||
Version: 0.2.3
|
Version: 0.2.4
|
||||||
Release: 3
|
Release: 1
|
||||||
Url: http://www.opensc-project.org/libp11/
|
Url: http://www.opensc-project.org/libp11/
|
||||||
Group: Productivity/Security
|
Group: Productivity/Security
|
||||||
License: LGPL v2.1 or later
|
License: LGPL v2.1 or later
|
||||||
Summary: Library Implementing a Small Layer on Top of PKCS#11 API
|
Summary: Library Implementing a Small Layer on Top of PKCS#11 API
|
||||||
Source: %{name}-%{version}.tar.bz2
|
Source: %{name}-%{version}.tar.bz2
|
||||||
|
# All three following patches were sent to upstream:
|
||||||
Patch: libp11-strict-aliasing.patch
|
Patch: libp11-strict-aliasing.patch
|
||||||
|
Patch1: libp11-api-fix.patch
|
||||||
|
Patch2: libp11-api-update.patch
|
||||||
BuildRequires: openssl-devel pkg-config zlib-devel
|
BuildRequires: openssl-devel pkg-config zlib-devel
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
@ -45,14 +55,14 @@ Authors:
|
|||||||
Olaf Kirch
|
Olaf Kirch
|
||||||
Stef Hoeben
|
Stef Hoeben
|
||||||
|
|
||||||
%package -n libp11-0
|
%package -n libp11-1
|
||||||
License: LGPL v2.1 or later
|
License: LGPL v2.1 or later
|
||||||
Group: Productivity/Security
|
Group: Productivity/Security
|
||||||
Summary: Library Implementing a Small Layer on Top of PKCS#11 API
|
Summary: Library Implementing a Small Layer on Top of PKCS#11 API
|
||||||
Provides: %{name} = %{version}
|
Provides: %{name} = %{version}
|
||||||
Obsoletes: %{name} <= %{version}
|
Obsoletes: %{name} <= %{version}
|
||||||
|
|
||||||
%description -n libp11-0
|
%description -n libp11-1
|
||||||
Libp11 is a library implementing a small layer on top of PKCS#11 API to
|
Libp11 is a library implementing a small layer on top of PKCS#11 API to
|
||||||
make using PKCS#11 implementations easier.
|
make using PKCS#11 implementations easier.
|
||||||
|
|
||||||
@ -78,7 +88,7 @@ Authors:
|
|||||||
License: LGPL v2.1 or later
|
License: LGPL v2.1 or later
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Summary: Library Implementing a Small Layer on Top of PKCS#11 API
|
Summary: Library Implementing a Small Layer on Top of PKCS#11 API
|
||||||
Requires: libp11-0 = %{version} glibc-devel openssl-devel libtool
|
Requires: libp11-1 = %{version} glibc-devel openssl-devel libtool zlib-devel
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Libp11 is a library implementing a small layer on top of PKCS#11 API to
|
Libp11 is a library implementing a small layer on top of PKCS#11 API to
|
||||||
@ -105,45 +115,50 @@ Authors:
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch
|
%patch
|
||||||
|
%patch1
|
||||||
|
%patch2
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure\
|
||||||
|
--enable-doc\
|
||||||
|
--docdir=%{_docdir}/libp11-1\
|
||||||
|
--enable-api-doc\
|
||||||
|
--with-apidocdir=%{_docdir}/%{name}-devel
|
||||||
make %{?jobs:-j%jobs}
|
make %{?jobs:-j%jobs}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%makeinstall
|
%makeinstall
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name} $RPM_BUILD_ROOT%{_docdir}/libp11-0
|
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name} $RPM_BUILD_ROOT%{_docdir}/libp11-1
|
||||||
cp -a COPYING NEWS doc/README doc/ChangeLog doc/*.css doc/*.html $RPM_BUILD_ROOT%{_docdir}/libp11-0
|
|
||||||
cp -a doc/api $RPM_BUILD_ROOT%{_docdir}/%{name}
|
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%post -n libp11-0 -p /sbin/ldconfig
|
%post -n libp11-1 -p /sbin/ldconfig
|
||||||
|
|
||||||
%postun -n libp11-0 -p /sbin/ldconfig
|
%postun -n libp11-1 -p /sbin/ldconfig
|
||||||
|
|
||||||
%files -n libp11-0
|
%files -n libp11-1
|
||||||
%defattr (-, root, root)
|
%defattr (-, root, root)
|
||||||
%doc %dir %{_docdir}/libp11-0
|
%doc %{_docdir}/libp11-1
|
||||||
%doc %{_docdir}/libp11-0/COPYING
|
|
||||||
%doc %{_docdir}/libp11-0/NEWS
|
|
||||||
%doc %{_docdir}/libp11-0/README
|
|
||||||
%doc %{_docdir}/libp11-0/ChangeLog
|
|
||||||
%doc %{_docdir}/libp11-0/*.html
|
|
||||||
%doc %{_docdir}/libp11-0/*.css
|
|
||||||
%{_libdir}/*.so.*
|
%{_libdir}/*.so.*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr (-, root, root)
|
%defattr (-, root, root)
|
||||||
%doc %dir %{_docdir}/%{name}
|
%doc %{_docdir}/%{name}-devel
|
||||||
%doc %{_docdir}/%{name}/api
|
|
||||||
%{_includedir}/*.h
|
%{_includedir}/*.h
|
||||||
%{_libdir}/*.so
|
%{_libdir}/*.so
|
||||||
%{_libdir}/*.*a
|
%{_libdir}/*.*a
|
||||||
%{_libdir}/pkgconfig/*.pc
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Aug 19 2008 sbrabec@suse.cz
|
||||||
|
- Updated to version 0.2.4:
|
||||||
|
* Build system rewritten
|
||||||
|
* added PKCS11_CTX_init_args
|
||||||
|
* fix segfault in init_args code
|
||||||
|
* implemented PKCS11_private_encrypt
|
||||||
|
- Fixed incorrect API.
|
||||||
|
- Fixed x86_64 issues.
|
||||||
* Thu Apr 10 2008 ro@suse.de
|
* Thu Apr 10 2008 ro@suse.de
|
||||||
- added baselibs.conf file to build xxbit packages
|
- added baselibs.conf file to build xxbit packages
|
||||||
for multilib support
|
for multilib support
|
||||||
|
Loading…
Reference in New Issue
Block a user