This commit is contained in:
parent
1a70f4413d
commit
4fc53de51d
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:98591dacf84b78ed2d01a48234d9f00217e7e99ae0012c73232c98e8b74eafe5
|
|
||||||
size 465677
|
|
3
pcsc-lite-1.5.3.tar.bz2
Normal file
3
pcsc-lite-1.5.3.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2dd18024f5730587cbfac04da8fd57b8910ce79e4e98f5a311f72e797f0485dd
|
||||||
|
size 469752
|
@ -1,6 +1,12 @@
|
|||||||
--- etc/pcscd.init.in
|
--- etc/pcscd.init.in
|
||||||
+++ etc/pcscd.init.in
|
+++ etc/pcscd.init.in
|
||||||
@@ -29,7 +29,8 @@
|
@@ -24,12 +24,14 @@
|
||||||
|
# PC/SC lite and Musclecard frameworks. It coordinates
|
||||||
|
# communications with smart card readers, smart cards, and
|
||||||
|
# cryptographic tokens that are connected to the system.
|
||||||
|
+# X-UnitedLinux-Default-Enabled: yes
|
||||||
|
### END INIT INFO
|
||||||
|
#
|
||||||
# Note! pcscd should be started after pcmcia, and shut down before it
|
# Note! pcscd should be started after pcmcia, and shut down before it
|
||||||
# for smooth experience with PCMCIA readers.
|
# for smooth experience with PCMCIA readers.
|
||||||
|
|
||||||
@ -10,7 +16,7 @@
|
|||||||
|
|
||||||
umask 077
|
umask 077
|
||||||
|
|
||||||
@@ -45,19 +46,21 @@
|
@@ -45,19 +47,21 @@
|
||||||
|
|
||||||
start() {
|
start() {
|
||||||
echo -n $"Starting PC/SC smart card daemon ($prog): "
|
echo -n $"Starting PC/SC smart card daemon ($prog): "
|
||||||
@ -36,7 +42,7 @@
|
|||||||
}
|
}
|
||||||
restart() {
|
restart() {
|
||||||
stop
|
stop
|
||||||
@@ -73,12 +76,19 @@
|
@@ -73,12 +77,19 @@
|
||||||
restart
|
restart
|
||||||
;;
|
;;
|
||||||
status)
|
status)
|
||||||
|
125
pcsc-lite-overflow.patch
Normal file
125
pcsc-lite-overflow.patch
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
Author: rousseau
|
||||||
|
Date: Thu May 14 09:29:39 2009
|
||||||
|
New Revision: 4208
|
||||||
|
|
||||||
|
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4208
|
||||||
|
Log:
|
||||||
|
MSGFunctionDemarshall(): detect buffer overflows
|
||||||
|
|
||||||
|
Thanks to Sebastian Krahmer for the bug report
|
||||||
|
|
||||||
|
Modified:
|
||||||
|
trunk/PCSC/src/winscard_svc.c
|
||||||
|
|
||||||
|
Modified: trunk/PCSC/src/winscard_svc.c
|
||||||
|
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_svc.c?rev=4208&op=diff
|
||||||
|
==============================================================================
|
||||||
|
--- trunk/PCSC/src/winscard_svc.c (original)
|
||||||
|
+++ trunk/PCSC/src/winscard_svc.c Thu May 14 09:29:39 2009
|
||||||
|
@@ -387,6 +387,14 @@
|
||||||
|
dwProtocol = stStr->pdwProtocol;
|
||||||
|
cbAtrLen = stStr->pcbAtrLen;
|
||||||
|
|
||||||
|
+ /* avoids buffer overflow */
|
||||||
|
+ if ((cchReaderLen > sizeof(stStr->mszReaderNames))
|
||||||
|
+ || (cbAtrLen > sizeof(stStr->pbAtr)))
|
||||||
|
+ {
|
||||||
|
+ stStr->rv = SCARD_E_INSUFFICIENT_BUFFER ;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
stStr->rv = SCardStatus(stStr->hCard, stStr->mszReaderNames,
|
||||||
|
&cchReaderLen, &dwState,
|
||||||
|
&dwProtocol, stStr->pbAtr, &cbAtrLen);
|
||||||
|
@@ -401,6 +409,14 @@
|
||||||
|
trStr = ((transmit_struct *) msgStruct->data);
|
||||||
|
rv = MSGCheckHandleAssociation(trStr->hCard, dwContextIndex);
|
||||||
|
if (rv != 0) return rv;
|
||||||
|
+
|
||||||
|
+ /* avoids buffer overflow */
|
||||||
|
+ if ((trStr->pcbRecvLength > sizeof(trStr->pbRecvBuffer))
|
||||||
|
+ || (trStr->cbSendLength > sizeof(trStr->pbSendBuffer)))
|
||||||
|
+ {
|
||||||
|
+ trStr->rv = SCARD_E_INSUFFICIENT_BUFFER ;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
ioSendPci.dwProtocol = trStr->pioSendPciProtocol;
|
||||||
|
ioSendPci.cbPciLength = trStr->pioSendPciLength;
|
||||||
|
@@ -426,6 +442,14 @@
|
||||||
|
rv = MSGCheckHandleAssociation(ctStr->hCard, dwContextIndex);
|
||||||
|
if (rv != 0) return rv;
|
||||||
|
|
||||||
|
+ /* avoids buffer overflow */
|
||||||
|
+ if ((ctStr->dwBytesReturned > sizeof(ctStr->cbRecvLength))
|
||||||
|
+ || (ctStr->cbSendLength > sizeof(ctStr->pbSendBuffer)))
|
||||||
|
+ {
|
||||||
|
+ ctStr->rv = SCARD_E_INSUFFICIENT_BUFFER;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
dwBytesReturned = ctStr->dwBytesReturned;
|
||||||
|
|
||||||
|
ctStr->rv = SCardControl(ctStr->hCard, ctStr->dwControlCode,
|
||||||
|
@@ -442,6 +466,13 @@
|
||||||
|
rv = MSGCheckHandleAssociation(gsStr->hCard, dwContextIndex);
|
||||||
|
if (rv != 0) return rv;
|
||||||
|
|
||||||
|
+ /* avoids buffer overflow */
|
||||||
|
+ if (gsStr->cbAttrLen > sizeof(gsStr->pbAttr))
|
||||||
|
+ {
|
||||||
|
+ gsStr->rv = SCARD_E_INSUFFICIENT_BUFFER ;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
cbAttrLen = gsStr->cbAttrLen;
|
||||||
|
|
||||||
|
gsStr->rv = SCardGetAttrib(gsStr->hCard, gsStr->dwAttrId,
|
||||||
|
@@ -455,6 +486,14 @@
|
||||||
|
gsStr = ((getset_struct *) msgStruct->data);
|
||||||
|
rv = MSGCheckHandleAssociation(gsStr->hCard, dwContextIndex);
|
||||||
|
if (rv != 0) return rv;
|
||||||
|
+
|
||||||
|
+ /* avoids buffer overflow */
|
||||||
|
+ if (gsStr->cbAttrLen <= sizeof(gsStr->pbAttr))
|
||||||
|
+ {
|
||||||
|
+ gsStr->rv = SCARD_E_INSUFFICIENT_BUFFER ;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
gsStr->rv = SCardSetAttrib(gsStr->hCard, gsStr->dwAttrId,
|
||||||
|
gsStr->pbAttr, gsStr->cbAttrLen);
|
||||||
|
break;
|
||||||
|
@@ -468,6 +507,15 @@
|
||||||
|
treStr = ((transmit_struct_extended *) msgStruct->data);
|
||||||
|
rv = MSGCheckHandleAssociation(treStr->hCard, dwContextIndex);
|
||||||
|
if (rv != 0) return rv;
|
||||||
|
+
|
||||||
|
+ /* avoids buffer overflow */
|
||||||
|
+ if ((treStr->size > sizeof(pbSendBuffer))
|
||||||
|
+ || (treStr->cbSendLength > sizeof(pbSendBuffer))
|
||||||
|
+ || (treStr->pcbRecvLength > sizeof(pbRecvBuffer)))
|
||||||
|
+ {
|
||||||
|
+ treStr->rv = SCARD_E_INSUFFICIENT_BUFFER;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* on more block to read? */
|
||||||
|
if (treStr->size > PCSCLITE_MAX_MESSAGE_SIZE)
|
||||||
|
@@ -549,6 +597,15 @@
|
||||||
|
cteStr = ((control_struct_extended *) msgStruct->data);
|
||||||
|
rv = MSGCheckHandleAssociation(cteStr->hCard, dwContextIndex);
|
||||||
|
if (rv != 0) return rv;
|
||||||
|
+
|
||||||
|
+ /* avoids buffer overflow */
|
||||||
|
+ if ((cteStr->size > sizeof(pbSendBuffer))
|
||||||
|
+ || (cteStr->cbSendLength > sizeof(pbSendBuffer))
|
||||||
|
+ || (cteStr->cbRecvLength > sizeof(pbRecvBuffer)))
|
||||||
|
+ {
|
||||||
|
+ cteStr->rv = SCARD_E_INSUFFICIENT_BUFFER;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* on more block to read? */
|
||||||
|
if (cteStr->size > PCSCLITE_MAX_MESSAGE_SIZE)
|
||||||
|
|
149
pcsc-lite-strict-aliasing.patch
Normal file
149
pcsc-lite-strict-aliasing.patch
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
winscard_clnt.c:505: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_clnt.c:504: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_clnt.c:501: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_clnt.c:501: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_clnt.c:485: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_clnt.c:484: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:209: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:208: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:204: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:198: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:198: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:196: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:196: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:194: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:191: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:187: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:187: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:185: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
winscard_svc.c:184: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
cc1: warning: dereferencing pointer 'veStr' does break strict-aliasing rules
|
||||||
|
testpcsc.c:313: warning: dereferencing type-punned pointer will break strict-aliasing rules
|
||||||
|
testpcsc.c:323: warning: dereferencing type-punned pointer will break strict-aliasing rules
|
||||||
|
================================================================================
|
||||||
|
--- src/testpcsc.c
|
||||||
|
+++ src/testpcsc.c
|
||||||
|
@@ -65,7 +65,11 @@
|
||||||
|
#else
|
||||||
|
unsigned char pbAtr[MAX_ATR_SIZE];
|
||||||
|
#endif
|
||||||
|
- unsigned char buf[100];
|
||||||
|
+ union {
|
||||||
|
+ unsigned char _char[100];
|
||||||
|
+ DWORD _DWORD[1];
|
||||||
|
+ uint32_t _uint32_t[1];
|
||||||
|
+ } buf;
|
||||||
|
DWORD dwBufLen;
|
||||||
|
unsigned char *pbAttr = NULL;
|
||||||
|
DWORD pcbAttrLen;
|
||||||
|
@@ -306,31 +310,31 @@
|
||||||
|
|
||||||
|
printf("Testing SCardGetAttrib\t\t: ");
|
||||||
|
dwBufLen = sizeof(buf);
|
||||||
|
- rv = SCardGetAttrib(hCard, SCARD_ATTR_VENDOR_IFD_VERSION, buf, &dwBufLen);
|
||||||
|
+ rv = SCardGetAttrib(hCard, SCARD_ATTR_VENDOR_IFD_VERSION, buf._char, &dwBufLen);
|
||||||
|
test_rv(rv, hContext, DONT_PANIC);
|
||||||
|
if (rv == SCARD_S_SUCCESS)
|
||||||
|
printf("Vendor IFD version\t\t: " GREEN "0x%08lX\n" NORMAL,
|
||||||
|
- ((DWORD *)buf)[0]);
|
||||||
|
+ buf._DWORD[0]);
|
||||||
|
|
||||||
|
printf("Testing SCardGetAttrib\t\t: ");
|
||||||
|
dwBufLen = sizeof(buf);
|
||||||
|
- rv = SCardGetAttrib(hCard, SCARD_ATTR_MAXINPUT, buf, &dwBufLen);
|
||||||
|
+ rv = SCardGetAttrib(hCard, SCARD_ATTR_MAXINPUT, buf._char, &dwBufLen);
|
||||||
|
test_rv(rv, hContext, DONT_PANIC);
|
||||||
|
if (rv == SCARD_S_SUCCESS)
|
||||||
|
{
|
||||||
|
if (dwBufLen == sizeof(uint32_t))
|
||||||
|
printf("Max message length\t\t: " GREEN "%d\n" NORMAL,
|
||||||
|
- *(uint32_t *)buf);
|
||||||
|
+ buf._uint32_t[0]);
|
||||||
|
else
|
||||||
|
printf(RED "Wrong size" NORMAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("Testing SCardGetAttrib\t\t: ");
|
||||||
|
dwBufLen = sizeof(buf);
|
||||||
|
- rv = SCardGetAttrib(hCard, SCARD_ATTR_VENDOR_NAME, buf, &dwBufLen);
|
||||||
|
+ rv = SCardGetAttrib(hCard, SCARD_ATTR_VENDOR_NAME, buf._char, &dwBufLen);
|
||||||
|
test_rv(rv, hContext, DONT_PANIC);
|
||||||
|
if (rv == SCARD_S_SUCCESS)
|
||||||
|
- printf("Vendor name\t\t\t: " GREEN "%s\n" NORMAL, buf);
|
||||||
|
+ printf("Vendor name\t\t\t: " GREEN "%s\n" NORMAL, buf._char);
|
||||||
|
|
||||||
|
printf("Testing SCardSetAttrib\t\t: ");
|
||||||
|
rv = SCardSetAttrib(hCard, SCARD_ATTR_ATR_STRING, (LPCBYTE)"", 1);
|
||||||
|
--- src/winscard_clnt.c
|
||||||
|
+++ src/winscard_clnt.c
|
||||||
|
@@ -480,7 +480,7 @@
|
||||||
|
msgStruct.command = 0;
|
||||||
|
msgStruct.date = time(NULL);
|
||||||
|
|
||||||
|
- veStr = (version_struct *) msgStruct.data;
|
||||||
|
+ veStr = &msgStruct.veStr;
|
||||||
|
veStr->major = PROTOCOL_VERSION_MAJOR;
|
||||||
|
veStr->minor = PROTOCOL_VERSION_MINOR;
|
||||||
|
|
||||||
|
--- src/winscard_msg.h
|
||||||
|
+++ src/winscard_msg.h
|
||||||
|
@@ -31,6 +31,17 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
+ * @brief Information transmitted in \ref CMD_VERSION Messages.
|
||||||
|
+ */
|
||||||
|
+ struct version_struct
|
||||||
|
+ {
|
||||||
|
+ int32_t major; /**< IPC major \ref PROTOCOL_VERSION_MAJOR */
|
||||||
|
+ int32_t minor; /**< IPC minor \ref PROTOCOL_VERSION_MINOR */
|
||||||
|
+ uint32_t rv;
|
||||||
|
+ };
|
||||||
|
+ typedef struct version_struct version_struct;
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
* @brief General structure for client/serve message data exchange.
|
||||||
|
*
|
||||||
|
* It is used in the calls of \c SHMMessageSend and \c SHMMessageReceive.
|
||||||
|
@@ -49,7 +60,11 @@
|
||||||
|
uint32_t command; /** one of the \c pcsc_msg_commands */
|
||||||
|
uint64_t date;
|
||||||
|
unsigned char key[PCSCLITE_MSG_KEY_LEN]; /* 16 bytes */
|
||||||
|
- unsigned char data[PCSCLITE_MAX_MESSAGE_SIZE];
|
||||||
|
+ union
|
||||||
|
+ {
|
||||||
|
+ unsigned char data[PCSCLITE_MAX_MESSAGE_SIZE];
|
||||||
|
+ struct version_struct veStr;
|
||||||
|
+ };
|
||||||
|
}
|
||||||
|
sharedSegmentMsg, *psharedSegmentMsg;
|
||||||
|
|
||||||
|
@@ -93,17 +108,6 @@
|
||||||
|
SCARD_CONTROL_EXTENDED = 0x12 /**< used by SCardControl() */
|
||||||
|
};
|
||||||
|
|
||||||
|
- /**
|
||||||
|
- * @brief Information transmitted in \ref CMD_VERSION Messages.
|
||||||
|
- */
|
||||||
|
- struct version_struct
|
||||||
|
- {
|
||||||
|
- int32_t major; /**< IPC major \ref PROTOCOL_VERSION_MAJOR */
|
||||||
|
- int32_t minor; /**< IPC minor \ref PROTOCOL_VERSION_MINOR */
|
||||||
|
- uint32_t rv;
|
||||||
|
- };
|
||||||
|
- typedef struct version_struct version_struct;
|
||||||
|
-
|
||||||
|
struct client_struct
|
||||||
|
{
|
||||||
|
uint32_t hContext;
|
||||||
|
--- src/winscard_svc.c
|
||||||
|
+++ src/winscard_svc.c
|
||||||
|
@@ -178,7 +178,7 @@
|
||||||
|
if (msgStruct.mtype == CMD_VERSION)
|
||||||
|
{
|
||||||
|
version_struct *veStr;
|
||||||
|
- veStr = (version_struct *) msgStruct.data;
|
||||||
|
+ veStr = &msgStruct.veStr;
|
||||||
|
|
||||||
|
/* get the client protocol version */
|
||||||
|
psContext[dwContextIndex].protocol_major = veStr->major;
|
@ -1,3 +1,37 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 27 17:17:37 CEST 2009 - sbrabec@suse.cz
|
||||||
|
|
||||||
|
- Updated to version 1.5.3:
|
||||||
|
* SCardEstablishContext(): check we do not reuse an already
|
||||||
|
allocated hContext
|
||||||
|
* pcsclite.h: add missing SCARD_E_* and SCARD_W_* return code.
|
||||||
|
* reader.h: add PIN_PROPERTIES_STRUCTURE structure and
|
||||||
|
FEATURE_IFD_PIN_PROPERTIES
|
||||||
|
* remove powermgt_macosx.c since it is using APSL version 1.1
|
||||||
|
instead of the BSD-like licence (bnc#474818)
|
||||||
|
* avoid a possible crash due to a race condition
|
||||||
|
* change default log level from PCSC_LOG_INFO to PCSC_LOG_ERROR
|
||||||
|
* CardDisconnect(): call RFUnlockAllSharing() instead of
|
||||||
|
RFUnlockSharing() to release all nested locks. Visible in
|
||||||
|
OpenSC "pkcs11-tool -I".
|
||||||
|
* some other minor improvements and bug corrections
|
||||||
|
- Fixed possible overflows (bnc#499734).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 9 16:01:54 CEST 2009 - sbrabec@suse.cz
|
||||||
|
|
||||||
|
- Updated to version 1.5.2:
|
||||||
|
* SCardGetStatusChange(): return if the state of the reader
|
||||||
|
changed since the previous call
|
||||||
|
* SCardCancel() now works as expected
|
||||||
|
* log TxBuffer and RxBuffer if the SCardControl() command failed
|
||||||
|
* add a mutex to avoid a race condition
|
||||||
|
* SCardGetStatusChange() may not return if the reader was removed
|
||||||
|
* some other minor improvements and bug corrections
|
||||||
|
- Start daemon by default (bnc#466430).
|
||||||
|
- Ensure that Apple Public Source License Version 1.1 does not
|
||||||
|
apply (bnc#474818).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Feb 3 13:41:22 CET 2009 - sbrabec@suse.cz
|
Tue Feb 3 13:41:22 CET 2009 - sbrabec@suse.cz
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package pcsc-lite (Version 1.5.1)
|
# spec file for package pcsc-lite (Version 1.5.3)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
@ -22,7 +22,7 @@ Name: pcsc-lite
|
|||||||
# FIXME: Maybe we should use /usr/lib/pcsc/drivers as others do:
|
# FIXME: Maybe we should use /usr/lib/pcsc/drivers as others do:
|
||||||
%define ifddir %{_libdir}/readers
|
%define ifddir %{_libdir}/readers
|
||||||
BuildRequires: hal-devel pkg-config readline-devel
|
BuildRequires: hal-devel pkg-config readline-devel
|
||||||
Version: 1.5.1
|
Version: 1.5.3
|
||||||
Release: 1
|
Release: 1
|
||||||
PreReq: %{insserv_prereq} %{fillup_prereq}
|
PreReq: %{insserv_prereq} %{fillup_prereq}
|
||||||
Group: Productivity/Security
|
Group: Productivity/Security
|
||||||
@ -35,6 +35,10 @@ Source2: README.SUSE
|
|||||||
Source3: pre_checkin.sh
|
Source3: pre_checkin.sh
|
||||||
Patch: pcsc-lite-musclecard.patch
|
Patch: pcsc-lite-musclecard.patch
|
||||||
Patch1: pcsc-lite-init.patch
|
Patch1: pcsc-lite-init.patch
|
||||||
|
# PATCH-FIX-UPSTREAM pcsc-lite-overflow.patch bnc499734 sbrabec@suse.cz -- Fix possible buffer overflows.
|
||||||
|
Patch2: pcsc-lite-overflow.patch
|
||||||
|
# PATCH-FIX-UPSTREAM pcsc-lite-strict-aliasing.patch sbrabec@suse.cz -- Strict aliasing fix.
|
||||||
|
Patch3: pcsc-lite-strict-aliasing.patch
|
||||||
Requires: libpcsclite1 >= %{version}
|
Requires: libpcsclite1 >= %{version}
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
@ -119,9 +123,12 @@ Authors:
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
# Ensure that Apple Public Source License Version 1.1 does not apply:
|
||||||
cp -a %{S:1} %{S:2} .
|
cp -a %{S:1} %{S:2} .
|
||||||
%patch
|
%patch
|
||||||
%patch1
|
%patch1
|
||||||
|
%patch2 -p2
|
||||||
|
%patch3
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if %suse_version > 1010
|
%if %suse_version > 1010
|
||||||
@ -154,7 +161,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{stop_on_removal pcscd}
|
%{stop_on_removal pcscd}
|
||||||
|
|
||||||
%post
|
%post
|
||||||
%{fillup_and_insserv -n pcscd pcscd}
|
%{fillup_and_insserv -y -n pcscd pcscd}
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
%{restart_on_update pcscd}
|
%{restart_on_update pcscd}
|
||||||
@ -189,6 +196,34 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_libdir}/pkgconfig/*.pc
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed May 27 2009 sbrabec@suse.cz
|
||||||
|
- Updated to version 1.5.3:
|
||||||
|
* SCardEstablishContext(): check we do not reuse an already
|
||||||
|
allocated hContext
|
||||||
|
* pcsclite.h: add missing SCARD_E_* and SCARD_W_* return code.
|
||||||
|
* reader.h: add PIN_PROPERTIES_STRUCTURE structure and
|
||||||
|
FEATURE_IFD_PIN_PROPERTIES
|
||||||
|
* remove powermgt_macosx.c since it is using APSL version 1.1
|
||||||
|
instead of the BSD-like licence (bnc#474818)
|
||||||
|
* avoid a possible crash due to a race condition
|
||||||
|
* change default log level from PCSC_LOG_INFO to PCSC_LOG_ERROR
|
||||||
|
* CardDisconnect(): call RFUnlockAllSharing() instead of
|
||||||
|
RFUnlockSharing() to release all nested locks. Visible in
|
||||||
|
OpenSC "pkcs11-tool -I".
|
||||||
|
* some other minor improvements and bug corrections
|
||||||
|
- Fixed possible overflows (bnc#499734).
|
||||||
|
* Thu Apr 09 2009 sbrabec@suse.cz
|
||||||
|
- Updated to version 1.5.2:
|
||||||
|
* SCardGetStatusChange(): return if the state of the reader
|
||||||
|
changed since the previous call
|
||||||
|
* SCardCancel() now works as expected
|
||||||
|
* log TxBuffer and RxBuffer if the SCardControl() command failed
|
||||||
|
* add a mutex to avoid a race condition
|
||||||
|
* SCardGetStatusChange() may not return if the reader was removed
|
||||||
|
* some other minor improvements and bug corrections
|
||||||
|
- Start daemon by default (bnc#466430).
|
||||||
|
- Ensure that Apple Public Source License Version 1.1 does not
|
||||||
|
apply (bnc#474818).
|
||||||
* Tue Feb 03 2009 sbrabec@suse.cz
|
* Tue Feb 03 2009 sbrabec@suse.cz
|
||||||
- Updated to version 1.5.1:
|
- Updated to version 1.5.1:
|
||||||
* Fixed extended APDU of more than 2048 bytes
|
* Fixed extended APDU of more than 2048 bytes
|
||||||
@ -442,7 +477,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
- fixed /etc/init.d/pcscd status-handling (bug #9069)
|
- fixed /etc/init.d/pcscd status-handling (bug #9069)
|
||||||
* Thu Jun 07 2001 ro@suse.de
|
* Thu Jun 07 2001 ro@suse.de
|
||||||
- fix broken Makefile.am
|
- fix broken Makefile.am
|
||||||
* Sun Apr 22 2001 mge@suse.de
|
* Mon Apr 23 2001 mge@suse.de
|
||||||
- update to 0.9.1
|
- update to 0.9.1
|
||||||
* Wed Apr 18 2001 mge@suse.de
|
* Thu Apr 19 2001 mge@suse.de
|
||||||
- created package
|
- created package
|
||||||
|
Loading…
x
Reference in New Issue
Block a user