[Pcsclite-cvs-commit] r6817 - trunk/Drivers/ccid/src

ludovic.rousseau at free.fr ludovic.rousseau at free.fr
Tue Jan 7 10:01:53 UTC 2014


Author: rousseau
Date: 2014-01-07 10:01:52 +0000 (Tue, 07 Jan 2014)
New Revision: 6817

Modified:
   trunk/Drivers/ccid/src/ifdhandler.c
Log:
Set specific value of bEntryValidationCondition for known readers

Gemalto Pinpad, Covadis V?\195?\169ga-Alpha and Cherry ST2000 readers only
support validation by key pressed.


Modified: trunk/Drivers/ccid/src/ifdhandler.c
===================================================================
--- trunk/Drivers/ccid/src/ifdhandler.c	2014-01-07 09:58:44 UTC (rev 6816)
+++ trunk/Drivers/ccid/src/ifdhandler.c	2014-01-07 10:01:52 UTC (rev 6817)
@@ -1488,13 +1488,25 @@
 	if (IOCTL_FEATURE_IFD_PIN_PROPERTIES == dwControlCode)
 	{
 		PIN_PROPERTIES_STRUCTURE *caps = (PIN_PROPERTIES_STRUCTURE *)RxBuffer;
+		int validation;
 
 		if (RxLength < sizeof(PIN_PROPERTIES_STRUCTURE))
 			return IFD_ERROR_INSUFFICIENT_BUFFER;
 
 		/* Only give the LCD size for now */
 		caps -> wLcdLayout = ccid_descriptor -> wLcdLayout;
-		caps -> bEntryValidationCondition = 0x07; /* Default */
+		switch (ccid_descriptor->readerID)
+		{
+			case GEMPCPINPAD:
+			case VEGAALPHA:
+			case CHERRYST2000:
+				validation = 0x02; /* Validation key pressed */
+				break;
+			default:
+				validation = 0x07; /* Default */
+		}
+
+		caps -> bEntryValidationCondition = validation;
 		caps -> bTimeOut2 = 0x00; /* We do not distinguish bTimeOut from TimeOut2 */
 
 		*pdwBytesReturned = sizeof(*caps);




More information about the Pcsclite-cvs-commit mailing list