#=========================#
# ChangeLog for libdvdcss #
#=========================#

1.2.8
Tue, 29 Jul 2003 01:45:04 +0200

  * ./src/css.c: Workaround in CrackTitleKey for strange discs that report read
    errors seemingly at random.
    Used macros instead of numerals where appropriate.
    Fixed spelling here and there.
  * ./src/device.c: Fixed a bug that prevented encrypted dvds from working
    under win32.
  * ./src/libdvdcss.c: if DVDCSS_VERBOSE is greater than 2, do as if it was 2.

1.2.7
Fri, 13 Jun 2003 02:25:49 +0200

  * ./src/libdvdcss.c: fix for NetBSD's mkdir that doesn't like trailing "/"
    on its argument. (courtesy of Christopher Richards)
  * ./src/libdvdcss.c: CSS key cache collisions patch, courtesy of Michael
    Roitzsch.
  * ./libdvdcss.spec: better RH part thx Kipp Cannon <kipp@sgl.crestech.ca>.
  * configure.ac, src/common.h: fixes for the cygwin build using the mno-cygwin
    flag.
  * ./src/css.c: typos in comments.
  * ./debian/control: removed libc6-dev from libdvdcss2-dev's dependencies
    because it is part of build-essential and it isn't even called libc6-dev
    on all architectures.
  * ./configure.ac: make use of the autotools/ directory.
  * ./bootstrap: libfool is a tool. Worked around its blatant ignorance of
    the AC_CONFIG_AUX_DIR directive.
  * ./Makefile.am: put autotools/ in DIST_SUBDIRS instead of SUBDIRS.
  * ./configure.ac: forgot to generate autotools/Makefile.
  * ./src/libdvdcss.c: if DVDCSS_CACHE is not set, we force a default value.
     - under Win32: C:\Documents and Settings\$USER\Application Data\dvdcss\
     - under Unix and everything else: ${HOME}/.dvdcss/
     - the special value DVDCSS_CACHE=off disables caching.
  * ./src/libdvdcss.c: updated doxygen documentation accordingly.

1.2.6
Mon, Mar 10 2003 18:33:25 +0100

  * Fixed MAX_PATH on Darwin, Solaris and Win32.

1.2.5
Tue, 28 Jan 2003 01:24:15 +0100

  * ./configure.ac: BSD/OS compilation fix when a local copy of libdvd is
    found on the system.
  * ./test/csstest.c: we align our read buffer in case of raw device access.
  * ./src/libdvdcss.c: updated documentation about raw devices.
  * ./src/libdvdcss.c: disabled key cache when reading VOBs.
  * ./src/ioctl.c, ./src/ioctl.h: removed minor gcc-isms.
  * ./libdvdcss.spec: macros to fix build on Red Hat systems. Set %define
    redhat80 to 1.
  * ./src/device.c: seek() calls don't do anything if we're already at the
    right position.
  * ./src/device.c: we now handle partial reads.
  * ./src/device.c: dvdcss->i_pos now gets updated on each seek and each
    read. Partial reads are not handled yet, but it's a step.
  * ./src/bsdi_ioctl.c, ./src/bsdi_dvd.h: updated the bsdi libdvd with
    Steven M. Schultz's latest changes.
  * ALL: ported the library build to Cygwin.
  * ./msvc/*: MS VC++ project files.
  * ./src/libdvdcss.c: fixed Win32 mkdir() call.
  * ALL: removed trailing spaces in files.
  * ALL: moved everything to C99 integer types.
  * ./bootstrap: we also look for glibtoolize (Closes: #37).
  * ./src/device.h: FreeBSD compile fix.
  * ./test/dvd_region.c: enabled set_region.
  * ./src/css.c, ./src/libdvdcss.c: applied a patch from the MPlayer folks
    to cache title keys on disk.
  * ./debian/control: set the package sections to libs and devel instead of
    graphics.
  * ./src/ioctl.[ch]: Implemented ioctl_SendRPC.

1.2.4
Thu, 14 Nov 2002 16:15:00 +0200

  * src/css.c src/ioctl.c, src/libdvdcss.c: changed the work-around to detect
    if the dvd is encrypted on Win2K in non-administrator mode.
  * src/ioctl.c: cosmetic fixes
  * src/ioctl.c: fixed typo that prevented unencrypted DVDs to work in
    non-administrator mode on WinNT/2k/XP.
  * src/device.c, src/ioctl.h: on win9x, when using ASPI, make sure the drive
    we are trying to open is actually a cdrom/dvdrom drive.
  * src/device.c: split the open, read and seek functions so that we can use
    function pointers instead of doing the if(WIN2K) test.
  * src/device.c: if the target is not a drive name such as F:, we open it
    with the standard libc functions, even under Win32.

1.2.3
Sun, 13 Oct 2002 01:01:03 +0200

  * ./src/Makefile.am: -no-undefined is not used when using mingw32 because
    of weird problems with libtool.
  * ./src/css.c: if the disc key cannot be read, we don't try to crack it but
    directly fall back to the title method.
  * ./configure.in, src/Makefile.am: used AM_CONDITIONAL to conditionally
    build the BSDi stuff.
  * src/css.c, src/device.c, src/ioctl.[ch]: We don't need to be in
    administrator mode anymore to authenticate the drive on Windows
    NT/2k/XP. As a result any user can now play a DVD on these OS's
  * src/ioctl.c: fixed ioctl_ReadTitleKey which wasn't working on Windows
    NT/2k/XP.
  * src/css.c: Workaround for a bug in the drive/kernel/ide chipset or
    whatever which makes disc key decryption fail.
  * src/ioctl.c, src/ioctl.h: fix in ioctl_ReadCopyright to try to work around
    the buggy IOCTL_DVD_READ_STRUCTURE on WinNT/2k/XP.

1.2.2
Sat, 10 Aug 2002 22:15:57 +0200

  * ./src/ioctl.c: fixed ReportRPC for Win32.
  * ./src/device.h: removed unneeded exported symbols.
  * ./src/dvdcss/dvdcss.h: marked deprecated stuff.
  * ./test/csstest.c: more documentation.
      see http://www.videolan.org/libdvdcss/doc/
  * ALL: removed autotools files.
  * ./doc/*: added doxygen files.
  * ./src/libdvdcss.c, ./src/dvdcss/dvdcss.h: documented the API.
  * ./src/css.c: in case of a region mismatch and when the drive needs to 
    be reset, we read the first sector of the disc instead of closing and
    reopening it.
  * ./src/Makefile.am: tell libtool that libdvdcss does not have undefined
    symbols. Fix for BeOS courtesy of Andrew Bachmann.
  * ./src/css.c: when the ReadTitleKey ioctl failed, reopen the device before
    falling back to the title method. Fixes the "ioctl_ReadTitleKey failed"
    error many users have been reporting.
  * ALL: libdvdcss builds with -ansi -pedantic. Yeah I like that :-)
  * ./src/css.c: renamed a few functions so that they make more sense, added
    debug messages here and there, fixed typos and speling.
  * ./src/error.c: moved _dvdcss_error and _dvdcss_debug here.
  * ./src/device.c: moved device reading functions from libdvdcss.c to here.
  * ./src/device.c: errors from dvdcss_read are now properly handled; partial       reads still aren't though.
  * ./src/libdvdcss.c: default verbosity is now 0, a library should not be
    intrusive by default.
  * ./test/csstest.c: additional error check.
  * ./configure.in: removed the crap boolean_t detection.
  * ./src/css.c: speling fixes.
  * ALL: re-ran bootstrap with more recent autotools.
  * ./configure.in, ./src/bsdi_ioctl.c: included config.h before testing
    defines in the BSDi ioctl code. Added a bug fix from the author. Removed
    the now unused parts from configure.in.
  * ./src/Makefile.am: fix so that the bsdi_*.[hc] files make it into the
    dist tar-ball.
  * ./test/Makefile.am: corrected the include path for the programs in test/.
  * ./src/ioctl.c: OS/2 port courtesy of Alex Strelnikov.
  * ./src/css.c, ./src/libdvdcss.c: typo fixes from Adam Jones.
  * ./src/ioctl.c: getting ReportRPC for WIN32 a bit closer to working.
  * ./src/ioctl.c: implemented ioctl_ReportKey1 for HP-UX.
  * ./src/libdvdcss.c: Win32 compilation fix.

1.2.1
Sun,  2 Jun 2002 18:17:55 +0200

  * ./src/ioctl.c, ./src/ioctl.h: QNX port, courtesy of Pascal Levesque.
  * ./src/css.c: applied Håkan's fix for the failure on region mismatch.
  * ALL: switched to libtool 1.4.2a.
  * ./src/libdvdcss.c: fixed an uninitialized variable.

1.2.0
Mon, 20 May 2002 19:48:42 +0200

  * ./src/libdvdcss.c: new function _dvdcss_use_ioctls. Avoid using the ioctl
    calls when they have no chance of working, this in turn avoids a spurious
    warning when they fail.
  * ./src/css.c: updated error messages.
  * ./src/libdvdcss.c: default to 'key', rather than 'title', method.
  * ./libdvdcss.spec: enhancements by Mandrakesoft.
  * ./src/libdvdcss.c: corrected a serious bug in dvdcss_read for titles with
    all zero key (a unencrypted title on a CSS protected disc).
  * ./src/ioctl.[ch]: Darwin changes: cleaned up the code, fixed
    ReadTitleKey, and implemented ReportRPC.
  * ./INSTALL: updated win32 compilation instructions.

1.1.1
Sat,  6 Apr 2002 03:24:20 +0200

  * ./src/ioctl.c: OpenBSD compile fix. Thanks to ex0dus on #videolan.
  * ./src/libdvdcss.h: IRIX compile fix by Michael Pruett <michael@68k.org>.
  * ./configure.in: BeOS bug fix. I'm so lame.
  * ./src/ioctl.c: refuse to build if DVD ioctls weren't found.

1.1.0
Wed,  3 Apr 2002 18:26:23 +0200

  * ./test/csstest.c: renamed test.c to csstest.c.
  * ./src/ioctl.c: fixed a Darwin typo recently introduced.
  * ./configure.in: Darwin compile fix (added -no-cpp-precomp).
  * ./libdvdcss.spec: updated specfile for RPM generation.
  * ./missing: commited libtool's latest version of this file.
  * ./configure.in: fixed a Darwin define problem.
  * ./src/dvdcss/dvdcss.h: moved dvdcss.h in a subdirectory so that we can
    include <dvdcss/dvdcss.h> without having to make install.
  * ./test/test.c: removed #ifdef DVDCSS_DIST.
  * ./Makefile.am: added the debian dir to the targets.
  * ./configure.in: switched to a more conventional versioning scheme.
  * ./src/css.c: removed a useless #ifdef.
  * ./src/dvdcss.h: added a versioned symbol to the API.
  * ./src/Makefile.am: use <dvdcss/dvdcss.h> instead of <videolan/dvdcss.h>.
  * ./test/test.c: test program is now up to date.
  * ./src/css.c: split the code into more functions. The disc and title
    decryption / cracking code is now each in it's own function. Also moved the
    code that looks for a weak block in the VOB to crack the title key from out
    from the loop that reads them.
  * ./src/css.c: added another crack method, it's disabled for now though.
  * ./src/css.c: lowered some limits on the current 'weak' test.
  * ./src/*: added more comments.
  * ./configure.in: add -D_FILE_OFFSET_BITS=64 to the compile line to make
    off_t / lseek and other file access functions used in dvdcss be 64bit.
  * ./test/test.c: tell libdvdcss to get the key for the block before we
    decrypt it.
  * ./test/Makefile.am: don't link to libdl.
  * ./configure.in: fixed compilation of test/test.c.
  * ./test/test.c: added the sample program.
  * ./configure.in: do check for the unistd.h header file.
  * ./src/css.c: Win32 (NT/2000/XP) fix: first attempt to open the DVD device
    in read/write mode so we can use ioctls. If this fails (insufficent
    privileges) we at least open in read-only mode so the libdvdcss title
    decryption method can be used.
  * ./src/libdvdcss.c: patch of libdvdcss to decrypt vobs when they are not
    on a block device.
  * ./src/css.c: with DVDCSS_METHOD=disc or key, the keys are no longer
    buffered on start. The title key is still read at each block but it is
    checked for change before decryption.
  * ./src/css.c: made CSSAuth more rubust, should now also work with drives
    that are not 100% compliant to the SFF-8090 standard.
  * ./src/css.c: AGID invalidation should now work, allowing us to recover from
    hung / failed authentications.
  * ./src/css.c: corrected CSSGetASF, it does not take an AGID argument.
  * ./src/css.c: moved several data structures from the dvdcss handle to local
    variables in CSSAuth.
  * ./src/css.h: removed CSSAuth as a externaly visible function in css.c.
  * ./configure.in, ./src/libdvdcss.c: Win32 compilation fix.
  * ./configure.in: attempt at fixing the Solaris port.
  * ./src/css.c: Support for REPORT_TITLE_KEY and RPC commands by Håkan Hjort
    <d95hjort@dtek.chalmers.se>.
  * ./src/ioctl.c: HP-UX port courtesy of David Siebörger
    <drs-videolan@rucus.ru.ac.za>.

1.0.1
Fri,  7 Dec 2001 20:18:56 +0100

  * Update for libdvdcss documentation.
  * Reworked Keith Packard's raw device patch. The name of the raw device
    is in the environment variable DVDCSS_RAW_DEVICE.
  * Fixed a bug in libdvdcss: the key wasn't searched when it had to.

1.0.0
Mon, 12 Nov 2001 17:14:29 +0100

  * Got rid of DVDCSS_SEEK_INI.
  * Removed the i_flags argument to dvdcss_open. Everything is done through
    environment variables now.
  * Fixed a buffer overflow in CSSAuth().
  * libdvdcss port to OpenBSD.
  * Fixed NetBSD (and probably OpenBSD) libdvdcss compilation.
  * Fixed undefined KEY_SIZE compile bug mentioned by Dave Thorup.
  * Fixed CSS ioctl for Darwin/OSX - still might need tweaking of 'dataLength'
    fields.
  * Added ReadTitleKey ioctl for Darwin/OSX.
  * When using title cracking method in libdvdcss, the key is only checked at
    title start, not before each chapter.
  * Use of an environment variable to choose libdvdcss method.
  * New features for libdvdcss: we have three ways now to decode a title key.
  * 1) Crack the title key (the method that was here before). The only change
    here is that we search the key for the exact chapter we are seeking with
    DVDSetArea (in case the key has changed within a title). It is maybe not a
    good idea.
  * 2) Crack the disc key, which allows us to decode instantly all title keys.
    I've used an algorithm from Frank Stevenson ; it eats much memory (64MB),
    and takes about 15 s at launch time.
  * 3) Decode the disc key with player keys (libcss method). However, you need
    licensed player keys at build time for this to work.
  * Darwin ioctl, courtesy of ej0.
  * If we see 3000 unencrypted blocks assume that the title is unencrypted.
  * If we have not seen any encrypted block and then discover that the block
    just read is not a valid block of an MPEG2 Program stream, assume that the
    title is unencrypted.
  * Empty keys (for unscrambled sectors) are now cached as well.
  * We try to decrypt the file even if DVD ioctls are not available.

0.0.3
Wed, 22 Aug 2001 15:18:01 +0200

  * Added BSD/OS libdvd by Steven M. Schultz <sms@TO.GD-ES.COM> in
    extras/BSDI_dvdioctl after he suggested us to do so. License is GPL.
  * ./configure now checks for an installed libdvd under BSD/OS and
    falls back to ours if not found.
  * Fixed harmless typos in yesterday's Solaris libdvd patches.
  * Bumped libdvdcss version number up to 0.0.3.
  * Solaris DVD decryption support by Håkan Hjort <d95hjort@dtek.chalmers.se>.
  * BSD/OS 4.3beta1 fixes by Steven M. Schultz <sms@TO.GD-ES.COM>.
  * libdvdcss* packages are now a bit more policy-compliant.
  * Fixed a Win32 bug in libdvdcss. This bug was appearing on title change.

0.0.2
Wed, 22 Aug 2001 15:18:01 +0200

  * Fix in libdvdcss in the key caching code.
  * Changed libdvdcss API to force binary incompatibility. Yeah, this is
    evil, but if we don't do it now we'll have to do it when more people
    are using it.
  * Fixed minor libdvdcss stuff such as the soname and compilation flags.
  * dvdcss_readv() optimisations for Win32.
  * Fixed _win32_dvdcss_aread() to work around the WinASPI32 64kb transfer
    size restriction.
  * libdvdcss segfault fixes.
  * Fixed 2 Win32 bugs in libdvdcss (in _win32_dvdcss_readv), one of them
    should have prevented the Win9x dvd input from working.
  * Moved the "if(Win2k)" out of the loop in _win32_dvdcss_readv.
  * libdvdcss enhancements by Billy Biggs <vektor@dumbterm.net>. This breaks
    vlc's DVD input (looks like decoders are expecting data too early and
    DVD input can't cope with it due to decryption). Needs to be investigated.
  * Removed unnecessary translations in the win32 code from block offsets to
    byte offsets. This was overflowing some variables.
  * Reduced the complexity of the Win9x ASPI functions because we only need
    to handle DVD drive access.
  * Win32 code now handles seeking in areas above 2.1 Go on DVDs.
  * Additional MacOS X DVD ioctl work by Eugenio Jarosiewicz
    <ej0@cise.ufl.edu>.

0.0.1
Tue, 19 Jun 2001 08:53:16 +0200

  * First libdvdcss version (0.0.1).
  * Fully working Windows DVD ioctl support by Jon Lech Johansen.
  * Merged dvdcss_init and dvdcss_open into dvdcss_open, and dvdcss_close
    and dvdcss_end into dvdcss_close. libdvdcss API now has 7 functions.
  * Exported the CSS part of the dvd plugin into a library.

