2004-02-14  Ludovic Rousseau  <rousseau@acer>

	* README: release 0.4.1

	* configure.in: version 0.4.1

	* readers/Makefile.am:
	distribute SCR331-DI.txt and supported_readers.txt

	* src/Makefile.am: disribute create_Info_plist.pl

2004-02-13  Ludovic Rousseau  <rousseau@acer>

	* configure.in: version 0.4.0

	* README: release 0.4.0

2004-02-12  Ludovic Rousseau  <rousseau@acer>

	* src/ifdhandler.c: huge rework of CardUp()

	* src/protocol_t1/protocol_t1.c:
	return with a error if the received bloc in less than 4 bytes (T=0
	error response for example)

	* src/ccid_serial.c, src/ccid_usb.c:
	fill dwDefaultClock and dwMaxDataRate according to the reader descriptor

	* src/ccid.h: add dwDefaultClock and dwMaxDataRate fields

2004-02-11  Ludovic Rousseau  <rousseau@acer>

	* src/ifdhandler.c:
	Perform PPS and IFSD only if the reader does not do it automatically

	* src/ccid.h: add CCID_CLASS_AUTO_BAUD and CCID_CLASS_AUTO_IFSD

	* src/protocol_t1/protocol_t1.c:
	add return code tests in Protocol_T1_Negociate_IFSD()

	* src/protocol_t1/pps.c, src/protocol_t1/pps.h:
	PPS_Exchange() now uses 'int lun' instead of 'Protocol_T1 * t1'

	* src/protocol_t1/protocol_t1.c: remove debug message

	* src/ifdhandler.c: use Protocol_T1_Negociate_IFSD() in CardUp()

	* src/protocol_t1/protocol_t1.c, src/protocol_t1/protocol_t1.h:
	add Protocol_T1_Negociate_IFSD()

	* src/ccid.h: add CCID_CLASS_AUTO_CONF_ATR

2004-02-09  Ludovic Rousseau  <rousseau@acer>

	* src/ccid_usb.c: first bSeq is 0 (even if 1 works ok)

	* src/ccid_usb.c: usb_reset() the device before usb_close()

2004-02-05  Ludovic Rousseau  <rousseau@acer>

	* README: add Silitek SK-3105 keyboard URL

2004-02-04  Ludovic Rousseau  <rousseau@acer>

	* src/debug.h: DEBUG_COMM4 was named DEBUG_COMM3 due to cut-n-paste

2004-02-03  Ludovic Rousseau  <rousseau@acer>

	* src/ifdhandler.c, src/ifdhandler.h:
	add CardUp() and CardDown() for PowerOn and PowerOff actions

	* src/ccid.h, src/ccid_serial.c, src/ccid_usb.c: add dwMaxIFSD field

	* src/debug.h: add DEBUG_COMM3()

	* src/protocol_t1/pps.c, src/protocol_t1/protocol_t1.c, src/protocol_t1/t1_block.c:
	use my own debug routines

	* readers/SCR331-DI.txt: new file

2004-02-02  Ludovic Rousseau  <rousseau@acer>

	* src/protocol_t1/protocol_t1.c: do not restrict ifsc to Towitoko

	* src/protocol_t1/protocol_t1.c: remove PPS hack

	* README: add SCR 331-DI in the "should work" list

	* readers/supported_readers.txt, src/Info.plist, src/Makefile.am, src/create_Info_plist.pl:
	use create_Info_plist.pl to generate the installed Info.plist from an
	Info.plist template and a list of supported readers.

2004-01-29  Ludovic Rousseau  <rousseau@acer>

	* src/ifdhandler.c:
	removed useless function name in debug messages since we use __FUNCTION__

	* src/ccid_usb.c: - remove device_name[] from struct _usbDevice
	- use naming scheme usb:vendor/product
	- simplify (a bit) the code

	* src/ccid_usb.h, src/parse.c:
	remore *device_name[] argument from get_desc()

	* src/debug.h: add DEBUG_CRITICAL4

2004-01-27  Ludovic Rousseau  <rousseau@acer>

	* src/commands.c:
	set received size to 0 in case of error in CmdXfrBlockTPDU_T1

	* src/commands.c:
	in case of error exits CCID_Receive() without copying an nonexistent anwser

	* src/ccid_usb.c: use DEBUG_CRITICAL2() instead of DEBUG_CRITICAL()

	* README:
	add the "Silitek SK-3105 keyboard" in the "Should work but untested by
	me" list

	* .cvsignore, aclocal/.cvsignore, build/.cvsignore, readers/.cvsignore, src/.cvsignore, src/protocol_t1/.cvsignore:
	ignore some build files

	* src/Info.plist: add Silitek SK-3105 keyboard

	* src/ccid_usb.c, src/ccid_usb.h:
	add support of USB devices with multiple interfaces (like the Silitek
	SK-3105 keyboard)

	* src/ccid_serial.c, src/ccid_serial.h, src/ccid_usb.c, src/ccid_usb.h, src/defs.h, src/ifdhandler.c:
	add support of IFDHCreateChannelByName

2004-01-22  Ludovic Rousseau  <rousseau@acer>

	* src/Makefile.am:
	move rules for src/protocol_t1/ files in src/Makefile.am to avoid
	building a (problematic) static library

	* src/protocol_t1/Makefile.am:
	removed since rules for src/protocol_t1/ files are in src/Makefile.am

2004-01-15  Ludovic Rousseau  <rousseau@acer>

	* src/protocol_t1/apdu.h: define APDU_Cmd and APDU_Rsp

	* src/protocol_t1/Makefile.am, src/protocol_t1/README, src/protocol_t1/atr.c, src/protocol_t1/atr.h, src/protocol_t1/defines.h, src/protocol_t1/pps.c, src/protocol_t1/pps.h, src/protocol_t1/protocol_t1.c, src/protocol_t1/protocol_t1.h, src/protocol_t1/t1_block.c, src/protocol_t1/t1_block.h:
	new files from Carlos Prados towitoko-2.0.7 driver (with a bit of hacking)

	* src/Makefile.am: build protocol_t1 library

	* src/commands.c: add SetParameters() CCID command

	* src/ifdhandler.c: add support of T=1 in TPDU mode

	* src/defs.h: add CcidDesc.t1 field

	* src/commands.c, src/commands.h:
	replace CmdXfrBlockTPDU() by CmdXfrBlockTPDU_T0() and CmdXfrBlockTPDU_T1()

	* src/commands.c:
	split CmdXfrBlockShortAPDU() in CCID_Transmit() and CCID_Receive()

	* src/ccid_serial.c, src/ccid_usb.c, src/ifdhandler.c:
	call ccid_open_hack() in IFDHCreateChannel() instead of in each OpenPort()

	* src/ccid.c, src/commands.c, src/commands.h, src/ifdhandler.c:
	use an (int *) instead of a PDWORD for rx_length argument

	* aclocal/Makefile.am, aclocal/acx_pthread.m4:
	new files. add definition of ACX_PTHREAD macro

	* src/ifdhandler.c, src/ifdhandler.h: add get_ccid_slot() function

	* src/ccid_serial.c, src/ccid_usb.c, src/ifdhandler.c:
	remove function name from debug message since __FUNCTION__ is now used in
	DEBUG_* macro definition

	* src/Info.plist: add ActivCard

	* README:
	created an "Should work but untested by me" section and add SCM Micro
	SPR 532 and ActivCard USB reader 2.0

2004-01-08  Ludovic Rousseau  <rousseau@acer>

	* README:
	The crashes under MacOS X were not because of a bug in libusb but because of
	a bug in pcscd MacOS X hotplug.

2004-01-06  Ludovic Rousseau  <rousseau@acer>

	* src/ccid_usb.c:
	the USB extra field length shall be exactly 54 bytes to be CCID.

2004-01-05  Ludovic Rousseau  <rousseau@acer>

	* src/debug.h:
	also print the function name (__FUNCTION__) in the debug messages

	* src/ccid_usb.c, src/parse.c:
	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).

2003-12-19  Ludovic Rousseau  <rousseau@acer>

	* INSTALL, src/Makefile.am:
	build but do not install the serial ccidtwin driver by default since it
	is useless on computers without a serial port or without this reader for
	example.

2003-12-16  Ludovic Rousseau  <rousseau@acer>

	* src/ccid_usb.c:
	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.

2003-12-12  Ludovic Rousseau  <rousseau@acer>

	* src/ifdhandler.c:
	return IFD_NOT_SUPPORTED instead of IFD_SUCCESS in functions doing
	nothing (yet) (IFDHSetCapabilities, IFDHSetProtocolParameters,
	IFDHControl);

2003-12-11  Ludovic Rousseau  <rousseau@acer>

	* src/ifdhandler.c: set the result buffer length to 0 in IFDHControl()

2003-11-25  Ludovic Rousseau  <rousseau@acer>

	* configure.in:
	do not try to find usb.h and other libusb files if --disable-libusb is
	used. Needed if you only want to build the serial driver. Thanks to Niki
	Waibel for the patch.

	* INSTALL, configure.in, src/Makefile.am:
	add a --enable-ccidtwindir argument to ./configure to specify the
	serial GemPC Twin installation directory

	* config.h.in, configure.in, reconf, src/ifdhandler.c, Makefile.am:
	use a updated version of acx_pthread.m4 needed for FreeBSD

2003-11-06  Ludovic Rousseau  <rousseau@acer>

	* configure.in:
	check that the installed libusb implements usb_get_string_simple()

2003-11-04  Ludovic Rousseau  <rousseau@acer>

	* README: add SPR 532 in "Supported CCID readers" list

	* README: release 0.3.2

	* configure.in: version 0.3.2

	* src/commands.c:
	comment out the automatic GET RESPONSE part. I don't think it should be
	in the driver. Maybe in pcscd instead?

2003-11-03  Ludovic Rousseau  <rousseau@acer>

	* readers/Makefile.am: also distribute SPR532.txt

2003-11-01  Ludovic Rousseau  <rousseau@acer>

	* Makefile.am:
	bootstrap is no more distributed (it is no more in CVS either)

	* src/Makefile.am:
	$(CCID_BUNDLE) is a directory so use 'rm -r' in uninstall_ccid: target

2003-10-31  Ludovic Rousseau  <rousseau@acer>

	* src/Makefile.am: modify the hack to compile under MacOSX.

	* reconf:
	config.guess, config.sub, depcomp and ltmain.sh are in build/ so removed
	them there.

	* create_distrib.sh: useless since we have a 'make dist' rule

2003-10-29  Ludovic Rousseau  <rousseau@acer>

	* src/Info.plist: add USB identification for SPR 532

	* readers/SPR532.txt:
	add SPR 532 description even if it is not a "real" CCID reader.

	* src/parse.c:
	continue parsing even if bInterfaceSubClass and bInterfaceProtocol are
	unsupported. This may be the case with non "real" CCID readers.

	* src/parse.c:
	do not exit if the InterfaceClass is 0xFF (proprietary). It is the case
	with old readers manufactured before the final release of the CCID specs.

2003-10-28  Ludovic Rousseau  <rousseau@acer>

	* src/ccid_usb.c:
	correctly use the device name in a debug message instead of a not yet initialised field.

	* bootstrap: removed since ./reconf is doing a correct job

	* README:
	move LTC31 reader from unsupported to supported reader list. It was my fault
	since in used odd INS byte in my test applet and odd INS bytes are
	forbidden by ISO 7816-4 ch. 5.4.2 Instruction byte. Thanks to Josep Mons
	Teixidor for pointing the problem.

	* src/commands.c:
	correct a stupid bug that occurs with an APDU with 2 bytes response.

2003-09-23  Ludovic Rousseau  <rousseau@acer>

	* README: release 0.3.1

	* MANIFEST: update file list

	* README: add a note about T=1 cards and readers in TPDU mode

2003-09-22  Ludovic Rousseau  <rousseau@acer>

	* src/ifdhandler.h:
	define TAG_IFD_THREAD_SAFE introduced in pcsclite-1.2.0-rc3

	* src/ifdhandler.c:
	add support of thread safe (APDU multiplexing on different readers)

	* src/ccid_serial.c:
	ReadChunk() realy reads up to min_length bytes. Add some debug messages
	in the state automata.

	* src/Makefile.am:
	modify install rules so that root can use them even over NFS where root is
	nobody

	* config.h.in, configure.in:
	add --enable-multi-thread for thread safe support

	* Makefile.am, reconf: add reconf file

2003-09-19  Ludovic Rousseau  <rousseau@acer>

	* src/ccid_serial.c, src/ccid_serial.h:
	complete reimplementation of the Twin serial protocol using a finite
	state automata (code much simpler)

2003-09-16  Ludovic Rousseau  <rousseau@acer>

	* configure.in:
	Put back AC_PROG_CPP, it has nothing to do with C++ but with C preprocessor

	* src/ccid.c:
	Do not switch to APDU mode since it also swicth in EMV mode and may not
	work with non EMV cards

	* src/Makefile.am: honor DESTDIR in install rules (closes [ #300110 ])

	* configure.in: remove useless AC_PROG_CPP (no C++ code in ccid driver)

	* configure.in: version 0.3.1

	* INSTALL: document the use of --enable-libusb=PATH

	* configure.in: add --enable-libusb=PATH option

2003-09-10  Ludovic Rousseau  <rousseau@acer>

	* README: I forgot to add "support of "time request" from the card."

	* README: release 0.3.0

	* INSTALL: document the use of ./configure script

	* Makefile.am:
	use ChangeLog instead of ChangeLog.cvs since the dist Makefile target is
	looking at this file name.

	* src/config.h: config.h is now generated by ./configure

	* Makefile.am, configure.in, readers/Makefile.am:
	add readers/ in generated .tar.gz archive

	* readers/CardMan3121.txt, readers/GemPC433_SL.txt, readers/GemPCKey.txt, readers/GemPCTwin.txt, readers/LTC31.txt, readers/SCR331.txt, readers/SCR335.txt:
	use new parse indentation for more readability of supported features

	* config.h.in: new build process using autoconf/automake

	* src/ccid_serial.c, src/ccid_serial.h:
	manage serial protocol used by the GemPC Twin. Thanks to Niki W. Waibel
	for a working prototype.

	* src/ccid.c, src/ccid.h:
	contains common CCID feature for USB and serial (was in ccid_usb before)

	* src/reader.conf.in:
	used to generate a correct reader.conf with the real library name

	* src/ifdhandler.h: remove IFDSetEmv() definition. It is now useless.

	* src/ifdhandler.c:
	use OpenPort instead of OpenUSB. move the complex TPDU management in
	commands.c (and use it only if reader does not support APDU mode)

	* src/defs.h:
	transport abstraction: define OpenPort, ClosePort, etc. to OpenSerial or
	OpenUSB depending on TWIN_SERIAL compilation option

	* src/debug.h:
	test for PACKAGE and not __CONFIG_H__ since the config.h file is not
	generated by ./configure

	* src/commands.c, src/commands.h:
	- support auto voltage at power on if reader support it
	- support Gemplus proprietary command to switch reader from TPDU to APDU mode
	- use APDU mode if reader support it. make it easy to support extended
	  APDU but I have no reader to test this.

	* src/ccid_usb.c, src/ccid_usb.h:
	redesign to separate communication media and CCID protocol. call
	ccid_open_hack() upon open to do some reader dependent magic.

	* src/parse.c:
	indent the output with one feature per line (and not on the same line
	separated by ,)

	* Makefile, src/Makefile, src/check, src/ylwrap:
	new build process using autoconf/automake

	* src/pcscdefines.h, src/utils.c:
	use PCSCLITE_MAX_READERS instead of PCSCLITE_MAX_CHANNELS

	* build/ylwrap, src/Makefile.am, Makefile.am, NEWS, bootstrap, configure.in:
	new build process using autoconf/automake

2003-08-27  Ludovic Rousseau  <rousseau@acer>

	* MANIFEST, src/Makefile, src/capabilities.c:
	remove unused capabilities.c file

2003-08-26  Ludovic Rousseau  <rousseau@acer>

	* README: release 0.2.0

	* create_distrib.sh: script to create the .tar.gz

	* README: add a note about libusb problem under *BSD

	* src/check: require pcsc-lite 1.2.0 instead of 1.1.2

	* README:
	the reader enumeration problem also exist under GNU/Linux (is not MacOS
	specific)

2003-08-24  Ludovic Rousseau  <rousseau@acer>

	* MANIFEST: remove src/dep_stamp

	* README: add not about bugs/limitations under MacOS X

2003-08-21  Ludovic Rousseau  <rousseau@acer>

	* src/parse.c:
	do not print garbage if we can't get the iManufacturer or iProduct fields

2003-08-20  Ludovic Rousseau  <rousseau@acer>

	* src/config.h: comment low level debug messages

	* src/Makefile: use ./ylwrap instead of ylwrap

	* src/check: do not define LDFLAGS since we get it from outside

	* src/Makefile:
	add needed MacOS X frameworks to LDFLAGS (for parse and check)

	* MANIFEST: add src/ylwrap

	* src/ylwrap: wrapper to call (f)lex

	* MANIFEST: src/parse shall not be distributed

	* src/ccid_usb.c:
	do not duplicate the Info.plist filename but "calculate" it once

	* src/Makefile: Add support of MacOS X

	* src/Info.plist: use an <array></array> for the alias enumeration

2003-08-14  Ludovic Rousseau  <rousseau@acer>

	* src/ccid_usb.c:
	use a 1 minute USB timeout instead of the 1 second used for debug

	* MANIFEST: include in CVS

	* src/Makefile: remove parse binary in clean target

2003-08-13  Ludovic Rousseau  <rousseau@acer>

	* src/Makefile:
	do not exit with failure if makedepend(1) does not exist

	* INSTALL: Installation and check guide

2003-08-12  Ludovic Rousseau  <rousseau@acer>

	* README: release 0.1.0

	* readers/CardMan3121.txt, readers/GemPC433_SL.txt, readers/GemPCKey.txt, readers/GemPCTwin.txt, readers/LTC31.txt, readers/SCR331.txt, readers/SCR335.txt, src/commands.h, src/parse.c, src/parser.h, src/tokenparser.l:
	First release

	* readers/CardMan3121.txt, readers/GemPC433_SL.txt, readers/GemPCKey.txt, readers/GemPCTwin.txt, readers/LTC31.txt, readers/SCR331.txt, readers/SCR335.txt, src/commands.h, src/parse.c, src/parser.h, src/tokenparser.l:
	New file.

	* AUTHORS, COPYING, Makefile, README, src/.dependencies, src/Info.plist, src/Makefile, src/capabilities.c, src/ccid_usb.c, src/ccid_usb.h, src/check, src/commands.c, src/config.h, src/debug.c, src/debug.h, src/defs.h, src/ifdhandler.c, src/ifdhandler.h, src/pcscdefines.h, src/utils.c, src/utils.h:
	First release

	* AUTHORS, COPYING, Makefile, README, src/.dependencies, src/Info.plist, src/Makefile, src/capabilities.c, src/ccid_usb.c, src/ccid_usb.h, src/check, src/commands.c, src/config.h, src/debug.c, src/debug.h, src/defs.h, src/ifdhandler.c, src/ifdhandler.h, src/pcscdefines.h, src/utils.c, src/utils.h:
	New file.

