298 lines (268 with data), 14.5 kB
# ChangeLog for libdvdcss #
Mon, Mar 10 2003 18:33:25 +0100
* Fixed MAX_PATH on Darwin, Solaris and Win32.
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
* ./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
* ./src/ioctl.[ch]: Implemented ioctl_SendRPC.
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.
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
* 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.
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.
* 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
* ./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
* ./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.
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.
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.
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 <firstname.lastname@example.org>.
* ./configure.in: BeOS bug fix. I'm so lame.
* ./src/ioctl.c: refuse to build if DVD ioctls weren't found.
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
* ./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
* ./src/ioctl.c: HP-UX port courtesy of David Siebörger
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.
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'
* 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
* 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.
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 <email@example.com>.
* 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.
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
* 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 <firstname.lastname@example.org>. 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
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.