[coolkey] Bug 626029 SCARD_READERSTATE_A is removed from pcsc-lite patch by ludivoc

Robert Relyea rrelyea at fedoraproject.org
Wed Sep 8 22:17:47 UTC 2010


commit 09e67b80e83c7f9dbd2bd727b17f92ce4e178676
Author: Robert Relyea <rrelyea at redhat.com>
Date:   Wed Sep 8 15:16:30 2010 -0700

    Bug 626029 SCARD_READERSTATE_A is removed from pcsc-lite
    patch by ludivoc

 coolkey-pcsc-lite-fix.patch |   69 +++++++++++++++++++++++++++++++++++++++++++
 coolkey.spec                |    9 +++++-
 2 files changed, 77 insertions(+), 1 deletions(-)
---
diff --git a/coolkey-pcsc-lite-fix.patch b/coolkey-pcsc-lite-fix.patch
new file mode 100644
index 0000000..f528676
--- /dev/null
+++ b/coolkey-pcsc-lite-fix.patch
@@ -0,0 +1,69 @@
+diff -up ./src/coolkey/slot.cpp.reader-state-fix ./src/coolkey/slot.cpp
+--- ./src/coolkey/slot.cpp.reader-state-fix	2010-09-08 13:25:14.479109000 -0700
++++ ./src/coolkey/slot.cpp	2010-09-08 13:25:14.506109000 -0700
+@@ -2185,6 +2185,7 @@ Slot::readCACCertificateFirst(CKYBuffer 
+ {
+     CKYStatus status;
+     CKYISOStatus apduRC;
++    *nextSize = 0;
+ 
+     if (mOldCAC) {
+ 	/* get the first 100 bytes of the cert */
+diff -up ./src/libckyapplet/cky_card.c.reader-state-fix ./src/libckyapplet/cky_card.c
+--- ./src/libckyapplet/cky_card.c.reader-state-fix	2010-09-08 14:05:10.859321000 -0700
++++ ./src/libckyapplet/cky_card.c	2010-09-08 14:05:42.792257000 -0700
+@@ -27,7 +27,6 @@
+ 
+ #ifndef WINAPI
+ #define WINAPI
+-typedef SCARD_READERSTATE *LPSCARD_READERSTATE;
+ #endif
+ 
+ #ifndef SCARD_E_NO_READERS_AVAILABLE
+diff -up ./src/libckyapplet/cky_card.h.reader-state-fix ./src/libckyapplet/cky_card.h
+--- ./src/libckyapplet/cky_card.h.reader-state-fix	2006-06-09 11:44:17.000000000 -0700
++++ ./src/libckyapplet/cky_card.h	2010-09-08 13:25:14.518109000 -0700
+@@ -41,23 +41,23 @@ CKYLIST_DECLARE(CKYReaderName, char *)
+ CKYLIST_DECLARE(CKYCardConnection, CKYCardConnection *)
+ 
+ CKY_BEGIN_PROTOS
+-void CKYReader_Init(SCARD_READERSTATE_A *reader);
+-void CKYReader_FreeData(SCARD_READERSTATE_A *reader);
++void CKYReader_Init(SCARD_READERSTATE *reader);
++void CKYReader_FreeData(SCARD_READERSTATE *reader);
+ 
+ /*
+- * "Accessors": for SCARD_READERSTATE_A structure as a class.
+- * These functions take an SCARD_READERSTATE_A which can also be referenced
++ * "Accessors": for SCARD_READERSTATE structure as a class.
++ * These functions take an SCARD_READERSTATE which can also be referenced
+  * directly.
+  */
+-CKYStatus CKYReader_SetReaderName(SCARD_READERSTATE_A *reader, const char *name);
+-const char *CKYReader_GetReaderName(const SCARD_READERSTATE_A *reader);
+-CKYStatus CKYReader_SetKnownState(SCARD_READERSTATE_A *reader, 
++CKYStatus CKYReader_SetReaderName(SCARD_READERSTATE *reader, const char *name);
++const char *CKYReader_GetReaderName(const SCARD_READERSTATE *reader);
++CKYStatus CKYReader_SetKnownState(SCARD_READERSTATE *reader, 
+ 						unsigned long state);
+-unsigned long CKYReader_GetKnownState(const SCARD_READERSTATE_A *reader);
+-unsigned long CKYReader_GetEventState(const SCARD_READERSTATE_A *reader);
+-CKYStatus CKYReader_GetATR(const SCARD_READERSTATE_A *reader, CKYBuffer *buf);
++unsigned long CKYReader_GetKnownState(const SCARD_READERSTATE *reader);
++unsigned long CKYReader_GetEventState(const SCARD_READERSTATE *reader);
++CKYStatus CKYReader_GetATR(const SCARD_READERSTATE *reader, CKYBuffer *buf);
+ /* create an array of READERSTATEs from a LIST of Readers */
+-SCARD_READERSTATE_A *CKYReader_CreateArray(const CKYReaderNameList readerNames, 
++SCARD_READERSTATE *CKYReader_CreateArray(const CKYReaderNameList readerNames, 
+ 					  unsigned long *readerCount);
+ /* frees the reader, then the full array */
+ void CKYReader_DestroyArray(SCARD_READERSTATE *reader, unsigned long count);
+@@ -88,7 +88,7 @@ CKYStatus CKYCardContext_FindReadersByAT
+ 				const CKYBuffer *targetATR);
+ /* return if any of the readers in our array has changed in status */
+ CKYStatus CKYCardContext_WaitForStatusChange(CKYCardContext *context,
+-				SCARD_READERSTATE_A *readers,
++				SCARD_READERSTATE *readers,
+ 				unsigned long readerCount,
+ 				unsigned long timeout);
+ /* cancel any current operation (such as wait for status change) on this
diff --git a/coolkey.spec b/coolkey.spec
index b43b648..269f97d 100644
--- a/coolkey.spec
+++ b/coolkey.spec
@@ -22,7 +22,7 @@
 
 Name: coolkey
 Version: 1.1.0
-Release: 16%{?dist}
+Release: 17%{?dist}
 Summary: CoolKey PKCS #11 module
 License: LGPLv2
 URL: http://directory.fedora.redhat.com/wiki/CoolKey
@@ -34,6 +34,7 @@ Patch4: coolkey-simple-bugs.patch
 Patch5: coolkey-thread-fix.patch
 Patch6: coolkey-cac.patch
 Patch7: coolkey-cac-1.patch
+Patch8: coolkey-pcsc-lite-fix.patch
 Group: System Environment/Libraries
 BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: autoconf
@@ -69,6 +70,7 @@ Linux Driver support to access the CoolKey applet.
 %patch5 -b .coolkey-thread-fix
 %patch6 -b .cac
 %patch7 -b .cac-1
+%patch8 -b .reader-state-fix
 
 %build
 autoconf
@@ -117,8 +119,13 @@ fi
 
 
 %changelog
+* Wed Sep 8 2010 Robert Relyea <rrelyea at redhat.com> - 1.1.0-17
+- pscs-lite removed SCARD_READERSTATE_A definition. revert to the prefered
+  SCARD_READERSTATE
+
 * Wed Jun 23 2010 Jack Magne <jmagne at redhat.com> - 1.1.0-16
 - fix possible crash when loading cac certs.
+
 * Wed Jun 16 2010 Robert Relyea <rrelyea at redhat.com> - 1.1.0-15
 - better cac support.
 


More information about the scm-commits mailing list