ref: d2edf451feb3e8762c4895665bc356f5f9bb12a9
dir: /ChangeLog/
#=========================# # ChangeLog for libdvdcss # #=========================# HEAD * ./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.