[Pcsclite-cvs-commit] r2531 - in tags/PCSC: . rel-1.4.1
rousseau at alioth.debian.org
rousseau at alioth.debian.org
Sat May 19 12:11:16 UTC 2007
Author: rousseau
Date: 2007-05-19 12:11:16 +0000 (Sat, 19 May 2007)
New Revision: 2531
Added:
tags/PCSC/rel-1.4.1/
tags/PCSC/rel-1.4.1/ChangeLog
Removed:
tags/PCSC/rel-1.4.1/ChangeLog
Log:
release 1.4.1
Copied: tags/PCSC/rel-1.4.1 (from rev 2529, trunk/PCSC)
Deleted: tags/PCSC/rel-1.4.1/ChangeLog
===================================================================
--- trunk/PCSC/ChangeLog 2007-05-16 09:55:34 UTC (rev 2529)
+++ tags/PCSC/rel-1.4.1/ChangeLog 2007-05-19 12:11:16 UTC (rev 2531)
@@ -1,1035 +0,0 @@
-pcsc-lite-1.4.1: Ludovic Rousseau
-16 May 2007
-- do not limit the execution of an APDU to 2 minutes (Thanks to Harsh
- Sangal for the bug report)
-- if the daemon is restarted we invalidate all the existing handles so
- SCard functions returns SCARD_E_INVALID_HANDLE
-- SCardReconnect(): block instead of returning SCARD_E_SHARING_VIOLATION
-- clean the data buffer for SCardTransmit() to clean the APDU buffer to
- remove any possible PIN or secret value (Thanks to Nils Larsch for the
- patch)
-- SCardGetStatusChange(): add a counter in the upper word of
- dwEventState so it is possible to detect a card movement betweeen two
- calls to SCardGetStatusChange() (Thanks to Matheus Ribeiro for the
- patch)
-- SCardGetStatusChange(): do not check for SCARD_STATE_ATRMATCH,
- SCARD_STATE_EXCLUSIVE or SCARD_STATE_INUSE bits when the card is not
- present. (thanks to Matheus Ribeiro for the bug report)
-- some other minor improvements and bug corrections
-
-
-pcsc-lite-1.4.0: Ludovic Rousseau
-13 February 2007
-- great speed improvements for SCardBeginTransaction(), SCardReconnect()
- and SCardDisconnect()
-- SCardConnect(): return SCARD_W_UNPOWERED_CARD if the card is mute
- instead of returning SCARD_E_PROTO_MISMATCH because the requested
- protocol is not supported by the (mute) card
-- Ctrl-C works again to stop pcscd on FreeBSD
-- USB polling was not active even if a driver does not support
- IFD_GENERATE_HOTPLUG.
-- split pcsclite.h in pcsclite.h and an internal pcscd.h. Some
- application compilations may fail but should not
-- move RESPONSECODE definition from wintypes.h to ifdhandler.h since it
- should only be used as return type of IFDHandler functions. Some
- driver compilations may fail
-- some other minor improvements and bug corrections
-
-
-pcsc-lite-1.3.3: Ludovic Rousseau
-19 January 2007
-- add -H --hotplug argument to ask the pcscd daemon to rescan the
- avaiable readers
-- add support for IFD_GENERATE_HOTPLUG bit in driver Info.plist
- ifdCapabilities
-- add --force-reader-polling to ignore the IFD_GENERATE_HOTPLUG bit in
- driver Info.plist ifdCapabilities (pcscd will poll the USB bus every 1
- second as in previous versions)
-- SCardConnect() & SCardDisconnect(): wait until any transaction
- finishes before going on. This avoids the possibility to reset a card
- in the middle of a transaction Thanks to Martin Paljak for the bug
- report
-- the tools installifd and formaticc are now completely outdated and
- should not be used anymore.
-- PCSC/ifdhandler.h: add IFD_NO_SUCH_DEVICE for readers supporting
- hotplug
-- PCSC/pcsclite.h: add SCARD_E_NO_READERS_AVAILABLE
-- SCardControl(): do not limit cbSendLength to MAX_BUFFER_SIZE bytes
- since we now transparently support up to MAX_BUFFER_SIZE_EXTENDED
- bytes. Thanks to Martin Führlinger for the bug report
-- SCardGetAttrib()/SCardSetAttrib(): if the driver returns IFD_ERROR_TAG
- we return SCARD_E_UNSUPPORTED_FEATURE instead of the generic error
- code SCARD_E_NOT_TRANSACTED
-- implement SCardIsValidContext() PC/SC call
-- some other minor improvements and bug corrections
-
-
-pcsc-lite-1.3.2: Ludovic Rousseau
-11 August 2006
-- add support of extended APDU in the standard configuration and in a
- backward compatible way: pcscd 1.3.2 can be used with libpcsclite <=
- 1.3.2
-- define MAX_BUFFER_SIZE_EXTENDED as the maximal size allowed for a
- extended APDU (64KB)
-- LPCTSTR and LPTSTR types are deprecated. Use LPCSTR and LPSTR instead
-- Dual licence src/error.c so it can be used bu OpenSC. It is now
- BSD-like, see the COPYING file and GNU Lesser General Licence 2.1 or
- (at your option) any later version
-- document that the 4 bytes field value in PCSC_TLV_STRUCTURE is always
- in big endian as documented in PCSC v2 part 10 ch 2.2 page 2. You can
- use ntohl() to convert the value. Thanks to Ulrich Vogl for the bug
- report
-- some other minor improvements and bug corrections
-
-
-pcsc-lite-1.3.1: Ludovic Rousseau
-22 April 2006
-- improve support of Solaris
-- correct a bug when two clients are connecting at the same time
-- better documentation for ./configure arguments
-- doc/ifdhandler-3.tex: improve IFD handler documentation
-- doc/pcsc-lite.tex: document VERIFY_PIN and MODIFY_PIN commands using
- PCSCv2 part 10 instead of the "proprietary" mechanism now unsupported
-- doc/pcsc-lite.tex: document log_msg and log_xxd
-- use fprintf(stderr,) instead of syslog(3) to log messages from libpcsclite
-- use PCSCLITE_DEBUG to activate the debug messages in libpcsclite.
- MUSCLECARD_DEBUG is now used for libmusclecard only
-- add the reader serial number in the reader name only if
- ADD_SERIAL_NUMBER is defined
-- some other minor improvements and bug corrections
-
-
-pcsc-lite-1.3.0: Ludovic Rousseau
-3 March 2006
-- new official stable version since 1.2.0 in October 2003. Many thanks
- to all the bug reporters and bug fixers
-- libmusclecard is now in a independenant package
-- (re)allow compilation on Solaris
-- SCardReleaseContext(): do not check that the thread releasing the
- context is the one that established it. This check is not performed on
- Windows and creates portability problems See
- http://archives.neohapsis.com/archives/dev/muscle/2006-q1/0134.html
-- automatically call SCardUnload() when the libpcsclite library is
- unloaded Thanks to Najam Siddiqui. See
- http://archives.neohapsis.com/archives/dev/muscle/2006-q1/0177.html
-- some other minor improvements and bug corrections
-
-
-pcsc-lite-1.2.9-beta10: Ludovic Rousseau
-3 February 2006
-- if the USB reader defines a serial number then include it in the
- reader name (between parenthesis)
-- the library libpcsclite.so.1 only exports the symbols defined by the
- API (http://pcsclite.alioth.debian.org/pcsc-lite/). This is needed to
- be able to use the library in an appliation that also uses flex (like
- muscleTool). The problem only occurs with GCC >= 4.0
-- some other minor improvements and bug corrections
-
-
-pcsc-lite-1.2.9-beta9: Ludovic Rousseau
-27 November 2005
-- add/improve support of PIN pad readers
- . define HOST_TO_CCID_16() and HOST_TO_CCID_32() macro to convert 16 and
- 32-bits data to the CCID format (replace HOST_TO_CCID)
-- add support of SUN C compiler and try to avoid GCC specific features
- (Heiko Nardmann)
-- SCardGetStatusChange():
- . exists if the list of readers changed (one reader added) so that the
- application can update its list of readers (Najam Siddiqui)
- . correct a bug when two contexts where used (Najam Siddiqui)
-- add support of Solaris 10 IFDhandler (Douglas E. Engert)
-- allow pcsc-lite to be compiled without (f)lex installed
-- add a TODO file. Help/money needed here.
-- improve Doxygen documentation
-- some other minor improvements and bug corrections
-
-
-pcsc-lite-1.2.9-beta8: Ludovic Rousseau
-6 September 2005
-- correct a crash on Fedora Core 4 (off by 1 buffer overflow)
-- do not silently truncate the reader, library or device name if they
- are too long but display an error message instead
-- reinclude musclecard library in pcsc-lite package since a lot of code
- is shared. The separation was a mistake
-- add colorization of the logs when sent to stderr. The color depends on
- the priority level
-- restrict the number of symbols (function names) exported from
- libpcsclite.so to limit symbol conflicts with other libraries. Only
- the PC/SC API symbols should be exported
-- add Doxygen documentation. Thanks to Luiz Reuter Silva Torro.
- HTML pages available at
- http://pcsclite.alioth.debian.org/doxygen/html/index.html
-- SCardControl(): a 0 byte long pbSendBuffer is no more rejected since
- the command is in dwControlCode. Thanks to Martin Paljak for the patch
-- provide a reader.h file (by default in /usr/local/include/PCSC/reader.h)
- that contains definitions shared between an application and a smart
- card driver (like SCARD_CTL_CODE, CM_IOCTL_GET_FEATURE_REQUEST,
- FEATURE_* and HOST_TO_CCID)
-- pcscd: allow a serial hotplug by sending a SIGUSR1 signal. The
- /etc/reader.conf file is re-read and reader presence/abscence is updated
-- musclecard library: small bug fixes
-- pcsc-lite SCF: small bug fixes
-- some other minor improvements and bug corrections
-
-
-pcsc-lite-1.2.9-beta7: Ludovic Rousseau
-2 March 2005
-- SCARD_PROTOCOL_ANY is defined as (SCARD_PROTOCOL_T0|SCARD_PROTOCOL_T1)
- You should not use SCARD_PROTOCOL_ANY since it is not defined in
- Windows PC/SC. It is just defined for backward source code compatibility
-- define SCARD_STATE_UNPOWERED even it is a state never used so source
- code using it can compile
-- SCardStatus(): pdwState and pdwProtocol parameters may be NULL (mimic
- Windows)
-- provide a script update-reader.conf to update the /etc/reader.conf
- file from /etc/reader.conf.d/* files
- This script is called by /etc/init.d/pcscd before starting the daemon
-- add support of SCardGetAttrib() with a NULL pbAttr parameter to only
- get the needed lenth in pcbAttrLen
-- SCardReconnect() now works after a card movement. Previously
- SCardReconnect() returned "Card was removed" even if the new card is
- reseted.
-- SCardGetStatusChange(): greatly improve performances. Thanks to Oivind
- H. Danielsen
-- SCardControl(): check if the pbSendBuffer is NULL or no bytes are sent
- for driver API v2 only. With API v3 we can use dwControlCode as the
- only data to send.
-- Implement the dynamic level logging in pcscd
- The new command line options are:
- -d, --debug display lower level debug messages
- --info display info level debug messages (default level)
- --error display error level debug messages
- --critical display critical only level debug messages
-- some documentation update
-
-
-pcsc-lite-1.2.9-beta6: Ludovic Rousseau
-15 August 2004
-- The debug messages are now displayed by default. This prevented error
- messages generated by a wrong /etc/reader.conf parsing to be displayed
-- thread management:
- . threads are now created with the PTHREAD_CREATE_DETACHED attribute
- so that resources are released when the thread ends. Thanks to
- Michael Gold for the patch.
- Previous versions of pcscd just died after 256 clients connections.
-- remove PCSC/ from the header files path since the path is given by
- pkg-config --cflags libpcsclite or the correct -I directive
-- src/winscard_svc.c:
- . MSGCleanupClient(): always reset all the fields. Thanks to Michael
- Gold for the patch.
-- src/configfile.l:
- . if the file referenced by DEVICENAME can't be use (because it is not
- a correct filename) we now display:
- You should use 'DEVICENAME /dev/null' if your driver does not use this field
-- src/winscard.c:
- . Avoid generating a PPS request that would not be just after a power
- up. The previous code worked only when the card was _reseted_ at
- SCardDisconnect() but not when SCARD_LEAVE_CARD was used.
-- correctly manage multi-slots readers
-- etc/pcscd.init:
- . updated to reflect the RPM version. Thanks to Ville Skyttä & Fritz Elfert
-- doc/example/pcsc_demo.c:
- . add SCardTransmit() code sample
-- src/testpcsc.c:
- . add a "(don't panic)" after a "Transaction failed." if it is not a
- critical failure.
-- doc/pcsc-lite.tex:
- . the function SCardSetTimeout() is deprecated and does nothing
-- doc/ifdhandler-3.tex:
- . add documentation for IFDHGetCapabilities(..., TAG_IFD_THREAD_SAFE, ...),
- IFDHGetCapabilities(..., TAG_IFD_SLOT_THREAD_SAFE, ...) and
- IFDHSetCapabilities(..., TAG_IFD_SLOTNUM, ...)
-- some internal changes and bugs corrections
-
-
-pcsc-lite-1.2.9-beta5: Ludovic Rousseau
-16 July 2004
-- src/PCSC/wintypes.h:
- . add type LPSTR (again) so that "old" drivers and applications can
- compile but mark the type deprecated.
- See http://gcc.gnu.org/onlinedocs/gcc-3.1/gcc/Type-Attributes.html
-- src/tokenfactory.c:
- . TPSearchBundlesForAtr(): use "%s/%s" insead of "%s%s" when
- generating the MuscleCard bundle name on MacOSX
-- src/winscard.c:
- . SCardControl() (new API) can now be used with a IFDHandler v2.0 or v3.0.
- The previous code was broken and only worked with an IFDHandler v3.0
- (crashed with a v2.0).
-- src/PCSC/ifdhandler.h:
- . IFDHControl(): use PUCHAR instead of LPCVOID and LPVOID so the
- driver can use TxBuffer[x] without needing a cast.
- . it is now possible to compile a IFDHandler v2.0 with this include
- file. Just #define IFDHANDLERv2 in your source code before
- #include <ifdhandler.h>
- By default it is setup for for most recent version of the API (V3.0)
-
-
-pcsc-lite-1.2.9-beta4: Ludovic Rousseau
-3 July 2004
-- src/libmusclecard.pc.in and src/libpcsclite.pc.in
- . includedir is now @includedir@/PCSC
- . add pthread flags for compilation and link
- . thanks to Ville Skyttä for these patches.
- They are small but are mandatory to (re)compile muscleTools (and
- others) without modification to their Makefile.
-
-
-pcsc-lite-1.2.9-beta3: Ludovic Rousseau
-30 June 2004
-- src/hotplug_libusb.c:
- . use a dynamic array for available USB drivers:
- - avoid a buffer overflow (argh!)
- - allow to use more than 16 drivers/supported readers
-- src/Makefile.am:
- . install mscdefines.h, winscard.h, musclecard.h, pcsclite.h and wintypes.h
- in /usr/include/PCSC/ to not pollute /usr/include/
- . install ifdhandler.h, debuglog.h and parser.h in /usr/include/PCSC/ so
- drivers can use them for compilation.
- Modify your source code or add -I/usr/include/PCSC to CFLAGS in your
- Makefile or, better, use CFLAGS=`pkg-config libpcsclite --cflags`
-- doc/pcsc-lite.tex:
- . dwPreferredProtocols is a bit mask of acceptable protocols
- . SCARD_SHARE_DIRECT can be used to talk to the reader without a card
- inserted
- . add "Some SCardControl commands" section (IFD_EXCHANGE and VERIFY_PIN)
- . add documentation for LTPBundleFindValueWithKey(), debug_msg() and
- debug_xxd()
-- src/configfile.l: (/etc/reader.conf parser):
- . allow ':' in DEVICENAME. use ':' to indicate a non-real device (pcscd does
- not test for its existence as a file). You can use this in something like
- "net://1.2.3.4/foobar" to indicate a reader on a remote machine like an
- X11 terminal.
-- src/PCSC/wintypes.h:
- . Change the names of the types LPCSTR to LPCTSTR and LPSTR to LPTSTR to be
- compliant with the Microsoft SCard API. You will have to update your
- source codes.
-- src/readerfactory.c:
- . rework RFSetReaderName() to simply the code and always start with the
- lowest number available (like in previous pcsc-lite version)
-- src/prothandler.c:
- . completely redesign the function so that IFDSetPTS() is always called to
- tell the driver which protocol to use and to initialise its internal
- state. The driver now knows which protocol (T=0 or T=1) the application
- wants to use even if the card only support only one protocol.
-- src/atrhandler.c:
- . add support of specific mode by the presence of TA2 (protocol not
- negociable)
-- src/utils/Makefile.am:
- . install bundleTool and installifd in [...]/sbin/ instead of [...]/bin/
-- doc/example/Makefile.am:
- . do not install pcsc_demo since it is just a sample code for developpers
- that is not supposed (the code) to do anything useful
-- doc/example/pcsc_demo.c:
- . replace SCARD_PROTOCOL_ANY by SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1 since
- SCARD_PROTOCOL_ANY is _not_ defined by Microsoft PC/SC and is not equals
- to SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1 in pcsc-lite
-- and lots of other minor and/or internal only changes
-
-pcsc-lite-1.2.9-beta2: Ludovic Rousseau
-11 May 2004
-- change libmusclecard current version to 1 so that old libmusclecard0 and new
- libmusclecard1 can cohabit on the same system and will not break existing
- programs during upgrades.
-
- This is because libmusclecard is provided in the same distrib/package as
- libpcsclite. If we want two libpcsclite to cohabit we must also ensure
- that the two libmusclecard can also cohabit.
-- src/pcscdaemon.c: print pcsc-lite version number during startup
-- src/winscard.c: in SCardReconnect(), SCardDisconnect() and
- SCardEndTransaction() SCARD_UNPOWER_CARD is "Power down the card and reset
- it (Cold Reset)" so we really power down _and_ then power up the card.
-- doc/pcsc-lite.tex: add the chapter "Multithreading and contexts"
-- doc/ifdhandler-3.tex: IFD Handler API in LaTeX format
-- correct some minor typos in documentation and output texts
-
-
-pcsc-lite-1.2.9-beta1: Ludovic Rousseau
-6 May 2004
-- configure: add support of --enable-extendedapdu argument to allow the use of
- big APDUs (APDU size between 256-Bytes and 128-KBytes)
-- API changes:
- . SCardControl() API changed to be similar to the Microsoft PC/SC
- implementation
- . add SCardGetAttrib()/SCardSetAttrib() functions
- . the driver need to be compliant to IFDHandler API v3 to support these new
- functions
-- multithreading:
- Damien Sauveron added the support of multiplexing multi-readers
- communications. In the previous version the communications were serialized
- and not simultaneous even if it was not needed. Thanks Damien.
-- src/pcscdaemon.c:
- . remove the warning if no /etc/reader.conf is found. It is normal to not
- have an /etc/reader.conf for USB readers only.
- . send debug to syslog by default
- . send debug to stderr if --foreground|-f is used (no need to add
- --debug stderr anymore)
-- doc/pcsc-lite.pdf: doc improved to add the new functions and API. The doc is
- now generated from a LaTeX file (easier to maintain, html version available,
- much more nice, etc.)
-- src/testpcsc.c:
- . added tests for the new functions SCardGetAttrib(), SCardSetAttrib() and
- SCardControl() and also the old SCardListReaderGroups()
- . do not ask for reader number if only one reader is present
- . some more debug
-- pcscd and libpcsclite now exchange a protocol version to know what API to
- use. This will be useful if/when the API change again
-- change library version to 1:0:0 since the interface changed
-- hotplug: the daemon pcscd do not try to restart drivers anymore when it is
- exiting
-- src/hotplug_libusb.c:
- . do not try to restart a USB driver if the first execution fails (because
- of a bug in the driver or whatever) since the next execution of the driver
- will, with a great probability, also fail. The user has to unplug/replug
- the reader to restart the driver. This prevents to fill the system logs
- with an error message every 1 second.
- . use deviceName defined as usb:idVendor/idProduct:libusb:busname:filename
- in HPAddHotPluggable(). This should avoid wrong USB enumeration when used
- in IFDHCreateChannelByName()
-- src/hotplug_macosx.c:
- . buffer overflow: the driver list was not terminated and caused crashes.
-- src/winscard.c:
- . remove the code to map SCARD_UNPOWER_CARD on IFD_RESET.
- SCARD_UNPOWER_CARD is power down and power up (cold reset) => IFD_POWER_DOWN
- SCARD_RESET_CARD is just power up (warm reset) => IFD_RESET
-- src/winscard.h:
- . use SCARDCONTEXT, DWORD, LPSCARDHANDLE, etc. instead of long, unsigned
- long, long *, etc. to be more Windows PC/SC compliant
-- doc/reader.conf.5.in: new manpage to make it clear that this configuration
- file SHOULD not be used for USB readers
-- src/configfile.l:
- . print a warning if the LIBPATH contains ".bundle". USB drivers SHOULD NOT
- be declared in reader.conf
- . Check that DEVICENAME and LIBPATH files exist and if an error occurs
- during the parsing the reader is not added and pcscd exit.
-- doc/example/pcsc_demo.c:
- . recode the readers enumeration to avoid the use of
- PCSCLITE_MAX_READERS_CONTEXTS. You do not and should not need
- PCSCLITE_MAX_READERS_CONTEXTS. Use a dynamic management instead.
- . add SCardReconnect() sample code
- . allow to select the reader number instead of always selecting the first
- reader
- . some minor debug
-- src/musclecard.c:
- . Initialize currentToken->tokenType in MSCListTokens(). Closes "[ #300607 ]
- MSCListTokens should set tokenType to know state before OR operation"
-- src/tokenfactory.c:
- . correct atrString[] buffer size. The ATR is in ASCII so it must be
- MAX_ATR_SIZE*2 +1. This was problematic for cards with a "long" ATR.
-- src/readerfactory.c:
- . initialize vHandle field to NULL in RFAllocateReaderSpace() (caused a
- crash under MacOS X)
-- aclocal/acx_pthread.m4:
- . new upstream version to avoid checking for pthread.h which does not exist
- on *BSD
-- src/libmusclecard.pc.in, src/libpcsclite.pc.in:
- . add muscledropdir (in libmusclecard) and usbdropdir (in libpcsclite) so we
- can use `pkg-config libpcsclite --variable=usbdropdir` to find the
- directory to use. Should be used by drivers and plugins installation.
- Thanks to Ville Skyttä for the patch.
-- many other minor patches and corrections. Read ChangeLog.cvs for a complete
- list
-
-
-pcsc-lite-1.2.0: Ludovic Rousseau
-27 october, 2003
-- the 1.2.0 version is the same as 1.2.0-rc3 version
-
-pcsc-lite-1.2.0-rc3: Ludovic Rousseau
-15 october, 2003
-- src/winscard_msg.c: perform a round-robbin among clients to avoid starvation
- under heavy load. Patch from Bettina Martelli.
-- src/winscard_clnt.c: send debug to stdout only if the environment variable
- MUSCLECARD_DEBUG is defined
-- src/libmusclecard.pc.in: add a new pkg-config file for application using
- libmusclecard.
-- a lot of code and build clean up by Antti Tapaninen
-- some code clean up and debug by Damien Sauveron
-
-
-pcsc-lite-1.2.0-rc2: Ludovic Rousseau
-4 September, 2003
-- removed a very _stupid_ bug that linked libpcsclite with libusb. Any
- application linked with libpcsclite was also linked with libusb.
-- generate a new library libmusclecard and remove MuscleCard code from
- libpcsclite. An application using MuscleCard functions needs to explicitly
- link with libmusclecard.
-- src/winscard_clnt.c: add a new function SCardUnload() to free allocated
- resources. It is mandatory only if you use dlopen/dlclose to often
- load/unload the library. Otherwi se you will exhaust the ressources
- available and get a crash. Thanks to Guy Moreillon for the patch.
-- src/muscletest.c: code cleaning
-
-
-pcsc-lite-1.2.0-rc1: Ludovic Rousseau
-26 August, 2003
-- configure.in: --enable-usb is now deprecated and off by default.
- --enable-libusb is selected by default and will be used if libusb is
- installed in /usr. If libusb is installed in /usr/local use
- --enable-libusb=/usr/local
-- src/hotplug_macosx.c: Add support of reader aliases using <array></array> in
- driver Info.plist on MacOS X.
- The old syntax did not work since pcscd on MacOS X wants a correct XML file.
- The new syntax is:
- <key>ifdVendorID</key>
- <array>
- <string>0x08E6</string> <!-- 1, Gemplus -->
- <string>0x04E6</string> <!-- 2, SCM Microsystems -->
- <string>0x076B</string> <!-- 3, OmniKey -->
- <string>0x0783</string> <!-- 4, C3PO -->
- </array>
-
- <key>ifdProductID</key>
- <array>
- <string>0x3437</string> <!-- 1 -->
- <string>0x5115</string> <!-- 2 -->
- <string>0x3021</string> <!-- 3 -->
- <string>0x0003</string> <!-- 4 -->
- </array>
-
- <key>ifdFriendlyName</key>
- <array>
- <string>GemPC Twin</string> <!-- 1 -->
- <string>SCR 335</string> <!-- 2 -->
- <string>CardMan 3121</string> <!-- 3 -->
- <string>LTC31</string> <!-- 4 -->
- </array>
-- src/powermgt_macosx.c, src/hotplug_macosx.c and some others: Add support of
- PCMCIA for MacOS X. Thanks to Stephen M. Webb.
-- src/hotplug_libusb.c: Add support of libusb. Allow to use USB readers on
- *BSD or any plateform supported by libusb. Thanks to Toni Andjelkovic for
- the great job.
- I also redesigned the code to support up to PCSCLITE_MAX_READERS readers
- whatever the driver they use.
-- src/musclecard.c:
- . fix an initialisation problem of pConnection->shareMode (thanks to Wan-Teh
- Chang)
- . avoid a memory leak (Toni Andjelkovic)
-- doc/example: sample demo application using pcsc-lite API
-- src/winscard.c:
- . pcscd reported card is present when there is no card in the reader
- . return SCARD_E_INVALID_PARAMETER for APDU of less than 4 bytes
-- src/winscard_svc.c: Sometimes unknown APDUs were being transmitted when
- 'SCardStatus' function was invoked
-- some code cleanup and compilation problems removed.
-
-
-pcsc-lite-1.1.2beta5: Ludovic Rousseau
-30 May, 2003
-- src/winscard.c: SCardStatus(): do not return before filling buffers
-- src/winscard_clnt.c: SCardStatusTH(): simplify code and return correct
- results when buffers are too short or NULL is used
-- src/libpcsclite.pc.in: used to generated a pkg-config ".pc" file (thanks to
- Andreas Jellinghaus for the idea and the patch)
-- configure.in, src/Makefile.am, src/utils/installifd.c, doc/bundleTool.8.in,
- doc/pcscd.8.in, etc/reader.conf.in:
- . correct typos and include path configured by ./configure appear in the
- docs (thanks to Ville Skyttä)
-- src/utils/installifd.c:
- . replace gets() by fgets() to avoid buffer overflow.
- . Use sizeof() instead of constants.
- . do not use strdup() since it is useless.
- . print error messages when needed.
-
-
-pcsc-lite-1.1.2beta4: Ludovic Rousseau
-13 Apr, 2003
-- src/debuglog.c:
- . DebugLogSetLogType() set flags and not just _or_ them (allow unset)
- . use strncpy to avoid a possible buffer overflow
-- src/hotplug_linux.c:
- . code cleanup
- . support for driver aliases in Info.plist. The syntax is:
- <key>ifdProductString</key>
- <string>GemPC430</string>
-
- <key>ifdVendorID</key>
- <string>0x08E6</string>
- <string>0x08E6</string>
- <string>0x08E6</string>
-
- <key>ifdProductID</key>
- <string>0x0430</string>
- <string>0x0432</string>
- <string>0x0435</string>
-
- <key>ifdFriendlyName</key>
- <string>GemPC430</string>
- <string>GemPC432</string>
- <string>GemPC435</string>
- So this driver will be used by the three possible readers.
-- src/Makefile.am:
- . support for driver aliases in Info.plist (use tokenparser.l instead of
- driverparser.l)
- . support for xBSD back
-- src/pcsclite.h:
- . rename "pcsc.pub" and "pcsc.comm" in "pcscd.pub" and "pcscd.comm"
-- src/tokenparser.l:
- . code reindentation
- . use DebugLogB()/DebugLogC with correct number of arguments
-- src/tokenparser.l:
- . regenerated from src/tokenparser.l
-
-
-pcsc-lite-1.1.2beta3: Ludovic Rousseau, David Corcoran
-7 Nov, 2002
-- Support for Sun Microsystems' SCF
-- Patches from Dmitry Djachenko to:
- . init g_rgSCard??Pci variable at compile time
- . return more meaningfull error codes in SCardReconnect()
- . return more information in SCardStatus()
- . accept pioRecvPci == NULL in SCardTransmit()
- according to MSDN (July 2002) : SCardTransmit description
- pioRecvPci
- [in, out] Pointer to the protocol header structure for the instruction,
- followed by a buffer in which to receive any returned protocol control
- information (PCI) specific to the protocol in use. This parameter may be
- NULL if no returned PCI is desired.
-- correct an overflow in SCardGetStatusChange(). Thanks to Michael Nidd
-- configure.in, src/pcscdaemon.c, src/pcsclite.h:
- . add --enable-ipcdir=DIR option. Default is now /var/run/ instead of
- /tmp/pcsc/
-- src/Makefile.am:
- . reorganise conditionals to to have a src/Makefile.in file 142 (yes 142)
- times smaller (33 KB instead of 4.7 MB)
-- src/eventhandler.c:
- . add filename and error message to error logs for /var/run/pcsc.pub
-- src/debuglog.h:
- . DebugLogC() uses 3 parameters not 2 (use DebugLogB() for that)
-
-
-pcsc-lite-1.1.2beta2: Ludovic Rousseau, David Corcoran, Jean-Luc Giraud
-12 Oct, 2002
-- OpenBSD 3.1 and FreeBSD 4.7RC2 debug and testing
-- MacOSX debug and improvement
-- support multiple identical USB readers under GNU/Linux
-- more debug
-- Bug in winscard.c for protocol when ANY is chosen
-
-pcsc-lite-1.1.2beta1: (Ludovic Rousseau <ludovic.rousseau at free.fr>)
-6 Sep, 2002
-- src/tokenfactory.c, configure.in and bundleTool.c:
- . add support for --enable-muscledropdir=DIR
-- README:
- . The licence file is COPYING and not LICENSE (thanks to Juha Tuomala)
-- doc/formaticc.1:
- . add formaticc.1 manpage from Debian
-- doc/bundleTool.1:
- . update and rename from .8 to .1
-- src/utils/formaticc.c:
- . lots of debug and buffer overflow removal
-- src/ifdwrapper.c, src/debuglog.c, doc/pcscd.8:
- . add support for --apdu|-a
-- src/pcscdaemon.c:
- . add support for --apdu, test if the pcscd is still running before
- complaining that /tmp/pcsc is present
- . print an error message if the --debug argument is not known
-- src/Makefile.am:
- . add -Wl,--export-dynamic link option
-- src/hotplug_linux.c:
- . add support for --enable-usbdropdir=DIR
-
-
-pcsc-lite-1.1.1: (David Corcoran <corcoran at linuxnet.com>)
-5 Jun, 2002
-- src/readerfactory.c
- . Fixed multiple slot handling by adding dwFeeds to multiple slots
-- src/winscard_clnt.c
- . Fixed multi Establish/Release Context problem by removing CleanupClient
-
-
-pcsc-lite-1.1.0: (David Corcoran <corcoran at linuxnet.com>)
-28 May, 2002
-- src/mscdefines.h added
-- src/musclecard.c/.h added
- . Added client side token/card plugin interface
-- src/tokenfactory.c added
-- src/powermgt_macosx.h added
-- src/powermgt_macosx.c added
- . Support for sleep mode on OS X
-- src/tokenparser.l added
-- src/dyn_hpux modified with new include <errno.h>
-- src/winscard_svc.c
- . Added session checking so rogue clients cannot steal hCard values
-- src/readerfactory.c
- . removed world writable files in /tmp/pcsc
-- configure.in
- . Added support for SCF with SCF plugin
-- Added command line arguments for debug/daemon mode <cprados at yahoo.com>
-- Previous additions from Ludovic Rousseau <ludovic.rousseau at free.fr>
-
-pcsc-lite-1.0.2beta5: (Ludovic Rousseau <ludovic.rousseau at free.fr>)
-10 Mar, 2002
-- src/pcscdaemon.c:
- . move the pid file creation earlier (before drivers loading)
- . allow to properly kill pcscd before or during driver loading
- this is useful when the driver init is buggy
-- src/pcsclite.h: change PCSCLITE_VERSION_NUMBER to 1.0.2.beta5
-- configure.in: change version number to 1.0.2.beta5
-
-
-pcsc-lite-1.0.2beta4: (Ludovic Rousseau <ludovic.rousseau at free.fr>)
-13 Feb, 2002
-- configure.in: change version number to 1.0.2.beta4
-(from Douglas Atique bugs report and patch)
-- etc/Makefile.am
- . add the files makeFMStyle, makeSTDStyle and moveFMCode to the
- distribution archive
-- src/Makefile.am
- . add the files sys_solaris.c, sys_hpux.c and powermgt_macosx.c to the
- distribution archive
-- src/pcscdaemon.c
- . ignore SIGHUP signal
- . remove pid file if USE_RUN_PID is defined
-- src/winscard_msg.c
- . move #ifdef PCSC_TARGET_SOLARIS _after_ the inclusion of config.h since
- PCSC_TARGET_SOLARIS is defined in config.h
-
-
-pcsc-lite-1.0.2beta3: (Ludovic Rousseau <ludovic.rousseau at free.fr>)
-10 Jan, 2002
-(from Carlos Prados Debian package)
-- configure.in
- . add AC_PREFIX_DEFAULT(/usr/local/pcsc) to install in /usr/local/pcsc by
- default
-- etc/
- . add makeFMStyle, makeSTDStyle and moveFMCode scripts
-- src/utils/Makefile.am
- . add EXTRA_DIST = sample.in sample.ibm sample.out
-- src/dyn_bsd.c
- . try without a leading '_' in cas of failure (needed by FreeBSD) thanks to
- Toni Andjelkovic <toni at soth.at> for the patch)
-- src/test.c
- . commented declarations on unused variables
- . corrected three %x to %lx for long arguments
-- README
- . add documentation for --enable-confdir and --enable-runpid
-- src/README_INTERNALS.txt: new file containing some documenation for source
- code hackers
-- src/Makefile.am: add EXTRA_DIST = README_INTERNALS.txt
-- src/pcscdaemon.c: the daemon now cleany stops the drivers before exiting
- . the global variable AraKiri is set in signal_trap()
- . this variable is checked in the main loop of SVCServiceRunLoop()
- . RFCleanupReaders() is then called if AraKiri
-- src/readerfactory.c: add RFCleanupReaders() to do the cleaning job at exit
-- src/test.c: change %x to %02X for the ATR bytes
-- src/debuglog.c and src/debuglog.h:
- . rewrote the DebugLog[ABCD] function
- . the function are now defines than include __FILE__ and __LINE__
- . the test #ifdef USE_SYSLOG if moved from the source code to the
- src/debuglog.c function only -> the source is more readable
- . the new log functions are now used everywhere
-- src/configfile.l:
- . changed syslog() to DebugLog()
- . add #include "debuglog.h"
-- README: add a supported platform: OpenBSD 3.0 (with libc.so.28.2)
-- Makefile.am: add HELP file to EXTRA_DIST
-
-
-pcsc-lite-1.0.2beta2: (Ludovic Rousseau <ludovic.rousseau at free.fr>)
-20 Dec, 2001
-- bootstrap: added --verbose
-- reconf: added --verbose and --enable-debug
-- configure.in:
- . changed release number to 1.0.2.beta2
- . added -Wall to CFLAGS to compile with all the warnings ON. This change
- implied many small corrections: mainly addition of include file to add
- functions prototyping, adding return values when needed, removing unused
- variables.
- . add doc/ directory (from Carlos Prados Debian package)
- . add --enable-confdir=DIR (default to /etc)
- inspiration from Shell Hin-Lik Hung, OpenBSD pcsc-lite port
- . add --enable-runpid=FILE to store the pcscd pid
- inspiration from Carlos Prados, Debian package maintainer
-- many C source files includes <pcsclite.h> (or somilar). I changed to
- "pcsclite.h" since the local .h should be more recent and with less
- bugs than the one in /usr/local/include/
-- src/dyn_bsd.c, src/dyn_unix.c: in DYN_LoadLibrary() changed 0 to
- NULL, "char *" to "const char *"
-- src/dyn_hpux.c: removed declared but unused variables
-- src/ifdwrapper.c: initialize IFD_? functions pointer to NULL
-- src/pcscdaemon.c:
- . removed declartion of errno (already made in errno.h)
- . exit with code value
- . more explicit error message when /tmp/pcsc/ already exist
- . test if VERSION and PCSCLITE_VERSION_NUMBER are the same
- release numbers
- . create a file containing the PID (see configure --enable-runpid=FILE)
- ("stolen" from Carlos Prados Debian package)
-- src/readerfactory.c
- . removed unused variables
- . dwSlot is a long, use %ld instead of %d
- . changed "SCARD_F_UNKNOWN_ERROR;" to "return SCARD_F_UNKNOWN_ERROR;"
-- src/readerfactory.h: corrected "RVAllocateReaderSpace" to
- "RFAllocateReaderSpace" (RVA -> RFA)
-- sys_*.c: removed declaration of errno
-- src/sys_unix.c: add "return 0;" in SYS_Initialize()
-- winscard.c: in SCardReconnect()
- . initialize dwAction to 0
- . remove unused variables dwReaderLen and dwProtocol
-- src/winscard_clnt.c: commented out declaration and definition of
- SCardSetupThreadSafety(). It is not used anywhere.
-- src/winscard_msg.c:
- . add the error message "strerror(errno)" returned by the socket
- functions in the debug message logged
- . removed unused variables
- . removed (fd_set *) cast in select calls. (compiles OK without)
-- src/winscard_svc.c: add a "return 0;" in MSGCleanupClient()
-- src/winscard_svc.h: add prototype for MSGCleanupClient()
-- doc/Makefile.am: ("stolen" from Carlos Prados Debian package)
- . add this directory in dist files
-- Makefile.am: ("stolen" from Carlos Prados Debian package)
- . add doc directory
- . add reconf bootstrap in dist files
-- src/Makefile.am: ("stolen" from Carlos Prados Debian package)
- . add utils directory
- . remove libpcsclite-core.la from install target
- . add dyn_bsd.c dyn_hpux.c to EXTRA_libpcsclite_core_la_SOURCES
-- src/utils/Makefile.am: ("stolen" from Carlos Prados Debian package)
- . converted LIBS line into formaticc_LDADD line
-- src/hotplug_linux.c
- . add some includes files
- . commented useless declarations of hpManu_id, hpProd_id, bundleArraySize
-- src/utils/installifd.c
- . rv, dwRecvLength and dwSendLength are long, use %ld instead of %d
- . commented useless declarations of many variables
- . add some (int *) casts
-- etc/ ("stolen" from Carlos Prados Debian package)
- . added SmartcardServices
- . added StartupParameters.plist
-- src/debuglog.c:
- . put the ATR on just one line even with syslog
- . changed LOG_DEBUG to LOG_INFO since the LOG_DEBUG level messages are
- seldom logged
-- src/pcsclite.h: test if USE_READER_CONF is defined (see
- --enable-confdir=DIR)
-
-pcsc-lite-1.0.2beta: (Ludovic Rousseau)
-29 Nov, 2001
-- stop if /tmp/pcsc already exists
-- clean and remove /tmp/pcsc on exit using signal() and atexit()
-- renamed SYS_Exit to exit in many places to use the atexit() defined
- cleaning function
-- removed \n in debug messages (syslog does not need it)
-- some minor print cosmetic modification in atrhandler.c
-- use a define DEBUG_BUFFER_LENGTH instead of 150 in debuglog.c
-- use snprintf() instead of sprintf() in debuglog.c
-- add a error on compile in pcscdaemon.c
- You must use '--enable-syslog' when also using '--enable-daemon' or
- you will not get any message
-- renamed SYS_Stat to SYS_Fstat since the system call is fstat and stat
- is another one
-- use PCSCLITE_IPC_DIR instead of repeating "/tmp/pcsc/" in pcsclite.h
-
-pcsc-lite-1.0.1:
-added -fno-common to CCFLAGS
-fixed syslog error on ATR
-lengthened the default client timeout on commands
-fixed bus error when vendir/id not found
-Added support for HP-UX 11 and OpenBSD 2.9
-Removed callback socket from server
-Fixed GetStatusChange bug on small timeouts
-Fix bug in transmit where reader sends back
-wrong length causes client to overwrite buffer
-
-pcsc-lite-1.0.0b:
-Fixed numerous NULL pointer errors
-Fixed many, many behaviors
-Tried Windows compatibility testing
-Switched to sockets based implementation
-Basically, it's had 2 months testing
-
-pcsc-lite-0.9.3:
-Changed test.c
-Added buffered read/write layer
-Shortened timeouts on outgoing commands
-Added support for Solaris 2.6 2.8
-Fixed autoconf problems
-Added an option for client side thread safety
-Fixed '-' problem for bundleparser
-
-pcsc-lite-0.9.1:
-Switched to named pipes for transport
-Fixed SCARD_POWERED tag when card inserted upside down
-Added non-polling request blocking
-Switched to autoconf thanks to some help
-Added timeouts for client/server
-
-pcsc-lite-0.8.7:
-Added kernel IoKit notifications for USB devices on OS X
-Added polling support for USB devices on Linux
-Added XML parsing for bundles on Linux
-Fixed GetStatusChange's SCARD_READERSTATE structure problem
-Fixed random generation in EstablishContext ( Carl-Magnus Pettersson )
-Fixed RPC Channel leak in EstablishContext ( Carl-Magnus Pettersson )
-Updated documentation to 0.8.7
-
-pcsc-lite-0.8.6:
-Added empty file powermgt_macosx.c for future power management
-Added ability for multiple identical readers on OS X
-Fixed bug enabling SCardTransmit to pass memory card functions
-by allowing sSendPci to be NULL
-Fixed some possible buffer overrun exploits
-
-pcsc-lite-0.8.5:
-Moved to 'fat client' architecture
-Mapped status to clients so events are immediate
-Removed fork() from server, and wait() calls
-Added multi readers to GetStatusChange
-Added block for reader in GetStatusChange
-Added Reader Lun naming mechanism for friendlynames
-Updated the documentation
-
-pcsc-lite-0.8.2:
-Added more error checking to all winscard functions.
-Added the ability to use Domain Sockets on Linux, Solaris.
-Increased the select sleep time to conserve cpu time.
-Added the ability to recover from errors by reloading drivers/etc.
-Pre-allocated bundle array list to save cpu time and memory leakage.
-Added SECURITY file.
-
-pcsc-lite-0.8.0:
-Added Hot Pluggable search function to select loop.
-Fixed Makefiles to do copies not moves
-Changed some filenames.
-
-pcsc-lite-0.7.8:
-Fixed race condition between pcscusb and eventhandler.c
-Fixed core dump on error startup.
-Added T=1 detection to test.c.
-Added SCardControl()
-
-pcsc-lite-0.7.5:
-Dynamically addable readers.
-Multiple dynamically addable readers.
-More startup error checking.
-Full support for OS X
-
-pcsc-lite-0.7.3:
-Added stringified error responses.
-Fixed some error returning bugs.
-Support for dynamic readers such as USB readers.
-More support for OS X
-
-pcsc-lite-0.7.1:
-Fixed bugs causing problems in Redhat regarding mutex pointers.
-Fixed exiting problem causing random zombie processes.
-Removed thread libs and dyn libs from local library.
-Abstracted thread libs in thread_generic.h
-Added support for Mac OS X.
-
-pcsc-lite-0.7.0:
-Support for ifd handler 2.0 specifications.
-
-pcsc-lite-0.6.9:
-Fixed bug in readerfactory.c that only allowed 2 applications
-to run simultaneously.
-Fixed bug in rpc/winscard.c so that some applications which
-while looped on Begin/End could not cause starvation.
-
-
-pcsc-lite-0.6.8
-Fixed mutex bug in readerfactory.c
-Added SCardListReaderGroups for compatibility
-Fixed NULL in for ListReaders
-Fixed NULL as pioRecvPci in Transmit
-Added multi-sys Makefiles
-Pulled Windows(r) defs from pcsclite.h
-Added INFINITE to GetStatusChange.
-
-pcsc-lite-0.6.6
-Added application event notification on calls
-Added SCardReconnect
-
-pcsc-lite-0.6.5
-Added -v option for version checking
-Added security module for future encryption/decryption
-Added function to allow only from localhost
-Added default values to all variables
-Proper freeing of all pointer values
-Fixed Reset on Disconnect
-Removed any dangerous pointer references
-
-pcsc-lite-0.6.4
-Shortened the thread zombie cleanup time.
-
-pcsc-lite-0.6.3
-Fixed readerfactory assignment of ID problem
-
-pcsc-lite-0.6.2
-Using pthreads for status poll.
-Using pthread mutexes instead of test and set.
-Fixed problem in GetStatusChange.
-Fixed SCardBeginTransaction.
-
-pcsc-lite-0.6.0
-Removed SCardReadMemory, SCardWriteMemory
-Added Mutex locks around all driver calls
-Added ability to do startup allocation
-Fixed memory leak in RFAddReader
-Removed some warnings
-
-pcsc-lite-0.5.5
-Added multi-slot support
-Fixed T=0/1 protocol definition
-
-pcsc-lite-0.5.2
-Fixed protocol negotiation
-Modified defines to work with OCF
-
-pcsc-lite-0.5.0
-Fixed the Makefiles to include
-symbolic links to external libraries
-
-pcsc-lite-0.4.9
-Added some objects to the client's
-library so it can be used with ssp-lite
-
-pcsc-lite-0.4.7
-Added Server State Machine
-Kills dead clients and frees resources
-Added SCardSetTimeout
-Fixed Makefile for non-rpc
-Added BSD style Makefile for BSD compilation
-Fixed SCardRead/Write functions
-
-pcsc-lite-0.4.0
-Fixed SCardStatus Function
-Added IFD Wrapper Abstraction Layer
-Began support for multiple slots
-Fixed bug in SCardStatus with overflow
-Added code to remove zombie processes
-Added support for connecting to multiple
-readers/resource managers from the client.
-
-pcsc-lite-0.3.0:
-Added RPC abstraction layer.
-Added Server Forking on Transmit and GetStatusChange.
-Fixed overflowed buffer in atrhandler.c
-Fixed Disconnect Bug.
-
-pcsc-lite-0.2.4:
-Added ATR Handling.
-Added support for T=1
-Added support for PTS negotiation
-Added abstraction for more slots/terminal
-Added correct ATR size return
-
-pcsc-lite-0.2.2:
-Added some defines in pcsclite.h
-Added support for Memory cards.
-Added support for SCardCancel.
-
-pcsc-lite-0.2.0:
-Fixed powering up error in GetStatusChange.
-Added some type defines in pcsclite.h
-
-pcsc-lite-0.1.0:
-Fixed bug in readerfactory.c line 117 lpcReaders[p] = 0
-to lpcTReaders[p] = 0. This was giving strange errors.
-Fixed return rv at SCardStatus function to return SCARD_S_SUCCESS.
-Added 7 more defines to pcsclite.h
-
-pcsc-lite-0.0.2:
-Added functions Status, and GetStatusChange
-Fixed Connect to look for card
-Fixed return values for functions
Copied: tags/PCSC/rel-1.4.1/ChangeLog (from rev 2530, trunk/PCSC/ChangeLog)
===================================================================
--- tags/PCSC/rel-1.4.1/ChangeLog (rev 0)
+++ tags/PCSC/rel-1.4.1/ChangeLog 2007-05-19 12:11:16 UTC (rev 2531)
@@ -0,0 +1,1035 @@
+pcsc-lite-1.4.1: Ludovic Rousseau
+16 May 2007
+- do not limit the execution of an APDU to 2 minutes (Thanks to Harsh
+ Sangal for the bug report)
+- if the daemon is restarted we invalidate all the existing handles so
+ SCard functions returns SCARD_E_INVALID_HANDLE
+- SCardReconnect(): block instead of returning SCARD_E_SHARING_VIOLATION
+- clean the data buffer for SCardTransmit() to clean the APDU buffer to
+ remove any possible PIN or secret value (Thanks to Nils Larsch for the
+ patch)
+- SCardGetStatusChange(): add a counter in the upper word of
+ dwEventState so it is possible to detect a card movement between two
+ calls to SCardGetStatusChange() (Thanks to Matheus Ribeiro for the
+ patch)
+- SCardGetStatusChange(): do not check for SCARD_STATE_ATRMATCH,
+ SCARD_STATE_EXCLUSIVE or SCARD_STATE_INUSE bits when the card is not
+ present. (thanks to Matheus Ribeiro for the bug report)
+- some other minor improvements and bug corrections
+
+
+pcsc-lite-1.4.0: Ludovic Rousseau
+13 February 2007
+- great speed improvements for SCardBeginTransaction(), SCardReconnect()
+ and SCardDisconnect()
+- SCardConnect(): return SCARD_W_UNPOWERED_CARD if the card is mute
+ instead of returning SCARD_E_PROTO_MISMATCH because the requested
+ protocol is not supported by the (mute) card
+- Ctrl-C works again to stop pcscd on FreeBSD
+- USB polling was not active even if a driver does not support
+ IFD_GENERATE_HOTPLUG.
+- split pcsclite.h in pcsclite.h and an internal pcscd.h. Some
+ application compilations may fail but should not
+- move RESPONSECODE definition from wintypes.h to ifdhandler.h since it
+ should only be used as return type of IFDHandler functions. Some
+ driver compilations may fail
+- some other minor improvements and bug corrections
+
+
+pcsc-lite-1.3.3: Ludovic Rousseau
+19 January 2007
+- add -H --hotplug argument to ask the pcscd daemon to rescan the
+ avaiable readers
+- add support for IFD_GENERATE_HOTPLUG bit in driver Info.plist
+ ifdCapabilities
+- add --force-reader-polling to ignore the IFD_GENERATE_HOTPLUG bit in
+ driver Info.plist ifdCapabilities (pcscd will poll the USB bus every 1
+ second as in previous versions)
+- SCardConnect() & SCardDisconnect(): wait until any transaction
+ finishes before going on. This avoids the possibility to reset a card
+ in the middle of a transaction Thanks to Martin Paljak for the bug
+ report
+- the tools installifd and formaticc are now completely outdated and
+ should not be used anymore.
+- PCSC/ifdhandler.h: add IFD_NO_SUCH_DEVICE for readers supporting
+ hotplug
+- PCSC/pcsclite.h: add SCARD_E_NO_READERS_AVAILABLE
+- SCardControl(): do not limit cbSendLength to MAX_BUFFER_SIZE bytes
+ since we now transparently support up to MAX_BUFFER_SIZE_EXTENDED
+ bytes. Thanks to Martin Führlinger for the bug report
+- SCardGetAttrib()/SCardSetAttrib(): if the driver returns IFD_ERROR_TAG
+ we return SCARD_E_UNSUPPORTED_FEATURE instead of the generic error
+ code SCARD_E_NOT_TRANSACTED
+- implement SCardIsValidContext() PC/SC call
+- some other minor improvements and bug corrections
+
+
+pcsc-lite-1.3.2: Ludovic Rousseau
+11 August 2006
+- add support of extended APDU in the standard configuration and in a
+ backward compatible way: pcscd 1.3.2 can be used with libpcsclite <=
+ 1.3.2
+- define MAX_BUFFER_SIZE_EXTENDED as the maximal size allowed for a
+ extended APDU (64KB)
+- LPCTSTR and LPTSTR types are deprecated. Use LPCSTR and LPSTR instead
+- Dual licence src/error.c so it can be used bu OpenSC. It is now
+ BSD-like, see the COPYING file and GNU Lesser General Licence 2.1 or
+ (at your option) any later version
+- document that the 4 bytes field value in PCSC_TLV_STRUCTURE is always
+ in big endian as documented in PCSC v2 part 10 ch 2.2 page 2. You can
+ use ntohl() to convert the value. Thanks to Ulrich Vogl for the bug
+ report
+- some other minor improvements and bug corrections
+
+
+pcsc-lite-1.3.1: Ludovic Rousseau
+22 April 2006
+- improve support of Solaris
+- correct a bug when two clients are connecting at the same time
+- better documentation for ./configure arguments
+- doc/ifdhandler-3.tex: improve IFD handler documentation
+- doc/pcsc-lite.tex: document VERIFY_PIN and MODIFY_PIN commands using
+ PCSCv2 part 10 instead of the "proprietary" mechanism now unsupported
+- doc/pcsc-lite.tex: document log_msg and log_xxd
+- use fprintf(stderr,) instead of syslog(3) to log messages from libpcsclite
+- use PCSCLITE_DEBUG to activate the debug messages in libpcsclite.
+ MUSCLECARD_DEBUG is now used for libmusclecard only
+- add the reader serial number in the reader name only if
+ ADD_SERIAL_NUMBER is defined
+- some other minor improvements and bug corrections
+
+
+pcsc-lite-1.3.0: Ludovic Rousseau
+3 March 2006
+- new official stable version since 1.2.0 in October 2003. Many thanks
+ to all the bug reporters and bug fixers
+- libmusclecard is now in a independenant package
+- (re)allow compilation on Solaris
+- SCardReleaseContext(): do not check that the thread releasing the
+ context is the one that established it. This check is not performed on
+ Windows and creates portability problems See
+ http://archives.neohapsis.com/archives/dev/muscle/2006-q1/0134.html
+- automatically call SCardUnload() when the libpcsclite library is
+ unloaded Thanks to Najam Siddiqui. See
+ http://archives.neohapsis.com/archives/dev/muscle/2006-q1/0177.html
+- some other minor improvements and bug corrections
+
+
+pcsc-lite-1.2.9-beta10: Ludovic Rousseau
+3 February 2006
+- if the USB reader defines a serial number then include it in the
+ reader name (between parenthesis)
+- the library libpcsclite.so.1 only exports the symbols defined by the
+ API (http://pcsclite.alioth.debian.org/pcsc-lite/). This is needed to
+ be able to use the library in an appliation that also uses flex (like
+ muscleTool). The problem only occurs with GCC >= 4.0
+- some other minor improvements and bug corrections
+
+
+pcsc-lite-1.2.9-beta9: Ludovic Rousseau
+27 November 2005
+- add/improve support of PIN pad readers
+ . define HOST_TO_CCID_16() and HOST_TO_CCID_32() macro to convert 16 and
+ 32-bits data to the CCID format (replace HOST_TO_CCID)
+- add support of SUN C compiler and try to avoid GCC specific features
+ (Heiko Nardmann)
+- SCardGetStatusChange():
+ . exists if the list of readers changed (one reader added) so that the
+ application can update its list of readers (Najam Siddiqui)
+ . correct a bug when two contexts where used (Najam Siddiqui)
+- add support of Solaris 10 IFDhandler (Douglas E. Engert)
+- allow pcsc-lite to be compiled without (f)lex installed
+- add a TODO file. Help/money needed here.
+- improve Doxygen documentation
+- some other minor improvements and bug corrections
+
+
+pcsc-lite-1.2.9-beta8: Ludovic Rousseau
+6 September 2005
+- correct a crash on Fedora Core 4 (off by 1 buffer overflow)
+- do not silently truncate the reader, library or device name if they
+ are too long but display an error message instead
+- reinclude musclecard library in pcsc-lite package since a lot of code
+ is shared. The separation was a mistake
+- add colorization of the logs when sent to stderr. The color depends on
+ the priority level
+- restrict the number of symbols (function names) exported from
+ libpcsclite.so to limit symbol conflicts with other libraries. Only
+ the PC/SC API symbols should be exported
+- add Doxygen documentation. Thanks to Luiz Reuter Silva Torro.
+ HTML pages available at
+ http://pcsclite.alioth.debian.org/doxygen/html/index.html
+- SCardControl(): a 0 byte long pbSendBuffer is no more rejected since
+ the command is in dwControlCode. Thanks to Martin Paljak for the patch
+- provide a reader.h file (by default in /usr/local/include/PCSC/reader.h)
+ that contains definitions shared between an application and a smart
+ card driver (like SCARD_CTL_CODE, CM_IOCTL_GET_FEATURE_REQUEST,
+ FEATURE_* and HOST_TO_CCID)
+- pcscd: allow a serial hotplug by sending a SIGUSR1 signal. The
+ /etc/reader.conf file is re-read and reader presence/abscence is updated
+- musclecard library: small bug fixes
+- pcsc-lite SCF: small bug fixes
+- some other minor improvements and bug corrections
+
+
+pcsc-lite-1.2.9-beta7: Ludovic Rousseau
+2 March 2005
+- SCARD_PROTOCOL_ANY is defined as (SCARD_PROTOCOL_T0|SCARD_PROTOCOL_T1)
+ You should not use SCARD_PROTOCOL_ANY since it is not defined in
+ Windows PC/SC. It is just defined for backward source code compatibility
+- define SCARD_STATE_UNPOWERED even it is a state never used so source
+ code using it can compile
+- SCardStatus(): pdwState and pdwProtocol parameters may be NULL (mimic
+ Windows)
+- provide a script update-reader.conf to update the /etc/reader.conf
+ file from /etc/reader.conf.d/* files
+ This script is called by /etc/init.d/pcscd before starting the daemon
+- add support of SCardGetAttrib() with a NULL pbAttr parameter to only
+ get the needed lenth in pcbAttrLen
+- SCardReconnect() now works after a card movement. Previously
+ SCardReconnect() returned "Card was removed" even if the new card is
+ reseted.
+- SCardGetStatusChange(): greatly improve performances. Thanks to Oivind
+ H. Danielsen
+- SCardControl(): check if the pbSendBuffer is NULL or no bytes are sent
+ for driver API v2 only. With API v3 we can use dwControlCode as the
+ only data to send.
+- Implement the dynamic level logging in pcscd
+ The new command line options are:
+ -d, --debug display lower level debug messages
+ --info display info level debug messages (default level)
+ --error display error level debug messages
+ --critical display critical only level debug messages
+- some documentation update
+
+
+pcsc-lite-1.2.9-beta6: Ludovic Rousseau
+15 August 2004
+- The debug messages are now displayed by default. This prevented error
+ messages generated by a wrong /etc/reader.conf parsing to be displayed
+- thread management:
+ . threads are now created with the PTHREAD_CREATE_DETACHED attribute
+ so that resources are released when the thread ends. Thanks to
+ Michael Gold for the patch.
+ Previous versions of pcscd just died after 256 clients connections.
+- remove PCSC/ from the header files path since the path is given by
+ pkg-config --cflags libpcsclite or the correct -I directive
+- src/winscard_svc.c:
+ . MSGCleanupClient(): always reset all the fields. Thanks to Michael
+ Gold for the patch.
+- src/configfile.l:
+ . if the file referenced by DEVICENAME can't be use (because it is not
+ a correct filename) we now display:
+ You should use 'DEVICENAME /dev/null' if your driver does not use this field
+- src/winscard.c:
+ . Avoid generating a PPS request that would not be just after a power
+ up. The previous code worked only when the card was _reseted_ at
+ SCardDisconnect() but not when SCARD_LEAVE_CARD was used.
+- correctly manage multi-slots readers
+- etc/pcscd.init:
+ . updated to reflect the RPM version. Thanks to Ville Skyttä & Fritz Elfert
+- doc/example/pcsc_demo.c:
+ . add SCardTransmit() code sample
+- src/testpcsc.c:
+ . add a "(don't panic)" after a "Transaction failed." if it is not a
+ critical failure.
+- doc/pcsc-lite.tex:
+ . the function SCardSetTimeout() is deprecated and does nothing
+- doc/ifdhandler-3.tex:
+ . add documentation for IFDHGetCapabilities(..., TAG_IFD_THREAD_SAFE, ...),
+ IFDHGetCapabilities(..., TAG_IFD_SLOT_THREAD_SAFE, ...) and
+ IFDHSetCapabilities(..., TAG_IFD_SLOTNUM, ...)
+- some internal changes and bugs corrections
+
+
+pcsc-lite-1.2.9-beta5: Ludovic Rousseau
+16 July 2004
+- src/PCSC/wintypes.h:
+ . add type LPSTR (again) so that "old" drivers and applications can
+ compile but mark the type deprecated.
+ See http://gcc.gnu.org/onlinedocs/gcc-3.1/gcc/Type-Attributes.html
+- src/tokenfactory.c:
+ . TPSearchBundlesForAtr(): use "%s/%s" insead of "%s%s" when
+ generating the MuscleCard bundle name on MacOSX
+- src/winscard.c:
+ . SCardControl() (new API) can now be used with a IFDHandler v2.0 or v3.0.
+ The previous code was broken and only worked with an IFDHandler v3.0
+ (crashed with a v2.0).
+- src/PCSC/ifdhandler.h:
+ . IFDHControl(): use PUCHAR instead of LPCVOID and LPVOID so the
+ driver can use TxBuffer[x] without needing a cast.
+ . it is now possible to compile a IFDHandler v2.0 with this include
+ file. Just #define IFDHANDLERv2 in your source code before
+ #include <ifdhandler.h>
+ By default it is setup for for most recent version of the API (V3.0)
+
+
+pcsc-lite-1.2.9-beta4: Ludovic Rousseau
+3 July 2004
+- src/libmusclecard.pc.in and src/libpcsclite.pc.in
+ . includedir is now @includedir@/PCSC
+ . add pthread flags for compilation and link
+ . thanks to Ville Skyttä for these patches.
+ They are small but are mandatory to (re)compile muscleTools (and
+ others) without modification to their Makefile.
+
+
+pcsc-lite-1.2.9-beta3: Ludovic Rousseau
+30 June 2004
+- src/hotplug_libusb.c:
+ . use a dynamic array for available USB drivers:
+ - avoid a buffer overflow (argh!)
+ - allow to use more than 16 drivers/supported readers
+- src/Makefile.am:
+ . install mscdefines.h, winscard.h, musclecard.h, pcsclite.h and wintypes.h
+ in /usr/include/PCSC/ to not pollute /usr/include/
+ . install ifdhandler.h, debuglog.h and parser.h in /usr/include/PCSC/ so
+ drivers can use them for compilation.
+ Modify your source code or add -I/usr/include/PCSC to CFLAGS in your
+ Makefile or, better, use CFLAGS=`pkg-config libpcsclite --cflags`
+- doc/pcsc-lite.tex:
+ . dwPreferredProtocols is a bit mask of acceptable protocols
+ . SCARD_SHARE_DIRECT can be used to talk to the reader without a card
+ inserted
+ . add "Some SCardControl commands" section (IFD_EXCHANGE and VERIFY_PIN)
+ . add documentation for LTPBundleFindValueWithKey(), debug_msg() and
+ debug_xxd()
+- src/configfile.l: (/etc/reader.conf parser):
+ . allow ':' in DEVICENAME. use ':' to indicate a non-real device (pcscd does
+ not test for its existence as a file). You can use this in something like
+ "net://1.2.3.4/foobar" to indicate a reader on a remote machine like an
+ X11 terminal.
+- src/PCSC/wintypes.h:
+ . Change the names of the types LPCSTR to LPCTSTR and LPSTR to LPTSTR to be
+ compliant with the Microsoft SCard API. You will have to update your
+ source codes.
+- src/readerfactory.c:
+ . rework RFSetReaderName() to simply the code and always start with the
+ lowest number available (like in previous pcsc-lite version)
+- src/prothandler.c:
+ . completely redesign the function so that IFDSetPTS() is always called to
+ tell the driver which protocol to use and to initialise its internal
+ state. The driver now knows which protocol (T=0 or T=1) the application
+ wants to use even if the card only support only one protocol.
+- src/atrhandler.c:
+ . add support of specific mode by the presence of TA2 (protocol not
+ negociable)
+- src/utils/Makefile.am:
+ . install bundleTool and installifd in [...]/sbin/ instead of [...]/bin/
+- doc/example/Makefile.am:
+ . do not install pcsc_demo since it is just a sample code for developpers
+ that is not supposed (the code) to do anything useful
+- doc/example/pcsc_demo.c:
+ . replace SCARD_PROTOCOL_ANY by SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1 since
+ SCARD_PROTOCOL_ANY is _not_ defined by Microsoft PC/SC and is not equals
+ to SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1 in pcsc-lite
+- and lots of other minor and/or internal only changes
+
+pcsc-lite-1.2.9-beta2: Ludovic Rousseau
+11 May 2004
+- change libmusclecard current version to 1 so that old libmusclecard0 and new
+ libmusclecard1 can cohabit on the same system and will not break existing
+ programs during upgrades.
+
+ This is because libmusclecard is provided in the same distrib/package as
+ libpcsclite. If we want two libpcsclite to cohabit we must also ensure
+ that the two libmusclecard can also cohabit.
+- src/pcscdaemon.c: print pcsc-lite version number during startup
+- src/winscard.c: in SCardReconnect(), SCardDisconnect() and
+ SCardEndTransaction() SCARD_UNPOWER_CARD is "Power down the card and reset
+ it (Cold Reset)" so we really power down _and_ then power up the card.
+- doc/pcsc-lite.tex: add the chapter "Multithreading and contexts"
+- doc/ifdhandler-3.tex: IFD Handler API in LaTeX format
+- correct some minor typos in documentation and output texts
+
+
+pcsc-lite-1.2.9-beta1: Ludovic Rousseau
+6 May 2004
+- configure: add support of --enable-extendedapdu argument to allow the use of
+ big APDUs (APDU size between 256-Bytes and 128-KBytes)
+- API changes:
+ . SCardControl() API changed to be similar to the Microsoft PC/SC
+ implementation
+ . add SCardGetAttrib()/SCardSetAttrib() functions
+ . the driver need to be compliant to IFDHandler API v3 to support these new
+ functions
+- multithreading:
+ Damien Sauveron added the support of multiplexing multi-readers
+ communications. In the previous version the communications were serialized
+ and not simultaneous even if it was not needed. Thanks Damien.
+- src/pcscdaemon.c:
+ . remove the warning if no /etc/reader.conf is found. It is normal to not
+ have an /etc/reader.conf for USB readers only.
+ . send debug to syslog by default
+ . send debug to stderr if --foreground|-f is used (no need to add
+ --debug stderr anymore)
+- doc/pcsc-lite.pdf: doc improved to add the new functions and API. The doc is
+ now generated from a LaTeX file (easier to maintain, html version available,
+ much more nice, etc.)
+- src/testpcsc.c:
+ . added tests for the new functions SCardGetAttrib(), SCardSetAttrib() and
+ SCardControl() and also the old SCardListReaderGroups()
+ . do not ask for reader number if only one reader is present
+ . some more debug
+- pcscd and libpcsclite now exchange a protocol version to know what API to
+ use. This will be useful if/when the API change again
+- change library version to 1:0:0 since the interface changed
+- hotplug: the daemon pcscd do not try to restart drivers anymore when it is
+ exiting
+- src/hotplug_libusb.c:
+ . do not try to restart a USB driver if the first execution fails (because
+ of a bug in the driver or whatever) since the next execution of the driver
+ will, with a great probability, also fail. The user has to unplug/replug
+ the reader to restart the driver. This prevents to fill the system logs
+ with an error message every 1 second.
+ . use deviceName defined as usb:idVendor/idProduct:libusb:busname:filename
+ in HPAddHotPluggable(). This should avoid wrong USB enumeration when used
+ in IFDHCreateChannelByName()
+- src/hotplug_macosx.c:
+ . buffer overflow: the driver list was not terminated and caused crashes.
+- src/winscard.c:
+ . remove the code to map SCARD_UNPOWER_CARD on IFD_RESET.
+ SCARD_UNPOWER_CARD is power down and power up (cold reset) => IFD_POWER_DOWN
+ SCARD_RESET_CARD is just power up (warm reset) => IFD_RESET
+- src/winscard.h:
+ . use SCARDCONTEXT, DWORD, LPSCARDHANDLE, etc. instead of long, unsigned
+ long, long *, etc. to be more Windows PC/SC compliant
+- doc/reader.conf.5.in: new manpage to make it clear that this configuration
+ file SHOULD not be used for USB readers
+- src/configfile.l:
+ . print a warning if the LIBPATH contains ".bundle". USB drivers SHOULD NOT
+ be declared in reader.conf
+ . Check that DEVICENAME and LIBPATH files exist and if an error occurs
+ during the parsing the reader is not added and pcscd exit.
+- doc/example/pcsc_demo.c:
+ . recode the readers enumeration to avoid the use of
+ PCSCLITE_MAX_READERS_CONTEXTS. You do not and should not need
+ PCSCLITE_MAX_READERS_CONTEXTS. Use a dynamic management instead.
+ . add SCardReconnect() sample code
+ . allow to select the reader number instead of always selecting the first
+ reader
+ . some minor debug
+- src/musclecard.c:
+ . Initialize currentToken->tokenType in MSCListTokens(). Closes "[ #300607 ]
+ MSCListTokens should set tokenType to know state before OR operation"
+- src/tokenfactory.c:
+ . correct atrString[] buffer size. The ATR is in ASCII so it must be
+ MAX_ATR_SIZE*2 +1. This was problematic for cards with a "long" ATR.
+- src/readerfactory.c:
+ . initialize vHandle field to NULL in RFAllocateReaderSpace() (caused a
+ crash under MacOS X)
+- aclocal/acx_pthread.m4:
+ . new upstream version to avoid checking for pthread.h which does not exist
+ on *BSD
+- src/libmusclecard.pc.in, src/libpcsclite.pc.in:
+ . add muscledropdir (in libmusclecard) and usbdropdir (in libpcsclite) so we
+ can use `pkg-config libpcsclite --variable=usbdropdir` to find the
+ directory to use. Should be used by drivers and plugins installation.
+ Thanks to Ville Skyttä for the patch.
+- many other minor patches and corrections. Read ChangeLog.cvs for a complete
+ list
+
+
+pcsc-lite-1.2.0: Ludovic Rousseau
+27 october, 2003
+- the 1.2.0 version is the same as 1.2.0-rc3 version
+
+pcsc-lite-1.2.0-rc3: Ludovic Rousseau
+15 october, 2003
+- src/winscard_msg.c: perform a round-robbin among clients to avoid starvation
+ under heavy load. Patch from Bettina Martelli.
+- src/winscard_clnt.c: send debug to stdout only if the environment variable
+ MUSCLECARD_DEBUG is defined
+- src/libmusclecard.pc.in: add a new pkg-config file for application using
+ libmusclecard.
+- a lot of code and build clean up by Antti Tapaninen
+- some code clean up and debug by Damien Sauveron
+
+
+pcsc-lite-1.2.0-rc2: Ludovic Rousseau
+4 September, 2003
+- removed a very _stupid_ bug that linked libpcsclite with libusb. Any
+ application linked with libpcsclite was also linked with libusb.
+- generate a new library libmusclecard and remove MuscleCard code from
+ libpcsclite. An application using MuscleCard functions needs to explicitly
+ link with libmusclecard.
+- src/winscard_clnt.c: add a new function SCardUnload() to free allocated
+ resources. It is mandatory only if you use dlopen/dlclose to often
+ load/unload the library. Otherwi se you will exhaust the ressources
+ available and get a crash. Thanks to Guy Moreillon for the patch.
+- src/muscletest.c: code cleaning
+
+
+pcsc-lite-1.2.0-rc1: Ludovic Rousseau
+26 August, 2003
+- configure.in: --enable-usb is now deprecated and off by default.
+ --enable-libusb is selected by default and will be used if libusb is
+ installed in /usr. If libusb is installed in /usr/local use
+ --enable-libusb=/usr/local
+- src/hotplug_macosx.c: Add support of reader aliases using <array></array> in
+ driver Info.plist on MacOS X.
+ The old syntax did not work since pcscd on MacOS X wants a correct XML file.
+ The new syntax is:
+ <key>ifdVendorID</key>
+ <array>
+ <string>0x08E6</string> <!-- 1, Gemplus -->
+ <string>0x04E6</string> <!-- 2, SCM Microsystems -->
+ <string>0x076B</string> <!-- 3, OmniKey -->
+ <string>0x0783</string> <!-- 4, C3PO -->
+ </array>
+
+ <key>ifdProductID</key>
+ <array>
+ <string>0x3437</string> <!-- 1 -->
+ <string>0x5115</string> <!-- 2 -->
+ <string>0x3021</string> <!-- 3 -->
+ <string>0x0003</string> <!-- 4 -->
+ </array>
+
+ <key>ifdFriendlyName</key>
+ <array>
+ <string>GemPC Twin</string> <!-- 1 -->
+ <string>SCR 335</string> <!-- 2 -->
+ <string>CardMan 3121</string> <!-- 3 -->
+ <string>LTC31</string> <!-- 4 -->
+ </array>
+- src/powermgt_macosx.c, src/hotplug_macosx.c and some others: Add support of
+ PCMCIA for MacOS X. Thanks to Stephen M. Webb.
+- src/hotplug_libusb.c: Add support of libusb. Allow to use USB readers on
+ *BSD or any plateform supported by libusb. Thanks to Toni Andjelkovic for
+ the great job.
+ I also redesigned the code to support up to PCSCLITE_MAX_READERS readers
+ whatever the driver they use.
+- src/musclecard.c:
+ . fix an initialisation problem of pConnection->shareMode (thanks to Wan-Teh
+ Chang)
+ . avoid a memory leak (Toni Andjelkovic)
+- doc/example: sample demo application using pcsc-lite API
+- src/winscard.c:
+ . pcscd reported card is present when there is no card in the reader
+ . return SCARD_E_INVALID_PARAMETER for APDU of less than 4 bytes
+- src/winscard_svc.c: Sometimes unknown APDUs were being transmitted when
+ 'SCardStatus' function was invoked
+- some code cleanup and compilation problems removed.
+
+
+pcsc-lite-1.1.2beta5: Ludovic Rousseau
+30 May, 2003
+- src/winscard.c: SCardStatus(): do not return before filling buffers
+- src/winscard_clnt.c: SCardStatusTH(): simplify code and return correct
+ results when buffers are too short or NULL is used
+- src/libpcsclite.pc.in: used to generated a pkg-config ".pc" file (thanks to
+ Andreas Jellinghaus for the idea and the patch)
+- configure.in, src/Makefile.am, src/utils/installifd.c, doc/bundleTool.8.in,
+ doc/pcscd.8.in, etc/reader.conf.in:
+ . correct typos and include path configured by ./configure appear in the
+ docs (thanks to Ville Skyttä)
+- src/utils/installifd.c:
+ . replace gets() by fgets() to avoid buffer overflow.
+ . Use sizeof() instead of constants.
+ . do not use strdup() since it is useless.
+ . print error messages when needed.
+
+
+pcsc-lite-1.1.2beta4: Ludovic Rousseau
+13 Apr, 2003
+- src/debuglog.c:
+ . DebugLogSetLogType() set flags and not just _or_ them (allow unset)
+ . use strncpy to avoid a possible buffer overflow
+- src/hotplug_linux.c:
+ . code cleanup
+ . support for driver aliases in Info.plist. The syntax is:
+ <key>ifdProductString</key>
+ <string>GemPC430</string>
+
+ <key>ifdVendorID</key>
+ <string>0x08E6</string>
+ <string>0x08E6</string>
+ <string>0x08E6</string>
+
+ <key>ifdProductID</key>
+ <string>0x0430</string>
+ <string>0x0432</string>
+ <string>0x0435</string>
+
+ <key>ifdFriendlyName</key>
+ <string>GemPC430</string>
+ <string>GemPC432</string>
+ <string>GemPC435</string>
+ So this driver will be used by the three possible readers.
+- src/Makefile.am:
+ . support for driver aliases in Info.plist (use tokenparser.l instead of
+ driverparser.l)
+ . support for xBSD back
+- src/pcsclite.h:
+ . rename "pcsc.pub" and "pcsc.comm" in "pcscd.pub" and "pcscd.comm"
+- src/tokenparser.l:
+ . code reindentation
+ . use DebugLogB()/DebugLogC with correct number of arguments
+- src/tokenparser.l:
+ . regenerated from src/tokenparser.l
+
+
+pcsc-lite-1.1.2beta3: Ludovic Rousseau, David Corcoran
+7 Nov, 2002
+- Support for Sun Microsystems' SCF
+- Patches from Dmitry Djachenko to:
+ . init g_rgSCard??Pci variable at compile time
+ . return more meaningfull error codes in SCardReconnect()
+ . return more information in SCardStatus()
+ . accept pioRecvPci == NULL in SCardTransmit()
+ according to MSDN (July 2002) : SCardTransmit description
+ pioRecvPci
+ [in, out] Pointer to the protocol header structure for the instruction,
+ followed by a buffer in which to receive any returned protocol control
+ information (PCI) specific to the protocol in use. This parameter may be
+ NULL if no returned PCI is desired.
+- correct an overflow in SCardGetStatusChange(). Thanks to Michael Nidd
+- configure.in, src/pcscdaemon.c, src/pcsclite.h:
+ . add --enable-ipcdir=DIR option. Default is now /var/run/ instead of
+ /tmp/pcsc/
+- src/Makefile.am:
+ . reorganise conditionals to to have a src/Makefile.in file 142 (yes 142)
+ times smaller (33 KB instead of 4.7 MB)
+- src/eventhandler.c:
+ . add filename and error message to error logs for /var/run/pcsc.pub
+- src/debuglog.h:
+ . DebugLogC() uses 3 parameters not 2 (use DebugLogB() for that)
+
+
+pcsc-lite-1.1.2beta2: Ludovic Rousseau, David Corcoran, Jean-Luc Giraud
+12 Oct, 2002
+- OpenBSD 3.1 and FreeBSD 4.7RC2 debug and testing
+- MacOSX debug and improvement
+- support multiple identical USB readers under GNU/Linux
+- more debug
+- Bug in winscard.c for protocol when ANY is chosen
+
+pcsc-lite-1.1.2beta1: (Ludovic Rousseau <ludovic.rousseau at free.fr>)
+6 Sep, 2002
+- src/tokenfactory.c, configure.in and bundleTool.c:
+ . add support for --enable-muscledropdir=DIR
+- README:
+ . The licence file is COPYING and not LICENSE (thanks to Juha Tuomala)
+- doc/formaticc.1:
+ . add formaticc.1 manpage from Debian
+- doc/bundleTool.1:
+ . update and rename from .8 to .1
+- src/utils/formaticc.c:
+ . lots of debug and buffer overflow removal
+- src/ifdwrapper.c, src/debuglog.c, doc/pcscd.8:
+ . add support for --apdu|-a
+- src/pcscdaemon.c:
+ . add support for --apdu, test if the pcscd is still running before
+ complaining that /tmp/pcsc is present
+ . print an error message if the --debug argument is not known
+- src/Makefile.am:
+ . add -Wl,--export-dynamic link option
+- src/hotplug_linux.c:
+ . add support for --enable-usbdropdir=DIR
+
+
+pcsc-lite-1.1.1: (David Corcoran <corcoran at linuxnet.com>)
+5 Jun, 2002
+- src/readerfactory.c
+ . Fixed multiple slot handling by adding dwFeeds to multiple slots
+- src/winscard_clnt.c
+ . Fixed multi Establish/Release Context problem by removing CleanupClient
+
+
+pcsc-lite-1.1.0: (David Corcoran <corcoran at linuxnet.com>)
+28 May, 2002
+- src/mscdefines.h added
+- src/musclecard.c/.h added
+ . Added client side token/card plugin interface
+- src/tokenfactory.c added
+- src/powermgt_macosx.h added
+- src/powermgt_macosx.c added
+ . Support for sleep mode on OS X
+- src/tokenparser.l added
+- src/dyn_hpux modified with new include <errno.h>
+- src/winscard_svc.c
+ . Added session checking so rogue clients cannot steal hCard values
+- src/readerfactory.c
+ . removed world writable files in /tmp/pcsc
+- configure.in
+ . Added support for SCF with SCF plugin
+- Added command line arguments for debug/daemon mode <cprados at yahoo.com>
+- Previous additions from Ludovic Rousseau <ludovic.rousseau at free.fr>
+
+pcsc-lite-1.0.2beta5: (Ludovic Rousseau <ludovic.rousseau at free.fr>)
+10 Mar, 2002
+- src/pcscdaemon.c:
+ . move the pid file creation earlier (before drivers loading)
+ . allow to properly kill pcscd before or during driver loading
+ this is useful when the driver init is buggy
+- src/pcsclite.h: change PCSCLITE_VERSION_NUMBER to 1.0.2.beta5
+- configure.in: change version number to 1.0.2.beta5
+
+
+pcsc-lite-1.0.2beta4: (Ludovic Rousseau <ludovic.rousseau at free.fr>)
+13 Feb, 2002
+- configure.in: change version number to 1.0.2.beta4
+(from Douglas Atique bugs report and patch)
+- etc/Makefile.am
+ . add the files makeFMStyle, makeSTDStyle and moveFMCode to the
+ distribution archive
+- src/Makefile.am
+ . add the files sys_solaris.c, sys_hpux.c and powermgt_macosx.c to the
+ distribution archive
+- src/pcscdaemon.c
+ . ignore SIGHUP signal
+ . remove pid file if USE_RUN_PID is defined
+- src/winscard_msg.c
+ . move #ifdef PCSC_TARGET_SOLARIS _after_ the inclusion of config.h since
+ PCSC_TARGET_SOLARIS is defined in config.h
+
+
+pcsc-lite-1.0.2beta3: (Ludovic Rousseau <ludovic.rousseau at free.fr>)
+10 Jan, 2002
+(from Carlos Prados Debian package)
+- configure.in
+ . add AC_PREFIX_DEFAULT(/usr/local/pcsc) to install in /usr/local/pcsc by
+ default
+- etc/
+ . add makeFMStyle, makeSTDStyle and moveFMCode scripts
+- src/utils/Makefile.am
+ . add EXTRA_DIST = sample.in sample.ibm sample.out
+- src/dyn_bsd.c
+ . try without a leading '_' in cas of failure (needed by FreeBSD) thanks to
+ Toni Andjelkovic <toni at soth.at> for the patch)
+- src/test.c
+ . commented declarations on unused variables
+ . corrected three %x to %lx for long arguments
+- README
+ . add documentation for --enable-confdir and --enable-runpid
+- src/README_INTERNALS.txt: new file containing some documenation for source
+ code hackers
+- src/Makefile.am: add EXTRA_DIST = README_INTERNALS.txt
+- src/pcscdaemon.c: the daemon now cleany stops the drivers before exiting
+ . the global variable AraKiri is set in signal_trap()
+ . this variable is checked in the main loop of SVCServiceRunLoop()
+ . RFCleanupReaders() is then called if AraKiri
+- src/readerfactory.c: add RFCleanupReaders() to do the cleaning job at exit
+- src/test.c: change %x to %02X for the ATR bytes
+- src/debuglog.c and src/debuglog.h:
+ . rewrote the DebugLog[ABCD] function
+ . the function are now defines than include __FILE__ and __LINE__
+ . the test #ifdef USE_SYSLOG if moved from the source code to the
+ src/debuglog.c function only -> the source is more readable
+ . the new log functions are now used everywhere
+- src/configfile.l:
+ . changed syslog() to DebugLog()
+ . add #include "debuglog.h"
+- README: add a supported platform: OpenBSD 3.0 (with libc.so.28.2)
+- Makefile.am: add HELP file to EXTRA_DIST
+
+
+pcsc-lite-1.0.2beta2: (Ludovic Rousseau <ludovic.rousseau at free.fr>)
+20 Dec, 2001
+- bootstrap: added --verbose
+- reconf: added --verbose and --enable-debug
+- configure.in:
+ . changed release number to 1.0.2.beta2
+ . added -Wall to CFLAGS to compile with all the warnings ON. This change
+ implied many small corrections: mainly addition of include file to add
+ functions prototyping, adding return values when needed, removing unused
+ variables.
+ . add doc/ directory (from Carlos Prados Debian package)
+ . add --enable-confdir=DIR (default to /etc)
+ inspiration from Shell Hin-Lik Hung, OpenBSD pcsc-lite port
+ . add --enable-runpid=FILE to store the pcscd pid
+ inspiration from Carlos Prados, Debian package maintainer
+- many C source files includes <pcsclite.h> (or somilar). I changed to
+ "pcsclite.h" since the local .h should be more recent and with less
+ bugs than the one in /usr/local/include/
+- src/dyn_bsd.c, src/dyn_unix.c: in DYN_LoadLibrary() changed 0 to
+ NULL, "char *" to "const char *"
+- src/dyn_hpux.c: removed declared but unused variables
+- src/ifdwrapper.c: initialize IFD_? functions pointer to NULL
+- src/pcscdaemon.c:
+ . removed declartion of errno (already made in errno.h)
+ . exit with code value
+ . more explicit error message when /tmp/pcsc/ already exist
+ . test if VERSION and PCSCLITE_VERSION_NUMBER are the same
+ release numbers
+ . create a file containing the PID (see configure --enable-runpid=FILE)
+ ("stolen" from Carlos Prados Debian package)
+- src/readerfactory.c
+ . removed unused variables
+ . dwSlot is a long, use %ld instead of %d
+ . changed "SCARD_F_UNKNOWN_ERROR;" to "return SCARD_F_UNKNOWN_ERROR;"
+- src/readerfactory.h: corrected "RVAllocateReaderSpace" to
+ "RFAllocateReaderSpace" (RVA -> RFA)
+- sys_*.c: removed declaration of errno
+- src/sys_unix.c: add "return 0;" in SYS_Initialize()
+- winscard.c: in SCardReconnect()
+ . initialize dwAction to 0
+ . remove unused variables dwReaderLen and dwProtocol
+- src/winscard_clnt.c: commented out declaration and definition of
+ SCardSetupThreadSafety(). It is not used anywhere.
+- src/winscard_msg.c:
+ . add the error message "strerror(errno)" returned by the socket
+ functions in the debug message logged
+ . removed unused variables
+ . removed (fd_set *) cast in select calls. (compiles OK without)
+- src/winscard_svc.c: add a "return 0;" in MSGCleanupClient()
+- src/winscard_svc.h: add prototype for MSGCleanupClient()
+- doc/Makefile.am: ("stolen" from Carlos Prados Debian package)
+ . add this directory in dist files
+- Makefile.am: ("stolen" from Carlos Prados Debian package)
+ . add doc directory
+ . add reconf bootstrap in dist files
+- src/Makefile.am: ("stolen" from Carlos Prados Debian package)
+ . add utils directory
+ . remove libpcsclite-core.la from install target
+ . add dyn_bsd.c dyn_hpux.c to EXTRA_libpcsclite_core_la_SOURCES
+- src/utils/Makefile.am: ("stolen" from Carlos Prados Debian package)
+ . converted LIBS line into formaticc_LDADD line
+- src/hotplug_linux.c
+ . add some includes files
+ . commented useless declarations of hpManu_id, hpProd_id, bundleArraySize
+- src/utils/installifd.c
+ . rv, dwRecvLength and dwSendLength are long, use %ld instead of %d
+ . commented useless declarations of many variables
+ . add some (int *) casts
+- etc/ ("stolen" from Carlos Prados Debian package)
+ . added SmartcardServices
+ . added StartupParameters.plist
+- src/debuglog.c:
+ . put the ATR on just one line even with syslog
+ . changed LOG_DEBUG to LOG_INFO since the LOG_DEBUG level messages are
+ seldom logged
+- src/pcsclite.h: test if USE_READER_CONF is defined (see
+ --enable-confdir=DIR)
+
+pcsc-lite-1.0.2beta: (Ludovic Rousseau)
+29 Nov, 2001
+- stop if /tmp/pcsc already exists
+- clean and remove /tmp/pcsc on exit using signal() and atexit()
+- renamed SYS_Exit to exit in many places to use the atexit() defined
+ cleaning function
+- removed \n in debug messages (syslog does not need it)
+- some minor print cosmetic modification in atrhandler.c
+- use a define DEBUG_BUFFER_LENGTH instead of 150 in debuglog.c
+- use snprintf() instead of sprintf() in debuglog.c
+- add a error on compile in pcscdaemon.c
+ You must use '--enable-syslog' when also using '--enable-daemon' or
+ you will not get any message
+- renamed SYS_Stat to SYS_Fstat since the system call is fstat and stat
+ is another one
+- use PCSCLITE_IPC_DIR instead of repeating "/tmp/pcsc/" in pcsclite.h
+
+pcsc-lite-1.0.1:
+added -fno-common to CCFLAGS
+fixed syslog error on ATR
+lengthened the default client timeout on commands
+fixed bus error when vendir/id not found
+Added support for HP-UX 11 and OpenBSD 2.9
+Removed callback socket from server
+Fixed GetStatusChange bug on small timeouts
+Fix bug in transmit where reader sends back
+wrong length causes client to overwrite buffer
+
+pcsc-lite-1.0.0b:
+Fixed numerous NULL pointer errors
+Fixed many, many behaviors
+Tried Windows compatibility testing
+Switched to sockets based implementation
+Basically, it's had 2 months testing
+
+pcsc-lite-0.9.3:
+Changed test.c
+Added buffered read/write layer
+Shortened timeouts on outgoing commands
+Added support for Solaris 2.6 2.8
+Fixed autoconf problems
+Added an option for client side thread safety
+Fixed '-' problem for bundleparser
+
+pcsc-lite-0.9.1:
+Switched to named pipes for transport
+Fixed SCARD_POWERED tag when card inserted upside down
+Added non-polling request blocking
+Switched to autoconf thanks to some help
+Added timeouts for client/server
+
+pcsc-lite-0.8.7:
+Added kernel IoKit notifications for USB devices on OS X
+Added polling support for USB devices on Linux
+Added XML parsing for bundles on Linux
+Fixed GetStatusChange's SCARD_READERSTATE structure problem
+Fixed random generation in EstablishContext ( Carl-Magnus Pettersson )
+Fixed RPC Channel leak in EstablishContext ( Carl-Magnus Pettersson )
+Updated documentation to 0.8.7
+
+pcsc-lite-0.8.6:
+Added empty file powermgt_macosx.c for future power management
+Added ability for multiple identical readers on OS X
+Fixed bug enabling SCardTransmit to pass memory card functions
+by allowing sSendPci to be NULL
+Fixed some possible buffer overrun exploits
+
+pcsc-lite-0.8.5:
+Moved to 'fat client' architecture
+Mapped status to clients so events are immediate
+Removed fork() from server, and wait() calls
+Added multi readers to GetStatusChange
+Added block for reader in GetStatusChange
+Added Reader Lun naming mechanism for friendlynames
+Updated the documentation
+
+pcsc-lite-0.8.2:
+Added more error checking to all winscard functions.
+Added the ability to use Domain Sockets on Linux, Solaris.
+Increased the select sleep time to conserve cpu time.
+Added the ability to recover from errors by reloading drivers/etc.
+Pre-allocated bundle array list to save cpu time and memory leakage.
+Added SECURITY file.
+
+pcsc-lite-0.8.0:
+Added Hot Pluggable search function to select loop.
+Fixed Makefiles to do copies not moves
+Changed some filenames.
+
+pcsc-lite-0.7.8:
+Fixed race condition between pcscusb and eventhandler.c
+Fixed core dump on error startup.
+Added T=1 detection to test.c.
+Added SCardControl()
+
+pcsc-lite-0.7.5:
+Dynamically addable readers.
+Multiple dynamically addable readers.
+More startup error checking.
+Full support for OS X
+
+pcsc-lite-0.7.3:
+Added stringified error responses.
+Fixed some error returning bugs.
+Support for dynamic readers such as USB readers.
+More support for OS X
+
+pcsc-lite-0.7.1:
+Fixed bugs causing problems in Redhat regarding mutex pointers.
+Fixed exiting problem causing random zombie processes.
+Removed thread libs and dyn libs from local library.
+Abstracted thread libs in thread_generic.h
+Added support for Mac OS X.
+
+pcsc-lite-0.7.0:
+Support for ifd handler 2.0 specifications.
+
+pcsc-lite-0.6.9:
+Fixed bug in readerfactory.c that only allowed 2 applications
+to run simultaneously.
+Fixed bug in rpc/winscard.c so that some applications which
+while looped on Begin/End could not cause starvation.
+
+
+pcsc-lite-0.6.8
+Fixed mutex bug in readerfactory.c
+Added SCardListReaderGroups for compatibility
+Fixed NULL in for ListReaders
+Fixed NULL as pioRecvPci in Transmit
+Added multi-sys Makefiles
+Pulled Windows(r) defs from pcsclite.h
+Added INFINITE to GetStatusChange.
+
+pcsc-lite-0.6.6
+Added application event notification on calls
+Added SCardReconnect
+
+pcsc-lite-0.6.5
+Added -v option for version checking
+Added security module for future encryption/decryption
+Added function to allow only from localhost
+Added default values to all variables
+Proper freeing of all pointer values
+Fixed Reset on Disconnect
+Removed any dangerous pointer references
+
+pcsc-lite-0.6.4
+Shortened the thread zombie cleanup time.
+
+pcsc-lite-0.6.3
+Fixed readerfactory assignment of ID problem
+
+pcsc-lite-0.6.2
+Using pthreads for status poll.
+Using pthread mutexes instead of test and set.
+Fixed problem in GetStatusChange.
+Fixed SCardBeginTransaction.
+
+pcsc-lite-0.6.0
+Removed SCardReadMemory, SCardWriteMemory
+Added Mutex locks around all driver calls
+Added ability to do startup allocation
+Fixed memory leak in RFAddReader
+Removed some warnings
+
+pcsc-lite-0.5.5
+Added multi-slot support
+Fixed T=0/1 protocol definition
+
+pcsc-lite-0.5.2
+Fixed protocol negotiation
+Modified defines to work with OCF
+
+pcsc-lite-0.5.0
+Fixed the Makefiles to include
+symbolic links to external libraries
+
+pcsc-lite-0.4.9
+Added some objects to the client's
+library so it can be used with ssp-lite
+
+pcsc-lite-0.4.7
+Added Server State Machine
+Kills dead clients and frees resources
+Added SCardSetTimeout
+Fixed Makefile for non-rpc
+Added BSD style Makefile for BSD compilation
+Fixed SCardRead/Write functions
+
+pcsc-lite-0.4.0
+Fixed SCardStatus Function
+Added IFD Wrapper Abstraction Layer
+Began support for multiple slots
+Fixed bug in SCardStatus with overflow
+Added code to remove zombie processes
+Added support for connecting to multiple
+readers/resource managers from the client.
+
+pcsc-lite-0.3.0:
+Added RPC abstraction layer.
+Added Server Forking on Transmit and GetStatusChange.
+Fixed overflowed buffer in atrhandler.c
+Fixed Disconnect Bug.
+
+pcsc-lite-0.2.4:
+Added ATR Handling.
+Added support for T=1
+Added support for PTS negotiation
+Added abstraction for more slots/terminal
+Added correct ATR size return
+
+pcsc-lite-0.2.2:
+Added some defines in pcsclite.h
+Added support for Memory cards.
+Added support for SCardCancel.
+
+pcsc-lite-0.2.0:
+Fixed powering up error in GetStatusChange.
+Added some type defines in pcsclite.h
+
+pcsc-lite-0.1.0:
+Fixed bug in readerfactory.c line 117 lpcReaders[p] = 0
+to lpcTReaders[p] = 0. This was giving strange errors.
+Fixed return rv at SCardStatus function to return SCARD_S_SUCCESS.
+Added 7 more defines to pcsclite.h
+
+pcsc-lite-0.0.2:
+Added functions Status, and GetStatusChange
+Fixed Connect to look for card
+Fixed return values for functions
More information about the Pcsclite-cvs-commit
mailing list