
===========================================================================
MARK: released ctapi-cyberjack-2.0.14 (2007/03/28)
===========================================================================


2007/03/28: Martin Preuss<martin@libchipcard.de>
------------------------------------------------
- LIESMICH.xml: Added a section about Moneyplex
- prepared release of 2.0.14


2007/03/16: Martin Preuss<martin@libchipcard.de>
------------------------------------------------
- debian: create separate package for IFD handler, updated copyright file


===========================================================================
MARK: released ctapi-cyberjack-2.0.14beta1 (2007/03/14)
===========================================================================


2007/03/14: Martin Preuss<martin@libchipcard.de>
------------------------------------------------
- replaced ENV{PHYSDEVDRIVER} with DRIVERS in udev script


2007/03/13: Martin Preuss<martin@libchipcard.de>
------------------------------------------------
- added configuration flags CT_FLAGS_ALLOW_INPUT which allows to enable
  the INPUT command (this flag is rarely used, however, at least one user
  reported the need to use the INPUT command. Normally allowing this 
  command poses a security risk, so it is disabled per default)
- updated cyberjack.conf.default to contain the new flag
- partly implemented PC/SC part 10 regarding secure pin input/modification.
  This implements the following IFDHControl control codes:
    - CM_IOCTL_GET_FEATURE_REQUEST
    - IOCTL_FEATURE_VERIFY_PIN_DIRECT
    - IOCTL_FEATURE_MODIFY_PIN_DIRECT
- renamed cj_log* to rsct_log* and exported these functions. This makes them
  also available to the ifd handler
- fixed a bug in IFD handler (was not sending correct EJECT command, so a
  following SCardReconnect didn't find the card)
- added two example files for verifying pins using Part 10 PC/SC commands:
  - doc/verifypin_ascii.c: verify an ASCII pin
  - doc/verifypin_fpin2.c: verify a FPIN2 pin
- added description of PCSC_VERIFY_STRUCTURE object to README.xml and
  LIESMICH.xml
- added a section about installation on SuSE systems to LIESMICH.xml
- fixed specfile
- updated description in the specfile


2007/02/25: Martin Preuss<martin@libchipcard.de>
------------------------------------------------
- specify new usbdropdir for PC/SC under SuSE10.x (grr)


2007/01/21: Martin Preuss<martin@libchipcard.de>
------------------------------------------------
- no longer install ctapi.h from "make install" (it isn't packaged anyway)
- no longer build devel RPMs (we didn't release them anyway because they
  only contained ctapi.h)


2007/01/19: Martin Preuss<martin@libchipcard.de>
------------------------------------------------
- applied a few patches by Sascha Rusch (gentoo):
  - allow to choose the PC/SC drop folder
  - allow disabling of PC/SC
  - add prototype for cjppVerifyKey
  - make installation of udev rules optional


===========================================================================
MARK: released ctapi-cyberjack-2.0.13 (2007/01/09)
===========================================================================


2006/12/25: Martin Preuss<martin@libchipcard.de>
------------------------------------------------
- renamed our internal extension functions to the CTAPI in order to make it
  clear that these are *our* extensions and not part of the CTAPI:
  - CT_init_name -> rsct_init_name
  - CT_setkeycb -> rsct_setkeycb
- added function rsct_version() which returns the driver version
- ifdhandler:
  - support new IFD capabilities (like Ludovic Rouesseau's CCID driver):
    - SCARD_ATTR_VENDOR_IFD_VERSION
    - SCARD_ATTR_VENDOR_NAME
- cjgeldkarte: added argument "r" to specify the number of readers to test


===========================================================================
MARK: released ctapi-cyberjack-2.0.13beta5 (2006/12/25)
===========================================================================



2006/12/25: Martin Preuss<martin@libchipcard.de>
------------------------------------------------
- ifd handler:
  - inserted checks for SW1/SW2 in some functions
  - fixed some other bugs, now card insertion and removal is correctly
    detected by PC/SC


===========================================================================
MARK: released ctapi-cyberjack-2.0.13beta4 (2006/12/24)
===========================================================================


2006/12/24: Martin Preuss<martin@libchipcard.de>
------------------------------------------------
- export function "cj_log" (to be used by ifdhandler)
- PC/SC 1.3.1 seems to be calling the same driver with the same LUN when
  another reader is connected. This makes PC/SC segfault, so we now detect
  this problem and abort instead, thus keeping at least the first reader
  alive
- implemented some tags for IFDHGetCapabilities:
  - TAG_IFD_SIMULTANEOUS_ACCESS
  - TAG_IFD_THREAD_SAFE
  - TAG_IFD_SLOTS_NUMBER
  - TAG_IFD_SLOT_THREAD_SAFE
- ifd handler:
  - fixed a bug: Was not defining HAVE_PTHREAD_H
  - added some checks for memory allocation errors
  - cyberjacks only have one slot, so we now use a one-dim array for
    the reader status
  - correctly init all context structures
  - correctly calculate ctn/slot from LUN
  - fixed some problems with mutexes
  -> now the PC/SC driver finally works well with multiple readers
     in parallel


2006/12/20: Martin Preuss<martin@libchipcard.de>
------------------------------------------------
- improved IFD handler (now v3). This should now correctly work with multiple
  readers contacted via PC/SC


2006/12/19: Martin Preuss<martin@libchipcard.de>
------------------------------------------------
- enabled logging of IFD calls (added flag CT_FLAGS_DEBUG_IFD)
- removed specfile for 32-Bit libs under 64-Bit platforms (caused some
  trouble while building SuSE 10.2/64 RPM packages)
- disabled INPUT apdu
  The reader has an LED which signals when a secure pin input is requested.
  However, many users do not watch this LED and would therefore enter
  a pin even if a malicious program used the OUTPUT command to show a
  message and the INPUT command to harvest the pin.
  With this version at least the driver does not forward this special
  APDU. Later firmware versions might remove the APDU at a much lower level
  which will also improve security.


===========================================================================
MARK: released ctapi-cyberjack-2.0.13beta3 (2006/12/19)
===========================================================================


2006/12/19: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- adapted RPM management to latest changes in SuSE 10.2 (why the hell did they
  change the format of the "SuSE-release" file??)
- added SuSE10.2 to LIESMICH.xml


2006/11/30: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- ctapi/ecom/cjio.c: no longer fragment writes into blocks
  of 64 bytes, the kernel module accepts larger blocks.
  Check for special errno EINTR: If found we just retry to
  write (as we should).


2006/11/25: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- PC/SC: when IFDHTransmit encounters an APDU with CLA=0x20 then
  we now set DAD=1 (because in this case the command is for the reader
  not for the card)
- ctapi/ecom/cjio.c, function cjIoSendBlock: When sending a block to the
  reader fails we now return an error


===========================================================================
MARK: released ctapi-cyberjack-2.0.13beta2 (2006/11/22)
===========================================================================


2006/11/22: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- modified udev scripts to be able to work with SuSE10.0/64 using
  the 32 bit driver
- updated LIESMICH.xml for SuSE10.0/64


2006/11/12: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- reverted latest change (it seems that the variable tag80 is misused
  to read a tag52. sigh..)


2006/11/05: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- cjdata.c: changed 
  "if((tag80=GetTag(cmd+5,cmd[4],0x52,&taglen))!=NULL)"
  to
  "if((tag80=GetTag(cmd+5,cmd[4],0x80,&taglen))!=NULL)"
  I guess this was a typo?
- set sysconfdir in configure for RPM-based systems


===========================================================================
MARK: released ctapi-cyberjack-2.0.13beta1 (2006/11/05)
===========================================================================


2006/10/26: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- ccid.h: import of Windows driver code produced some problems: That code 
  uses "unsigned long" (which is 64 bit on AMD64) instead of "uint32_t": 
  Undid this change (i.e. replaced all "unsigned long" with "uint32_t")


===========================================================================
MARK: released ctapi-cyberjack-2.0.12 (2006/10/19)
===========================================================================


2006/10/18: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- added some documentation to ausb_l.h


2006/10/16: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- PPA: SecureMV now asks for the new pin twice


===========================================================================
MARK: released ctapi-cyberjack-2.0.12beta4 (2006/10/13)
===========================================================================


2006/10/14: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- now also works with Cyberjack 0x100 again
- added function CT_init_name(ctn, devname): This function is also used
  by Kobil's driver and we use the same parameters. This function can later
  be used to make the driver a V3 ifd driver.
- driver now shows the process id in logs (usefull if multiple processes
  access multiple readers at the same time)


===========================================================================
MARK: released ctapi-cyberjack-2.0.12beta3 (2006/10/13)
===========================================================================


2006/10/13: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- Debian/Ubuntu packages: now install *.so file even though it is against the
  Debian Package Policy. Without this change Moneyplex won't find the driver
- finally fixed a problem with interrupt URB which occurrs while we are reading
  bulk data: When using ioctl USBDEVFS_BULK we don't get the POSIX signals
  for the interrupt urb in time. Therefore interrupt URBs aren't read in time
  and the reader thinks there is something wrong so it disconnects.
  Now we just submit a bulk urb and use ioctl USBDEVFS_REAPURB to get any next
  finished urb. In case of interrupt urb's they get handled and resubmitted,
  if the bulk urb is finished the whole function ausb_bulk_read() is finished.
- added support for multiple Cyberjack 0x300 in parallel
- fixed a bug in CT_init
- armed key callback code for external programs


2006/10/06: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- fixed a bug in logging code: Forgot to add 1900 to year.
- driver now shows microseconds in logs


===========================================================================
MARK: released ctapi-cyberjack-2.0.12beta2 (2006/10/05)
===========================================================================


2006/10/05: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- fixed some Makefiles (didn't find ctapi.h)


2006/10/04: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- now the driver reads a configuration file if available. This file controls
  the behaviour of the driver (such as beep etc). It also defines the log
  levels. The previously used method involving environment variables does not
  work if the starting process does not hand over the environment variables.
- added a default configuration file


2006/09/29: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- merged-in windows driver sources for ppa:
  - ctapi/ppa/SyncInterpreter.c
  - ctapi/ppa/ccid.h
  - ctapi/ppa/cjccid.c
  - ctapi/ppa/cjpp.h
  - ctapi/ppa/cjppUpdate.c
  - ctapi/ppa/cjppa.h
  - ctapi/ppa/cjppa_linux.h
  - ctapi/ppa/easy_dat.c


2006/09/26: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- removed tool ctpin (is a test-tool anyway)
- added %define in specfile to be used by FC4
- added support for Mandriva to specfile


===========================================================================
MARK: released ctapi-cyberjack-2.0.12beta1 (2006/09/26)
===========================================================================


2006/09/12: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- for Fedora Core 4: Install hotplug rather than udev scripts


2006/09/11: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- committed a patch submitted by Heiko Marschner: Now also uses the bus
  name to identify a device. Fixes a spurious -127 bug in which case sometimes
  e.g. /proc/bus/usb/002/xxx is used instead of /proc/bus/usb/003/xxx


===========================================================================
MARK: released ctapi-cyberjack-2.0.11 (2006/09/05)
===========================================================================


2006/08/25: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- fixed RPM: now uses hal/resmgr/udev scripts as necessary


2006/08/20: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- added hal script as proposed by SuSE


===========================================================================
MARK: released ctapi-cyberjack-2.0.11beta1 (2006/08/18)
===========================================================================


2006/08/18: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- updated README.xml


2006/08/15: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- make "cjgeldkarte" search for libctapi-cyberjack.so.1 instead of
  libctapi-cyberjack.so


2006/08/14: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- added Debian files to allow building Debian packages
- initial import into SVN


2006/08/09: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- fixed a bug in cjgeldkarte (control reaches end of non-void fn)
- renamed some files (usb.h->usb_l.h) to make sure the right files get
  included


2006/07/31: Martin Preuss<martin@libchipcard.de>
-------------------------------------------------
- ctapi/ausb/usb.c: added conditional declaration of macro USBDEVFS_CONNECT
  which is defined in current linux kernels. Some new distributions
  ship with old kernel header files in /usr/include/linux which do not define
  this macro
- pcsc/Makefile: Fixed target "install"


Wed Mar 02 10:34:23 CET 2005 Harald Welte <hwelte@hmw-consulting.de>
- fix double-free bug (don't free handle in PlatformLinux)
- bump version number to 2.0.8

Tue Feb 15 01:44:47 CET 2005 Harald Welte <hwelte@hmw-consulting.de>
- fix 'make install' (use -o instead of -u for chown)
- add '-lusb' to pcsc (_idf.so) library

Sun Jan 23 14:37:18 CET 2005 Harald Welte <hwelte@hmw-consulting.de>
- add magic to automatically put current version number in specfile
- update specfile with what I actually used for the 2.0.5 relase
- add 0x8000 e-com direct-ttyUSBx open hack

Sat Jan 22 22:05:00 CET 2005 Martin Preuss <martin@libchipcard.de>
- fixed some initialization errors

Fri Dec 28 02:16:00 CET 2005 Martin Preuss <martin@libchipcard.de>
- simplified Makefile system: Now most interesting variables are defined
  in the toplevel file "makevars"
- added make target "install". The command "make install" now installs
  driver, tools and headers to a definable destination folder
- fixed some warnings in source code (mostly concerning missing parenthesis
  or missing return values)
- fixed the name of the CTAPI driver to be loaded by "cjgeldkarte"
- added a note about "make install" to the README file
- changed version in specfile from 2.0.0 to 2.0.5
- fix typos in README.xml

Fri Nov 26 19:54:00 CET 2004
- add functionality to beep at keypress of reader
- introduce CJCTAPI_NO_KEYBEEP environment variable to disable beeping
- use -FPIC to make x86_64 happy
- use u_int32_t in platform independent driver code to make it work on
  64bit platforms
- bump version number to 2.0.5 (however, no official release yet)
- make pthread usage optional (-DHAVE_PTHREAD_H)

Tue Nov 16 13:22:42 CET 2004
- fix segfault on SuSE 9.1 when ctapi_close is called
- fix getopt() processing in cjgeldkarte
- remove some unused variables from cjgeldkarte
- add '-Wall' to compilation of tools
- add 'c' count option to cjgeldkarte
- Release verison number 2.0.4

Wed Nov 06 13:32:00 CET 2004
- make it compile on gcc-2.95
- Release verison number 2.0.3

Wed Nov 03 02:44:00 CET 2004
- add '-lusb' to linker statement of libctapi-cyberjack.so
- remove '-lusb' from linker statement from 'tools'
- Release version number to 2.0.2

Wed Aug 20 19:03:21 CEST 2003

- Start of PC/SC channel ID is now 1 as it seems this is now there
  the standard.

