[Pcsclite-cvs-commit] r2957 - /trunk/PCSC/src/winscard.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Thu May 15 12:52:48 UTC 2008


Author: rousseau
Date: Thu May 15 12:52:48 2008
New Revision: 2957

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=2957
Log:
SCardConnect(), SCardReconnect(): do not check the parameter
dwPreferredProtocols if dwShareMode == SCARD_SHARE_DIRECT

This is used on contactless readers to talk to the reader without any
card and "random" value of dwPreferredProtocols

Thanks to Philippe BOURGAULT for reporting the bug

Modified:
    trunk/PCSC/src/winscard.c

Modified: trunk/PCSC/src/winscard.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard.c?rev=2957&op=diff
==============================================================================
--- trunk/PCSC/src/winscard.c (original)
+++ trunk/PCSC/src/winscard.c Thu May 15 12:52:48 2008
@@ -281,7 +281,8 @@
 	else
 		*phCard = 0;
 
-	if (!(dwPreferredProtocols & SCARD_PROTOCOL_T0) &&
+	if ((dwShareMode != SCARD_SHARE_DIRECT) &&
+			!(dwPreferredProtocols & SCARD_PROTOCOL_T0) &&
 			!(dwPreferredProtocols & SCARD_PROTOCOL_T1) &&
 			!(dwPreferredProtocols & SCARD_PROTOCOL_RAW) &&
 			!(dwPreferredProtocols & SCARD_PROTOCOL_ANY_OLD))
@@ -526,7 +527,8 @@
 			dwShareMode != SCARD_SHARE_DIRECT)
 		return SCARD_E_INVALID_VALUE;
 
-	if (!(dwPreferredProtocols & SCARD_PROTOCOL_T0) &&
+	if ((dwShareMode != SCARD_SHARE_DIRECT) &&
+			!(dwPreferredProtocols & SCARD_PROTOCOL_T0) &&
 			!(dwPreferredProtocols & SCARD_PROTOCOL_T1) &&
 			!(dwPreferredProtocols & SCARD_PROTOCOL_RAW) &&
 			!(dwPreferredProtocols & SCARD_PROTOCOL_ANY_OLD))




More information about the Pcsclite-cvs-commit mailing list