Parent Directory
|
Revision Log
| Links to HEAD: | (view) (download) (annotate) |
| Sticky Revision: |
use int instead of long to store a reader ID (32 bits)
tag output parameters with /*@out@*/
use snprintf() instead of sprintf() to avoid potential buffer overflow
explicitly cast result in void when not used (reported by the splint tool)
ReadSerial(): return the length of data read in *length Thanks to Alexander Georg for the bug report
update Free Software Foundation mail address
Simulate card absence for the GemCore SIM Pro
WriteSerial(): use unsigned int instead of int ccid_serial.c:199: warning: comparison between signed and unsigned
remove trailing spaces at end of lines
add support of GemCore SIM Pro and GemCore POS Pro (serial and USB).
OpenSerialByName(): call CloseSerial() if the "Get firmware" or "Change card movement notification" command failed
remove PCSC/ from the pcsc-lite #include header files since the PCSC/ part is already given by `pkg-config --cflags libpcsclite`
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.
typo in the data rates list
ReadSerial(): if we get a NAK we return STATUS_COMM_NAK to the above layer to replay the command instead of just restarting the read
Open*ByName(): initialise dwMaxDataRate field
Open*ByName: do not initialise the now disappeared .dwMaxDataRate field
OpenSerialByName(): inhibit the Plug-n-Play string by setting the RTS signal to low. Mainly useful for the GemPC Card (PCMCIA)
SerialDataRates[] is unsigned
use the calculated read timeout instead of a fixed value
OpenSerialByName(): the reader does not support the Get Data Rates CCID function so the list of supported data rates is hard coded.
OpenSerialByName(): set card movement notification in synchronous mde
change licence from GNU GPL to GNU LGPL
OpenSerialByName(): use tx_buffer[] = { 0x02 } insead of "\x02" since we
want 1 byte only and not a null-terminated string
OpenSerialByName(): use %s instead of %d for dev_name
use pbSeq instead of bSeq
use a dynamic timeout when reading the serial port. The first timeout use when detecting the reader is 2 seconds to not wait too long if no reader is connected. Later timeouts are set to 1 minute to allow long time APDU.
remove defaultFeatures management (was used for SCR331-DI hack)
use reader_index instead of lun as reader identification
initialise ccid.defaultFeatures field
initialise bMaxSlotIndex and ccid.bCurrentSlotIndex fields
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).
mark potentially null values as /*@null@*/ for splint
mark unused arguments as /*@unused@*/ for splint
ReadChunk() and get_bytes() are internal use in ccid_serial.c so declare them static
lun is (unsigned int) so reader = LunToReaderIndex(lun) is also (unsigned int)
OpenSerialByName(): arguments of CmdEscape() are unsigned
replace "121234" by "123456" to make it more clear it is a memory reservation for 6 characters
remove a unneeded cast in (int)lun
allow splint to continue parsing after use of type fd_set
ReadSerial(): the unknown card movement byte is in "c" not "buffer[3]"
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
OpenSerialByName(): perform a command (get the reader firmware) to be sure a GemPC Twin (serial or pcmcia) reader is connected
add support for SCardGetAttrib(.., IOCTL_SMARTCARD_VENDOR_VERIFY_PIN, ..) to know if the reader supports SCardControl(.., IOCTL_SMARTCARD_VENDOR_VERIFY_PIN, ..)
recompile using gcc -pedantic and correct: - some C++ syntax comments - many signedness "problems"
reorganize header files
add { } to avoid ambiguities now that DEBUG_* are "if (x) y" constructions
fill dwDefaultClock and dwMaxDataRate according to the reader descriptor
add dwMaxIFSD field
add support of IFDHCreateChannelByName
call ccid_open_hack() in IFDHCreateChannel() instead of in each OpenPort()
remove function name from debug message since __FUNCTION__ is now used in DEBUG_* macro definition
ReadChunk() realy reads up to min_length bytes. Add some debug messages in the state automata.
complete reimplementation of the Twin serial protocol using a finite state automata (code much simpler)
manage serial protocol used by the GemPC Twin. Thanks to Niki W. Waibel for a working prototype.
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.
| ViewVC Help | |
| Powered by ViewVC 1.1.5 |