/[pcsclite]/trunk/Drivers/ccid/src/ccid_usb.c
ViewVC logotype

Log of /trunk/Drivers/ccid/src/ccid_usb.c

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 5473 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 4 09:52:26 2011 UTC (2 years, 4 months ago) by rousseau
File length: 31913 byte(s)
Diff to previous 5458 , to selected 1327
Add and use get_ccid_device_descriptor() to get the CCID descriptor
including a fix for bogus readers (Oz776, Reiner SCT and bludrive II)

Thanks to Diego Elio Pettenò and Dario Leone for the patch

Revision 5458 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 17 08:59:21 2010 UTC (2 years, 5 months ago) by rousseau
File length: 31599 byte(s)
Diff to previous 5437 , to selected 1327
OpenUSBByName(): return STATUS_COMM_ERROR instead of
STATUS_NO_SUCH_DEVICE if the cause of the failure is
libusb_claim_interface(). The main cause if the use of OpenCT.

The OpenCT detection code in pcsc-lite is not triggered if the driver
returns STATUS_NO_SUCH_DEVICE. So the driver must return someting else
in that case.

Revision 5437 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 10 14:44:40 2010 UTC (2 years, 5 months ago) by rousseau
File length: 31497 byte(s)
Diff to previous 5397 , to selected 1327
OpenUSBByName(): use the correct type to fix compiler warning

ccid_usb.c: In function `OpenUSBByName':
ccid_usb.c:294: warning: comparison between signed and unsigned integer
expressions

Revision 5397 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 12 14:23:31 2010 UTC (2 years, 6 months ago) by rousseau
File length: 31492 byte(s)
Diff to previous 5205 , to selected 1327
Athena IDProtect Key v1 was bogus. The v2 should work.

Revision 5205 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 31 08:55:56 2010 UTC (2 years, 8 months ago) by rousseau
File length: 31433 byte(s)
Diff to previous 5185 , to selected 1327
Convert the return value from libusb code to IFD_* in InterruptRead()
instead of IFDHPolling().

We do not return IFD_NO_SUCH_DEVICE any more. This value will be
returned by the next libusb_*() call

Revision 5185 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 26 08:58:06 2010 UTC (2 years, 8 months ago) by rousseau
File length: 31348 byte(s)
Diff to previous 5165 , to selected 1327
Include config.h before any other local includes to the configuration
defined in config.h is used.

This is just a preventive change.

Revision 5165 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 19 14:54:47 2010 UTC (2 years, 9 months ago) by rousseau
File length: 31348 byte(s)
Diff to previous 5153 , to selected 1327
Use the new Info.plist parser API

Revision 5153 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 17 09:47:16 2010 UTC (2 years, 9 months ago) by rousseau
File length: 31275 byte(s)
Diff to previous 5077 , to selected 1327
Do not hardcode the libusb-1.0 include header path (remove the
libusb-1.0/ part)

Revision 5077 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 29 10:06:02 2010 UTC (2 years, 9 months ago) by rousseau
File length: 31286 byte(s)
Diff to previous 5043 , to selected 1327
libusb <= 1.0.8 does not implement a reference counter in
libusb_init()/libusb_exit() for the default context.

We then use our own and unique libusb context.

Revision 5043 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 29 12:00:31 2010 UTC (2 years, 10 months ago) by rousseau
File length: 31097 byte(s)
Diff to previous 5034 , to selected 1327
OpenUSBByName(): use DEBUG_CRITICAL() instead of printf() to log an
error

Revision 5034 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 22 12:58:37 2010 UTC (2 years, 10 months ago) by rousseau
File length: 31095 byte(s)
Diff to previous 5028 , to selected 1327
WriteUSB() & ReadUSB(): also display the value returned by libusb. The
error is not always reported by the kernel so errno is not significant.

Revision 5028 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 22 09:27:01 2010 UTC (2 years, 10 months ago) by rousseau
File length: 31081 byte(s)
Diff to previous 5027 , to selected 1327
Add support of TAG_IFD_STOP_POLLING_THREAD and use of the asynchronous
libusb API to be able to stop a transfer.

We are now "polling" for card movements every 1 hour or once an event
is detected on the interrupt endpoint of the device.

Another gain is that the driver will terminate "instantly" after pcscd
request instead of after a maximum of 2 seconds (previous polling
timeout).

Revision 5027 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 22 09:18:00 2010 UTC (2 years, 10 months ago) by rousseau
File length: 29257 byte(s)
Diff to previous 5026 , to selected 1327
Use ctx instead of NULL to keep the information that this parameter is
the libusb context.

Revision 5026 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 22 09:13:45 2010 UTC (2 years, 10 months ago) by rousseau
File length: 29203 byte(s)
Diff to previous 5025 , to selected 1327
OpenUSBByName(): call libusb_exit() if we can't use the reader

CloseUSB(): call libusb_exit() before exiting

Revision 5025 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 21 14:50:49 2010 UTC (2 years, 10 months ago) by rousseau
File length: 29154 byte(s)
Diff to previous 5024 , to selected 1327
OpenUSBByName(): free the libusb allocated list & devices when we are
done with it

Revision 5024 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 21 14:44:51 2010 UTC (2 years, 10 months ago) by rousseau
File length: 29070 byte(s)
Diff to previous 5012 , to selected 1327
OpenUSBByName(): call libusb_init() just before the next libusb call

Revision 5012 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 17 12:34:14 2010 UTC (2 years, 11 months ago) by rousseau
File length: 29070 byte(s)
Diff to previous 5011 , to selected 1327
get_end_points(): use LIBUSB_ENDPOINT_DIR_MASK instead of
LIBUSB_TRANSFER_TYPE_MASK to get the direction of an endpoint.

.bulk_out field were never set and then not working (No such file or
directory)

Revision 5011 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 17 12:24:21 2010 UTC (2 years, 11 months ago) by rousseau
File length: 29072 byte(s)
Diff to previous 5010 , to selected 1327
WriteUSB() & ReadUSB(): the same function libusb_bulk_transfer() is now
ued to read and write to a USB device. So I use "write failed" and "read
failed" instead of the libusb function name to log an error.

Revision 5010 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 17 09:51:59 2010 UTC (2 years, 11 months ago) by rousseau
File length: 29080 byte(s)
Diff to previous 4993 , to selected 1327
WriteUSB(), ReadUSB() & InterruptRead(): display strerror(errno) instead
of just the code returned by the libusb_*_transfer() function

Revision 4993 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 14 14:02:24 2010 UTC (2 years, 11 months ago) by rousseau
File length: 29042 byte(s)
Diff to previous 4987 , to selected 1327
use libusb-1.0/libusb.h instead of usb.h (from libusb-0.1)

Revision 4987 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 10 14:48:17 2010 UTC (2 years, 11 months ago) by rousseau
File length: 28969 byte(s)
Diff to previous 4973 , to selected 1327
Use libusb-1.0 instead of libusb-0.1

Revision 4973 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 1 09:43:29 2010 UTC (2 years, 11 months ago) by rousseau
File length: 29742 byte(s)
Diff to previous 4963 , to selected 1327
update copyright date

Revision 4963 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 27 09:49:51 2010 UTC (2 years, 11 months ago) by rousseau
File length: 29742 byte(s)
Diff to previous 4956 , to selected 1327
OpenUSBByName(): allow the combination of USE_COMPOSITE_AS_MULTISLOT and
libhal. It does work so do not prevent its use.

Revision 4956 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 20 15:06:48 2010 UTC (3 years ago) by rousseau
File length: 29114 byte(s)
Diff to previous 4937 , to selected 1327
Add support of SCARD_ATTR_VENDOR_IFD_SERIAL_NO

Revision 4937 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 10 09:28:02 2010 UTC (3 years ago) by rousseau
File length: 28631 byte(s)
Diff to previous 4750 , to selected 1327
change read timeout from second to millisecond unit to have a sub-second
control

Revision 4750 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 9 21:31:37 2010 UTC (3 years, 3 months ago) by rousseau
File length: 28645 byte(s)
Diff to previous 4748 , to selected 1327
Fix 1 compiler warning

ccid_usb.c: In function ‘InterruptRead’:
ccid_usb.c:987: warning: pointer targets in passing argument 3 of ‘log_xxd’ differ in signedness
/usr/include/PCSC/debuglog.h:83: note: expected ‘const unsigned char *’ but argument is of type ‘char *’

Revision 4748 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 9 21:25:36 2010 UTC (3 years, 3 months ago) by rousseau
File length: 28622 byte(s)
Diff to previous 4619 , to selected 1327
Fix a compiler warning

ccid_usb.c: In function ‘OpenUSB’:
ccid_usb.c:138: warning: unused parameter ‘Channel’

Revision 4619 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 16 12:42:36 2009 UTC (3 years, 5 months ago) by rousseau
File length: 28605 byte(s)
Diff to previous 4618 , to selected 1327
Todos Argos Mini II with firmware before 1.01 has a bogus CCID
descriptor: "Automatic IFSD exchange as first exchange (T=1)" is
missing. You can't use a T=1 card with this reader.

Revision 4618 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 16 12:40:16 2009 UTC (3 years, 5 months ago) by rousseau
File length: 28550 byte(s)
Diff to previous 4592 , to selected 1327
Precise Biometrics Precise 250 MC with firmware before 50.00 is bogus:
time extension requests are not sent back to the host

Revision 4592 - (view) (download) (annotate) - [select for diffs]
Modified Sat Dec 5 14:29:31 2009 UTC (3 years, 5 months ago) by rousseau
File length: 28481 byte(s)
Diff to previous 4446 , to selected 1327
Precise Biometrics Precise 200 MC with firmware before 50.00 is bogus:
time extension requests are not sent back to the host

Revision 4446 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 8 08:22:24 2009 UTC (3 years, 7 months ago) by rousseau
File length: 28412 byte(s)
Diff to previous 4401 , to selected 1327
Use usb_strerror() instead of strerror(errno) to also get the libusb
specifc error messages

Revision 4401 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 28 14:06:49 2009 UTC (3 years, 7 months ago) by rousseau
File length: 28418 byte(s)
Diff to previous 4346 , to selected 1327
OpenUSBByName(): make the libhal scheme parsing more robust.
Readers serial "numbers" may contain '_' characters

Revision 4346 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 28 13:39:37 2009 UTC (3 years, 9 months ago) by rousseau
File length: 28560 byte(s)
Diff to previous 4345 , to selected 1327
change InterruptRead() to add a timeout parameter. We need a short
timeout in ccid_open_hack_pre()

Revision 4345 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 28 13:35:22 2009 UTC (3 years, 9 months ago) by rousseau
File length: 28577 byte(s)
Diff to previous 4343 , to selected 1327
InterruptRead(): also log reader_index (instead of Lun) for debug

Revision 4343 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 27 09:47:18 2009 UTC (3 years, 9 months ago) by rousseau
File length: 28538 byte(s)
Diff to previous 4342 , to selected 1327
OpenUSBByName(): do not modify the device name. The same pointer is used
by pcscd

Revision 4342 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 27 08:49:01 2009 UTC (3 years, 9 months ago) by rousseau
File length: 28599 byte(s)
Diff to previous 4295 , to selected 1327
InterruptRead(): use usb_strerror() to display the error message in
text instead of just decimal

Revision 4295 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 3 12:48:36 2009 UTC (3 years, 10 months ago) by rousseau
File length: 28586 byte(s)
Diff to previous 4284 , to selected 1327
If the driver fails to open a device (wrong interface number in the
libhal scheme for example) then return IFD_NO_SUCH_DEVICE instead of the
generic error IFD_COMMUNICATION_ERROR

Revision 4284 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 29 12:30:03 2009 UTC (3 years, 10 months ago) by rousseau
File length: 28584 byte(s)
Diff to previous 4229 , to selected 1327
InterruptRead(): use PERIODIC instead of COMM debug level to not pollute
to much the logs for this _periodic_ call

Revision 4229 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 27 11:51:07 2009 UTC (3 years, 11 months ago) by rousseau
File length: 28576 byte(s)
Diff to previous 4228 , to selected 1327
ccid_check_firmware(): reindent a line

Revision 4228 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 27 11:49:47 2009 UTC (3 years, 11 months ago) by rousseau
File length: 28577 byte(s)
Diff to previous 4227 , to selected 1327
OpenUSBByName(): no need to get a pointer on the device serial number
from the HAL string

Revision 4227 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 27 09:20:44 2009 UTC (3 years, 11 months ago) by rousseau
File length: 28621 byte(s)
Diff to previous 3488 , to selected 1327
ACS ACR122U-WB-R with firmware < 2.06 are bogus: APDU with 0x7B (123)
bytes expected do not work with a 14443 card. The reader returns SW=63
00 instead.

Revision 3488 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 7 08:04:20 2009 UTC (4 years ago) by rousseau
File length: 28569 byte(s)
Diff to previous 3414 , to selected 1327
do not power up a card with a voltage not supported by the reader

Revision 3414 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 9 07:21:47 2009 UTC (4 years, 1 month ago) by rousseau
File length: 28480 byte(s)
Diff to previous 3406 , to selected 1327
OpenUSBByName(): static_interface variable is used only with
USE_COMPOSITE_AS_MULTISLOT

Revision 3406 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 31 12:48:21 2009 UTC (4 years, 1 month ago) by rousseau
File length: 28479 byte(s)
Diff to previous 3405 , to selected 1327
OpenUSBByName(): only increase the interface number for the next "slot"
if the previous interface was opened correctly

It is now posible to use 2 composite readers without libusb and libhal
scheme

Revision 3405 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 31 09:30:01 2009 UTC (4 years, 1 month ago) by rousseau
File length: 28357 byte(s)
Diff to previous 3378 , to selected 1327
OpenUSBByName(): support more than one composite or
composite-as-multislot readers

Revision 3378 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 26 14:34:35 2009 UTC (4 years, 1 month ago) by rousseau
File length: 28245 byte(s)
Diff to previous 3356 , to selected 1327
add support of a composite device as multi-slots device

Revision 3356 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 21 14:07:54 2009 UTC (4 years, 1 month ago) by rousseau
File length: 27692 byte(s)
Diff to previous 3350 , to selected 1327
add support of PIN_PROPERTIES_STRUCTURE structure and
FEATURE_IFD_PIN_PROPERTIES

Thanks to Martin Paljak for the patch

Revision 3350 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 19 13:48:10 2009 UTC (4 years, 2 months ago) by rousseau
File length: 27549 byte(s)
Diff to previous 3348 , to selected 1327
OpenUSBByName(): support more than one CCID interface per USB device
with the libhal scheme

Revision 3348 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 17 09:42:40 2009 UTC (4 years, 2 months ago) by rousseau
File length: 25746 byte(s)
Diff to previous 3310 , to selected 1327
allow to list more than one CCID interface per USB device

Revision 3310 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 7 16:23:54 2009 UTC (4 years, 3 months ago) by rousseau
File length: 25566 byte(s)
Diff to previous 3269 , to selected 1327
OpenUSBByName(): device_vendor and device_product varioables are not used
on Mac OS X.

Revision 3269 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 5 14:35:25 2009 UTC (4 years, 4 months ago) by rousseau
File length: 25541 byte(s)
Diff to previous 3268 , to selected 1327
use snprintf() instead of sprintf() to avoid potential buffer overflow

Revision 3268 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 5 14:28:26 2009 UTC (4 years, 4 months ago) by rousseau
File length: 25491 byte(s)
Diff to previous 3106 , to selected 1327
explicitly cast result in void when not used (reported by the splint tool)

Revision 3106 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 5 07:37:24 2008 UTC (4 years, 8 months ago) by rousseau
File length: 25407 byte(s)
Diff to previous 3097 , to selected 1327
InterruptRead(): do not log the error if errno == ENODEV since that
happens in canse of timeout

Revision 3097 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 19 13:55:28 2008 UTC (4 years, 9 months ago) by rousseau
File length: 25386 byte(s)
Diff to previous 3027 , to selected 1327
InterruptRead(): do not cache if the reader has failed previously since
this state was stored in a static variable global to all the readers
managed by the driver and was not per reader.

Without this mechanism we may have a bit more error messages logged but
the driver will work in a multi-reader configuration.

Revision 3027 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 26 13:42:22 2008 UTC (4 years, 10 months ago) by rousseau
File length: 25523 byte(s)
Diff to previous 3026 , to selected 1327
InterruptRead(): remove a \n in a log

Revision 3026 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 26 13:41:44 2008 UTC (4 years, 10 months ago) by rousseau
File length: 25525 byte(s)
Diff to previous 2974 , to selected 1327
InterruptRead(): use a 2 seconds timeout since it is not possible for
pcscd to kill the polling thread.

See thread on libusb-devel http://sourceforge.net/mailarchive/forum.php?thread_name=baabf6440805290726s228bce20r5073d55d8d56241b%40mail.gmail.com&forum_name=libusb-devel

Revision 2974 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 28 18:32:52 2008 UTC (4 years, 11 months ago) by rousseau
File length: 25518 byte(s)
Diff to previous 2871 , to selected 1327
update Free Software Foundation mail address

Revision 2871 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 8 09:34:13 2008 UTC (5 years, 1 month ago) by rousseau
File length: 25522 byte(s)
Diff to previous 2859 , to selected 1327
Simulate card absence for the GemCore SIM Pro

Revision 2859 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 29 15:16:45 2008 UTC (5 years, 1 month ago) by rousseau
File length: 25356 byte(s)
Diff to previous 2802 , to selected 1327
ccid_check_firmware(): use unsigned int instead of int

ccid_usb.c:720: warning: comparison between signed and unsigned

Revision 2802 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 7 07:49:48 2008 UTC (5 years, 3 months ago) by rousseau
File length: 25347 byte(s)
Diff to previous 2793 , to selected 1327
InterruptRead(): in case of timeout we can also get EAGAIN (Resource
temporarily unavailable)

Revision 2793 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 6 08:57:41 2008 UTC (5 years, 3 months ago) by rousseau
File length: 25314 byte(s)
Diff to previous 2776 , to selected 1327
add support for Bludrive II CCID

Revision 2776 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 1 09:29:44 2008 UTC (5 years, 3 months ago) by rousseau
File length: 25281 byte(s)
Diff to previous 2774 , to selected 1327
add InterruptRead() to read the interrupt pipe use by asynchronous card
movements

Revision 2774 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 29 15:01:21 2008 UTC (5 years, 3 months ago) by rousseau
File length: 24323 byte(s)
Diff to previous 2772 , to selected 1327
add comments

Revision 2772 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 29 14:52:52 2008 UTC (5 years, 3 months ago) by rousseau
File length: 24068 byte(s)
Diff to previous 2771 , to selected 1327
add interrupt end point field in _usbDevice structure

Revision 2771 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 29 14:51:34 2008 UTC (5 years, 3 months ago) by rousseau
File length: 23814 byte(s)
Diff to previous 2763 , to selected 1327
add bNumEndpoints field in _ccid_descriptor structure

Revision 2763 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 24 09:36:15 2008 UTC (5 years, 3 months ago) by rousseau
File length: 23722 byte(s)
Diff to previous 2754 , to selected 1327
ReadUSB(): return an error if we get more than 10 duplicate frames error
in one read. Avoids an infinite loop with some buggy readers.

Revision 2754 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 22 10:22:09 2008 UTC (5 years, 3 months ago) by rousseau
File length: 23552 byte(s)
Diff to previous 2697 , to selected 1327
add support for Mac OS X Leopard (10.5.1)

Revision 2697 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 16 16:28:41 2007 UTC (5 years, 6 months ago) by rousseau
File length: 23380 byte(s)
Diff to previous 2691 , to selected 1327
remove Reiner-SCT cyberJack pinpad(a) from bogus firmware list since yhe
bug is just a missing management of time requests

Revision 2691 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 16 13:26:40 2007 UTC (5 years, 6 months ago) by rousseau
File length: 23446 byte(s)
Diff to previous 2690 , to selected 1327
move the readers without a correct firmware together at the end of the
list of bogus firmwares

Revision 2690 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 16 13:24:28 2007 UTC (5 years, 6 months ago) by rousseau
File length: 23440 byte(s)
Diff to previous 2685 , to selected 1327
add Reiner-SCT cyberJack pinpad(a) in the list of bogus firmwares

Revision 2685 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 15 23:10:36 2007 UTC (5 years, 6 months ago) by rousseau
File length: 23374 byte(s)
Diff to previous 2664 , to selected 1327
add support for Reiner SCT

Revision 2664 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 21 14:54:54 2007 UTC (5 years, 6 months ago) by rousseau
File length: 23344 byte(s)
Diff to previous 2602 , to selected 1327
get_end_points(): check that dev->config is not NULL before
dereferencing dev->config->bNumInterfaces

Avoid a crash on Mac OS X

Revision 2602 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 2 20:04:12 2007 UTC (5 years, 9 months ago) by rousseau
File length: 23329 byte(s)
Diff to previous 2510 , to selected 1327
add support of the O2Micro oz776 (ProductID 0x7772)

Revision 2510 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 3 19:21:54 2007 UTC (6 years ago) by rousseau
File length: 23230 byte(s)
Diff to previous 2470 , to selected 1327
get_end_points(): avoid a double free on close for the O2MICRO_OZ776
special case.

" In ccid_usb.c you move the extra descriptor from the endpoint 2
descriptor to the interface descriptor. The problem is, when libusb try
to free the descriptors associated to this device on shutdown or if the
device disappears, it tries to free the same buffer twice. For me it
means the pcscd is killed with a glibc detected "double free". "

Thanks to Michael Wegner for the patch

Revision 2470 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 8 12:44:37 2007 UTC (6 years, 2 months ago) by rousseau
File length: 23079 byte(s)
Diff to previous 2469 , to selected 1327
add support of ICCD version A and B

Revision 2469 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 8 10:21:47 2007 UTC (6 years, 2 months ago) by rousseau
File length: 22977 byte(s)
Diff to previous 2426 , to selected 1327
ControlUSB(): add some debug: request value and data send/received

Revision 2426 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 23 16:45:05 2007 UTC (6 years, 2 months ago) by rousseau
File length: 22777 byte(s)
Diff to previous 2425 , to selected 1327
get_end_points(): change parameter name from usb_device to usbdevice to
avoid: warning: declaration of 'usb_device' shadows a global declaration
/usr/include/usb.h:329: warning: shadowed declaration is here

Revision 2425 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 23 16:41:18 2007 UTC (6 years, 2 months ago) by rousseau
File length: 22781 byte(s)
Diff to previous 2424 , to selected 1327
ControlUSB(): explicit cast to avoid warning: pointer targets in passing
argument 6 of 'usb_control_msg' differ in signedness

Revision 2424 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 23 16:40:08 2007 UTC (6 years, 2 months ago) by rousseau
File length: 22773 byte(s)
Diff to previous 2423 , to selected 1327
get_data_rates(): use ControlUSB() instead of usb_control_msg()

Revision 2423 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 23 16:37:09 2007 UTC (6 years, 2 months ago) by rousseau
File length: 22910 byte(s)
Diff to previous 2393 , to selected 1327
add ControlUSB() declaration and implementation

Revision 2393 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 10 19:45:51 2007 UTC (6 years, 3 months ago) by rousseau
File length: 22602 byte(s)
Diff to previous 2392 , to selected 1327
get_end_points(): correct bug in revision 2392

Revision 2392 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 10 19:43:13 2007 UTC (6 years, 3 months ago) by rousseau
File length: 22588 byte(s)
Diff to previous 2359 , to selected 1327
get_end_points(): use usb_interface->altsetting->bNumEndpoints instead
of the hardcoded value 3

Revision 2359 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 27 13:31:33 2007 UTC (6 years, 3 months ago) by rousseau
File length: 22563 byte(s)
Diff to previous 2356 , to selected 1327
Bogus_firmwares[]: the driver now contains patches to circumvent the
Oz776 reader. It is then declared bogus only if O2MICRO_OZ776_PATCH is
not defined

Revision 2356 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 26 16:43:45 2007 UTC (6 years, 3 months ago) by rousseau
File length: 22528 byte(s)
Diff to previous 2296 , to selected 1327
move #define O2MICRO_OZ776_PATCH from ccid_usb.c to ccid.h so we can use
it in other .c files

Revision 2296 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 19:55:40 2007 UTC (6 years, 4 months ago) by rousseau
File length: 22716 byte(s)
Diff to previous 2295 , to selected 1327
CloseUSB(): free .dirname and .filename only for the last slot

Revision 2295 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 17:01:15 2007 UTC (6 years, 4 months ago) by rousseau
File length: 22713 byte(s)
Diff to previous 2294 , to selected 1327
OpenUSBByName(): move the "Checking device: " log message out of the
usbDevice[] loop since we display info of the new device and not of
a device from usbDevice[]

Revision 2294 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 16:55:33 2007 UTC (6 years, 4 months ago) by rousseau
File length: 22717 byte(s)
Diff to previous 2293 , to selected 1327
struct _usbDevice: replace struct usb_device *dev; by char *dirname; and
char *filename; since the libusb structure can be modified at any time
by libusb (this structure is reused for another USB device when the USB
device is removed)

Revision 2293 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 16:46:58 2007 UTC (6 years, 4 months ago) by rousseau
File length: 22821 byte(s)
Diff to previous 2292 , to selected 1327
get_data_rates() now has a struct usb_device *dev parameter to avoid
storing it in struct _usbDevice

Revision 2292 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 16:25:03 2007 UTC (6 years, 4 months ago) by rousseau
File length: 22793 byte(s)
Diff to previous 2291 , to selected 1327
remove unused get_desc() function

Revision 2291 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 16:23:04 2007 UTC (6 years, 4 months ago) by rousseau
File length: 23250 byte(s)
Diff to previous 2290 , to selected 1327
revert revisions 2289 and 2290

It is not the correct solution to the problem

Revision 2290 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 14:28:08 2007 UTC (6 years, 4 months ago) by rousseau
File length: 23466 byte(s)
Diff to previous 2289 , to selected 1327
WriteUSB()/ReadUSB(): check that the device entry is still valid before
using it

Revision 2289 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 2 14:25:30 2007 UTC (6 years, 4 months ago) by rousseau
File length: 23320 byte(s)
Diff to previous 2206 , to selected 1327
WriteUSB()/ReadUSB(): call CloseUSB() as soon as the device disapears
(ENODEV) since the libusb structures pointed by usbDevice[] may be
reused by another USB device

Revision 2206 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 15 14:31:38 2006 UTC (6 years, 6 months ago) by rousseau
File length: 23250 byte(s)
Diff to previous 2154 , to selected 1327
WriteUSB() & ReadUSB(): return STATUS_NO_SUCH_DEVICE if read() or
write() fails with ENODEV

Revision 2154 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 10 19:58:02 2006 UTC (6 years, 8 months ago) by rousseau
File length: 23136 byte(s)
Diff to previous 2152 , to selected 1327
Bogus_firm[]: firmware 1.01 for Alcor AU9520 is bogus. The time request
of the card is not forwarded to the host by the reader.

Revision 2152 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 6 20:06:58 2006 UTC (6 years, 8 months ago) by rousseau
File length: 23086 byte(s)
Diff to previous 2119 , to selected 1327
remove trailing spaces at end of lines

Revision 2119 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 1 20:05:22 2006 UTC (6 years, 9 months ago) by rousseau
File length: 23092 byte(s)
Diff to previous 2107 , to selected 1327
ReadUSB(): check that usbDevice[reader_index].dev->bus is still non-NULL
(as we do in WriteUSB()) before dereferencing it in the debug message.

Thanks to Michael Wegner for the patch

Revision 2107 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 11 18:35:25 2006 UTC (6 years, 10 months ago) by rousseau
File length: 22962 byte(s)
Diff to previous 2097 , to selected 1327
correct a typo in a comment

Revision 2097 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 4 07:06:10 2006 UTC (6 years, 10 months ago) by rousseau
File length: 22961 byte(s)
Diff to previous 2083 , to selected 1327
ReadUSB(): be sure we have read enough bytes before checking for frame
detectation

Revision 2083 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 3 12:51:59 2006 UTC (6 years, 10 months ago) by rousseau
File length: 22929 byte(s)
Diff to previous 2048 , to selected 1327
ReadUSB(): detect and ignore duplicated CCID frames

Revision 2048 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 19 12:18:49 2006 UTC (7 years ago) by rousseau
File length: 22700 byte(s)
Diff to previous 2014 , to selected 1327
SCM SPR 532 with firmware < 5.10 has problems

Revision 2014 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 18 15:05:33 2006 UTC (7 years, 1 month ago) by rousseau
File length: 22700 byte(s)
Diff to previous 2002 , to selected 1327
declare get_ccid_usb_interface() as EXTERNAL since this function is used
by src/parse

Revision 2002 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 14 18:42:41 2006 UTC (7 years, 1 month ago) by rousseau
File length: 22673 byte(s)
Diff to previous 1875 , to selected 1327
firmwares for Athena ASE IIIe USBv2 and ASE IIIe KB USB were bogus.

Revision 1875 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 21 23:03:27 2006 UTC (7 years, 2 months ago) by rousseau
File length: 22572 byte(s)
Diff to previous 1818 , to selected 1327
the ActivCard V2 is bogus (problem with wMaxPacketSize size frames)

Revision 1818 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 20 13:25:56 2006 UTC (7 years, 3 months ago) by rousseau
File length: 22524 byte(s)
Diff to previous 1808 , to selected 1327
get_ccid_usb_interface(): use the same code for a device with 1 or >1
interfaces

Revision 1808 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 18 10:25:34 2006 UTC (7 years, 4 months ago) by rousseau
File length: 22678 byte(s)
Diff to previous 1807 , to selected 1327
add support of GemCore SIM Pro and GemCore POS Pro (serial and USB).

Revision 1807 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 18 10:24:09 2006 UTC (7 years, 4 months ago) by rousseau
File length: 22155 byte(s)
Diff to previous 1804 , to selected 1327
CloseUSB(): free the allocated arrayOfSupportedDataRates only for the
pimary slot. The other slots of the same reader either point to the
same array or point to a statically allocated array.

Revision 1804 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 17 19:57:11 2006 UTC (7 years, 4 months ago) by rousseau
File length: 22027 byte(s)
Diff to previous 1792 , to selected 1327
OpenUSBByName(): check that usbDevice[previous_reader_index].dev is
still valid before dereferencing it

Thanks to Martin Paljak for the bug report

Revision 1792 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 11 09:14:47 2006 UTC (7 years, 4 months ago) by rousseau
File length: 21980 byte(s)
Diff to previous 1791 , to selected 1327
OpenUSBByName(): use log level INFO instead of CRITICAL to display
copyright information

Revision 1791 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 11 09:08:43 2006 UTC (7 years, 4 months ago) by rousseau
File length: 21996 byte(s)
Diff to previous 1775 , to selected 1327
release the allocated ressources only when the last slot of a multi-slot
reader is closed

Revision 1775 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 29 14:33:22 2005 UTC (7 years, 5 months ago) by rousseau
File length: 21443 byte(s)
Diff to previous 1703 , to selected 1327
OpenUSBByName(): do not (re)set the usbDevice[].ccid.pbSeq field since
we just copied the complete structure just before

Revision 1703 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 7 15:46:03 2005 UTC (7 years, 6 months ago) by rousseau
File length: 21532 byte(s)
Diff to previous 1641 , to selected 1327
remove #ifdef DEBUG_LEVEL_COMM since DEBUG_LEVEL_COMM is a numeric value
and not a compilation flag anymore. Debug is always active and filtered
by pcscd.

Revision 1641 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 5 14:43:02 2005 UTC (7 years, 8 months ago) by rousseau
File length: 21656 byte(s)
Diff to previous 1613 , to selected 1327
get_data_rates(): check the response size only if bNumDataRatesSupported
is non zero

Revision 1613 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 13 14:26:22 2005 UTC (7 years, 9 months ago) by rousseau
File length: 21647 byte(s)
Diff to previous 1608 , to selected 1327
CloseUSB(): call usb_reset() only if DRIVER_OPTION_RESET_ON_CLOSE is
set.

The problem was that a device reset also disconnects the keyboard on a
keyboard + reader device.

Revision 1608 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 11 13:48:21 2005 UTC (7 years, 9 months ago) by rousseau
File length: 21595 byte(s)
Diff to previous 1585 , to selected 1327
get_data_rates(): check that we do not get more data rates than the
reader supports

Revision 1585 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 2 13:44:09 2005 UTC (7 years, 9 months ago) by rousseau
File length: 21265 byte(s)
Diff to previous 1569 , to selected 1327
OpenUSBByName(): call usb_close() if the device can't be used

Revision 1569 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 4 09:17:27 2005 UTC (7 years, 10 months ago) by rousseau
File length: 21106 byte(s)
Diff to previous 1547 , to selected 1327
OpenUSBByName(): vendorID, productID are unsigned
avoids a "comparison between signed and unsigned" warning

Revision 1547 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 4 09:44:31 2005 UTC (7 years, 11 months ago) by rousseau
File length: 21097 byte(s)
Diff to previous 1486 , to selected 1327
WriteUSB(): do not parse usbDevice[reader_index].dev->bus if it is a
NULL pointer (the device has been removed for example)

Revision 1486 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 2 09:19:36 2005 UTC (8 years ago) by rousseau
File length: 20968 byte(s)
Diff to previous 1485 , to selected 1327
get_data_rates(): if the reader do not support GET DATA RATES we return
NULL instead of a manually constructed/fake list

Revision 1485 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 2 09:17:53 2005 UTC (8 years ago) by rousseau
File length: 21312 byte(s)
Diff to previous 1483 , to selected 1327
Open*ByName(): initialise dwMaxDataRate field

Revision 1483 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 2 08:30:57 2005 UTC (8 years ago) by rousseau
File length: 21218 byte(s)
Diff to previous 1479 , to selected 1327
get_data_rates(): check that the reader sends a DATA RATES list size
multiple of 4 othewise it is an error

Revision 1479 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 14:10:38 2005 UTC (8 years ago) by rousseau
File length: 21280 byte(s)
Diff to previous 1476 , to selected 1327
Open*ByName: do not initialise the now disappeared .dwMaxDataRate field

Revision 1476 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 14:04:38 2005 UTC (8 years ago) by rousseau
File length: 21374 byte(s)
Diff to previous 1475 , to selected 1327
get_data_rates(): if the CCID command GET DATA RATES is nto supported
the array of supported rates contains only the default and max data
rates

Revision 1475 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 13:55:52 2005 UTC (8 years ago) by rousseau
File length: 20865 byte(s)
Diff to previous 1467 , to selected 1327
get_data_rates(): test if int_array is NULL (and not buffer)

Revision 1467 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 13:20:39 2005 UTC (8 years ago) by rousseau
File length: 20862 byte(s)
Diff to previous 1460 , to selected 1327
get_data_rates(): use the real interface number instead of 0

Revision 1460 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 12:11:47 2005 UTC (8 years ago) by rousseau
File length: 20833 byte(s)
Diff to previous 1459 , to selected 1327
get_data_rates(): buffer argument of usb_control_msg is (char *) and not
(unsigned char *)

Revision 1459 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 12:10:45 2005 UTC (8 years ago) by rousseau
File length: 20825 byte(s)
Diff to previous 1453 , to selected 1327
get_data_rates() returns an unsigned int [] (not just int [])

Revision 1453 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 26 14:34:52 2005 UTC (8 years ago) by rousseau
File length: 20807 byte(s)
Diff to previous 1446 , to selected 1327
use the calculated read timeout instead of a fixed value

Revision 1446 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 26 13:43:13 2005 UTC (8 years ago) by rousseau
File length: 20920 byte(s)
Diff to previous 1399 , to selected 1327
OpenUSBByName(): get the list of data rates the reader supports

See 3.7.3 Get Data Rates (page 25) from CCID spec 1.00

Revision 1399 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 14 18:56:53 2005 UTC (8 years, 2 months ago) by rousseau
File length: 19456 byte(s)
Diff to previous 1327
change licence from GNU GPL to GNU LGPL

Revision 1327 - (view) (download) (annotate) - [selected]
Modified Sun Feb 20 14:34:42 2005 UTC (8 years, 2 months ago) by rousseau
File length: 19434 byte(s)
Diff to previous 1325
add an "interface field" in _usbDevice. This value is set in OpenUSB()
and used in CloseUSB().

The struct usb_device structure is half "corrupted" after the USB device
is removed and we wanted to use it when when closing the driver after a
reader removal. This caused a crash with libusb 0.1.10.

Revision 1325 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 20 14:03:07 2005 UTC (8 years, 2 months ago) by rousseau
File length: 19586 byte(s)
Diff to previous 1312 , to selected 1327
Bogus_firmwares[]: add Kobil KAAN Base & KAAN Advanced readers

Revision 1312 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 13 10:37:40 2005 UTC (8 years, 4 months ago) by rousseau
File length: 19492 byte(s)
Diff to previous 1298 , to selected 1327
Bogus_firmwares[]: the 3 SMC readers had the same (cut-n-paste) USB
identification

Revision 1298 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 19 17:13:27 2004 UTC (8 years, 5 months ago) by rousseau
File length: 19492 byte(s)
Diff to previous 1287 , to selected 1327
SPR 532 firmware previous to 5.04 is bogus regarding min/max pin lengths

Revision 1287 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 19 08:40:42 2004 UTC (8 years, 7 months ago) by rousseau
File length: 19492 byte(s)
Diff to previous 1281 , to selected 1327
check firmware version to avoid firmwares with bugs. You can still use a
bigus firmware by setting DRIVER_OPTION_USE_BOGUS_FIRMWARE in Info.plist

Revision 1281 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 7 20:28:49 2004 UTC (8 years, 7 months ago) by rousseau
File length: 17701 byte(s)
Diff to previous 1256 , to selected 1327
the first argument of get_desc() is lun instead of channel and the
function uses LunToReaderIndex() to get the reader index

Revision 1256 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 30 13:57:07 2004 UTC (8 years, 7 months ago) by rousseau
File length: 17672 byte(s)
Diff to previous 1151 , to selected 1327
get_ccid_usb_interface(): the O2Micro OZ776S reader has a wrong USB
descriptor. The extra[] field is associated with the last endpoint instead
of the main USB descriptor.

Revision 1151 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 6 11:18:41 2004 UTC (8 years, 9 months ago) by rousseau
File length: 16923 byte(s)
Diff to previous 1149 , to selected 1327
for multi-slots readers IFDHCreateChannel*()/OpenUSB is called for each
slot. If we are opening a new slot of an already opened reader we reuse
the same data (same libusb structures) and share the same pbSeq.

Revision 1149 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 6 11:00:25 2004 UTC (8 years, 9 months ago) by rousseau
File length: 15940 byte(s)
Diff to previous 1146 , to selected 1327
use pbSeq instead of bSeq

Revision 1146 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 4 21:30:14 2004 UTC (8 years, 9 months ago) by rousseau
File length: 15852 byte(s)
Diff to previous 1106 , to selected 1327
remove defaultFeatures management (was used for SCR331-DI hack)

Revision 1106 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 28 08:33:18 2004 UTC (8 years, 9 months ago) by rousseau
File length: 15945 byte(s)
Diff to previous 1101 , to selected 1327
use reader_index instead of lun as reader identification

Revision 1101 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 26 09:16:16 2004 UTC (8 years, 9 months ago) by rousseau
File length: 15798 byte(s)
Diff to previous 1091 , to selected 1327
initialise ccid.defaultFeatures field

Revision 1091 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 21 08:59:28 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15718 byte(s)
Diff to previous 1079 , to selected 1327
initialise bMaxSlotIndex and ccid.bCurrentSlotIndex fields

Revision 1079 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 16 09:07:26 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15586 byte(s)
Diff to previous 1077 , to selected 1327
OpenUSBByName(): use base 0 instead of 16 in strtoul() so that you can
express the decimal value 15 as: 15 (decimal), 0xF (hex) or 017 (octal).

It is not really needed since the reader descriptions in Info.plist are
all in hex.

Revision 1077 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 16 06:53:25 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15582 byte(s)
Diff to previous 1054 , to selected 1327
rename PCSCLITE_MAX_READERS in CCID_DRIVER_MAX_READERS

This value is not defined by pcsc-lite but is internal to the CCID
driver. By default pcsc-lite supports the same number of readers (16).

Revision 1054 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 13:23:37 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15573 byte(s)
Diff to previous 1053 , to selected 1327
mark potentially null values as /*@null@*/ for splint

Revision 1053 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 13:21:44 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15551 byte(s)
Diff to previous 1052 , to selected 1327
mark unused arguments as /*@unused@*/ for splint

Revision 1052 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 13:19:09 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15538 byte(s)
Diff to previous 1049 , to selected 1327
include <sys/types.h> so splint can parse the file

Revision 1049 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 08:28:44 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15487 byte(s)
Diff to previous 1043 , to selected 1327
lun is (unsigned int) so reader = LunToReaderIndex(lun) is also (unsigned int)

Revision 1043 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 07:10:17 2004 UTC (8 years, 10 months ago) by rousseau
File length: 15451 byte(s)
Diff to previous 900 , to selected 1327
lun is (unsigned int) instead of (int)

Avoid a warning by splint in #define LunToReaderIndex(Lun) (Lun>>16)
Left operand of >> may be negative (int): lun >> 16

Revision 900 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 25 14:46:02 2004 UTC (8 years, 11 months ago) by rousseau
File length: 15397 byte(s)
Diff to previous 895 , to selected 1327
add support for SCardGetAttrib(.., IOCTL_SMARTCARD_VENDOR_VERIFY_PIN, ..)
to know if the reader supports SCardControl(.., IOCTL_SMARTCARD_VENDOR_VERIFY_PIN, ..)

Revision 895 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 25 08:23:20 2004 UTC (8 years, 11 months ago) by rousseau
File length: 15317 byte(s)
Diff to previous 892 , to selected 1327
set length to 0 when a usb_bulk_read() error is returned

Revision 892 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 24 12:58:43 2004 UTC (8 years, 11 months ago) by rousseau
File length: 15301 byte(s)
Diff to previous 878 , to selected 1327
recompile using gcc -pedantic and correct:
- some C++ syntax comments
- many signedness "problems"

Revision 878 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 17 14:37:08 2004 UTC (9 years ago) by rousseau
File length: 15224 byte(s)
Diff to previous 781 , to selected 1327
do not export get_end_points() declaration and make the function static

Revision 781 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 8 14:35:57 2004 UTC (9 years, 1 month ago) by rousseau
File length: 15119 byte(s)
Diff to previous 774 , to selected 1327
add support for the libusb naming scheme: usb:%04x/%04x:libusb:%s

Revision 774 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 6 13:15:34 2004 UTC (9 years, 1 month ago) by rousseau
File length: 14295 byte(s)
Diff to previous 762 , to selected 1327
add { } to avoid ambiguities now that DEBUG_* are "if (x) y" constructions

Revision 762 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 5 09:47:21 2004 UTC (9 years, 1 month ago) by rousseau
File length: 14277 byte(s)
Diff to previous 738 , to selected 1327
define ALLOW_PROPRIETARY_CLASS by default

Proprietary USB Class (0xFF) are (or are not) accepted
A proprietary class is used for devices released before the final CCID
specifications were ready.
We should not have problems with non CCID devices becasue the
Manufacturer and Product ID are also used to identify the device */

Revision 738 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 30 13:01:05 2004 UTC (9 years, 1 month ago) by rousseau
File length: 13944 byte(s)
Diff to previous 694 , to selected 1327
allow proprietary CCID Class byte but only if ALLOW_PROPRIETARY_CLASS is
defined. You should know what you do. Only useful for pre-CCID devices.

Revision 694 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 12 16:09:32 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13810 byte(s)
Diff to previous 683 , to selected 1327
fill dwDefaultClock and dwMaxDataRate according to the reader descriptor

Revision 683 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 9 13:57:14 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13685 byte(s)
Diff to previous 682 , to selected 1327
first bSeq is 0 (even if 1 works ok)

Revision 682 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 9 13:55:09 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13685 byte(s)
Diff to previous 672 , to selected 1327
usb_reset() the device before usb_close()

Revision 672 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 3 15:43:51 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13647 byte(s)
Diff to previous 662 , to selected 1327
add dwMaxIFSD field

Revision 662 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 29 10:33:52 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13563 byte(s)
Diff to previous 655 , to selected 1327
- remove device_name[] from struct _usbDevice
- use naming scheme usb:vendor/product
- simplify (a bit) the code

Revision 655 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 27 14:46:01 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13753 byte(s)
Diff to previous 650 , to selected 1327
use DEBUG_CRITICAL2() instead of DEBUG_CRITICAL()

Revision 650 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 27 13:39:47 2004 UTC (9 years, 3 months ago) by rousseau
File length: 13752 byte(s)
Diff to previous 649 , to selected 1327
add support of USB devices with multiple interfaces (like the Silitek
SK-3105 keyboard)

Revision 649 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 27 13:32:55 2004 UTC (9 years, 3 months ago) by rousseau
File length: 12461 byte(s)
Diff to previous 612 , to selected 1327
add support of IFDHCreateChannelByName

Revision 612 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 15 13:45:37 2004 UTC (9 years, 4 months ago) by rousseau
File length: 11583 byte(s)
Diff to previous 608 , to selected 1327
call ccid_open_hack() in IFDHCreateChannel() instead of in each OpenPort()

Revision 608 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 15 08:30:31 2004 UTC (9 years, 4 months ago) by rousseau
File length: 11685 byte(s)
Diff to previous 581 , to selected 1327
remove function name from debug message since __FUNCTION__ is now used in
DEBUG_* macro definition

Revision 581 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 6 07:21:27 2004 UTC (9 years, 4 months ago) by rousseau
File length: 11694 byte(s)
Diff to previous 579 , to selected 1327
the USB extra field length shall be exactly 54 bytes to be CCID.

Revision 579 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 5 20:53:59 2004 UTC (9 years, 4 months ago) by rousseau
File length: 11684 byte(s)
Diff to previous 570 , to selected 1327
add a test on the USB extra field length to avoid a crash and print an
error message. This occurs when the reader is _not_ CCID and the CCID
driver is used (wrong Info.plist for example).

Revision 570 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 16 10:11:09 2003 UTC (9 years, 5 months ago) by rousseau
File length: 11454 byte(s)
Diff to previous 525 , to selected 1327
read and write timeouts are not symmetric. write timout can be shorter
since the reader and card is not supposed to do anything before
receiving (write) a command.

Revision 525 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 28 18:18:11 2003 UTC (9 years, 6 months ago) by rousseau
File length: 11096 byte(s)
Diff to previous 406 , to selected 1327
correctly use the device name in a debug message instead of a not yet initialised field.

Revision 406 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 10 09:01:30 2003 UTC (9 years, 8 months ago) by rousseau
File length: 11123 byte(s)
Diff to previous 301 , to selected 1327
redesign to separate communication media and CCID protocol. call
ccid_open_hack() upon open to do some reader dependent magic.

Revision 301 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 20 08:37:34 2003 UTC (9 years, 9 months ago) by rousseau
File length: 12736 byte(s)
Diff to previous 279 , to selected 1327
do not duplicate the Info.plist filename but "calculate" it once

Revision 279 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 14 06:53:21 2003 UTC (9 years, 9 months ago) by rousseau
File length: 12051 byte(s)
Diff to previous 269 , to selected 1327
use a 1 minute USB timeout instead of the 1 second used for debug

Revision 269 - (view) (download) (annotate) - [select for diffs]
Added Tue Aug 12 12:40:23 2003 UTC (9 years, 9 months ago) by rousseau
File length: 12101 byte(s)
Diff to selected 1327
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.5