Update to 0.12.0

Removed and obsoleted mozilla-opensc-signer and opensc-devel
subpackages; dropped patches which are now upstreamed. It is no longer
possible to build in both pcsc-lite and openct support, so opensc now
gets built exclusively with pcsc-lite.
This commit is contained in:
Kalev Lember 2011-01-03 11:46:28 +02:00
parent 5a606bd3fb
commit cf90e5fef2
8 changed files with 24 additions and 341 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
opensc-0.11.13.tar.gz
/opensc-0.12.0.tar.gz

View File

@ -1,98 +0,0 @@
diff -up opensc-0.11.12/src/pkcs11/Makefile.am.no-add-needed opensc-0.11.12/src/pkcs11/Makefile.am
--- opensc-0.11.12/src/pkcs11/Makefile.am.no-add-needed 2010-02-14 22:59:02.000000000 +0200
+++ opensc-0.11.12/src/pkcs11/Makefile.am 2010-02-14 22:59:09.000000000 +0200
@@ -23,6 +23,7 @@ OPENSC_PKCS11_LIBS = $(OPTIONAL_OPENSSL_
$(top_builddir)/src/scconf/libscconf.la
libpkcs11_la_SOURCES = libpkcs11.c
+libpkcs11_la_LIBADD = $(LTLIB_LIBS)
opensc_pkcs11_la_SOURCES = $(OPENSC_PKCS11_SRC) $(OPENSC_PKCS11_INC) hack-disabled.c
opensc_pkcs11_la_LIBADD = $(OPENSC_PKCS11_LIBS)
diff -up opensc-0.11.12/src/pkcs11/Makefile.in.no-add-needed opensc-0.11.12/src/pkcs11/Makefile.in
--- opensc-0.11.12/src/pkcs11/Makefile.in.no-add-needed 2010-02-14 22:59:27.000000000 +0200
+++ opensc-0.11.12/src/pkcs11/Makefile.in 2010-02-14 22:59:50.000000000 +0200
@@ -82,10 +82,10 @@ am__base_list = \
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkcs11dir)" \
"$(DESTDIR)$(openscincludedir)"
LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-libpkcs11_la_LIBADD =
+am__DEPENDENCIES_1 =
+libpkcs11_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am_libpkcs11_la_OBJECTS = libpkcs11.lo
libpkcs11_la_OBJECTS = $(am_libpkcs11_la_OBJECTS)
-am__DEPENDENCIES_1 =
am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(top_builddir)/src/pkcs15init/libpkcs15init.la \
$(top_builddir)/src/libopensc/libopensc.la \
@@ -348,6 +348,7 @@ OPENSC_PKCS11_LIBS = $(OPTIONAL_OPENSSL_
$(top_builddir)/src/scconf/libscconf.la
libpkcs11_la_SOURCES = libpkcs11.c
+libpkcs11_la_LIBADD = $(LTLIB_LIBS)
opensc_pkcs11_la_SOURCES = $(OPENSC_PKCS11_SRC) $(OPENSC_PKCS11_INC) \
hack-disabled.c $(am__append_1)
opensc_pkcs11_la_LIBADD = $(OPENSC_PKCS11_LIBS)
diff -up opensc-0.11.12/src/tools/Makefile.am.no-add-needed opensc-0.11.12/src/tools/Makefile.am
--- opensc-0.11.12/src/tools/Makefile.am.no-add-needed 2009-12-13 11:14:26.000000000 +0200
+++ opensc-0.11.12/src/tools/Makefile.am 2010-02-14 22:57:35.000000000 +0200
@@ -22,6 +22,7 @@ LIBS = $(top_builddir)/src/libopensc/lib
$(top_builddir)/src/common/libcompat.la
opensc_tool_SOURCES = opensc-tool.c util.c
+opensc_tool_LDADD = $(top_builddir)/src/scconf/libscconf.la
piv_tool_SOURCES = piv-tool.c util.c
piv_tool_LDADD = $(OPTIONAL_OPENSSL_LIBS)
opensc_explorer_SOURCES = opensc-explorer.c util.c
@@ -39,6 +40,7 @@ pkcs15_init_SOURCES = pkcs15-init.c util
pkcs15_init_LDADD = $(OPTIONAL_OPENSSL_LIBS) \
$(top_builddir)/src/pkcs15init/libpkcs15init.la
cardos_tool_SOURCES = cardos-tool.c util.c
+cardos_tool_LDADD = $(OPTIONAL_OPENSSL_LIBS)
eidenv_SOURCES = eidenv.c
netkey_tool_SOURCES = netkey-tool.c
netkey_tool_LDADD = $(OPTIONAL_OPENSSL_LIBS)
diff -up opensc-0.11.12/src/tools/Makefile.in.no-add-needed opensc-0.11.12/src/tools/Makefile.in
--- opensc-0.11.12/src/tools/Makefile.in.no-add-needed 2009-12-18 15:26:19.000000000 +0200
+++ opensc-0.11.12/src/tools/Makefile.in 2010-02-14 22:59:51.000000000 +0200
@@ -85,13 +85,13 @@ am__cardos_tool_SOURCES_DIST = cardos-to
am_cardos_tool_OBJECTS = cardos-tool.$(OBJEXT) util.$(OBJEXT) \
$(am__objects_1)
cardos_tool_OBJECTS = $(am_cardos_tool_OBJECTS)
-cardos_tool_LDADD = $(LDADD)
+am__DEPENDENCIES_1 =
+cardos_tool_DEPENDENCIES = $(am__DEPENDENCIES_1)
am__cryptoflex_tool_SOURCES_DIST = cryptoflex-tool.c util.c \
versioninfo.rc
am_cryptoflex_tool_OBJECTS = cryptoflex-tool.$(OBJEXT) util.$(OBJEXT) \
$(am__objects_1)
cryptoflex_tool_OBJECTS = $(am_cryptoflex_tool_OBJECTS)
-am__DEPENDENCIES_1 =
cryptoflex_tool_DEPENDENCIES = $(am__DEPENDENCIES_1)
am__eidenv_SOURCES_DIST = eidenv.c versioninfo.rc
am_eidenv_OBJECTS = eidenv.$(OBJEXT) $(am__objects_1)
@@ -111,7 +111,7 @@ am__opensc_tool_SOURCES_DIST = opensc-to
am_opensc_tool_OBJECTS = opensc-tool.$(OBJEXT) util.$(OBJEXT) \
$(am__objects_1)
opensc_tool_OBJECTS = $(am_opensc_tool_OBJECTS)
-opensc_tool_LDADD = $(LDADD)
+opensc_tool_DEPENDENCIES = $(top_builddir)/src/scconf/libscconf.la
am__piv_tool_SOURCES_DIST = piv-tool.c util.c versioninfo.rc
am_piv_tool_OBJECTS = piv-tool.$(OBJEXT) util.$(OBJEXT) \
$(am__objects_1)
@@ -390,6 +390,7 @@ dist_bin_SCRIPTS = cardos-info $(am__app
AM_CFLAGS = $(OPTIONAL_OPENSSL_CFLAGS) $(OPTIONAL_READLINE_CFLAGS)
INCLUDES = -I$(top_srcdir)/src/common -I$(top_builddir)/src/include
opensc_tool_SOURCES = opensc-tool.c util.c $(am__append_3)
+opensc_tool_LDADD = $(top_builddir)/src/scconf/libscconf.la
piv_tool_SOURCES = piv-tool.c util.c $(am__append_4)
piv_tool_LDADD = $(OPTIONAL_OPENSSL_LIBS)
opensc_explorer_SOURCES = opensc-explorer.c util.c $(am__append_5)
@@ -409,6 +410,7 @@ pkcs15_init_LDADD = $(OPTIONAL_OPENSSL_L
$(top_builddir)/src/pkcs15init/libpkcs15init.la
cardos_tool_SOURCES = cardos-tool.c util.c $(am__append_11)
+cardos_tool_LDADD = $(OPTIONAL_OPENSSL_LIBS)
eidenv_SOURCES = eidenv.c $(am__append_12)
netkey_tool_SOURCES = netkey-tool.c $(am__append_13)
netkey_tool_LDADD = $(OPTIONAL_OPENSSL_LIBS)

View File

@ -1,51 +0,0 @@
diff -up opensc-0.11.13/src/libopensc/internal-winscard.h.build opensc-0.11.13/src/libopensc/internal-winscard.h
--- opensc-0.11.13/src/libopensc/internal-winscard.h.build 2010-02-16 10:03:28.000000000 +0100
+++ opensc-0.11.13/src/libopensc/internal-winscard.h 2010-09-07 10:34:20.000000000 +0200
@@ -88,7 +88,7 @@ SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *L
typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST;
typedef SCARD_READERSTATE_A SCARD_READERSTATE, *PSCARD_READERSTATE_A,
- *LPSCARD_READERSTATE_A;
+ *LPSCARD_READERSTATE_A, *LPSCARD_READERSTATE;
#endif /* HAVE_SCARD_H */
@@ -113,7 +113,7 @@ typedef LONG (PCSC_API *SCardEndTransact
typedef LONG (PCSC_API *SCardStatus_t)(SCARDHANDLE hCard, LPSTR mszReaderNames, LPDWORD pcchReaderLen,
LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen);
typedef LONG (PCSC_API *SCardGetStatusChange_t)(SCARDCONTEXT hContext, DWORD dwTimeout,
- LPSCARD_READERSTATE_A rgReaderStates, DWORD cReaders);
+ LPSCARD_READERSTATE rgReaderStates, DWORD cReaders);
typedef LONG (PCSC_API *SCardControlOLD_t)(SCARDHANDLE hCard, LPCVOID pbSendBuffer, DWORD cbSendLength,
LPVOID pbRecvBuffer, LPDWORD lpBytesReturned);
typedef LONG (PCSC_API *SCardControl_t)(SCARDHANDLE hCard, DWORD dwControlCode, LPCVOID pbSendBuffer,
diff -up opensc-0.11.13/src/libopensc/reader-pcsc.c.build opensc-0.11.13/src/libopensc/reader-pcsc.c
--- opensc-0.11.13/src/libopensc/reader-pcsc.c.build 2010-02-16 10:03:28.000000000 +0100
+++ opensc-0.11.13/src/libopensc/reader-pcsc.c 2010-09-07 10:34:51.000000000 +0200
@@ -80,7 +80,7 @@ struct pcsc_private_data {
struct pcsc_slot_data {
SCARDHANDLE pcsc_card;
- SCARD_READERSTATE_A reader_state;
+ SCARD_READERSTATE reader_state;
DWORD verify_ioctl;
DWORD verify_ioctl_start;
DWORD verify_ioctl_finish;
@@ -353,7 +353,7 @@ static int pcsc_wait_for_event(sc_reader
sc_context_t *ctx;
SCARDCONTEXT pcsc_ctx;
LONG ret;
- SCARD_READERSTATE_A rgReaderStates[SC_MAX_READERS];
+ SCARD_READERSTATE rgReaderStates[SC_MAX_READERS];
unsigned long on_bits, off_bits;
time_t end_time, now, delta;
size_t i;
@@ -401,7 +401,7 @@ static int pcsc_wait_for_event(sc_reader
/* Wait for a status change and return if it's a card insert/removal
*/
for( ; ; ) {
- SCARD_READERSTATE_A *rsp;
+ SCARD_READERSTATE *rsp;
/* Scan the current state of all readers to see if they
* match any of the events we're polling for */

View File

@ -1,12 +0,0 @@
diff -up opensc-0.11.13/aclocal.m4.libassuan1 opensc-0.11.13/aclocal.m4
--- opensc-0.11.13/aclocal.m4.libassuan1 2010-02-16 03:32:15.000000000 -0600
+++ opensc-0.11.13/aclocal.m4 2010-08-11 13:39:21.483606389 -0500
@@ -1108,7 +1108,7 @@ AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([m4/acx_pthread.m4])
-m4_include([m4/libassuan.m4])
+m4_include([libassuan1.m4])
m4_include([m4/libtool.m4])
m4_include([m4/ltoptions.m4])
m4_include([m4/ltsugar.m4])

View File

@ -1,71 +0,0 @@
Index: /trunk/src/libopensc/muscle.c
===================================================================
--- /trunk/src/libopensc/muscle.c (revision 4350)
+++ /trunk/src/libopensc/muscle.c (revision 4912)
@@ -31,11 +31,4 @@
#define MSC_DSA_PUBLIC 0x04
#define MSC_DSA_PRIVATE 0x05
-
-#ifndef MAX
-#define MAX(x, y) (((x) > (y)) ? (x) : (y))
-#endif
-#ifndef MIN
-#define MIN(x, y) (((x) < (y)) ? (x) : (y))
-#endif
static msc_id inputId = { { 0xFF, 0xFF, 0xFF, 0xFF } };
Index: /trunk/src/libopensc/internal.h
===================================================================
--- /trunk/src/libopensc/internal.h (revision 4902)
+++ /trunk/src/libopensc/internal.h (revision 4912)
@@ -48,4 +48,11 @@
#define msleep(t) Sleep(t)
#define sleep(t) Sleep((t) * 1000)
+#endif
+
+#ifndef MAX
+#define MAX(x, y) (((x) > (y)) ? (x) : (y))
+#endif
+#ifndef MIN
+#define MIN(x, y) (((x) < (y)) ? (x) : (y))
#endif
Index: /trunk/src/libopensc/card-atrust-acos.c
===================================================================
--- /trunk/src/libopensc/card-atrust-acos.c (revision 4706)
+++ /trunk/src/libopensc/card-atrust-acos.c (revision 4913)
@@ -843,6 +843,6 @@
return SC_ERROR_INTERNAL;
/* cache serial number */
- memcpy(card->serialnr.value, apdu.resp, apdu.resplen);
- card->serialnr.len = apdu.resplen;
+ memcpy(card->serialnr.value, apdu.resp, MIN(apdu.resplen, SC_MAX_SERIALNR));
+ card->serialnr.len = MIN(apdu.resplen, SC_MAX_SERIALNR);
/* copy and return serial number */
memcpy(serial, &card->serialnr, sizeof(*serial));
Index: /trunk/src/libopensc/card-starcos.c
===================================================================
--- /trunk/src/libopensc/card-starcos.c (revision 4706)
+++ /trunk/src/libopensc/card-starcos.c (revision 4913)
@@ -1280,6 +1280,6 @@
return SC_ERROR_INTERNAL;
/* cache serial number */
- memcpy(card->serialnr.value, apdu.resp, apdu.resplen);
- card->serialnr.len = apdu.resplen;
+ memcpy(card->serialnr.value, apdu.resp, MIN(apdu.resplen, SC_MAX_SERIALNR));
+ card->serialnr.len = MIN(apdu.resplen, SC_MAX_SERIALNR);
/* copy and return serial number */
memcpy(serial, &card->serialnr, sizeof(*serial));
Index: /trunk/src/libopensc/card-acos5.c
===================================================================
--- /trunk/src/libopensc/card-acos5.c (revision 4118)
+++ /trunk/src/libopensc/card-acos5.c (revision 4913)
@@ -139,6 +139,6 @@
* Cache serial number.
*/
- memcpy(card->serialnr.value, apdu.resp, apdu.resplen);
- card->serialnr.len = apdu.resplen;
+ memcpy(card->serialnr.value, apdu.resp, MIN(apdu.resplen, SC_MAX_SERIALNR));
+ card->serialnr.len = MIN(apdu.resplen, SC_MAX_SERIALNR);
/*

View File

@ -1,28 +0,0 @@
diff -up opensc-0.11.7/src/libopensc/libopensc.pc.in.config opensc-0.11.7/src/libopensc/libopensc.pc.in
--- opensc-0.11.7/src/libopensc/libopensc.pc.in.config 2006-05-15 22:57:30.000000000 +0200
+++ opensc-0.11.7/src/libopensc/libopensc.pc.in 2009-02-27 19:05:56.000000000 +0100
@@ -6,6 +6,6 @@ includedir=@includedir@
Name: libopensc
Description: libopensc
Version: @VERSION@
-Libs: -L${libdir} -lopensc -lscconf
+Libs: -L${libdir} -lopensc
Cflags: -I${includedir}
diff -up opensc-0.11.7/src/libopensc/opensc-config.in.config opensc-0.11.7/src/libopensc/opensc-config.in
--- opensc-0.11.7/src/libopensc/opensc-config.in.config 2008-12-27 17:15:30.000000000 +0100
+++ opensc-0.11.7/src/libopensc/opensc-config.in 2009-02-27 19:03:11.000000000 +0100
@@ -15,10 +15,10 @@ prefix="@prefix@"
exec_prefix="@exec_prefix@"
exec_prefix_set=no
-libdir="@libdir@"
-includedir="@includedir@"
+libdir=""
+includedir=""
opensc_cflags=""
-opensc_libs="-L${libdir} -lopensc -lscconf"
+opensc_libs="-lopensc -lscconf"
usage()
{

View File

@ -1,30 +1,23 @@
%global plugindir %{_libdir}/mozilla/plugins
Name: opensc
Version: 0.11.13
Release: 6%{?dist}
Version: 0.12.0
Release: 1%{?dist}
Summary: Smart card library and applications
Group: System Environment/Libraries
License: LGPLv2+
URL: http://www.opensc-project.org/opensc/
Source0: http://www.opensc-project.org/files/opensc/%{name}-%{version}.tar.gz
Patch1: %{name}-0.11.7-develconfig.patch
Patch2: %{name}-0.11.12-no-add-needed.patch
Patch3: opensc-0.11.13-libassuan1.patch
Patch4: opensc-0.11.13-build-readerstate.patch
Patch5: opensc-0.11.13-serial-overflow.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: pcsc-lite-devel
BuildRequires: readline-devel
%if 0%{?fedora} || 0%{?rhel} > 5
BuildRequires: openct-devel
%endif
BuildRequires: openssl-devel
BuildRequires: libtool-ltdl-devel
BuildRequires: libtool
BuildRequires: /usr/bin/xsltproc
BuildRequires: docbook-style-xsl
Requires: pcsc-lite-libs%{?_isa}
Obsoletes: mozilla-opensc-signer < 0.12.0
Obsoletes: opensc-devel < 0.12.0
%description
OpenSC is a package for for accessing smart card devices. Basic
@ -34,65 +27,21 @@ keys on the smart card is possible with PKCS #15 compatible cards,
such as the FINEID (Finnish Electronic IDentity) card. Swedish Posten
eID cards have also been confirmed to work.
%package -n mozilla-opensc-signer
Summary: Digital signature plugin for web browsers
Group: Applications/Internet
BuildRequires: libXt-devel
%if 0%{?fedora} > 13
BuildRequires: libassuan1-devel libassuan1-static automake
%else
BuildRequires: libassuan-devel libassuan-static
%endif
Requires: mozilla-filesystem%{?_isa}
Requires: pinentry-gui
%description -n mozilla-opensc-signer
OpenSC Signer is a plugin for web browsers compatible with Mozilla
plugins that will generate digital signatures using facilities on
PKI-capable smart cards.
%package devel
Summary: OpenSC development files
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
%description devel
OpenSC development files.
%prep
%setup -q
%patch1 -p1 -b .config
%patch2 -p1 -b .no-add-needed
%patch5 -p2 -b .overflow
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure # lib64 rpaths
cp -p src/pkcs15init/README ./README.pkcs15init
cp -p src/scconf/README.scconf .
# No %{_libdir} here to avoid multilib conflicts; it's just an example
sed -i -e 's|/usr/local/towitoko/lib/|/usr/lib/ctapi/|' etc/opensc.conf.in
# hacks for libassuan1
%if 0%{?fedora} > 13
rm -f m4/libassuan.m4
%patch3 -p1 -b .libassuan1
%patch4 -p1 -b .build
./bootstrap
%endif
%build
%configure --disable-static \
--enable-nsplugin \
--enable-pcsc \
%if 0%{?fedora} || 0%{?rhel} > 5
--enable-openct \
%endif
--enable-doc \
--with-pcsc-provider=libpcsclite.so.1 \
--with-plugindir=%{plugindir} \
--with-pinentry=%{_bindir}/pinentry
--with-pcsc-provider=libpcsclite.so.1
make %{?_smp_mflags}
@ -106,13 +55,14 @@ touch -r NEWS $RPM_BUILD_ROOT%{_sysconfdir}/opensc.conf
find $RPM_BUILD_ROOT%{_libdir} -type f -name "*.la" | xargs rm
rm $RPM_BUILD_ROOT%{plugindir}/opensc-signer.so
mv $RPM_BUILD_ROOT%{_libdir}/opensc-signer.so $RPM_BUILD_ROOT%{plugindir}
mkdir apidocdir
mv $RPM_BUILD_ROOT%{_datadir}/doc/%{name}/api.html apidocdir
mv -T $RPM_BUILD_ROOT%{_datadir}/doc/%{name} docdir
# Upstream considers libopensc API internal and no longer ships
# public headers and pkgconfig files.
# Remove the symlink as nothing is supposed to link against libopensc.
rm -f $RPM_BUILD_ROOT%{_libdir}/libopensc.so
%clean
rm -rf $RPM_BUILD_ROOT
@ -127,7 +77,6 @@ rm -rf $RPM_BUILD_ROOT
%doc COPYING NEWS README*
%doc docdir/*
%config(noreplace) %{_sysconfdir}/opensc.conf
%{_bindir}/cardos-info
%{_bindir}/cardos-tool
%{_bindir}/cryptoflex-tool
%{_bindir}/eidenv
@ -144,9 +93,11 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/lib*.so.*
%{_libdir}/onepin-opensc-pkcs11.so
%{_libdir}/opensc-pkcs11.so
%{_libdir}/pkcs11-spy.so
%dir %{_libdir}/pkcs11
%{_libdir}/pkcs11/onepin-opensc-pkcs11.so
%{_libdir}/pkcs11/opensc-pkcs11.so
%{_libdir}/pkcs11/pkcs11-spy.so
%{_datadir}/opensc/
%{_mandir}/man1/cardos-tool.1*
%{_mandir}/man1/cryptoflex-tool.1*
@ -160,24 +111,15 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/westcos-tool.1*
%{_mandir}/man5/*.5*
%files -n mozilla-opensc-signer
%defattr(0755,root,root,0755)
%{plugindir}/opensc-signer.so
%files devel
%defattr(-,root,root,-)
%doc apidocdir/*
%{_bindir}/opensc-config
%{_includedir}/opensc/
%{_libdir}/lib*.so
%{_libdir}/pkcs11-spy.so
%{_libdir}/pkcs11/pkcs11-spy.so
%{_libdir}/pkgconfig/lib*.pc
%{_mandir}/man1/opensc-config.1*
%{_mandir}/man3/*.3*
%changelog
* Mon Jan 03 2011 Kalev Lember <kalev@smartlink.ee> - 0.12.0-1
- Update to 0.12.0
- Removed and obsoleted mozilla-opensc-signer and opensc-devel subpackages
- Dropped patches which are now upstreamed
- It is no longer possible to build in both pcsc-lite and openct support,
so opensc now gets built exclusively with pcsc-lite.
* Tue Dec 21 2010 Tomas Mraz <tmraz@redhat.com> - 0.11.13-6
- fix buffer overflow on rogue card serial numbers

View File

@ -1 +1 @@
98fa151e947941f9c3f27420fdf47c11 opensc-0.11.13.tar.gz
630fa3b8717d22a1d069d120153a0c52 opensc-0.12.0.tar.gz