5f712c6949
1.4.5: - Add support of Alcor Micro AU9540, Ubisys 13.56MHz RFID (CCID), BIFIT USB-Token iBank2key, BIFIT iBank2Key, Gemalto Ezio Shield PinPad reader, Gemalto SA .NET Dual, Precise Sense MC reader (with fingerprint), SDS DOMINO-Key TWIN Pro - Add support of bPPDUSupport and FEATURE_CCID_ESC_COMMAND - SCARD_ATTR_VENDOR_NAME and SCARD_ATTR_VENDOR_IFD_VERSION are not the vendor name and version of the driver but of the IFD: InterFace Device i.e. the smart card reader. We then return the USB iManufacturer string as SCARD_ATTR_VENDOR_NAME and USB bcdDevice as SCARD_ATTR_VENDOR_IFD_VERSION - reduce binary size bu removing unused features from simclist - Fix some warnings reported bu Coverity 1.4.4: - Add support of Gemalto Ezio Shield, Gemalto Ezio CB+, Gemalto Ezio Shield Secure Channel, Gemalto Ezio Shield PinPad and Gemalto Ezio Generic - Activate USB automatic power suspend. The Linux kernel should power off the reader automatically if it is not used (pcscd is not running). - Add support of TLV Properties wLcdMaxCharacters and wLcdMaxLines. They just duplicate wLcdLayout - some minor bugs removed 1.4.3: - Add support of Neowave Weneo, Vasco DIGIPASS 920, SCM SCL011, Feitian ePass2003 readers - use :libudev: instead of :libhal: naming scheme. - Do not install RSA_SecurID_getpasswd and Kobil_mIDentity_switch and the associated documentation. - the Secure Pin Entry of the HP USB Smart Card Keyboard is bogus so disable it - some minor bugs removed 1.4.2: - Add support of Feitian SCR310 reader (also known as 301v2), ACS APG8201 PINhandy 1, Oberthur ID-ONE TOKEN SLIM v2, new Neowave Weneo token, Vasco DIGIPASS KEY 860, Vasco DIGIPASS KEY 200, Xiring Leo v2, Xiring MyLeo, Aktiv Rutoken lite readers - Add back support of "bogus" Oz776, REINER SCT and BLUDRIVE II - Ease detection of OpenCT by pcsc-lite - disable use of interrupt card events for multi slots readers (the algorithm is bogus and can't be used) - fix minor problems detected by the clang tool - some minor bugs removed 1.4.1: - Add support of Gemalto Smart Guardian (SG CCID), ReinerSCT cyberJack RFID basis, Akasa AK-CR-03, BZH uKeyCI800-K18, Free Software Initiative of Japan Gnuk token readers - Remove O2 Micro Oz776 and Blutronics Bludrive II CCID since they are no more supported since version 1.4.0 - SecurePINVerify() & SecurePINModify(): Accept big and little endian byte orders for multibytes fields. The application should not use HOST_TO_CCID_16() and HOST_TO_CCID_32() any more and just use the normal byte order of the architecture. - Need pcsc-lite 1.6.5 for TAG_IFD_POLLING_THREAD_WITH_TIMEOUT - Add --enable-embedded (default is no) to build libccid for an embedded system. This will activate the NO_LOG option to disable logging and limit RAM and disk consumption. - Remove --enable-udev option since it is not used anymore with libhal. The udev rules file is now used to change the access rights of the device and not send a hotplug signal to pcscd. See http://ludovicrousseau.blogspot.com/2010/09/pcscd-auto-start.html - some minor bugs removed 1.4.0: - add support of Kingtrust Multi-Reader, Dectel CI692, Todos CX00, C3PO LTC36, ACS AET65, Broadcom 5880, Tianyu Smart Card Reader, Gemalto Hybrid Smartcard Reader - Add support of the SCM SDI 010 again. At least the contact interface can be used. - Use libusb-1.0 instead of libusb-0.1 - add support of TAG_IFD_STOP_POLLING_THREAD and use of the asynchronous libusb API to be able to stop a transfer. - Request pcsc-lite 1.6.2 minimum (instead of 1.6.0) to have TAG_IFD_STOP_POLLING_THREAD defined - The O2MICRO OZ776 patch (for OZ776, OZ776_7772, REINER_SCT and BLUDRIVEII_CCID) is no more supported with libusb-1.0 - correctly get the IFSC from the ATR (ATR parsing was not always correct) - some minor bugs removed
76 lines
2.8 KiB
Text
76 lines
2.8 KiB
Text
$NetBSD: patch-ab,v 1.2 2012/12/15 00:29:31 pettai Exp $
|
|
|
|
--- src/commands.c.orig 2012-12-11 19:36:05.000000000 +0000
|
|
+++ src/commands.c
|
|
@@ -161,7 +161,7 @@ RESPONSECODE CmdPowerOn(unsigned int rea
|
|
|
|
/* Status Information? */
|
|
if (0x40 == tmp[0])
|
|
- ccid_error(tmp[2], __FILE__, __LINE__, __FUNCTION__);
|
|
+ ccid_error(tmp[2], __FILE__, __LINE__, (const char *) __FUNCTION__);
|
|
return IFD_COMMUNICATION_ERROR;
|
|
}
|
|
|
|
@@ -230,7 +230,7 @@ again:
|
|
|
|
if (buffer[STATUS_OFFSET] & CCID_COMMAND_FAILED)
|
|
{
|
|
- ccid_error(buffer[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
|
|
+ ccid_error(buffer[ERROR_OFFSET], __FILE__, __LINE__, (const char *) __FUNCTION__); /* bError */
|
|
|
|
if (0xBB == buffer[ERROR_OFFSET] && /* Protocol error in EMV mode */
|
|
((GEMPC433 == ccid_descriptor->readerID)
|
|
@@ -823,7 +823,7 @@ again:
|
|
|
|
if (cmd_out[STATUS_OFFSET] & CCID_COMMAND_FAILED)
|
|
{
|
|
- ccid_error(cmd_out[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
|
|
+ ccid_error(cmd_out[ERROR_OFFSET], __FILE__, __LINE__, (const char *) __FUNCTION__); /* bError */
|
|
return_value = IFD_COMMUNICATION_ERROR;
|
|
}
|
|
|
|
@@ -925,7 +925,7 @@ RESPONSECODE CmdPowerOff(unsigned int re
|
|
|
|
if (cmd[STATUS_OFFSET] & CCID_COMMAND_FAILED)
|
|
{
|
|
- ccid_error(cmd[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
|
|
+ ccid_error(cmd[ERROR_OFFSET], __FILE__, __LINE__, (const char *) __FUNCTION__); /* bError */
|
|
return_value = IFD_COMMUNICATION_ERROR;
|
|
}
|
|
|
|
@@ -1052,7 +1052,7 @@ again_status:
|
|
&& (buffer[ERROR_OFFSET] != 0xFE))
|
|
{
|
|
return_value = IFD_COMMUNICATION_ERROR;
|
|
- ccid_error(buffer[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
|
|
+ ccid_error(buffer[ERROR_OFFSET], __FILE__, __LINE__, (const char *) __FUNCTION__); /* bError */
|
|
}
|
|
|
|
return return_value;
|
|
@@ -1278,7 +1278,7 @@ time_request_ICCD_B:
|
|
|
|
case 0x40:
|
|
/* Status Information */
|
|
- ccid_error(rx_buffer[2], __FILE__, __LINE__, __FUNCTION__);
|
|
+ ccid_error(rx_buffer[2], __FILE__, __LINE__, (const char *) __FUNCTION__);
|
|
return IFD_COMMUNICATION_ERROR;
|
|
|
|
case 0x80:
|
|
@@ -1336,7 +1336,7 @@ time_request:
|
|
|
|
if (cmd[STATUS_OFFSET] & CCID_COMMAND_FAILED)
|
|
{
|
|
- ccid_error(cmd[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
|
|
+ ccid_error(cmd[ERROR_OFFSET], __FILE__, __LINE__, (const char *) __FUNCTION__); /* bError */
|
|
switch (cmd[ERROR_OFFSET])
|
|
{
|
|
case 0xEF: /* cancel */
|
|
@@ -2083,7 +2083,7 @@ RESPONSECODE SetParameters(unsigned int
|
|
|
|
if (cmd[STATUS_OFFSET] & CCID_COMMAND_FAILED)
|
|
{
|
|
- ccid_error(cmd[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
|
|
+ ccid_error(cmd[ERROR_OFFSET], __FILE__, __LINE__, (const char *) __FUNCTION__); /* bError */
|
|
if (0x00 == cmd[ERROR_OFFSET]) /* command not supported */
|
|
return IFD_NOT_SUPPORTED;
|
|
else
|