aboutsummaryrefslogtreecommitdiff
path: root/lib/libdvd
diff options
context:
space:
mode:
authorVoyager1 <voyager@xbmc.org>2014-02-01 20:58:36 +0100
committerVoyager1 <voyager@xbmc.org>2014-02-11 19:23:13 +0100
commitd69747f8a266759691ae51f52b9fd81378f90336 (patch)
treef4c18c9ccb5c578c29564d49ba9553ee96571551 /lib/libdvd
parentd694f0140bcda9d3d23404b7af5ce09e1de43799 (diff)
libdvdcss update to 1.2.13 - incl diff file
Diffstat (limited to 'lib/libdvd')
-rw-r--r--lib/libdvd/Makefile.in8
-rw-r--r--lib/libdvd/build-xbmc-win32.sh8
-rw-r--r--lib/libdvd/libdvdcss/AUTHORS31
-rw-r--r--lib/libdvd/libdvdcss/ChangeLog4446
-rw-r--r--lib/libdvd/libdvdcss/INSTALL49
-rw-r--r--lib/libdvd/libdvdcss/Makefile.am70
-rw-r--r--lib/libdvd/libdvdcss/NEWS20
-rw-r--r--lib/libdvd/libdvdcss/README16
-rwxr-xr-xlib/libdvd/libdvdcss/bootstrap132
-rw-r--r--lib/libdvd/libdvdcss/configure.ac210
-rw-r--r--lib/libdvd/libdvdcss/doc/Makefile.am28
-rw-r--r--lib/libdvd/libdvdcss/doc/doxygen.cfg.in104
-rw-r--r--lib/libdvd/libdvdcss/doc/footer.html1
-rw-r--r--lib/libdvd/libdvdcss/doc/header.html1
-rw-r--r--lib/libdvd/libdvdcss/libdvdcss.spec18
-rw-r--r--lib/libdvd/libdvdcss/m4/attributes.m4296
-rw-r--r--lib/libdvd/libdvdcss/src/Makefile.am37
-rw-r--r--lib/libdvd/libdvdcss/src/bsdi_dvd.h344
-rw-r--r--lib/libdvd/libdvdcss/src/bsdi_ioctl.c770
-rw-r--r--lib/libdvd/libdvdcss/src/common.h8
-rw-r--r--lib/libdvd/libdvdcss/src/css.c63
-rw-r--r--lib/libdvd/libdvdcss/src/css.h4
-rw-r--r--lib/libdvd/libdvdcss/src/csstables.h19
-rw-r--r--lib/libdvd/libdvdcss/src/device.c67
-rw-r--r--lib/libdvd/libdvdcss/src/device.h21
-rw-r--r--lib/libdvd/libdvdcss/src/dvdcss/Makefile.am3
-rw-r--r--lib/libdvd/libdvdcss/src/dvdcss/dvdcss.h3
-rw-r--r--lib/libdvd/libdvdcss/src/error.c1
-rw-r--r--lib/libdvd/libdvdcss/src/ioctl.c311
-rw-r--r--lib/libdvd/libdvdcss/src/ioctl.h86
-rw-r--r--lib/libdvd/libdvdcss/src/libdvdcss.c45
-rw-r--r--lib/libdvd/libdvdcss/src/libdvdcss.h6
-rw-r--r--lib/libdvd/libdvdcss/src/libdvdcss.pc.in2
-rw-r--r--lib/libdvd/libdvdcss/test/Makefile.am15
-rw-r--r--lib/libdvd/patches/libdvdcss.diff354
35 files changed, 3046 insertions, 4551 deletions
diff --git a/lib/libdvd/Makefile.in b/lib/libdvd/Makefile.in
index 69d2286e1e..54387cc99a 100644
--- a/lib/libdvd/Makefile.in
+++ b/lib/libdvd/Makefile.in
@@ -26,7 +26,7 @@ endif
ifeq (@BUILD_DVDCSS@,1)
DIRS += libdvdcss
SOS += libdvdcss-$(ARCH).so
- DVDCSS_A = libdvdcss/src/.libs/libdvdcss.a
+ DVDCSS_A = libdvdcss/.libs/libdvdcss.a
DVDCSS_O = libdvdcss/src/.libs/*.o
DVDNAV_PREREQ = libdvdcss
endif
@@ -44,7 +44,7 @@ all: $(SLIB)
ifeq ($(findstring osx,$(ARCH)), osx)
-$(SYSDIR)/libdvdcss-$(ARCH).so: $($(WRAPPER)) libdvdcss/src/.libs/libdvdcss.a
+$(SYSDIR)/libdvdcss-$(ARCH).so: $($(WRAPPER)) libdvdcss/.libs/libdvdcss.a
$(CC) $(LDFLAGS) -Wl,-alias_list,$(WRAPPER_MACH_ALIAS) -o $@ \
$(WRAPPER) libdvdcss/src/*.o $(BUNDLE1_O)
@@ -54,7 +54,7 @@ $(SYSDIR)/libdvdnav-$(ARCH).so: $($(WRAPPER)) $(DVDCSS_A) libdvdread/obj/libdvdr
else
-$(SYSDIR)/libdvdcss-$(ARCH).so: $(WRAPPER) libdvdcss/src/.libs/libdvdcss.a
+$(SYSDIR)/libdvdcss-$(ARCH).so: $(WRAPPER) libdvdcss/.libs/libdvdcss.a
$(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ \
libdvdcss/src/*.o -Wl,--unresolved-symbols=ignore-all -lm \
`cat $(WRAPPER:.o=.def)` $(WRAPPER)
@@ -66,7 +66,7 @@ $(SYSDIR)/libdvdnav-$(ARCH).so: $(WRAPPER) $(DVDCSS_A) libdvdread/obj/libdvdread
endif
-libdvdcss/src/.libs/libdvdcss.a: libdvdcss;
+libdvdcss/.libs/libdvdcss.a: libdvdcss;
libdvdcss: compile
$(MAKE) -C $@
diff --git a/lib/libdvd/build-xbmc-win32.sh b/lib/libdvd/build-xbmc-win32.sh
index 3babd83398..e9287380ca 100644
--- a/lib/libdvd/build-xbmc-win32.sh
+++ b/lib/libdvd/build-xbmc-win32.sh
@@ -21,18 +21,18 @@ then
make distclean
fi
echo "***** Building libdvdcss *****"
-sh bootstrap
+autoreconf -i
./configure \
CFLAGS="-DNDEBUG" \
--disable-doc \
--enable-static \
--with-pic
make $MAKEFLAGS
-strip -S src/.libs/libdvdcss-2.dll
+strip -S .libs/libdvdcss-2.dll
cd ..
mkdir -p includes/dvdcss
cp libdvdcss/src/dvdcss/dvdcss.h includes/dvdcss
-cp libdvdcss/src/.libs/libdvdcss-2.dll /xbmc/system/players/dvdplayer/
+cp libdvdcss/.libs/libdvdcss-2.dll /xbmc/system/players/dvdplayer/
#libdvdread
cd libdvdread
@@ -72,7 +72,7 @@ make $MAKEFLAGS
gcc \
-shared \
-o obj/libdvdnav.dll \
- ../libdvdread/obj/*.o obj/*.o ../libdvdcss/src/.libs/libdvdcss.dll.a \
+ ../libdvdread/obj/*.o obj/*.o ../libdvdcss/.libs/libdvdcss.dll.a \
-ldl \
-Wl,--enable-auto-image-base \
-Xlinker --enable-auto-import
diff --git a/lib/libdvd/libdvdcss/AUTHORS b/lib/libdvd/libdvdcss/AUTHORS
index fd0321c101..bec3772f79 100644
--- a/lib/libdvd/libdvdcss/AUTHORS
+++ b/lib/libdvd/libdvdcss/AUTHORS
@@ -2,41 +2,40 @@
#
# Authors and contributors are listed alphabetically.
#
-# The fields are: name (N), email (E), web-address (W), CVS/SVN account login (C),
-# PGP key ID and fingerprint (P), description (D), and snail-mail address (S).
+# The fields are: name (N), email (E), web-address (W),
+# PGP key ID and fingerprint (P), description (D)
N: Billy Biggs
E: vektor@dumbterm.net
D: libdvdcss enhancements
-N: Stéphane Borel
+N: Diego Biurrun
+E: diego@biurrun.de
+D: misc build and portability fixes, cleanup
+
+N: Stéphane Borel
E: stef@via.ecp.fr
-C: stef
-D: original CSS decryption code from vlc
+D: original CSS decryption code from VLC
N: Sven Heithecker
E: sven.heithecker@web.de
D: cache bug fix for discs with identical content but different keys
-N: Håkan Hjort
+N: HÃ¥kan Hjort
E: d95hjort@dtek.chalmers.se
-C: hjort
D: Solaris port of the DVD ioctls
D: libdvdcss enhancements
N: Samuel Hocevar
E: sam@zoy.org
-C: sam
-D: original CSS decryption code from vlc
+D: original CSS decryption code from VLC
N: Eugenio Jarosiewicz
E: ej0@cise.ufl.edu
-C: ej
-D: MacOS X DVD ioctls
+D: Mac OS X DVD ioctls
N: Jon Lech Johansen
E: jon-vl@nanocrew.net
-C: jlj
D: Win32 port
D: Fixes to the Darwin port
@@ -45,7 +44,6 @@ E: komh@chollian.net
D: OS/2 port
N: Jean-Baptiste Kempf
-C: jb
E: jb@videolan.org
D: maintainer
@@ -65,11 +63,15 @@ N: Christophe Massiot
E: massiot@via.ecp.fr
D: former maintainer
+N: Diego Elio Pettenò
+E: flameeyes@flameeyes.eu
+D: build system rewrite
+
N: Steven M. Schultz
E: sms@TO.GD-ES.COM
D: BSD/OS port
-N: David Siebörger
+N: David Siebörger
E: drs-videolan@rucus.ru.ac.za
D: HP-UX port of the DVD ioctls
@@ -83,5 +85,4 @@ D: FreeBSD DVD input patch
N: Gildas Bazin
E: gbazin@netcourrier.com
-C: gbazin
D: various fixes to the Win32 port
diff --git a/lib/libdvd/libdvdcss/ChangeLog b/lib/libdvd/libdvdcss/ChangeLog
index 984083e6c5..5b6f837a52 100644
--- a/lib/libdvd/libdvdcss/ChangeLog
+++ b/lib/libdvd/libdvdcss/ChangeLog
@@ -1,2494 +1,2236 @@
-------------------------------------------------------------------------
-r251 | jb | 2012-03-11 13:33:49 +0000 (Sun, 11 Mar 2012) | 3 lines
-Changed paths:
- M /trunk/NEWS
- M /trunk/configure.ac
- M /trunk/doc/doxygen.cfg.in
+commit 8572e60d54aaa1f752ac5a1aa842183dab900420
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Wed Feb 27 11:12:24 2013 +0100
-Prepare 1.2.12
+ NEWS
+commit 745ba0b4f6cdf773adecab0c79e09cceeb5ca982
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Wed Feb 27 11:08:38 2013 +0100
-------------------------------------------------------------------------
-r250 | jb | 2012-03-11 12:37:40 +0000 (Sun, 11 Mar 2012) | 3 lines
-Changed paths:
- M /trunk/AUTHORS
+ Simplify INSTALL document
-Update Authors file
+commit 2af9a1e3d10677c2aca1d798b2df4dd8044c258b
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Wed Feb 27 07:52:56 2013 +0100
+ build: use an alternative method for making O_BINARY use conditional.
+
+ Instead of creating a new mode altogether, check for the definition of
+ O_BINARY in the headers, and if missing define it to zero.
+
+ Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
-------------------------------------------------------------------------
-r249 | jb | 2012-02-18 16:22:03 +0000 (Sat, 18 Feb 2012) | 4 lines
-Changed paths:
- M /trunk/src/css.c
+commit ffb8bab440e45d12b12064720d7fbffbedbc0cb3
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Mon Feb 18 09:43:21 2013 -0800
-If unsure, assume the drive is of RPC-I type
+ build: set the libtool version info in configure.ac
+
+ This follows the same pattern used for libdvdread/libdvdnav and xine.
+
+ Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
-This can happen when patched drives do not answer to ioctl_ReportRPC correctly
+commit 4742c52aa57ade08fc7b03bb0be871c978c9f782
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Tue Feb 19 15:23:17 2013 +0100
-------------------------------------------------------------------------
-r247 | jb | 2011-11-14 10:40:05 +0000 (Mon, 14 Nov 2011) | 3 lines
-Changed paths:
- M /trunk/ChangeLog
+ build: proper dependencies for ChangeLog generation target
+
+ This fixes the ChangeLog file getting continuously rebuilt instead
+ of after each Git commit, which is the case now.
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
-Update Changelog
+commit 1d66d696a1d18db48a868cada1eb9b47cd7f5206
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Tue Feb 19 14:48:24 2013 +0100
+ INSTALL: Bootstrap with autoreconf now that ./bootstrap is gone
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
-------------------------------------------------------------------------
-r246 | jb | 2011-11-14 10:27:32 +0000 (Mon, 14 Nov 2011) | 3 lines
-Changed paths:
- M /trunk/NEWS
- M /trunk/configure.ac
- M /trunk/doc/doxygen.cfg.in
- M /trunk/msvc/config.h
+commit 45999b756e2b6491eabcd548f7eb1453ab7fb365
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Thu Feb 14 22:59:20 2013 +0100
-Bumping version to 1.2.11
+ Next release will be 1.2.13
+commit 08198b1215e511c67d27e29594cb0ae1e282ceec
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 21:04:41 2013 +0100
-------------------------------------------------------------------------
-r245 | jb | 2011-11-14 10:26:47 +0000 (Mon, 14 Nov 2011) | 3 lines
-Changed paths:
- M /trunk/INSTALL
- M /trunk/README
+ Update some comments now that Windows 95 is no longer supported
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
-Update README and INSTALL to be a bit less out-of-date
+commit 3a5b5a7de809124d3ba1027bcb3dbc3aed97e8a4
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 20:22:39 2013 +0100
+ doxygen: Fix typo and drop wrong EXCLUDE
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
-------------------------------------------------------------------------
-r244 | jb | 2011-10-26 05:10:24 +0000 (Wed, 26 Oct 2011) | 3 lines
-Changed paths:
- M /trunk/Makefile.am
+commit be8000902de468717540e678bdf9c000af2e98f3
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 18:58:52 2013 +0100
-Fix "doc" Makefile target
+ gitignore: Use directory-specific patterns; use wildcard for config.foo
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+commit b9def08ea38f7509a039a362f20a996914c1545b
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 11:29:08 2013 -0800
-------------------------------------------------------------------------
-r243 | jb | 2011-10-26 05:01:11 +0000 (Wed, 26 Oct 2011) | 12 lines
-Changed paths:
- M /trunk/src/common.h
+ src: mark tables static and constant.
-Win32: Drop #define of snprintf() to _snprintf() if the former is undefined.
+commit 391ba536164924b0a2b78d9c167661c717f3c2c2
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 11:16:33 2013 -0800
-This workaround was added for MinGW originally, but nowadays MinGW supports
-snprintf() directly so it has become unnecessary.
+ csstables: mark static constant.
-Furthermore this can play havoc with Cygwin which does not have a _snprintf()
-declaration and gives implicit function declaration warnings. Depending on
-compiler flags, this can be a fatal error.
+commit b3ee829a5e321539ff8ca377637e0b4ac8699ed0
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 11:14:33 2013 -0800
-Patch by Diego Biurrun - diego at biurrun d0t de
+ build: include the msvc directory in the distribution.
+commit 58355c7e8726444aea52b08958495ff43d58b8d5
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 11:08:57 2013 -0800
-------------------------------------------------------------------------
-r242 | jb | 2011-10-26 04:59:23 +0000 (Wed, 26 Oct 2011) | 8 lines
-Changed paths:
- M /trunk/src/device.c
+ libdvdcss: use a static constant array instead of a variable to hold the cache sig.
-Win32: consistently use snprintf() instead of _snprintf()
+commit 5cb06542b1a0c88e585bb78dc00d0d31970e5833
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 11:03:13 2013 -0800
-Both functions are available on Cygwin and MinGW nowadays so there is
-no need to be inconsistent anymore.
+ ioctl: rename DVD_INVALIDATE_AGID to DVDCSS_INVALIDATE_AGID
+
+ The reason for the rename is that the Linux kernel userspace headers
+ are defining their own version of DVD_INVALIDATE_AGID which has a
+ different meaning (it's an enumeration, not a command).
-Patch by Diego Biurrun - diego at biurrun d0t de
+commit 20621b7176cab00a967d98a3e25282a0d675b09c
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 10:58:20 2013 -0800
+ doxygen: update configuration file to avoid warnings.
-------------------------------------------------------------------------
-r241 | jb | 2011-08-16 10:41:24 +0000 (Tue, 16 Aug 2011) | 4 lines
-Changed paths:
- M /trunk/INSTALL
- M /trunk/README
+commit 76f088780b25aa2476039a98ee963de6533a8ca1
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 10:54:44 2013 -0800
-Fix typos in README and INSTALL
+ pkg-config: fix include path, it was always wrong.
+
+ Not only the headers are installed in $includedir/dvdcss rather than
+ libdvdcss but there was a missing dollar sign in front of the first
+ variable.
-Patch by bryce, ref http://trac.videolan.org/vlc/ticket/5200
+commit 490cb7d934163e0ff0a319786720096b2bf2fd35
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 10:52:49 2013 -0800
-------------------------------------------------------------------------
-r240 | jb | 2011-03-23 15:00:06 +0000 (Wed, 23 Mar 2011) | 3 lines
-Changed paths:
- M /trunk/src/libdvdcss.h
+ build: allow opt-out from maintainer mode.
-Remove excessive whitespace
+commit 5007bfb39187e6d0633f8d51a28c88b7c9a9ad48
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 10:51:50 2013 -0800
+ build: use dnl for comments in configure.ac.
-------------------------------------------------------------------------
-r239 | jb | 2011-03-23 14:59:36 +0000 (Wed, 23 Mar 2011) | 5 lines
-Changed paths:
- M /trunk/src/css.c
+commit 29af7f48ed02aefb1342e5be57c0ae6a1336935c
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 07:32:00 2013 -0800
-Fix a small memleak
+ build: fix apidoc generation and install it as well.
+
+ This removes the LaTeX documentation generation, and makes sure that
+ if doc is enabled, it's built and installed as well (using htmldir).
-Reported by Thélesphonse Bigorneault
+commit 059709270c0abfc70bf4c493e0a3ca3e6225ea79
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 08:12:24 2013 -0800
+ build: generate ChangeLog from git, if git is present.
+
+ This would work both from the repository and from the tarball.
-------------------------------------------------------------------------
-r238 | jb | 2011-02-09 22:48:29 +0000 (Wed, 09 Feb 2011) | 3 lines
-Changed paths:
- M /trunk/doc/doxygen.cfg.in
+commit 75590b889feb6cf518d624fb014555269f53657f
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 08:05:09 2013 -0800
-Update documentation version
+ build: do not build the .tar.gz archive
+commit d3b3d398030dc1e57cebb7f9756c658b6f071eaf
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 07:58:45 2013 -0800
-------------------------------------------------------------------------
-r237 | reimar | 2010-09-25 14:21:47 +0000 (Sat, 25 Sep 2010) | 3 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
+ build: install the documentation files (but not INSTALL)
+
+ The INSTALL file just needs to be distributed.
-Ensure dvdcss->css.p_disc_key is always initialized,
-even if _dvdcss_disckey fails.
+commit e9a536a00d337e79fde3b69bf5461f8bedda9391
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 16:17:42 2013 +0100
-------------------------------------------------------------------------
-r236 | jb | 2010-08-02 15:59:13 +0000 (Mon, 02 Aug 2010) | 9 lines
-Changed paths:
- M /trunk/src/css.h
- M /trunk/src/device.h
- M /trunk/src/libdvdcss.h
+ Replace memset(0) by zero initializations
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
-Make libdvdcss headers self-sufficient
+commit 1ea1dffd2d44956e8bd1ff92bdc2035376fb6272
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 18:24:01 2013 +0100
-This patch adds required #includes to libdvdcss headers so that they can be used
-without other headers as prerequisites.
-This leaves out limits.h and stdint.h, for the moment, since they aren't on all systems.
+ build: Use silent build rules by default
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
-Patch by Diego Biurrun - diego at biurrun d0t de
+commit 043e7f53033b8ed8fd9b04f719e08c5cf23409e5
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 17:43:46 2013 +0100
+
+ build: Add -mwin32 to CFLAGS on Cygwin instead of globally defining WIN32
+
+ It's better to have gcc enable all Windows-related flags and adjust its
+ behavior in a predictable fashion, rather than do parts of it manually.
+
+commit 5e6047bd1eacd57bb4e3164110b1c043f8ed30f1
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 18:22:15 2013 +0100
+
+ Fix a number of spelling and grammar errors
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+
+commit b3a1b17b01f8da7cf038bc7d01cd6c90582875f1
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 16:51:54 2013 +0100
+
+ gitignore: Add config.cache
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+
+commit 6ad715c39f7d0d06e7cc0e17190bf13ca3fe635f
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 16:48:04 2013 +0100
+
+ AUTHORS: Add Diego#1 and Diego#2
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 193ed81a73ccc8f54270810ee957f72447f2aa3f
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 16:46:27 2013 +0100
+
+ AUTHORS: Drop obsolete CVS/SVN login and snail-mail fields
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit b0ab71d530b8a9553ce5d1986779ec8766c13e40
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 15:05:37 2013 +0100
+
+ Drop ChangeLog file; it is no longer necessary with Git.
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit bec71804e527198aeaaccddba807e6aef1cd6a21
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 03:31:19 2013 +0100
+
+ Drop BSDI support code.
+
+ Around 1100 out of 6100 lines total are dedicated to BSDI support.
+ This is a totally absurd ratio for a completely fringe OS.
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit d7f38cee4dcb64f99f493e3a0dfeef57dd165be3
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 15:31:10 2013 +0100
+
+ AUTHORS: Convert to UTF-8
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 5cf584c09e12517a889e176d1aa6a906d584b763
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 16:30:34 2013 +0100
+
+ Remove leftover Subversion $Id$ markers
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 2fc9238f7fabd783cf681d14d2d9058071da4796
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 16:16:41 2013 +0100
+
+ dvd_region: Drop unused-but-set variable
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit dacda2a5596a9a956e7b192c87f9ab8eedb72c43
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 01:32:14 2013 +0100
+
+ build: Refactor an instance of system-specific O_BINARY-related ifdeffery
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 45b27b0629da78813838f6bcdaaf5421490ba44a
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 07:27:35 2013 -0800
+
+ git: ignore the libtool m4 files.
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 14dc79797a4b0300572efe53b133c1971bdd1651
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 07:26:17 2013 -0800
+
+ build: get rid of recursion within doc/ for Doxygen API doc.
+
+ It still recurses for latex documentation.
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 5c454e815a7abfeed7e48abc2a7df3071b16fcb4
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Thu Feb 14 16:46:40 2013 +0100
+
+ Win32: use the correct HAVE_BROKEN_MKDIR define
+
+commit c5fc11a1179a088c9cafb14a1b5cdf40adbb946c
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 06:48:36 2013 -0800
+
+ build: check for POSIX mkdir() function.
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 391036711755ec403aca99e8668d5755a44be32f
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 07:11:22 2013 -0800
+
+ build: don't use tiered header checks.
+
+ This check is more reliable, and should be easier to deal with.
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 1987df11ddbb2be00147e8affd66d740a84cfeee
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 07:00:25 2013 -0800
+
+ build: use m4/attributes.m4 from xine/feng to check for cflags and visibility.
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 452734e367847d02f5bbbd3228bebf099d6abcd8
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 07:00:05 2013 -0800
+
+ build: add support for macros in m4/ directory
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit d8d519ca07f7fd1fdc5853bd05b1e076e9df3601
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 06:54:45 2013 -0800
+
+ build: fix make dist now that the bootstrap script is gone
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 576475c03f4569b6678d7bea05988396eb2be3a7
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Thu Feb 14 06:35:31 2013 -0800
+
+ build: remove obsolete bootstrap script.
+
+ Just run `autoreconf -i` and that would do.
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 42ac89492c9de73f66b70643e0a1045ad7091f9a
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Thu Feb 14 13:05:33 2013 +0100
+
+ Win32: define and use _WIN32_IE for shell api
+
+ This effectively drops support for Windows 95
+
+commit 2a6cd147d7347e509d628c1b9fe5763a97110920
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Wed Feb 13 19:04:24 2013 -0800
+
+ dvd_region: move ioctl_SendRPC in dvd_region.c; mark functions static.
+
+ This basically ensures that no unused, unexported functions are built
+ into the library.
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 1ee4cfdfd0b57372111aec320597376805f4cc9d
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Wed Feb 13 19:02:08 2013 -0800
+
+ build: allow once again building of dvd_region binary
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit efd20464a07fdff475b6cecedb8b743f32efe905
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Wed Feb 13 19:01:23 2013 -0800
+
+ src: mark _dvdcss_titlekey static as it's never used outside of the unit
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 03949ac8b59f0cf68649745f8bc310da9d5a1e4f
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Wed Feb 13 17:39:01 2013 -0800
+
+ build: fix messed up rule in building latex documentation.
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit ee2b1c28e2b36e0c9fb0a8bd06d948bd4aae8ddf
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Wed Feb 13 17:36:48 2013 -0800
+
+ build: get rid of recursion for building the library and the csstest program.
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 078b6df43b0482264defa2d2beeb9158e89b2da1
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Wed Feb 13 17:27:13 2013 -0800
+
+ build: update to libtool 2
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit f72d6689a0dfd86667ac18d2ae48fa1a9271aeed
+Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+Date: Wed Feb 13 17:24:49 2013 -0800
+
+ build: update autotools to modern format.
+
+ This includes quite a bit of fixes all around that allows it to build
+ with automake 1.13 and autoconf 2.68.
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 24968037296bdb623fc5d47a699c226c4122d213
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Thu Feb 14 01:49:28 2013 +0100
+
+ Win32: fix signedness warning
+
+commit 1517e70fbb0a94e75e9c2032a92f0b90b4026913
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Thu Feb 14 01:42:14 2013 +0100
+
+ Fix compilation with MSVC
+
+commit d08ae210cac8a07ef80b361aaa6becb268e75a1f
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Thu Feb 14 01:00:39 2013 +0100
+
+ Win32: correct include for lseeki64
+
+commit b468e1f1ac9c4ec594aedcd68911bd1d2acff929
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 00:45:18 2013 +0100
+
+ build: Refactor system-specific ifdeffery around raw device access
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit f25268db2b31006b3aa0ffeb011482328e0a86aa
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 00:06:58 2013 +0100
+
+ configure.ac: Remove unused global DVDCSSDIST preprocessor flag
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit c5ef915232b096cbe750465066089bf926eea22a
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Feb 14 00:10:21 2013 +0100
+
+ build: Replace system-specific ifdeffery by proper sys/uio.h check
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 0e48b8313f3b70bc0cb0806385f4c5786efd0c64
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Wed Feb 13 22:50:01 2013 +0100
+
+ device: Eliminate some unnecessary ifdefs
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 77f561a53feaf5b2ebaf55e00e43189c8b9be237
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Wed Feb 13 22:50:00 2013 +0100
+
+ build: win32: Surround Windows-specific code by appropriate ifdef
+
+ Also drop the now unnecessary direct.h configure.ac check.
+ That header file is always available on Windows.
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 84b0992477e07748f6a8cb5109ed56616d6b10cb
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Wed Feb 13 14:43:52 2013 +0100
+
+ build: Drop unnecessary local SYS_BEOS config.h #define
+
+ __BEOS__ is always available and can be used instead.
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+commit a9bf4c166d6af89a7310a61ae082944f9d960b22
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Wed Feb 13 14:43:51 2013 +0100
-------------------------------------------------------------------------
-r235 | jb | 2010-08-02 15:41:14 +0000 (Mon, 02 Aug 2010) | 8 lines
-Changed paths:
- M /trunk/src/common.h
- M /trunk/src/css.h
- M /trunk/src/csstables.h
- M /trunk/src/device.h
- M /trunk/src/ioctl.h
- M /trunk/src/libdvdcss.h
+ build: Drop unnecessary local SYS_OS2 config.h #define
+
+ __OS2__ is always available and can be used instead.
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
-Add multiple inclusion guards to header files
+commit 0938da8a3ebb4b9e1e3c2383a4821fa8eb524a87
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Wed Feb 13 14:43:50 2013 +0100
-Most header files in libdvdcss lack multiple inclusion guards, although they are
-a sensible thing to have for header files. This adds them where currently missing.
+ build: Drop unnecessary local SYS_CYGWIN config.h #define
+
+ __CYGWIN__ is always available and can be used instead.
+
+ Signed-off-by: Diego Biurrun <diego@biurrun.de>
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
-Patch by Diego Biurrun - diego at biurrun d0t de
+commit 1fab727ead1c7f84300cae8d077a24c9c9aa83aa
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Mon Feb 11 01:21:26 2013 +0100
+ Win32: Fix broken mkdir() invocations that need to be mapped to _mkdir()
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit c19c82dff9232cf8aa60dc0ff267e5e24dadbd90
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Sun Feb 10 12:59:16 2013 +0100
+
+ cygwin: Drop some obsolete POSIX int types fallbacks
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit e7df02a90f2aff82d24603da162602ee381205d2
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Thu Jan 31 21:51:01 2013 +0100
+
+ ioctl.h Drop some pointless ifdefs around a set of harmless #defines
+
+ Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit ca926c62869bbb9079a2ddc1af5f7f08f356dd9b
+Author: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
+Date: Tue Nov 6 18:15:08 2012 +0000
-------------------------------------------------------------------------
-r234 | jb | 2010-08-02 15:38:08 +0000 (Mon, 02 Aug 2010) | 7 lines
-Changed paths:
- M /trunk/src/bsdi_dvd.h
+ Use calloc instead of malloc+memset.
+
+ Besides being simpler, it fixes the malloc failure
+ checks which currently are useless since we would
+ crash in memset first.
-Use filename as multiple inclusion guard
+commit 31bf1942f771409e9375a4daf8a53b309cd3a088
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Wed Aug 29 08:57:27 2012 +0000
-For some reason bsdi_dvd.h does not use the (full) filename as multiple
-inclusion guard.
+ Support ELF visibility attribute
-Patch by Diego Biurrun - diego at biurrun d0t de
+commit 5c8ae97ccd0b5ee13c66f249efb630645622eaf9
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Fri Jun 15 11:35:09 2012 +0000
-------------------------------------------------------------------------
-r233 | jb | 2010-08-02 14:04:16 +0000 (Mon, 02 Aug 2010) | 7 lines
-Changed paths:
- M /trunk/doc/doxygen.cfg.in
+ Automake 12 is out
-Shut up doxygen run
+commit 839b9184e8fb92040e2004845532f2b15c0e8f23
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Sun Mar 11 13:35:44 2012 +0000
-Doxygen is terribly verbose by default and spams the console with useless by
-the metric ton. This patch makes its output more terse and thus more sensible.
+ Update ChangeLog
-Patch by Diego Biurrun - diego at biurrun d0t de
+commit 673cf17677756d73647eaed5ceb2b2e108be1f93
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Sun Mar 11 13:33:49 2012 +0000
-------------------------------------------------------------------------
-r232 | jb | 2010-08-02 13:56:10 +0000 (Mon, 02 Aug 2010) | 4 lines
-Changed paths:
- M /trunk/src
+ Prepare 1.2.12
-svn:ignore src/libdvdcss.pc
+commit f45f9f5f2fa97a0bd97c4bf84d72a01b2358a9ed
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Sun Mar 11 12:37:40 2012 +0000
-As tipped by Diego
-
-------------------------------------------------------------------------
-r231 | jb | 2010-05-10 10:03:06 +0000 (Mon, 10 May 2010) | 5 lines
-Changed paths:
- M /trunk/src/css.c
-
-Try other methods also if GetBusKey fails instead of failing completely
-
-Patch from MPlayer, from Reimar Döffinger, forwarded by Diego Biurrun
+ Update Authors file
+commit c514694dbbf9c94732a26678c144863a77e8bd58
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Sat Feb 18 16:22:03 2012 +0000
-------------------------------------------------------------------------
-r230 | sam | 2009-09-02 22:07:32 +0000 (Wed, 02 Sep 2009) | 3 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
-
-Remove the RPC-II sanity check and only issue a warning. Capable drives are
-far too common.
-
-------------------------------------------------------------------------
-r229 | sam | 2009-09-02 22:01:07 +0000 (Wed, 02 Sep 2009) | 2 lines
-Changed paths:
- M /trunk/src/device.c
-
-Use 64-bit IO and binary mode on OS/2. Patch courtesy of KO Myung-Hun.
-
-------------------------------------------------------------------------
-r228 | sam | 2009-05-13 21:28:53 +0000 (Wed, 13 May 2009) | 1 line
-Changed paths:
- M /trunk/src/css.c
-
-Prepend 0x to the region mask for clarity.
-------------------------------------------------------------------------
-r227 | sam | 2009-05-13 21:00:31 +0000 (Wed, 13 May 2009) | 1 line
-Changed paths:
- M /trunk/src/libdvdcss.c
-
-Duh, typo in the RPC-II sanity check.
-------------------------------------------------------------------------
-r226 | sam | 2009-05-13 20:54:40 +0000 (Wed, 13 May 2009) | 2 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
-
-Add support for the DVDCSS_IGNORE_RPC environment variable in order to
-bypass our new RPC-II sanity check.
-------------------------------------------------------------------------
-r225 | sam | 2009-05-13 20:54:39 +0000 (Wed, 13 May 2009) | 1 line
-Changed paths:
- M /trunk/src/css.c
-
-Add a debug message in the copyright information retrieval.
-------------------------------------------------------------------------
-r224 | sam | 2009-05-13 20:54:37 +0000 (Wed, 13 May 2009) | 3 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/libdvdcss.c
-
-Check drive's RPC status before trying to access a scrambled disc. Patch
-provided by Ori Avtalion <ori@avtalion.name> and refactored by Sam Hocevar
-<sam@hocevar.net>.
-------------------------------------------------------------------------
-r223 | sam | 2009-05-13 20:54:35 +0000 (Wed, 13 May 2009) | 1 line
-Changed paths:
- M /trunk/src/libdvdcss.c
-
-Fix a potential format string crash.
-------------------------------------------------------------------------
-r221 | sam | 2009-02-09 00:45:44 +0000 (Mon, 09 Feb 2009) | 1 line
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/device.c
- M /trunk/src/error.c
- M /trunk/src/ioctl.c
- M /trunk/src/libdvdcss.c
-
-Remove occurrences of "this program" from the license headers.
-------------------------------------------------------------------------
-r220 | sam | 2009-02-09 00:45:33 +0000 (Mon, 09 Feb 2009) | 1 line
-Changed paths:
- M /trunk/AUTHORS
- M /trunk/configure.ac
- M /trunk/src/device.c
- M /trunk/src/device.h
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
-
-Adding OS/2 support, courtesy of KO Myung-Hun <komh@chollian.net>.
-------------------------------------------------------------------------
-r219 | jb | 2009-02-09 00:03:47 +0000 (Mon, 09 Feb 2009) | 5 lines
-Changed paths:
- M /trunk/src/common.h
- M /trunk/src/css.c
- M /trunk/src/css.h
- M /trunk/src/csstables.h
- M /trunk/src/device.c
- M /trunk/src/device.h
- M /trunk/src/dvdcss/dvdcss.h
- M /trunk/src/error.c
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
-
-Update the FSF address.
-
-Patch by Diego Biurrun
-
-
-------------------------------------------------------------------------
-r218 | sam | 2008-08-29 19:00:14 +0000 (Fri, 29 Aug 2008) | 2 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/NEWS
- M /trunk/configure.ac
- M /trunk/msvc/config.h
-
- * Bump version number to 1.2.10.
- * Update NEWS and ChangeLog.
-------------------------------------------------------------------------
-r217 | sam | 2008-08-29 18:57:52 +0000 (Fri, 29 Aug 2008) | 2 lines
-Changed paths:
- M /trunk/src/Makefile.am
-
- * src/Makefile.am: bump the library minor version since we ship an extra
- symbole (dvdcss_is_scrambled).
-------------------------------------------------------------------------
-r216 | sam | 2008-08-29 18:57:51 +0000 (Fri, 29 Aug 2008) | 1 line
-Changed paths:
- M /trunk/configure.ac
- M /trunk/src/Makefile.am
- A /trunk/src/libdvdcss.pc.in
-
- * Ship a .pc file with the library.
-------------------------------------------------------------------------
-r215 | sam | 2008-08-29 18:57:48 +0000 (Fri, 29 Aug 2008) | 1 line
-Changed paths:
- M /trunk/libdvdcss.spec
- M /trunk/src/common.h
- M /trunk/src/css.c
- M /trunk/src/device.h
- M /trunk/src/dvdcss/dvdcss.h
- M /trunk/src/error.c
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
- M /trunk/test/csstest.c
-
- * Update copyeight information here and there.
-------------------------------------------------------------------------
-r214 | sam | 2008-08-29 18:57:45 +0000 (Fri, 29 Aug 2008) | 3 lines
-Changed paths:
- A /trunk/.gitignore
- M /trunk/bootstrap
- M /trunk/configure.ac
-
- * bootstrap: update bootstrapping script.
- * configure.ac: hide autotools files in .auto/.
- * .gitignore: add an ignore file for git-svn users.
-------------------------------------------------------------------------
-r213 | sam | 2008-08-29 18:57:42 +0000 (Fri, 29 Aug 2008) | 2 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
- * libdvdcss.c: ignore failure to get the disc key in case we have a
- chance to decrypt anyway afterwards. Patch courtesy of Diego Biurrun.
-------------------------------------------------------------------------
-r212 | sam | 2008-07-13 12:52:22 +0000 (Sun, 13 Jul 2008) | 2 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/css.h
- M /trunk/src/csstables.h
- M /trunk/src/device.c
- M /trunk/src/device.h
- M /trunk/src/dvdcss/dvdcss.h
- M /trunk/src/ioctl.c
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
-
- * Convert all source code to UTF-8, or Doxygen will fail to generate proper
- LaTeX documents.
-------------------------------------------------------------------------
-r211 | sam | 2008-07-13 12:52:19 +0000 (Sun, 13 Jul 2008) | 1 line
-Changed paths:
- M /trunk/doc/doxygen.cfg.in
-
- * Update outdated Doxygen configuration file using doxygen -u.
-------------------------------------------------------------------------
-r210 | massiot | 2008-07-12 12:19:57 +0000 (Sat, 12 Jul 2008) | 5 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/libdvdcss.c
-
- * src/libdvdcss.c: initialize p_disc_key in the case when DVD is encrypted
- but no ioctl is available ;
- * src/css.c: initialize p_disc_key in the case when key decryption fails.
-Patch by Kirill Belokurov.
-
-------------------------------------------------------------------------
-r209 | massiot | 2008-07-11 17:23:25 +0000 (Fri, 11 Jul 2008) | 3 lines
-Changed paths:
- M /trunk/src/dvdcss/dvdcss.h
- M /trunk/src/libdvdcss.c
-
- * src/libdvdcss.c: add dvdcss_is_scrambled() function, patch courtesy of
- Olivier Rolland.
-
-------------------------------------------------------------------------
-r208 | robux4 | 2008-01-07 16:48:35 +0000 (Mon, 07 Jan 2008) | 1 line
-Changed paths:
- M /trunk/src/dvdcss/dvdcss.h
-
-nicer comment, patch by Diego Biurrun
-------------------------------------------------------------------------
-r207 | robux4 | 2007-09-17 12:10:20 +0000 (Mon, 17 Sep 2007) | 1 line
-Changed paths:
- M /trunk/src/bsdi_dvd.h
- M /trunk/src/dvdcss/dvdcss.h
- M /trunk/src/ioctl.h
-
-(from Diego Biurrun) Identifiers starting with two underscores or an underscore and capital letters are reserved for the system in C.
-------------------------------------------------------------------------
-r206 | robux4 | 2007-09-17 12:07:41 +0000 (Mon, 17 Sep 2007) | 4 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
-(from Diego Biurrun) This patch removes the following warning when compiling MPlayer:
-
-libdvdcss.c:145: warning: redundant redeclaration of 'dvdcss_interface_2'
-dvdcss/dvdcss.h:70: warning: previous declaration of 'dvdcss_interface_2' was here
-------------------------------------------------------------------------
-r205 | robux4 | 2007-07-29 10:14:53 +0000 (Sun, 29 Jul 2007) | 7 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
-Pathc from iive (via Diego Biurrun)
-Date: Sat Jul 7 01:22:51 2007
-
-Fix crash on some DVDs
-sprintf(tmp,"%.02x",(char)0xef); would print "ffffffef" instead of "ef",
-in this case this leads to local array buffer overflow and hard to trace stack corruption.
-The quick, easy & dirty solution is to use (unsigned char) or (uint8_t)
-------------------------------------------------------------------------
-r204 | xtophe | 2007-07-15 22:23:39 +0000 (Sun, 15 Jul 2007) | 2 lines
-Changed paths:
- M /trunk/bootstrap
-
-support automake 1.10
-
-------------------------------------------------------------------------
-r203 | robux4 | 2006-11-07 16:27:40 +0000 (Tue, 07 Nov 2006) | 2 lines
-Changed paths:
- M /trunk/src/common.h
- M /trunk/src/device.c
-
-fix cygwin compilation regarding the lseek change
-(patch by Diego Biurrun)
-------------------------------------------------------------------------
-r202 | robux4 | 2006-11-01 14:31:51 +0000 (Wed, 01 Nov 2006) | 2 lines
-Changed paths:
- M /trunk/src/common.h
-
-fix compilation on MINGW (patch by Diego Biurrun)
-(lseek vs lseek64 typo)
-------------------------------------------------------------------------
-r201 | sam | 2006-09-19 23:03:53 +0000 (Tue, 19 Sep 2006) | 2 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
- * Fixed spelling in documentation. Also testing buildbot.
-
-------------------------------------------------------------------------
-r200 | sam | 2006-09-19 22:28:06 +0000 (Tue, 19 Sep 2006) | 2 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/libdvdcss.c
-
- * Fix warnings due to signed / unsigned pointer targets.
-
-------------------------------------------------------------------------
-r199 | sam | 2006-09-19 22:27:46 +0000 (Tue, 19 Sep 2006) | 2 lines
-Changed paths:
- M /trunk/bootstrap
-
- * Update bootstrap script.
-
-------------------------------------------------------------------------
-r198 | robux4 | 2006-09-13 13:12:23 +0000 (Wed, 13 Sep 2006) | 4 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
-fallback to USERPROFILE environment variable for caching CSS keys when
-HOME is not set (for MinGW builds running outside of MinGW).
-patch from MPlayer via Diego Biurrun (diego at biurrun dot de)
-
-------------------------------------------------------------------------
-r197 | robux4 | 2006-09-13 13:11:25 +0000 (Wed, 13 Sep 2006) | 2 lines
-Changed paths:
- M /trunk/src/device.c
-
-now accepts X:\ as a device name, as well as X:
-patch from MPlayer via Diego Biurrun (diego at biurrun dot de)
-------------------------------------------------------------------------
-r196 | sam | 2006-03-30 14:31:12 +0000 (Thu, 30 Mar 2006) | 2 lines
-Changed paths:
- M /trunk/configure.ac
-
- * Oops, forgot to commit configure.ac when removing the debian/ directory.
-
-------------------------------------------------------------------------
-r195 | sam | 2006-03-30 14:30:43 +0000 (Thu, 30 Mar 2006) | 3 lines
-Changed paths:
- M /trunk/Makefile.am
- D /trunk/debian
-
- * Removed the debian/ directory. Debian packaging is now handled
- separately, in the pkg-multimedia repository.
-
-------------------------------------------------------------------------
-r194 | sam | 2006-01-26 20:48:06 +0000 (Thu, 26 Jan 2006) | 3 lines
-Changed paths:
- M /trunk/src/device.c
-
- * src/device.c: reduced code duplication and fixed a pointer/integer
- confusion in the OS X drive detection.
-
-------------------------------------------------------------------------
-r193 | sam | 2005-11-09 22:12:32 +0000 (Wed, 09 Nov 2005) | 3 lines
-Changed paths:
- M /trunk/src/common.h
-
- * src/common.h: do not override lseek on Cygwin, only on mingw32. Cygwin
- provides its own 64-bit offset lseek. Patch courtesy of the MPlayer team.
-
-------------------------------------------------------------------------
-r192 | sam | 2005-10-26 16:58:08 +0000 (Wed, 26 Oct 2005) | 2 lines
-Changed paths:
- M /trunk/debian/control
-
- * debian/control: build-depend on tetex-extra (needed by doxygen).
-
-------------------------------------------------------------------------
-r191 | robux4 | 2005-09-04 08:49:23 +0000 (Sun, 04 Sep 2005) | 1 line
-Changed paths:
- M /trunk/src/dvdcss/dvdcss.h
-
-* libdvdcss: more fixes for DLL building
-------------------------------------------------------------------------
-r190 | robux4 | 2005-09-04 08:31:58 +0000 (Sun, 04 Sep 2005) | 1 line
-Changed paths:
- M /trunk/msvc/config.h
-
-* libdvdcss: the current version is 1.2.9
-------------------------------------------------------------------------
-r189 | robux4 | 2005-09-04 08:31:26 +0000 (Sun, 04 Sep 2005) | 1 line
-Changed paths:
- M /trunk/src/device.c
-
-* libdvdcss: MSVC7 compilation fixes (shouldn't break mingw32)
-------------------------------------------------------------------------
-r188 | robux4 | 2005-09-04 08:25:26 +0000 (Sun, 04 Sep 2005) | 1 line
-Changed paths:
- M /trunk/src/common.h
- M /trunk/src/ioctl.h
- M /trunk/src/libdvdcss.h
-
-* libdvdcss: MSVC7 compilation fixes (shouldn't break mingw32)
-------------------------------------------------------------------------
-r187 | robux4 | 2005-09-04 07:54:41 +0000 (Sun, 04 Sep 2005) | 1 line
-Changed paths:
- M /trunk/src/dvdcss/dvdcss.h
- M /trunk/src/libdvdcss.c
-
-* libdvdcss: oops mismatch #ifdef
-------------------------------------------------------------------------
-r186 | robux4 | 2005-09-04 07:43:15 +0000 (Sun, 04 Sep 2005) | 1 line
-Changed paths:
- M /trunk/AUTHORS
- M /trunk/COPYING
- M /trunk/ChangeLog
- M /trunk/INSTALL
- M /trunk/Makefile.am
- M /trunk/NEWS
- M /trunk/README
- M /trunk/debian/Makefile.am
- M /trunk/doc/Makefile.am
- M /trunk/doc/doxygen.cfg.in
- M /trunk/doc/footer.html
- M /trunk/doc/header.html
- M /trunk/msvc/config.h
- M /trunk/msvc/csstest.dsp
- M /trunk/msvc/libdvdcss.dsp
- M /trunk/msvc/workspace.dsw
- M /trunk/src/Makefile.am
- M /trunk/src/bsdi_dvd.h
- M /trunk/src/bsdi_ioctl.c
- M /trunk/src/common.h
- M /trunk/src/css.c
- M /trunk/src/css.h
- M /trunk/src/csstables.h
- M /trunk/src/device.c
- M /trunk/src/device.h
- M /trunk/src/dvdcss/Makefile.am
- M /trunk/src/dvdcss/dvdcss.h
- M /trunk/src/error.c
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
- M /trunk/test/Makefile.am
- M /trunk/test/csstest.c
- M /trunk/test/dvd_region.c
-
-* libdvdcss: set EOL style in SVN
-------------------------------------------------------------------------
-r185 | robux4 | 2005-09-04 07:39:37 +0000 (Sun, 04 Sep 2005) | 1 line
-Changed paths:
- M /trunk/src/dvdcss/dvdcss.h
-
-* libdvdcss: better DLL/library difference
-------------------------------------------------------------------------
-r184 | robux4 | 2005-09-04 07:36:01 +0000 (Sun, 04 Sep 2005) | 1 line
-Changed paths:
- M /trunk/src/dvdcss/dvdcss.h
-
-* libdvdcss: allow building DLL exports
-------------------------------------------------------------------------
-r183 | sam | 2005-09-03 13:17:55 +0000 (Sat, 03 Sep 2005) | 4 lines
-Changed paths:
- M /trunk/configure.ac
- M /trunk/doc
- M /trunk/test
-
- * configure.ac: patch from Diego Pettenò to let the user disable the
- documentation build.
- * test doc: added missing svn:ignore entries.
-
-------------------------------------------------------------------------
-r182 | massiot | 2005-09-01 17:12:42 +0000 (Thu, 01 Sep 2005) | 2 lines
-Changed paths:
- M /trunk/bootstrap
-
- * Revert [181] since it breaks on some OS X versions.
-
-------------------------------------------------------------------------
-r181 | massiot | 2005-09-01 12:40:25 +0000 (Thu, 01 Sep 2005) | 3 lines
-Changed paths:
- M /trunk/bootstrap
-
- * bootstrap: Use libtoolize instead of glibtoolize when it is available
- because libtool under OS X sucks.
-
-------------------------------------------------------------------------
-r180 | massiot | 2005-08-31 19:07:00 +0000 (Wed, 31 Aug 2005) | 2 lines
-Changed paths:
- M /trunk/src/device.c
-
- * src/device.c: Under Windows remove the trailing backslash.
-
-------------------------------------------------------------------------
-r179 | sam | 2005-08-30 10:20:18 +0000 (Tue, 30 Aug 2005) | 2 lines
-Changed paths:
- M /trunk/configure.ac
- M /trunk/src/Makefile.am
-
- * configure.ac: forward -framework options to the linker.
-
-------------------------------------------------------------------------
-r178 | massiot | 2005-08-30 09:48:19 +0000 (Tue, 30 Aug 2005) | 2 lines
-Changed paths:
- M /trunk/src/device.c
-
- * src/device.c: Fixed compilation under Darwin.
-
-------------------------------------------------------------------------
-r177 | sam | 2005-08-29 22:25:20 +0000 (Mon, 29 Aug 2005) | 2 lines
-Changed paths:
- M /trunk/src/device.c
-
- * src/device.c: tried to port the device autodetection to OS X.
-
-------------------------------------------------------------------------
-r176 | sam | 2005-08-29 22:02:55 +0000 (Mon, 29 Aug 2005) | 3 lines
-Changed paths:
- M /trunk/src/device.c
- M /trunk/src/device.h
- M /trunk/src/libdvdcss.c
-
- * src/device.c: if the target is the empty string, attempt to autodetect
- the DVD drive instead of giving up.
-
-------------------------------------------------------------------------
-r175 | sam | 2005-08-23 16:15:38 +0000 (Tue, 23 Aug 2005) | 3 lines
-Changed paths:
- M /trunk/doc/Makefile.am
- D /trunk/doc/doxygen.cfg
- A /trunk/doc/doxygen.cfg.in (from /trunk/doc/doxygen.cfg:174)
-
- * doc/Makefile.am: fixed build in a separate directory. Patch courtesy
- of Bernard Leak with a few additions.
-
-------------------------------------------------------------------------
-r173 | sam | 2005-07-11 12:32:57 +0000 (Mon, 11 Jul 2005) | 2 lines
-Changed paths:
- M /trunk/ChangeLog
-
- * Updated ChangeLog.
-
-------------------------------------------------------------------------
-r172 | sam | 2005-07-11 12:31:58 +0000 (Mon, 11 Jul 2005) | 2 lines
-Changed paths:
- M /trunk/src/Makefile.am
-
- * src/Makefile.am: bumped libtool version information.
-
-------------------------------------------------------------------------
-r171 | sam | 2005-07-11 12:25:18 +0000 (Mon, 11 Jul 2005) | 2 lines
-Changed paths:
- M /trunk/debian/changelog
- M /trunk/debian/control
-
- * debian/*: updated Debian packaging information.
-
-------------------------------------------------------------------------
-r170 | sam | 2005-07-11 12:23:07 +0000 (Mon, 11 Jul 2005) | 2 lines
-Changed paths:
- M /trunk/src/css.c
-
- * src/css.c: grmbl, compile fix.
-
-------------------------------------------------------------------------
-r169 | massiot | 2005-07-11 12:15:10 +0000 (Mon, 11 Jul 2005) | 2 lines
-Changed paths:
- M /trunk/NEWS
- M /trunk/configure.ac
- M /trunk/debian/changelog
- M /trunk/libdvdcss.spec
-
- * Bumped up version number to 1.2.9.
+ If unsure, assume the drive is of RPC-I type
+
+ This can happen when patched drives do not answer to ioctl_ReportRPC correctly
-------------------------------------------------------------------------
-r168 | sam | 2005-07-11 12:10:43 +0000 (Mon, 11 Jul 2005) | 2 lines
-Changed paths:
- M /trunk/src/css.c
-
- * src/css.c: reworked my verbosity patch to fix a compilation issue.
-
-------------------------------------------------------------------------
-r167 | sam | 2005-07-11 11:58:58 +0000 (Mon, 11 Jul 2005) | 3 lines
-Changed paths:
- M /trunk/src/ioctl.c
-
- * src/ioctl.c: under Solaris, use libsmedia for ioctls when available. Code
- reworked from a patch courtesy of the MPlayer team.
-
-------------------------------------------------------------------------
-r166 | sam | 2005-07-11 11:41:15 +0000 (Mon, 11 Jul 2005) | 3 lines
-Changed paths:
- M /trunk/src/bsdi_ioctl.c
-
- * src/bsdi_ioctl.c: use memset instead of bzero. Patch courtesy of the
- MPlayer team.
-
-------------------------------------------------------------------------
-r165 | sam | 2005-07-11 11:32:33 +0000 (Mon, 11 Jul 2005) | 3 lines
-Changed paths:
- M /trunk/src/device.c
- M /trunk/src/ioctl.h
-
- * src/device.c src/ioctl.h: cosmetic fix that uses real Win32 types for
- dynamically loaded functions and gets rid of lvalue casts.
-
-------------------------------------------------------------------------
-r164 | sam | 2005-07-11 11:25:47 +0000 (Mon, 11 Jul 2005) | 2 lines
-Changed paths:
- M /trunk/src/css.c
-
- * src/css.c: be slightly more verbose in which keys we manipulate.
-
-------------------------------------------------------------------------
-r163 | sam | 2005-07-11 11:22:33 +0000 (Mon, 11 Jul 2005) | 2 lines
-Changed paths:
- M /trunk/bootstrap
-
- * bootstrap: allow to bootstrap with aclocal/automake version 1.9.
-
-------------------------------------------------------------------------
-r162 | gbazin | 2004-09-02 12:17:13 +0000 (Thu, 02 Sep 2004) | 1 line
-Changed paths:
- M /trunk/src/common.h
-
-* src/common.h: use lseeki64 for file seeking on win32 (works above the 2.1G boundary).
-------------------------------------------------------------------------
-r161 | sam | 2004-08-13 13:53:27 +0000 (Fri, 13 Aug 2004) | 4 lines
-Changed paths:
- M /trunk/src/css.c
-
- * src/css.c:
- + Save the cached key as ASCII in hexadecimal form.
- + Overwrite cached files if the data was invalid.
-
-------------------------------------------------------------------------
-r160 | sam | 2004-08-13 13:40:44 +0000 (Fri, 13 Aug 2004) | 4 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
- * src/libdvdcss.c:
- + Recreate the cache dir information on each launch, in case the
- information it contains ever changes.
-
-------------------------------------------------------------------------
-r159 | sam | 2004-08-11 23:26:35 +0000 (Wed, 11 Aug 2004) | 2 lines
-Changed paths:
- M /trunk
- M /trunk/Makefile.am
- D /trunk/autotools
- M /trunk/bootstrap
- M /trunk/configure.ac
-
- * Don't put autotools/ under revision control.
-
-------------------------------------------------------------------------
-r158 | sam | 2004-08-11 23:24:54 +0000 (Wed, 11 Aug 2004) | 2 lines
-Changed paths:
- D /trunk/autotools/Makefile.am
-
- * Don't put autotools/ under revision control.
-
-------------------------------------------------------------------------
-r157 | sam | 2004-08-11 23:04:39 +0000 (Wed, 11 Aug 2004) | 2 lines
-Changed paths:
- M /trunk/libdvdcss.spec
-
- * libdvdcss.spec: updated Red Hat rules for RH9.
-
-------------------------------------------------------------------------
-r156 | sam | 2004-08-11 22:59:42 +0000 (Wed, 11 Aug 2004) | 4 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
- * src/libdvdcss.c:
- + Support for cache directory tags, as proposed on
- http://www.brynosaurus.com/cachedir/spec.html .
-
-------------------------------------------------------------------------
-r155 | sam | 2004-08-11 22:15:30 +0000 (Wed, 11 Aug 2004) | 6 lines
-Changed paths:
- M /trunk/AUTHORS
- M /trunk/src/libdvdcss.c
-
- * src/libdvdcss.c:
- + Append the disc key to the cache directory name to avoid issues with
- identical discs which have different encryption keys, thanks to Sven
- Heithecker.
- + Use - instead of # as a separator in the cache filename.
-
-------------------------------------------------------------------------
-r154 | sam | 2004-07-05 09:17:20 +0000 (Mon, 05 Jul 2004) | 2 lines
-Changed paths:
- M /trunk/bootstrap
-
- * bootstrap: fixed a syntax error.
-
-------------------------------------------------------------------------
-r153 | sam | 2004-07-05 09:15:35 +0000 (Mon, 05 Jul 2004) | 4 lines
-Changed paths:
- M /trunk/bootstrap
-
- * bootstrap:
- + Run libtoolize before aclocal.
- + Support automake 1.8.
-
-------------------------------------------------------------------------
-r152 | sam | 2004-02-24 15:47:00 +0000 (Tue, 24 Feb 2004) | 2 lines
-Changed paths:
- M /trunk
- D /trunk/.cvsignore
- M /trunk/NEWS
- M /trunk/README
- M /trunk/autotools
- D /trunk/autotools/.cvsignore
- M /trunk/bootstrap
- M /trunk/debian
- D /trunk/debian/.cvsignore
- M /trunk/doc
- D /trunk/doc/.cvsignore
- M /trunk/doc/footer.html
- M /trunk/doc/header.html
- M /trunk/msvc
- D /trunk/msvc/.cvsignore
- M /trunk/src
- D /trunk/src/.cvsignore
- M /trunk/src/bsdi_dvd.h
- M /trunk/src/common.h
- M /trunk/src/css.c
- M /trunk/src/css.h
- M /trunk/src/csstables.h
- M /trunk/src/device.c
- M /trunk/src/device.h
- M /trunk/src/dvdcss
- D /trunk/src/dvdcss/.cvsignore
- M /trunk/src/dvdcss/dvdcss.h
- M /trunk/src/error.c
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
- M /trunk/test
- D /trunk/test/.cvsignore
-
- * Added proper SVN keywords to files and directories (for $Id and ignores).
-
-------------------------------------------------------------------------
-r141 | sam | 2003-12-11 15:13:40 +0000 (Thu, 11 Dec 2003) | 3 lines
-Changed paths:
- M /trunk/doc/.cvsignore
- M /trunk/doc/doxygen.cfg
-
- * doc/doxygen.cfg: Updated doxygen configuration.
- * doc/.cvsignore: Ignore stamp files.
-
-------------------------------------------------------------------------
-r140 | sam | 2003-12-11 15:12:42 +0000 (Thu, 11 Dec 2003) | 5 lines
-Changed paths:
- M /trunk/src/device.c
-
- * src/device.c:
- + Store the off_t values for seek and read in a temporary variable to
- work around a strange gentoo gcc behaviour as seen here:
- http://www.via.ecp.fr/via/ml/libdvdcss-devel/200312/msg00000.html
-
-------------------------------------------------------------------------
-r139 | sam | 2003-11-26 20:16:38 +0000 (Wed, 26 Nov 2003) | 2 lines
-Changed paths:
- M /trunk/libdvdcss.spec
-
- * libdvdcss.spec: Fixed a syntax error (#1488).
-
-------------------------------------------------------------------------
-r138 | sam | 2003-11-06 10:12:38 +0000 (Thu, 06 Nov 2003) | 2 lines
-Changed paths:
- M /trunk/bootstrap
-
- * bootstrap: remove autom4te.cache before running autoconf
-
-------------------------------------------------------------------------
-r137 | sam | 2003-09-15 17:12:46 +0000 (Mon, 15 Sep 2003) | 2 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/libdvdcss.c
-
- * libdvdcss.c: Added more debug messages.
-
-------------------------------------------------------------------------
-r136 | sam | 2003-09-09 13:17:24 +0000 (Tue, 09 Sep 2003) | 2 lines
-Changed paths:
- M /trunk/configure.ac
- M /trunk/src/css.c
- M /trunk/src/device.c
-
- * src/css.c, src/device.c: more meaningful error messages.
-
-------------------------------------------------------------------------
-r135 | sam | 2003-09-09 12:32:40 +0000 (Tue, 09 Sep 2003) | 4 lines
-Changed paths:
- M /trunk/.cvsignore
- M /trunk/Makefile.am
- M /trunk/NEWS
- M /trunk/README
- M /trunk/configure.ac
- M /trunk/debian/Makefile.am
- M /trunk/debian/changelog
- A /trunk/debian/compat
- M /trunk/debian/control
- M /trunk/debian/rules
- M /trunk/doc/Makefile.am
- M /trunk/doc/footer.html
- M /trunk/doc/header.html
- M /trunk/test/csstest.c
-
- * configure.ac: check for doxygen and latex to build documentation.
- * doc/Makefile.am: conditionally build documentation.
- * debian/*: use debian/compat instead of DH_COMPAT.
-
-------------------------------------------------------------------------
-r134 | sam | 2003-09-09 12:05:44 +0000 (Tue, 09 Sep 2003) | 2 lines
-Changed paths:
- M /trunk/bootstrap
-
- * bootstrap: code clean-up.
-
-------------------------------------------------------------------------
-r133 | sam | 2003-09-09 10:03:48 +0000 (Tue, 09 Sep 2003) | 3 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/device.c
- M /trunk/src/error.c
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
-
- * Changed _dvdcss_error and _dvdcss_debug to print_error and print_debug
- because they aren't libdvdcss functions.
-
-------------------------------------------------------------------------
-r132 | gbazin | 2003-07-29 19:49:13 +0000 (Tue, 29 Jul 2003) | 3 lines
-Changed paths:
- M /trunk/NEWS
-
-
-* NEWS: forgot to update this one for the release.
-
-------------------------------------------------------------------------
-r131 | gbazin | 2003-07-29 19:03:02 +0000 (Tue, 29 Jul 2003) | 3 lines
-Changed paths:
- M /trunk/libdvdcss.spec
-
-
-* libdvdcss.spec: fixed typo.
-
-------------------------------------------------------------------------
-r130 | gbazin | 2003-07-28 23:41:52 +0000 (Mon, 28 Jul 2003) | 3 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/configure.ac
- M /trunk/debian/changelog
- M /trunk/libdvdcss.spec
-
-
-* ALL: bumped version number to 1.2.8
-
-------------------------------------------------------------------------
-r129 | sam | 2003-07-16 21:40:01 +0000 (Wed, 16 Jul 2003) | 7 lines
-Changed paths:
- M /trunk/src/css.c
-
- * src/css.c:
- + Workaround in CrackTitleKey for strange discs that report read errors
- seemingly at random. Testcase was on Linux 2.4.20, with a region 2 RPC2
- drive, and the region 1 copy of "Chasing Amy".
- + Used macros instead of numerals where appropriate.
- + Fixed spelling here and there.
-
-------------------------------------------------------------------------
-r128 | gbazin | 2003-07-08 18:00:54 +0000 (Tue, 08 Jul 2003) | 3 lines
-Changed paths:
- M /trunk/src/device.c
-
-
-* src/device.c: grmblgrmbl!! Fixed a bug that prevented encrypted dvds from working under win32.
-
-------------------------------------------------------------------------
-r127 | massiot | 2003-06-22 20:59:45 +0000 (Sun, 22 Jun 2003) | 2 lines
-Changed paths:
- M /trunk/src/Makefile.am
-
-* Updated library version.
-
-------------------------------------------------------------------------
-r126 | sam | 2003-06-18 17:23:55 +0000 (Wed, 18 Jun 2003) | 2 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
- * ./src/libdvdcss.c: if DVDCSS_VERBOSE is greater than 2, do as if it was 2.
-
-------------------------------------------------------------------------
-r125 | sam | 2003-06-13 00:41:35 +0000 (Fri, 13 Jun 2003) | 12 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/NEWS
- M /trunk/configure.ac
- M /trunk/debian/changelog
- M /trunk/debian/control
- M /trunk/debian/rules
- M /trunk/libdvdcss.spec
-
- * Everything is ready for a 1.2.7 release.
-
- * debian/control:
- + Set policy to 3.5.10.
- + Removed the leading "a" in the package description.
- + Set the source section to libs.
- + Set the -dev package section to libdevel.
- + Changed the debhelper build dependency to (>=3.0).
- * debian/rules:
- + Added magic to avoid autotools timestamp skews on autobuilders (as if
- libdvdcss was ever going to hit the Debian autobuilders anyway).
+commit 2b899f3b337a6687bd7c3f12a5b015f48ffbcbf3
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Mon Nov 14 10:40:05 2011 +0000
-------------------------------------------------------------------------
-r124 | sam | 2003-06-12 23:22:34 +0000 (Thu, 12 Jun 2003) | 6 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
- * ./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.
+ Update Changelog
-------------------------------------------------------------------------
-r123 | sam | 2003-06-12 23:15:18 +0000 (Thu, 12 Jun 2003) | 3 lines
-Changed paths:
- M /trunk/Makefile.am
- M /trunk/configure.ac
+commit b6fd1d71afa8c1a858f2b1b69a5b03544af623f6
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Mon Nov 14 10:27:32 2011 +0000
- * ./Makefile.am: put autotools/ in DIST_SUBDIRS instead of SUBDIRS.
- * ./configure.ac: forgot to generate autotools/Makefile.
+ Bumping version to 1.2.11
-------------------------------------------------------------------------
-r122 | sam | 2003-06-10 22:50:31 +0000 (Tue, 10 Jun 2003) | 4 lines
-Changed paths:
- M /trunk/Makefile.am
- A /trunk/autotools
- A /trunk/autotools/.cvsignore
- A /trunk/autotools/Makefile.am
- M /trunk/bootstrap
- M /trunk/configure.ac
-
- * ./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.
-
-------------------------------------------------------------------------
-r121 | sam | 2003-05-27 17:12:33 +0000 (Tue, 27 May 2003) | 4 lines
-Changed paths:
- M /trunk/debian/changelog
- M /trunk/debian/control
+commit d1052718b7d3f7394a0f3e15ff7131dfe63fd8b2
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Mon Nov 14 10:26:47 2011 +0000
- * ./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.
-
-------------------------------------------------------------------------
-r120 | sam | 2003-05-16 22:12:48 +0000 (Fri, 16 May 2003) | 2 lines
-Changed paths:
- M /trunk/src/css.c
-
- * ./src/css.c: typos in comments.
-
-------------------------------------------------------------------------
-r119 | gbazin | 2003-04-11 10:00:29 +0000 (Fri, 11 Apr 2003) | 3 lines
-Changed paths:
- M /trunk/configure.ac
- M /trunk/src/common.h
-
-
-* configure.ac, src/common.h: fixes for the cygwin build using the mno-cygwin flag.
-
-------------------------------------------------------------------------
-r118 | yves | 2003-04-06 20:36:07 +0000 (Sun, 06 Apr 2003) | 2 lines
-Changed paths:
- M /trunk/libdvdcss.spec
-
-better RH part thx Kipp Cannon <kipp@sgl.crestech.ca>
-
-------------------------------------------------------------------------
-r117 | gbazin | 2003-03-27 18:57:12 +0000 (Thu, 27 Mar 2003) | 3 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
-
-* src/libdvdcss.c: CSS key cache collisions patch, courtesy of Michael Roitzsch.
-
-------------------------------------------------------------------------
-r116 | gbazin | 2003-03-22 16:37:37 +0000 (Sat, 22 Mar 2003) | 3 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
-
-* src/libdvdcss.c: fix for NetBSD's mkdir that doesn't like trailing "/" on its argument. (courtesy of Christopher Richards)
-
-------------------------------------------------------------------------
-r115 | sam | 2003-03-10 18:01:40 +0000 (Mon, 10 Mar 2003) | 3 lines
-Changed paths:
- M /trunk/debian/changelog
- M /trunk/src/Makefile.am
-
- * ./debian/changelog: updated Debian changelog.
- * ./src/Makefile.am: bumped version information.
-
-------------------------------------------------------------------------
-r114 | alexis | 2003-03-10 17:41:31 +0000 (Mon, 10 Mar 2003) | 2 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/libdvdcss.spec
-
-- preparing the 1.2.6 release...
-
-------------------------------------------------------------------------
-r113 | massiot | 2003-03-09 23:50:42 +0000 (Sun, 09 Mar 2003) | 2 lines
-Changed paths:
- M /trunk/NEWS
- M /trunk/configure.ac
-
-Bumped up to 1.2.6.
-
-------------------------------------------------------------------------
-r112 | gbazin | 2003-03-09 23:34:18 +0000 (Sun, 09 Mar 2003) | 3 lines
-Changed paths:
- M /trunk/src/common.h
- M /trunk/src/error.c
-
-
-* src/common.h, src/error.c: fixed the PATH_MAX breakage on win32.
-
-------------------------------------------------------------------------
-r111 | massiot | 2003-02-04 11:54:36 +0000 (Tue, 04 Feb 2003) | 2 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/device.c
- M /trunk/src/error.c
-
-Fixed compilation problems with PATH_MAX.
-
-------------------------------------------------------------------------
-r110 | massiot | 2003-01-29 22:59:35 +0000 (Wed, 29 Jan 2003) | 2 lines
-Changed paths:
- M /trunk/configure.ac
- M /trunk/src/libdvdcss.c
-
-Fixed MAX_PATH on Darwin.
-
-------------------------------------------------------------------------
-r109 | yves | 2003-01-28 07:58:22 +0000 (Tue, 28 Jan 2003) | 3 lines
-Changed paths:
- M /trunk/libdvdcss.spec
-
-- release number is 1. do not forget to update it too, aka sam sux.
-- fix a redhat "macro".
-
-------------------------------------------------------------------------
-r108 | sam | 2003-01-28 01:17:02 +0000 (Tue, 28 Jan 2003) | 6 lines
-Changed paths:
- M /trunk/ChangeLog
- A /trunk/NEWS
- M /trunk/configure.ac
- M /trunk/debian/changelog
- M /trunk/debian/rules
- M /trunk/doc/doxygen.cfg
- M /trunk/libdvdcss.spec
- M /trunk/src/Makefile.am
- M /trunk/test/Makefile.am
-
- * updated ChangeLog.
- * updated version numbers and timestamps everywhere.
- * created NEWS file.
- * ./configure.ac: BSD/OS compilation fix when a local copy of libdvd is
- found on the system, thanks to Steven M. Schultz.
-
-------------------------------------------------------------------------
-r107 | sam | 2003-01-28 00:41:10 +0000 (Tue, 28 Jan 2003) | 3 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
- M /trunk/test/csstest.c
-
- * ./test/csstest.c: we align our read buffer in case of raw device access.
- * ./src/libdvdcss.c: updated documentation about raw devices.
-
-------------------------------------------------------------------------
-r106 | sam | 2003-01-27 16:57:19 +0000 (Mon, 27 Jan 2003) | 2 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
- * ./src/libdvdcss.c: disabled key cache when reading VOBs.
-
-------------------------------------------------------------------------
-r105 | sam | 2003-01-16 22:58:29 +0000 (Thu, 16 Jan 2003) | 2 lines
-Changed paths:
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
-
- * ./src/ioctl.c, ./src/ioctl.h: removed minor gcc-isms.
-
-------------------------------------------------------------------------
-r104 | yves | 2003-01-16 14:45:14 +0000 (Thu, 16 Jan 2003) | 3 lines
-Changed paths:
- M /trunk/libdvdcss.spec
-
-* macros to fix build on redhat system. put %define redhat80 to 1.
-* few fixes.
-
-------------------------------------------------------------------------
-r103 | sam | 2002-12-19 16:50:50 +0000 (Thu, 19 Dec 2002) | 4 lines
-Changed paths:
- M /trunk/src/device.c
-
- * ./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.
-
-------------------------------------------------------------------------
-r102 | sam | 2002-12-19 15:44:30 +0000 (Thu, 19 Dec 2002) | 2 lines
-Changed paths:
- M /trunk/configure.ac
- M /trunk/src/css.c
- M /trunk/src/libdvdcss.c
-
- * ./configure.ac: added warning flags whenever possible.
-
-------------------------------------------------------------------------
-r101 | sam | 2002-12-19 15:36:04 +0000 (Thu, 19 Dec 2002) | 3 lines
-Changed paths:
- M /trunk/configure.ac
- M /trunk/src/device.c
- M /trunk/src/libdvdcss.h
-
- * ./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.
-
-------------------------------------------------------------------------
-r100 | sam | 2002-12-19 15:29:53 +0000 (Thu, 19 Dec 2002) | 3 lines
-Changed paths:
- M /trunk/src/bsdi_dvd.h
- M /trunk/src/bsdi_ioctl.c
-
- * ./src/bsdi_ioctl.c, ./src/bsdi_dvd.h: updated the bsdi libdvd with
- Steven M. Schultz's latest changes.
-
-------------------------------------------------------------------------
-r99 | sam | 2002-12-19 12:37:30 +0000 (Thu, 19 Dec 2002) | 2 lines
-Changed paths:
- M /trunk/configure.ac
- M /trunk/msvc/config.h
- M /trunk/src/device.c
- M /trunk/src/device.h
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
-
- * Ported the library build to Cygwin.
-
-------------------------------------------------------------------------
-r98 | sam | 2002-12-11 13:12:10 +0000 (Wed, 11 Dec 2002) | 2 lines
-Changed paths:
- M /trunk/src/bsdi_dvd.h
- M /trunk/src/bsdi_ioctl.c
- M /trunk/src/device.c
- M /trunk/src/dvdcss/dvdcss.h
- M /trunk/src/libdvdcss.c
-
- * minor coding style fixes.
-
-------------------------------------------------------------------------
-r97 | sam | 2002-12-10 10:43:25 +0000 (Tue, 10 Dec 2002) | 2 lines
-Changed paths:
- M /trunk/msvc/csstest.dsp
- M /trunk/msvc/libdvdcss.dsp
- M /trunk/msvc/workspace.dsw
-
- * ./msvc/*: grmbl, for some reason the project files were empty.
-
-------------------------------------------------------------------------
-r96 | sam | 2002-12-10 10:38:12 +0000 (Tue, 10 Dec 2002) | 2 lines
-Changed paths:
- M /trunk/configure.ac
- A /trunk/msvc
- A /trunk/msvc/.cvsignore
- A /trunk/msvc/config.h
- A /trunk/msvc/csstest.dsp
- A /trunk/msvc/libdvdcss.dsp
- A /trunk/msvc/workspace.dsw
- M /trunk/src/device.c
- M /trunk/src/libdvdcss.c
- M /trunk/test/csstest.c
-
- * ./msvc/*: MS VC++ project files.
-
-------------------------------------------------------------------------
-r95 | babal | 2002-12-06 00:16:57 +0000 (Fri, 06 Dec 2002) | 3 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/device.c
- M /trunk/src/error.c
- M /trunk/src/libdvdcss.c
-
-- Early versions of Mingw32 (at least until 1.2) do not include
- <limits.h> automatically, so PATH_MAX was undefined.
-
-------------------------------------------------------------------------
-r94 | sam | 2002-12-05 10:24:42 +0000 (Thu, 05 Dec 2002) | 4 lines
-Changed paths:
- M /trunk/configure.ac
- M /trunk/src/common.h
- M /trunk/src/css.c
- M /trunk/src/css.h
- M /trunk/src/csstables.h
- M /trunk/src/device.c
- M /trunk/src/device.h
- M /trunk/src/error.c
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
-
- * ./src/libdvdcss.c: fixed Win32 mkdir() call.
- * ALL: removed trailing spaces in files.
- * ALL: moved everything to C99 integer types.
-
-------------------------------------------------------------------------
-r93 | sam | 2002-12-02 12:58:23 +0000 (Mon, 02 Dec 2002) | 2 lines
-Changed paths:
- M /trunk/bootstrap
-
- * ./bootstrap: we also look for glibtoolize (Closes: #37).
-
-------------------------------------------------------------------------
-r92 | jlj | 2002-12-02 07:38:21 +0000 (Mon, 02 Dec 2002) | 2 lines
-Changed paths:
- M /trunk/src/device.h
-
- ./src/device.h: Applied FreeBSD compile fix from Steven M. Schultz.
-
-------------------------------------------------------------------------
-r91 | jlj | 2002-11-25 18:44:31 +0000 (Mon, 25 Nov 2002) | 3 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
- M /trunk/test/dvd_region.c
-
- * ./src/ioctl.[ch]: Implemented ioctl_SendRPC.
- * ./test/dvd_region.c: enabled set_region.
-
-------------------------------------------------------------------------
-r90 | sam | 2002-11-24 17:34:23 +0000 (Sun, 24 Nov 2002) | 3 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/device.c
- M /trunk/src/error.c
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
-
- * ./src/css.c, ./src/libdvdcss.c: applied a patch from the MPlayer folks
- to cache title keys on disk.
-
-------------------------------------------------------------------------
-r89 | sam | 2002-11-21 12:13:20 +0000 (Thu, 21 Nov 2002) | 3 lines
-Changed paths:
- M /trunk/debian/control
-
- * ./debian/control: set the package sections to libs and devel instead of
- graphics.
-
-------------------------------------------------------------------------
-r88 | alexis | 2002-11-17 23:46:44 +0000 (Sun, 17 Nov 2002) | 6 lines
-Changed paths:
- M /trunk/libdvdcss.spec
-
-Changes in order to support RedHat and RPM 4.1 (courtesy of Ryurick
-Hristev and Kenton Groombridge).
-
-I have already uploaded new RPM packages on the FTP site (1.2.4-2) and
-updated the download page. Please test and give feedback.
-
-------------------------------------------------------------------------
-r87 | jlj | 2002-11-15 18:39:08 +0000 (Fri, 15 Nov 2002) | 2 lines
-Changed paths:
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
-
- * ./src/ioctl.[ch]: ReportRPC win32 changes. Needs testing.
-
-------------------------------------------------------------------------
-r86 | gbazin | 2002-11-14 15:12:34 +0000 (Thu, 14 Nov 2002) | 3 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/debian/changelog
- M /trunk/libdvdcss.spec
-
-
-* updated the changelogs for the 1.2.4 release.
-
-------------------------------------------------------------------------
-r85 | sam | 2002-11-14 12:41:47 +0000 (Thu, 14 Nov 2002) | 6 lines
-Changed paths:
- M /trunk/bootstrap
- M /trunk/configure.ac
- M /trunk/libdvdcss.spec
-
- * ./configure.ac: explicitly set AC_CONFIG_AUX_DIR(.) so that people who
- do bootstrap without paying attention to error messages don't screw up
- packages :-)
- * ./libdvdcss.spec: removed bootstrap from the build phase.
- * ./bootstrap: we accept automake 1.7.
+ Update README and INSTALL to be a bit less out-of-date
-------------------------------------------------------------------------
-r84 | gbazin | 2002-11-14 12:38:57 +0000 (Thu, 14 Nov 2002) | 9 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/ioctl.c
+commit c80446a871b52d3d5b6137339da5d42b2eab5f8e
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Wed Oct 26 05:10:24 2011 +0000
+ Fix "doc" Makefile target
-* 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.
- Because we cannot use an ioctl to get the copyright status of the DVD,
- we try to get the disc key and if this succeed, we assume the DVD is
- encrypted, otherwise we assume it to be unencrypted.
- I hope this logic is not too much flawed... at least it seems to be working
- with the few DVDs I've got.
+commit d938212b4f010a6fd9cba4910981dcd2ca858c26
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Wed Oct 26 05:01:11 2011 +0000
-------------------------------------------------------------------------
-r83 | jlj | 2002-11-14 01:32:37 +0000 (Thu, 14 Nov 2002) | 2 lines
-Changed paths:
- M /trunk/src/ioctl.c
+ Win32: Drop #define of snprintf() to _snprintf() if the former is undefined.
+
+ This workaround was added for MinGW originally, but nowadays MinGW supports
+ snprintf() directly so it has become unnecessary.
+
+ Furthermore this can play havoc with Cygwin which does not have a _snprintf()
+ declaration and gives implicit function declaration warnings. Depending on
+ compiler flags, this can be a fatal error.
- * ./src/ioctl.c: Broke OpenBSD port with my previous commit. Fixed.
+commit 26a57f6d2bd5dc363850265f78371d05e1c554c3
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Wed Oct 26 04:59:23 2011 +0000
-------------------------------------------------------------------------
-r82 | alexis | 2002-11-13 23:43:01 +0000 (Wed, 13 Nov 2002) | 3 lines
-Changed paths:
- M /trunk/libdvdcss.spec
+ Win32: consistently use snprintf() instead of _snprintf()
+
+ Both functions are available on Cygwin and MinGW nowadays so there is
+ no need to be inconsistent anymore.
+commit 46558053bb3a77808b709cc932dd7e1acbb93671
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Tue Aug 16 10:41:24 2011 +0000
-Added ./bootstrap for the build target
+ Fix typos in README and INSTALL
-------------------------------------------------------------------------
-r81 | gbazin | 2002-11-13 23:08:11 +0000 (Wed, 13 Nov 2002) | 3 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/debian/changelog
- M /trunk/libdvdcss.spec
+commit 2bcd77d8847d10f3e0b2a2354e7c0949d3132dd2
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Wed Mar 23 15:00:06 2011 +0000
+ Remove excessive whitespace
-* update changelogs.
+commit 3c3553f2c613f207530c6e0a97854e5824e1b292
+Author: Thélesphonse Bigorneault <bigorneault@gmail.com>
+Date: Wed Mar 23 14:59:36 2011 +0000
-------------------------------------------------------------------------
-r80 | jlj | 2002-11-13 22:45:05 +0000 (Wed, 13 Nov 2002) | 3 lines
-Changed paths:
- M /trunk/AUTHORS
- M /trunk/src/ioctl.c
+ Fix a small memleak
- * ./src/ioctl.c: cosmetic fixes.
- * ./AUTHORS: updated my entry.
+commit e97d03d78d77c8abeffd7c78e598c135e2b80efc
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Wed Feb 9 22:48:29 2011 +0000
-------------------------------------------------------------------------
-r79 | alexis | 2002-11-13 22:24:41 +0000 (Wed, 13 Nov 2002) | 3 lines
-Changed paths:
- M /trunk/configure.ac
+ Update documentation version
+commit 8594af8c56bfcafd200ec6b26192d8d6941e1816
+Author: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
+Date: Sat Sep 25 14:21:47 2010 +0000
-Update version number to 1.2.4
+ Ensure dvdcss->css.p_disc_key is always initialized
+ even if _dvdcss_disckey fails.
-------------------------------------------------------------------------
-r78 | alexis | 2002-11-13 22:14:28 +0000 (Wed, 13 Nov 2002) | 2 lines
-Changed paths:
- M /trunk/libdvdcss.spec
+commit 0833399b2fa6595bd9f64e8b787fd7b5d63bbf06
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Mon Aug 2 15:59:13 2010 +0000
-Update for 1.2.4 release.
-
-------------------------------------------------------------------------
-r77 | sam | 2002-11-13 22:11:38 +0000 (Wed, 13 Nov 2002) | 3 lines
-Changed paths:
- M /trunk/debian/changelog
+ Make libdvdcss headers self-sufficient
+
+ This patch adds required #includes to libdvdcss headers so that they can be used
+ without other headers as prerequisites.
+ This leaves out limits.h and stdint.h, for the moment, since they aren't on all systems.
- Updated Debian changelog (though there are no changes in this version
- apart from Win32, so what's the point of building new packages :p)
-
-------------------------------------------------------------------------
-r76 | gbazin | 2002-11-13 21:23:08 +0000 (Wed, 13 Nov 2002) | 3 lines
-Changed paths:
- M /trunk/ChangeLog
-
-
-* ChangeLog: updated changelog.
-
-------------------------------------------------------------------------
-r75 | gbazin | 2002-10-29 18:51:37 +0000 (Tue, 29 Oct 2002) | 4 lines
-Changed paths:
- M /trunk/src/ioctl.c
-
-
-* src/ioctl.c: fixed typo that prevented unencrypted DVDs to work in
- non-administrator mode.
-
-------------------------------------------------------------------------
-r74 | gbazin | 2002-10-19 09:53:33 +0000 (Sat, 19 Oct 2002) | 4 lines
-Changed paths:
- M /trunk/src/device.c
- M /trunk/src/ioctl.h
-
-
-* 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.
-
-------------------------------------------------------------------------
-r73 | sam | 2002-10-18 18:48:59 +0000 (Fri, 18 Oct 2002) | 5 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/device.c
- M /trunk/src/device.h
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
-
- * ./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.
-
-------------------------------------------------------------------------
-r72 | massiot | 2002-10-12 23:02:49 +0000 (Sat, 12 Oct 2002) | 2 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/debian/changelog
- M /trunk/libdvdcss.spec
-
-Updated changelog and release tag.
-
-------------------------------------------------------------------------
-r71 | gbazin | 2002-10-12 12:41:24 +0000 (Sat, 12 Oct 2002) | 4 lines
-Changed paths:
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
-
-
-* 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.
-
-------------------------------------------------------------------------
-r70 | sam | 2002-10-11 10:09:56 +0000 (Fri, 11 Oct 2002) | 2 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/debian/changelog
- M /trunk/libdvdcss.spec
-
- * Updated changelog and package files.
-
-------------------------------------------------------------------------
-r69 | sam | 2002-10-11 10:03:48 +0000 (Fri, 11 Oct 2002) | 6 lines
-Changed paths:
- M /trunk/.cvsignore
- M /trunk/Makefile.am
- D /trunk/NEWS
- M /trunk/bootstrap
- A /trunk/configure.ac
- D /trunk/configure.in
- M /trunk/src/.cvsignore
- M /trunk/src/Makefile.am
- D /trunk/src/config.h.in
-
- * ./configure.ac, ./bootstrap: used libdvbpsi's bootstrap, moved config.h
- to ., renamed configure.in into configure.ac, removed useless files that
- are autogenerated.
- * ./src/Makefile.am: instead of using -no-undefined "only under BeOS" we
- use it "never with MSVC".
-
-------------------------------------------------------------------------
-r68 | massiot | 2002-10-10 22:29:31 +0000 (Thu, 10 Oct 2002) | 2 lines
-Changed paths:
- M /trunk/bootstrap
-
-Exit cleanly in case of error.
-
-------------------------------------------------------------------------
-r67 | massiot | 2002-10-10 21:40:41 +0000 (Thu, 10 Oct 2002) | 4 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/configure.in
- M /trunk/src/config.h.in
- M /trunk/src/css.c
-
-* Bumped up version number to 1.2.3 (soleil !).
-* Updated Changelog.
-* Merged in hh's patch for broken DVD drives/kernel/whatever.
-
-------------------------------------------------------------------------
-r66 | gbazin | 2002-10-10 12:44:28 +0000 (Thu, 10 Oct 2002) | 7 lines
-Changed paths:
- M /trunk/AUTHORS
- M /trunk/src/css.c
- M /trunk/src/device.c
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
-
-
-* 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 OSs :)
-* src/ioctl.c: fixed ioctl_ReadTitleKey which wasn't working on Windows NT/2k/XP.
-Because of this bug, the disc and key methods for key decryption where not working.
-
-------------------------------------------------------------------------
-r65 | sam | 2002-10-07 16:37:15 +0000 (Mon, 07 Oct 2002) | 5 lines
-Changed paths:
- M /trunk/configure.in
- M /trunk/src/Makefile.am
- M /trunk/src/config.h.in
-
- * ./src/Makefile.am: -no-undefined is now only used under BeOS because it
- causes the Win32 compilation to fail.
- * ./configure.in, src/Makefile.am: used AM_CONDITIONAL to conditionally
- build the BSDi stuff.
-
-------------------------------------------------------------------------
-r64 | sam | 2002-08-10 21:27:42 +0000 (Sat, 10 Aug 2002) | 2 lines
-Changed paths:
- M /trunk/src/Makefile.am
-
- * Bumped the revision number... thanks H�kan :-)
-
-------------------------------------------------------------------------
-r63 | sam | 2002-08-10 21:19:55 +0000 (Sat, 10 Aug 2002) | 2 lines
-Changed paths:
- M /trunk/src/css.c
-
- * ./src/css.c: removed useless debug messages on H�kan's advice.
-
-------------------------------------------------------------------------
-r62 | sam | 2002-08-10 20:21:54 +0000 (Sat, 10 Aug 2002) | 2 lines
-Changed paths:
- M /trunk/AUTHORS
- M /trunk/ChangeLog
- M /trunk/debian/changelog
- M /trunk/libdvdcss.spec
- M /trunk/src/libdvdcss.c
-
- * Updated release-related files.
-
-------------------------------------------------------------------------
-r61 | sam | 2002-08-10 17:42:09 +0000 (Sat, 10 Aug 2002) | 3 lines
-Changed paths:
- M /trunk/src/device.c
- M /trunk/src/device.h
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
-
- * ./src/ioctl.c: fixed ReportRPC for Win32.
- * ./src/device.h: removed unneeded exported symbols.
-
-------------------------------------------------------------------------
-r60 | sam | 2002-08-10 14:27:26 +0000 (Sat, 10 Aug 2002) | 4 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/css.h
- M /trunk/src/device.c
- M /trunk/src/device.h
- M /trunk/src/dvdcss/dvdcss.h
- M /trunk/src/error.c
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
- M /trunk/test/csstest.c
-
- * ./src/dvdcss/dvdcss.h: marked deprecated stuff.
- * ./test/csstest.c: more documentation.
- see http://www.videolan.org/libdvdcss/doc/
-
-------------------------------------------------------------------------
-r59 | sam | 2002-08-10 12:56:04 +0000 (Sat, 10 Aug 2002) | 3 lines
-Changed paths:
- M /trunk/.cvsignore
- M /trunk/Makefile.am
- D /trunk/Makefile.in
- D /trunk/aclocal.m4
- D /trunk/config.guess
- D /trunk/config.sub
- D /trunk/configure
- M /trunk/configure.in
- M /trunk/debian/.cvsignore
- D /trunk/debian/Makefile.in
- A /trunk/doc
- A /trunk/doc/.cvsignore
- A /trunk/doc/Makefile.am
- A /trunk/doc/doxygen.cfg
- A /trunk/doc/footer.html
- A /trunk/doc/header.html
- D /trunk/install-sh
- D /trunk/ltmain.sh
- D /trunk/missing
- D /trunk/mkinstalldirs
- M /trunk/src/.cvsignore
- D /trunk/src/Makefile.in
- M /trunk/src/dvdcss/.cvsignore
- D /trunk/src/dvdcss/Makefile.in
- M /trunk/src/libdvdcss.c
- M /trunk/test/.cvsignore
- D /trunk/test/Makefile.in
-
- * ALL: removed autotools files.
- * ./doc/*: added doxygen files.
-
-------------------------------------------------------------------------
-r58 | sam | 2002-08-10 12:21:28 +0000 (Sat, 10 Aug 2002) | 2 lines
-Changed paths:
- M /trunk/src/dvdcss/dvdcss.h
- M /trunk/src/libdvdcss.c
-
- * ./src/libdvdcss.c, ./src/dvdcss/dvdcss.h: documented the API.
-
-------------------------------------------------------------------------
-r57 | sam | 2002-08-09 22:03:34 +0000 (Fri, 09 Aug 2002) | 4 lines
-Changed paths:
- M /trunk/src/css.c
-
- * ./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.
-
-------------------------------------------------------------------------
-r56 | sam | 2002-08-09 14:19:46 +0000 (Fri, 09 Aug 2002) | 3 lines
-Changed paths:
- M /trunk/src/Makefile.am
- M /trunk/src/Makefile.in
-
- * ./src/Makefile.am: tell libtool that libdvdcss does not have undefined
- symbols. Fix for BeOS courtesy of Andrew Bachmann.
-
-------------------------------------------------------------------------
-r55 | sam | 2002-08-09 14:10:43 +0000 (Fri, 09 Aug 2002) | 23 lines
-Changed paths:
- M /trunk/Makefile.in
- M /trunk/aclocal.m4
- M /trunk/configure
- M /trunk/configure.in
- M /trunk/debian/Makefile.in
- M /trunk/src/Makefile.am
- M /trunk/src/Makefile.in
- M /trunk/src/bsdi_ioctl.c
- M /trunk/src/common.h
- M /trunk/src/config.h.in
- M /trunk/src/css.c
- M /trunk/src/css.h
- A /trunk/src/device.c
- A /trunk/src/device.h
- M /trunk/src/dvdcss/Makefile.in
- A /trunk/src/error.c
- M /trunk/src/libdvdcss.c
- M /trunk/src/libdvdcss.h
- M /trunk/test/Makefile.in
- M /trunk/test/csstest.c
-
- * ./src/css.c: when the ReadTitleKey ioctl failed, reopen the device before
- falling back to the title method.
-
- Note: on my drive, this fixes the "ioctl_ReadTitleKey failed" error
- many users have been reporting. Please test!
-
- Note 2: I could not find any other way to reset the drive after a failed
- ReadTitleKey ioctl than closing and opening the device again. If
- I don't do that, read() fails with an Input/output error after a
- while (but not immediately).
-
- * 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.
-
-------------------------------------------------------------------------
-r54 | massiot | 2002-07-23 11:43:58 +0000 (Tue, 23 Jul 2002) | 2 lines
-Changed paths:
- M /trunk/README
-
-Default method is now "key" :p.
-
-------------------------------------------------------------------------
-r53 | sam | 2002-07-16 22:47:40 +0000 (Tue, 16 Jul 2002) | 4 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/Makefile.in
- M /trunk/aclocal.m4
- M /trunk/config.guess
- M /trunk/config.sub
- M /trunk/configure
- M /trunk/configure.in
- M /trunk/debian/Makefile.in
- M /trunk/debian/changelog
- M /trunk/libdvdcss.spec
- M /trunk/ltmain.sh
- M /trunk/src/Makefile.in
- M /trunk/src/css.c
- M /trunk/src/css.h
- M /trunk/src/dvdcss/Makefile.in
- M /trunk/src/libdvdcss.c
- M /trunk/test/Makefile.am
- M /trunk/test/Makefile.in
-
- * ./test/Makefile.am: disabled dvd_region.
- * ./src/css.c: speling fixes.
- * ALL: re-ran bootstrap with more recent autotools.
-
-------------------------------------------------------------------------
-r52 | hjort | 2002-07-14 11:44:57 +0000 (Sun, 14 Jul 2002) | 3 lines
-Changed paths:
- A /trunk/test/dvd_region.c
-
-New utility for querying (and eventualy setting) the region of a DVD drive
-using the ioctl wrappers in libdvdcss.
-
-------------------------------------------------------------------------
-r51 | hjort | 2002-07-12 23:28:42 +0000 (Fri, 12 Jul 2002) | 3 lines
-Changed paths:
- M /trunk/configure.in
- M /trunk/src/bsdi_ioctl.c
-
-Include config.h before testing defines in the BSDi ioctl code. Add a bug
-fix from the author. Remove the now unused parts from configure.in.
-
-------------------------------------------------------------------------
-r50 | hjort | 2002-07-12 21:06:41 +0000 (Fri, 12 Jul 2002) | 3 lines
-Changed paths:
- M /trunk/src/Makefile.am
- M /trunk/src/bsdi_ioctl.c
- M /trunk/test/Makefile.am
-
-Fix so that the bsdi_*.[hc] files make it into the dist tar-ball.
-Correct the include path for the programs in test/.
-
-------------------------------------------------------------------------
-r49 | hjort | 2002-07-01 13:40:33 +0000 (Mon, 01 Jul 2002) | 3 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
-
-Typo fix and fix the linked list code to not drop the list when instering
-at the head, from Adam Jones.
-
-------------------------------------------------------------------------
-r48 | hjort | 2002-07-01 10:36:37 +0000 (Mon, 01 Jul 2002) | 2 lines
-Changed paths:
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
-
-Patch for OS/2 from Alex Strelnikov.
-
-------------------------------------------------------------------------
-r47 | hjort | 2002-07-01 09:59:09 +0000 (Mon, 01 Jul 2002) | 2 lines
-Changed paths:
- M /trunk/src/css.c
-
-Typo fix from Adam Jones.
-
-------------------------------------------------------------------------
-r46 | hjort | 2002-07-01 09:02:25 +0000 (Mon, 01 Jul 2002) | 2 lines
-Changed paths:
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
-
-Getting ReportRPC for WIN32 a bit closer to working.
-
-------------------------------------------------------------------------
-r45 | sam | 2002-06-04 07:10:07 +0000 (Tue, 04 Jun 2002) | 2 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/src/ioctl.c
-
- * ./src/ioctl.c: implemented ioctl_ReportKey1 for HP-UX.
-
-------------------------------------------------------------------------
-r44 | sam | 2002-06-04 07:02:57 +0000 (Tue, 04 Jun 2002) | 2 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/src/libdvdcss.c
-
- * ./src/libdvdcss.c: Win32 compilation fix.
-
-------------------------------------------------------------------------
-r43 | sam | 2002-06-02 16:18:45 +0000 (Sun, 02 Jun 2002) | 2 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/configure
- M /trunk/configure.in
- M /trunk/debian/changelog
- M /trunk/libdvdcss.spec
-
- * ALL: changed version number to 1.2.1.
-
-------------------------------------------------------------------------
-r42 | sam | 2002-06-02 16:14:48 +0000 (Sun, 02 Jun 2002) | 2 lines
-Changed paths:
- M /trunk/AUTHORS
- M /trunk/ChangeLog
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
-
- * ./src/ioctl.c, ./src/ioctl.h: QNX port, courtesy of Pascal Levesque.
-
-------------------------------------------------------------------------
-r41 | sam | 2002-06-02 16:05:34 +0000 (Sun, 02 Jun 2002) | 2 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/src/css.c
-
- * ./src/css.c: applied H�kan's fix for the failure on region mismatch.
-
-------------------------------------------------------------------------
-r40 | sam | 2002-06-02 15:54:10 +0000 (Sun, 02 Jun 2002) | 3 lines
-Changed paths:
- M /trunk/.cvsignore
- M /trunk/ChangeLog
- M /trunk/aclocal.m4
- M /trunk/configure
- M /trunk/libdvdcss.spec
- M /trunk/ltmain.sh
- M /trunk/src/libdvdcss.c
-
- * ALL: switched to libtool 1.4.2a.
- * ./src/libdvdcss.c: fixed an uninitialized variable.
-
-------------------------------------------------------------------------
-r39 | sam | 2002-05-26 14:22:23 +0000 (Sun, 26 May 2002) | 2 lines
-Changed paths:
- M /trunk/src/dvdcss/dvdcss.h
+commit 077025bf61d99c66bab6cea4e89ed85c749e126b
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Mon Aug 2 15:41:14 2010 +0000
- * ./src/dvdcss/dvdcss.h: C++ compliant public header.
+ Add multiple inclusion guards to header files
+
+ Most header files in libdvdcss lack multiple inclusion guards, although they are
+ a sensible thing to have for header files. This adds them where currently missing.
-------------------------------------------------------------------------
-r38 | sam | 2002-05-20 17:58:20 +0000 (Mon, 20 May 2002) | 4 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/configure
- M /trunk/configure.in
- M /trunk/debian/changelog
- M /trunk/libdvdcss.spec
- D /trunk/libtool
+commit bdd3f4c9571ce12e97a3fb35ceff80b26648aa35
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Mon Aug 2 15:38:08 2010 +0000
- * Everything should be ready for 1.2.0.
- * Updated ChangeLog.
- * Removed libtool. It seems to be created automatically anyway.
+ Use filename as multiple inclusion guard
+
+ For some reason bsdi_dvd.h does not use the (full) filename as multiple
+ inclusion guard.
-------------------------------------------------------------------------
-r37 | hjort | 2002-05-16 20:40:54 +0000 (Thu, 16 May 2002) | 4 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
+commit fa00691e5b3132ce622f52587d3008fa5d4ec3f8
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Mon Aug 2 14:04:16 2010 +0000
-New function _dvdcss_use_ioctls. Avoid using the ioctl calls when
-they have no chans or working, this in turn avoids a spurious warning
-when they fail.
+ Shut up doxygen run
+
+ Doxygen is terribly verbose by default and spams the console with useless by
+ the metric ton. This patch makes its output more terse and thus more sensible.
-------------------------------------------------------------------------
-r36 | hjort | 2002-05-16 20:12:04 +0000 (Thu, 16 May 2002) | 2 lines
-Changed paths:
- M /trunk/src/css.c
+commit 034d9293bd0a87e13cae9163467c44d985422749
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date: Mon May 10 10:03:06 2010 +0000
-Update error message.
+ Try other methods also if GetBusKey fails instead of failing completely
-------------------------------------------------------------------------
-r35 | hjort | 2002-05-16 12:10:29 +0000 (Thu, 16 May 2002) | 2 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
+commit 4d5c816be5424993e41a7cac52967f42907e6128
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Sep 2 22:07:32 2009 +0000
-Default to 'key', rather than 'title', method.
+ Remove the RPC-II sanity check and only issue a warning. Capable drives are
+ far too common.
-------------------------------------------------------------------------
-r34 | sam | 2002-05-15 20:27:04 +0000 (Wed, 15 May 2002) | 2 lines
-Changed paths:
- M /trunk/libdvdcss.spec
+commit badd91978ce04f611601e04fc17a3b14269e6362
+Author: KO Myung-Hun <komh@chollian.net>
+Date: Wed Sep 2 22:01:07 2009 +0000
- * ./libdvdcss.spec: enhancements by Mandrakesoft.
+ Use 64-bit IO and binary mode on OS/2.
-------------------------------------------------------------------------
-r33 | hjort | 2002-05-13 21:22:22 +0000 (Mon, 13 May 2002) | 3 lines
-Changed paths:
- M /trunk/src/libdvdcss.c
+commit 25ebde2b7dce3735df7a279884105bf050633ec1
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed May 13 21:28:53 2009 +0000
-Correct serious bug in dvdcss_read for titles with all zero key (a unencrypted
-title on a CSS protected disc).
+ Prepend 0x to the region mask for clarity.
-------------------------------------------------------------------------
-r32 | jlj | 2002-05-05 22:21:51 +0000 (Sun, 05 May 2002) | 3 lines
-Changed paths:
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
+commit 6725efb8bae177132071298d72b387193fb7efaf
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed May 13 21:00:31 2009 +0000
- * ./src/ioctl.[ch]: Darwin changes: Cleaned up the code, fixed
- ReadTitleKey, and implemented ReportRPC.
+ Duh, typo in the RPC-II sanity check.
-------------------------------------------------------------------------
-r31 | gbazin | 2002-04-26 20:47:08 +0000 (Fri, 26 Apr 2002) | 4 lines
-Changed paths:
- M /trunk/INSTALL
+commit 6cd5094c9d8aef3e27dcf6783a818356dd79b83e
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed May 13 20:54:40 2009 +0000
+ Add support for the DVDCSS_IGNORE_RPC environment variable in order to
+ bypass our new RPC-II sanity check.
+commit e02b6b39da186c9ff25bcb093820f27fe105c6be
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed May 13 20:54:39 2009 +0000
-* updated win32 compilation instructions.
+ Add a debug message in the copyright information retrieval.
-------------------------------------------------------------------------
-r30 | sam | 2002-04-06 01:27:43 +0000 (Sat, 06 Apr 2002) | 3 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/configure
- M /trunk/configure.in
- M /trunk/debian/changelog
- M /trunk/libdvdcss.spec
+commit f6ecade747d6cdd63df205186cb27de2af9f3c9f
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed May 13 20:54:37 2009 +0000
+ Check drive's RPC status before trying to access a scrambled disc. Patch
+ provided by Ori Avtalion <ori@avtalion.name> and refactored by Sam Hocevar
+ <sam@hocevar.net>.
- * libdvdcss-1.1.1 release.
+commit a0f00ca3209ce13e38872f43010badbb6e568f83
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed May 13 20:54:35 2009 +0000
-------------------------------------------------------------------------
-r29 | sam | 2002-04-06 01:11:05 +0000 (Sat, 06 Apr 2002) | 3 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/src/ioctl.c
+ Fix a potential format string crash.
+commit a898069bcd19498a0fea789943c423a2d0f61dc0
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Feb 9 00:45:44 2009 +0000
- * ./src/ioctl.c: OpenBSD compile fix. Thanks to ex0dus on #videolan.
+ Remove occurrences of "this program" from the license headers.
-------------------------------------------------------------------------
-r28 | gbazin | 2002-04-05 00:26:25 +0000 (Fri, 05 Apr 2002) | 5 lines
-Changed paths:
- M /trunk/INSTALL
- M /trunk/src/css.c
+commit df8ce721b3c2fbd53107d2829f3bf50dadb8ee22
+Author: KO Myung-Hun <komh@chollian.net>
+Date: Mon Feb 9 00:45:33 2009 +0000
+ Adding OS/2 support,
+commit e63008a10b3f48cc13820c111f463015e2fcd82e
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Mon Feb 9 00:03:47 2009 +0000
-* updated INSTALL doc for the win32 build.
-* added small win32 specific error message that was also in the vlc tree.
+ Update the FSF address.
-------------------------------------------------------------------------
-r27 | gbazin | 2002-04-04 23:44:20 +0000 (Thu, 04 Apr 2002) | 10 lines
-Changed paths:
- M /trunk/src/ioctl.c
- M /trunk/src/libdvdcss.c
+commit bd002e7573d719a9aa4f0aa1df0bcac2a89eb9f7
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Aug 29 19:00:14 2008 +0000
+ * Bump version number to 1.2.10.
+ * Update NEWS and ChangeLog.
+commit 096408a09e1ab227b4af5e09dc4b40c0e61845fe
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Aug 29 18:57:52 2008 +0000
-* added two patches that have been forgot from the vlc tree.
+ * src/Makefile.am: bump the library minor version since we ship an extra
+ symbole (dvdcss_is_scrambled).
- 1- Under NT/2K/XP try to open the dvd device in read only mode if we don't
- have right access. With only read access we can't use ioctls but if the
- disc has already been authenticated, then we can decrypt it with the
- TITLE method.
- 2- Small compilation fix for msvc.
+commit 17d92492cd2e7148060c3b0ac50f98a1ad4e17b8
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Aug 29 18:57:51 2008 +0000
-------------------------------------------------------------------------
-r26 | sam | 2002-04-04 14:21:25 +0000 (Thu, 04 Apr 2002) | 3 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/src/libdvdcss.h
+ * Ship a .pc file with the library.
+commit 4b86763e9c0f9ae871b901b222396cae5570f590
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Aug 29 18:57:48 2008 +0000
- * ./src/libdvdcss.h: IRIX compile fix by Michael Pruett <michael@68k.org>.
+ * Update copyeight information here and there.
-------------------------------------------------------------------------
-r25 | sam | 2002-04-04 01:26:54 +0000 (Thu, 04 Apr 2002) | 4 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/configure
- M /trunk/configure.in
- M /trunk/src/config.h.in
- M /trunk/src/ioctl.c
+commit c909158f1f7064e60857e62d2c49e0d242f06db8
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Aug 29 18:57:45 2008 +0000
+ * bootstrap: update bootstrapping script.
+ * configure.ac: hide autotools files in .auto/.
+ * .gitignore: add an ignore file for git-svn users.
- * ./configure.in: BeOS bug fix. I'm so lame.
- * ./src/ioctl.c: refuse to build if DVD ioctls weren't found.
+commit b925ffff053d2fc5b0f1cb8ef41f64ecf6182ec3
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Fri Aug 29 18:57:42 2008 +0000
-------------------------------------------------------------------------
-r24 | sam | 2002-04-03 23:34:30 +0000 (Wed, 03 Apr 2002) | 3 lines
-Changed paths:
- M /trunk/test/.cvsignore
+ * libdvdcss.c: ignore failure to get the disc key in case we have a
+ chance to decrypt anyway afterwards.
+commit 502c6dbe21c613bb6d5b9c555df5aebd481b29d9
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sun Jul 13 12:52:22 2008 +0000
- * Forgot to change test/.cvsignore ...
+ * Convert all source code to UTF-8, or Doxygen will fail to generate proper
+ LaTeX documents.
-------------------------------------------------------------------------
-r23 | sam | 2002-04-03 23:33:57 +0000 (Wed, 03 Apr 2002) | 6 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/test/Makefile.am
- M /trunk/test/Makefile.in
- A /trunk/test/csstest.c
- D /trunk/test/test.c
+commit da76746bcdd3620202cb68d5d438509f4d34f6c1
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sun Jul 13 12:52:19 2008 +0000
+ * Update outdated Doxygen configuration file using doxygen -u.
- * ./test/csstest.c: renamed test.c to csstest.c.
+commit 0aa362efa587ce310ec81fa79bc0442b4eaceb5e
+Author: Kirill Belokurov <kirill.belokurov@gmail.com>
+Date: Sat Jul 12 12:19:57 2008 +0000
- I hereby declare libdvdcss 1.1.0 ready to ship; it was successfully tested
- on Linux, FreeBSD, MacOS X and BeOS, and compiles on Solaris.
+ * src/libdvdcss.c: initialize p_disc_key in the case when DVD is encrypted
+ but no ioctl is available ;
+ * src/css.c: initialize p_disc_key in the case when key decryption fails.
-------------------------------------------------------------------------
-r22 | jlj | 2002-04-03 23:02:20 +0000 (Wed, 03 Apr 2002) | 3 lines
-Changed paths:
- M /trunk/src/ioctl.c
-
-
- * ./src/ioctl.c: Fixed a Darwin typo I recently introduced.
-
-------------------------------------------------------------------------
-r21 | sam | 2002-04-03 22:31:42 +0000 (Wed, 03 Apr 2002) | 3 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/Makefile.in
- M /trunk/configure
- M /trunk/debian/Makefile.in
- M /trunk/src/Makefile.in
- M /trunk/src/dvdcss/Makefile.in
- M /trunk/test/Makefile.in
-
-
- * Run ./bootstrap.
-
-------------------------------------------------------------------------
-r20 | jlj | 2002-04-03 22:17:00 +0000 (Wed, 03 Apr 2002) | 3 lines
-Changed paths:
- M /trunk/configure.in
-
-
- * ./configure.in: Darwin compile fix (added -no-cpp-precomp)
-
-------------------------------------------------------------------------
-r19 | sam | 2002-04-03 21:31:52 +0000 (Wed, 03 Apr 2002) | 5 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/configure
- M /trunk/debian/changelog
- M /trunk/libdvdcss.spec
- M /trunk/missing
-
-
- * ./ChangeLog: everything should be ready for the 1.1.0 release.
- * ./libdvdcss.spec: updated specfile for RPM generation.
- * ./missing: commited libtool's latest version of this file.
-
-------------------------------------------------------------------------
-r18 | jlj | 2002-04-03 21:25:13 +0000 (Wed, 03 Apr 2002) | 3 lines
-Changed paths:
- M /trunk/configure.in
- M /trunk/src/config.h.in
- M /trunk/src/ioctl.c
-
-
- * Fixed a Darwin define problem.
-
-------------------------------------------------------------------------
-r17 | sam | 2002-04-03 15:19:22 +0000 (Wed, 03 Apr 2002) | 5 lines
-Changed paths:
- M /trunk/ChangeLog
- M /trunk/Makefile.am
- M /trunk/config.guess
- M /trunk/config.sub
- M /trunk/configure
- M /trunk/configure.in
- M /trunk/src/Makefile.am
- M /trunk/src/Makefile.in
- M /trunk/src/css.c
- A /trunk/src/dvdcss
- A /trunk/src/dvdcss/.cvsignore
- A /trunk/src/dvdcss/Makefile.am
- A /trunk/src/dvdcss/Makefile.in
- A /trunk/src/dvdcss/dvdcss.h
- D /trunk/src/dvdcss.h
- M /trunk/src/libdvdcss.c
- M /trunk/test/Makefile.am
- M /trunk/test/Makefile.in
- M /trunk/test/test.c
-
-
- * ./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.
-
-------------------------------------------------------------------------
-r16 | sam | 2002-04-03 06:12:50 +0000 (Wed, 03 Apr 2002) | 9 lines
-Changed paths:
- M /trunk/AUTHORS
- M /trunk/ChangeLog
- M /trunk/Makefile.am
- M /trunk/Makefile.in
- M /trunk/configure
- M /trunk/configure.in
- M /trunk/debian/.cvsignore
- A /trunk/debian/Makefile.am
- A /trunk/debian/Makefile.in
- M /trunk/debian/changelog
- M /trunk/debian/rules
- M /trunk/libtool
- M /trunk/src/Makefile.am
- M /trunk/src/Makefile.in
- M /trunk/src/config.h.in
- M /trunk/src/css.c
- M /trunk/src/dvdcss.h
- M /trunk/src/libdvdcss.c
- M /trunk/test/Makefile.in
- M /trunk/test/test.c
-
-
- * ./ChangeLog: updated changelog.
- * ./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.
-
-------------------------------------------------------------------------
-r15 | hjort | 2002-03-09 17:57:53 +0000 (Sat, 09 Mar 2002) | 7 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/css.h
- M /trunk/src/libdvdcss.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. Added another crack method, it's disabled for
-now though. Lowered some limits on the current 'weak' test. Added more
-comments.
-
-------------------------------------------------------------------------
-r14 | hjort | 2002-03-09 17:35:49 +0000 (Sat, 09 Mar 2002) | 3 lines
-Changed paths:
- M /trunk/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.
-
-------------------------------------------------------------------------
-r13 | hjort | 2002-03-09 17:24:28 +0000 (Sat, 09 Mar 2002) | 2 lines
-Changed paths:
- M /trunk/test/test.c
-
-Tell libdvdcss to get the key for the block before we decrypt it.
-
-------------------------------------------------------------------------
-r12 | hjort | 2002-03-09 17:23:05 +0000 (Sat, 09 Mar 2002) | 2 lines
-Changed paths:
- M /trunk/test/Makefile.am
-
-Don't link to libdl.
-
-------------------------------------------------------------------------
-r11 | sam | 2002-03-09 17:16:44 +0000 (Sat, 09 Mar 2002) | 3 lines
-Changed paths:
- M /trunk/configure
- M /trunk/configure.in
- M /trunk/test/test.c
-
-
- * Fixed compilation of test/test.c.
-
-------------------------------------------------------------------------
-r10 | sam | 2002-03-06 00:06:17 +0000 (Wed, 06 Mar 2002) | 3 lines
-Changed paths:
- M /trunk/test/.cvsignore
- A /trunk/test/test.c
-
-
- * Updated misc control files and added the sample program.
-
-------------------------------------------------------------------------
-r9 | sam | 2002-03-06 00:04:41 +0000 (Wed, 06 Mar 2002) | 2 lines
-Changed paths:
- M /trunk/Makefile.am
- M /trunk/Makefile.in
- M /trunk/aclocal.m4
- M /trunk/config.guess
- M /trunk/config.sub
- M /trunk/configure
- M /trunk/configure.in
- M /trunk/debian/changelog
- D /trunk/debian/libdvdcss2.shlibs
- M /trunk/libtool
- M /trunk/src/Makefile.am
- M /trunk/src/Makefile.in
- M /trunk/src/config.h.in
- M /trunk/test/Makefile.am
- M /trunk/test/Makefile.in
-
-*** empty log message ***
-
-------------------------------------------------------------------------
-r8 | hjort | 2002-02-25 18:21:57 +0000 (Mon, 25 Feb 2002) | 2 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/css.h
-
-Cleanup some formating, indentation and types and add a small comment.
-
-------------------------------------------------------------------------
-r7 | hjort | 2002-02-03 14:54:53 +0000 (Sun, 03 Feb 2002) | 2 lines
-Changed paths:
- M /trunk/src/ioctl.c
- M /trunk/src/ioctl.h
-
-Add the WIN32 fix to GetTitleKey from the vlc/extra branch.
-
-------------------------------------------------------------------------
-r6 | hjort | 2002-02-03 14:53:10 +0000 (Sun, 03 Feb 2002) | 2 lines
-Changed paths:
- M /trunk/configure.in
-
-Do check for the unistd.h header file.
-
-------------------------------------------------------------------------
-r5 | hjort | 2002-01-20 17:04:54 +0000 (Sun, 20 Jan 2002) | 7 lines
-Changed paths:
- M /trunk/src/css.c
- M /trunk/src/css.h
-
-Make CSSAuth more rubust, should now also work with drives that are not 100%
-compliant to the SFF-8090 standard. AGID invalidation should now work,
-allowing us to recover from hung / failed authentications. Corrected
-CSSGetASF, it does not take an AGID argument. Move several data structures
-from the dvdcss handle to local variables in CSSAuth. Remove CSSAuth as a
-externaly visible function in css.c.
-
-------------------------------------------------------------------------
-r4 | sam | 2001-12-22 00:52:46 +0000 (Sat, 22 Dec 2001) | 3 lines
-Changed paths:
- M /trunk/configure
- M /trunk/configure.in
- M /trunk/libtool
- A /trunk/src/.cvsignore
- M /trunk/src/config.h.in
- M /trunk/src/libdvdcss.c
-
-
- * Win32 compilation fix.
-
-------------------------------------------------------------------------
-r3 | sam | 2001-12-22 00:26:17 +0000 (Sat, 22 Dec 2001) | 3 lines
-Changed paths:
- M /trunk/configure
- M /trunk/configure.in
- M /trunk/src/config.h.in
-
-
- * Attempt at fixing the Solaris port.
-
-------------------------------------------------------------------------
-r2 | sam | 2001-12-22 00:10:31 +0000 (Sat, 22 Dec 2001) | 3 lines
-Changed paths:
- M /trunk/.cvsignore
- A /trunk/Makefile.in
- M /trunk/configure
- M /trunk/configure.in
- A /trunk/src/Makefile.in
- M /trunk/test/.cvsignore
- A /trunk/test/Makefile.in
-
-
- * Forgot Makefile.in files.
-
-------------------------------------------------------------------------
-r1 | sam | 2001-12-22 00:08:13 +0000 (Sat, 22 Dec 2001) | 3 lines
-Changed paths:
- A /trunk
- A /trunk/.cvsignore
- A /trunk/AUTHORS
- A /trunk/COPYING
- A /trunk/ChangeLog
- A /trunk/INSTALL
- A /trunk/Makefile.am
- A /trunk/NEWS
- A /trunk/README
- A /trunk/aclocal.m4
- A /trunk/bootstrap
- A /trunk/config.guess
- A /trunk/config.sub
- A /trunk/configure
- A /trunk/configure.in
- A /trunk/debian
- A /trunk/debian/.cvsignore
- A /trunk/debian/changelog
- A /trunk/debian/control
- A /trunk/debian/libdvdcss2-dev.dirs
- A /trunk/debian/libdvdcss2.copyright
- A /trunk/debian/libdvdcss2.dirs
- A /trunk/debian/libdvdcss2.shlibs
- A /trunk/debian/rules
- A /trunk/install-sh
- A /trunk/libdvdcss.spec
- A /trunk/libtool
- A /trunk/ltmain.sh
- A /trunk/missing
- A /trunk/mkinstalldirs
- A /trunk/src
- A /trunk/src/Makefile.am
- A /trunk/src/bsdi_dvd.h
- A /trunk/src/bsdi_ioctl.c
- A /trunk/src/common.h
- A /trunk/src/config.h.in
- A /trunk/src/css.c
- A /trunk/src/css.h
- A /trunk/src/csstables.h
- A /trunk/src/dvdcss.h
- A /trunk/src/ioctl.c
- A /trunk/src/ioctl.h
- A /trunk/src/libdvdcss.c
- A /trunk/src/libdvdcss.h
- A /trunk/test
- A /trunk/test/.cvsignore
- A /trunk/test/Makefile.am
-
-
- * Initial commit. Hope it'll work.
-
-------------------------------------------------------------------------
+commit b3ef727c420cdd6ddb54c57f8c02b5871c3b36db
+Author: Olivier Rolland <billl@users.sourceforge.net>
+Date: Fri Jul 11 17:23:25 2008 +0000
+
+ * src/libdvdcss.c: add dvdcss_is_scrambled() function,
+ Olivier Rolland.
+
+commit 1c1f814cb73f791e4dc997a4b66f81a0b2f0beaf
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Mon Jan 7 16:48:35 2008 +0000
+
+ Nicer comment
+
+commit 99febf7d3f6b71751a42930a3a01364c91e3fd83
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Mon Sep 17 12:10:20 2007 +0000
+
+ Identifiers starting with two underscores or an underscore and capital letters are reserved for the system in C.
+
+commit 73a1d090593af7bdb3756abf80e2bb6950635a15
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Mon Sep 17 12:07:41 2007 +0000
+
+ This patch removes the following warning when compiling MPlayer:
+
+ libdvdcss.c:145: warning: redundant redeclaration of 'dvdcss_interface_2'
+ dvdcss/dvdcss.h:70: warning: previous declaration of 'dvdcss_interface_2' was here
+
+commit e0eb585a2591c45c3198c97a8fbd2ae1e4e85eea
+Author: Ivan Kalvachev <ikalvachev@gmail.com>
+Date: Sun Jul 29 10:14:53 2007 +0000
+
+ Fix crash on some DVDs
+ sprintf(tmp,"%.02x",(char)0xef); would print "ffffffef" instead of "ef"
+ in this case this leads to local array buffer overflow and hard to trace stack corruption.
+ The quick, easy & dirty solution is to use (unsigned char) or (uint8_t)
+
+commit 191f02b68793cff37fa3908098208d9a5421e52b
+Author: Christophe Mutricy <xtophe@videolan.org>
+Date: Sun Jul 15 22:23:39 2007 +0000
+
+ support automake 1.10
+
+commit 2669f3af06e1f1eb47e8f26232ae48b060dd0a3b
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Tue Nov 7 16:27:40 2006 +0000
+
+ fix cygwin compilation regarding the lseek change
+
+commit ba022acfaa68203c2e17cdf7f14f51dc0ddadf56
+Author: Diego Biurrun <diego@biurrun.de>
+Date: Wed Nov 1 14:31:51 2006 +0000
+
+ fix compilation on MINGW
+ (lseek vs lseek64 typo)
+
+commit 495740089fc87dc105166f3b4fcc7cd5e27cb11d
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Sep 19 23:03:53 2006 +0000
+
+ * Fixed spelling in documentation. Also testing buildbot.
+
+commit 0602e82b4aba7da791a9eaaeb3e18bc34b0a8e51
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Sep 19 22:28:06 2006 +0000
+
+ * Fix warnings due to signed / unsigned pointer targets.
+
+commit 72c5201bb08792fd0eb93e92be487b2afa2d13bd
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Sep 19 22:27:46 2006 +0000
+
+ * Update bootstrap script.
+
+commit e5208cfe7eb1e5f1dd38f5e4ed1d72a8f42a9cc9
+Author: Steve Lhomme <robux@videolan.org>
+Date: Wed Sep 13 13:12:23 2006 +0000
+
+ fallback to USERPROFILE environment variable for caching CSS keys when
+ HOME is not set (for MinGW builds running outside of MinGW).
+
+commit 93ad73f7db62a40c2fa97298004d0509ddb8db6c
+Author: Steve Lhomme <robux@videolan.org>
+Date: Wed Sep 13 13:11:25 2006 +0000
+
+ now accepts X:\ as a device name, as well as X:
+
+commit 4b0fa47cb1e6e860bdf80015010869033ead73e1
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Mar 30 14:31:12 2006 +0000
+
+ * Oops, forgot to commit configure.ac when removing the debian/ directory.
+
+commit 6d34e8e62d05d7d82583280e4f628799bf58d127
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Mar 30 14:30:43 2006 +0000
+
+ * Removed the debian/ directory. Debian packaging is now handled
+ separately, in the pkg-multimedia repository.
+
+commit bbd221a848a91ad4ff4768daf7939f155aa0a1e4
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Jan 26 20:48:06 2006 +0000
+
+ * src/device.c: reduced code duplication and fixed a pointer/integer
+ confusion in the OS X drive detection.
+
+commit 3ff0475329552066207a5b83ae014ddffc7b86a4
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Nov 9 22:12:32 2005 +0000
+
+ * src/common.h: do not override lseek on Cygwin, only on mingw32. Cygwin
+ provides its own 64-bit offset lseek.
+
+commit 2094820645b8689a700c64ed68b1c92f821e68a8
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Oct 26 16:58:08 2005 +0000
+
+ * debian/control: build-depend on tetex-extra (needed by doxygen).
+
+commit 1f2c5c1fc04d0caa3e2b6fb36047bd99251a5a9f
+Author: Steve Lhomme <robux@videolan.org>
+Date: Sun Sep 4 08:49:23 2005 +0000
+
+ * libdvdcss: more fixes for DLL building
+
+commit cd9be950885c2fd5b9086c9d39bfd54bf1826511
+Author: Steve Lhomme <robux@videolan.org>
+Date: Sun Sep 4 08:31:58 2005 +0000
+
+ * libdvdcss: the current version is 1.2.9
+
+commit 45f037d4544409de22d6534d9b9c0016863c2029
+Author: Steve Lhomme <robux@videolan.org>
+Date: Sun Sep 4 08:31:26 2005 +0000
+
+ * libdvdcss: MSVC7 compilation fixes (shouldn't break mingw32)
+
+commit 618d5b8125a10c9a7e584a15f2cfac4ea12c7a7c
+Author: Steve Lhomme <robux@videolan.org>
+Date: Sun Sep 4 08:25:26 2005 +0000
+
+ * libdvdcss: MSVC7 compilation fixes (shouldn't break mingw32)
+
+commit fb0405ccb37a2f9bf9e78e734e15332013325c42
+Author: Steve Lhomme <robux@videolan.org>
+Date: Sun Sep 4 07:54:41 2005 +0000
+
+ * libdvdcss: oops mismatch #ifdef
+
+commit d1b4617cddd389a4dd58c11d63d65ed9dfca71c8
+Author: Steve Lhomme <robux@videolan.org>
+Date: Sun Sep 4 07:43:15 2005 +0000
+
+ * libdvdcss: set EOL style in SVN
+
+commit c3f7706729224b5c7affefac22af2876e0cb2cc3
+Author: Steve Lhomme <robux@videolan.org>
+Date: Sun Sep 4 07:39:37 2005 +0000
+
+ * libdvdcss: better DLL/library difference
+
+commit a79d41d0732836555996d91bd254faf84492b783
+Author: Steve Lhomme <robux@videolan.org>
+Date: Sun Sep 4 07:36:01 2005 +0000
+
+ * libdvdcss: allow building DLL exports
+
+commit 6e2d2c27f4569c38e4660f6285aa693be5e175e4
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Sep 3 13:17:55 2005 +0000
+
+ * configure.ac:
+ documentation build.
+ * test doc: added missing svn:ignore entries.
+
+commit c143e1462c9385bfcf328620987232051bb47ea5
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Thu Sep 1 17:12:42 2005 +0000
+
+ * Revert [181] since it breaks on some OS X versions.
+
+commit a6022a7fecf49abfb84e9c7b878bcad2d0893c48
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Thu Sep 1 12:40:25 2005 +0000
+
+ * bootstrap: Use libtoolize instead of glibtoolize when it is available
+ because libtool under OS X sucks.
+
+commit 02f6ff7dbba02695e244ab47e732f19d32c8071f
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Wed Aug 31 19:07:00 2005 +0000
+
+ * src/device.c: Under Windows remove the trailing backslash.
+
+commit 1a0bb73f345c8a6e652b4c04ef9ea80fb870d4ea
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Aug 30 10:20:18 2005 +0000
+
+ * configure.ac: forward -framework options to the linker.
+
+commit a985b4c89b17af19910e3972759f9a2c5c3a67bb
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Tue Aug 30 09:48:19 2005 +0000
+
+ * src/device.c: Fixed compilation under Darwin.
+
+commit 3b1e03fddcdc6bf40e472dd491fbb241b7dc6463
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Aug 29 22:25:20 2005 +0000
+
+ * src/device.c: tried to port the device autodetection to OS X.
+
+commit 13b4e10ccb98348e3e4b170373d74fbc062d2a6d
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Aug 29 22:02:55 2005 +0000
+
+ * src/device.c: if the target is the empty string, attempt to autodetect
+ the DVD drive instead of giving up.
+
+commit 0c4fd16c0e19b66ed0f3138fb2ceb8e063c8e8ad
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Aug 23 16:15:38 2005 +0000
+
+ * doc/Makefile.am: fixed build in a separate directory.
+ of Bernard Leak with a few additions.
+
+commit 3d721bb2323c99bb2f01d485d9b1e3e16eb1f4dd
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jul 11 12:32:57 2005 +0000
+
+ * Updated ChangeLog.
+
+commit a612b01c8e14583bb590a8bf32fe20418f68ec46
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jul 11 12:31:58 2005 +0000
+
+ * src/Makefile.am: bumped libtool version information.
+
+commit 3c807df5278e83ebba7522b30d21f1d22cf88d02
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jul 11 12:25:18 2005 +0000
+
+ * debian/*: updated Debian packaging information.
+
+commit 54d659860270fef27cffd5d76a13abb5a5a7542e
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jul 11 12:23:07 2005 +0000
+
+ * src/css.c: grmbl, compile fix.
+
+commit aff6ddcdebafea8c085f280808a732f1f1b76ec3
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Mon Jul 11 12:15:10 2005 +0000
+
+ * Bumped up version number to 1.2.9.
+
+commit f0e89dcf84cfae8cd6029b42d64a7f347fb02636
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jul 11 12:10:43 2005 +0000
+
+ * src/css.c: reworked my verbosity patch to fix a compilation issue.
+
+commit 1c7a44d2526fffcab4aef1376284bf80b53fb652
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jul 11 11:58:58 2005 +0000
+
+ * src/ioctl.c: under Solaris, use libsmedia for ioctls when available. Code
+ reworked from a
+
+commit cdd38de0e1113e141cd1988c7dfd43f9ee7f7a55
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jul 11 11:41:15 2005 +0000
+
+ * src/bsdi_ioctl.c: use memset instead of bzero.
+ MPlayer team.
+
+commit 30c2da59e16b6acc6afb42549b6dc799aad1b94a
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jul 11 11:32:33 2005 +0000
+
+ * src/device.c src/ioctl.h: cosmetic fix that uses real Win32 types for
+ dynamically loaded functions and gets rid of lvalue casts.
+
+commit 550db7cd68db23d12a21ce1512a692e9a7e7c882
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jul 11 11:25:47 2005 +0000
+
+ * src/css.c: be slightly more verbose in which keys we manipulate.
+
+commit 59e410e2c02b6f7c3c13c892401c48b1fefd63ca
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jul 11 11:22:33 2005 +0000
+
+ * bootstrap: allow to bootstrap with aclocal/automake version 1.9.
+
+commit 933f36763e17753b5ba1fefbe24620025852de7b
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Thu Sep 2 12:17:13 2004 +0000
+
+ * src/common.h: use lseeki64 for file seeking on win32 (works above the 2.1G boundary).
+
+commit b077da2918b1f24352dda95e92ee477359413345
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Aug 13 13:53:27 2004 +0000
+
+ * src/css.c:
+ + Save the cached key as ASCII in hexadecimal form.
+ + Overwrite cached files if the data was invalid.
+
+commit 2f4e0edf3179a52f6f287188202c3cf68a9b61a4
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Aug 13 13:40:44 2004 +0000
+
+ * src/libdvdcss.c:
+ + Recreate the cache dir information on each launch, in case the
+ information it contains ever changes.
+
+commit e33338ed892251f4b5f6fdc09662fe0a522f193a
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Aug 11 23:26:35 2004 +0000
+
+ * Don't put autotools/ under revision control.
+
+commit 9b1b0c2ee2b8d8fdf04a41f97c812e192a71bc64
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Aug 11 23:24:54 2004 +0000
+
+ * Don't put autotools/ under revision control.
+
+commit b3ab4e05fb469051f1f15d4deff3e61a06c2f2b0
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Aug 11 23:04:39 2004 +0000
+
+ * libdvdcss.spec: updated Red Hat rules for RH9.
+
+commit 5078a9cba248307a85cf3ba54590e6e3e20697c4
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Aug 11 22:59:42 2004 +0000
+
+ * src/libdvdcss.c:
+ + Support for cache directory tags, as proposed on
+ http://www.brynosaurus.com/cachedir/spec.html .
+
+commit 8b3ebecc097066cb94161c4427a6d76f3499c8da
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Aug 11 22:15:30 2004 +0000
+
+ * src/libdvdcss.c:
+ + Append the disc key to the cache directory name to avoid issues with
+ identical discs which have different encryption keys, thanks to Sven
+ Heithecker.
+ + Use - instead of # as a separator in the cache filename.
+
+commit c2a2a265ee490a9a59bed41d31cf65e5e23c4b82
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jul 5 09:17:20 2004 +0000
+
+ * bootstrap: fixed a syntax error.
+
+commit 0e8e26de1bab11ea514dea089f0a384983c27853
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jul 5 09:15:35 2004 +0000
+
+ * bootstrap:
+ + Run libtoolize before aclocal.
+ + Support automake 1.8.
+
+commit b5b08eea25b41a9cee3c1dbef2b949c92c4d2e11
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Feb 24 15:47:00 2004 +0000
+
+ * Added proper SVN keywords to files and directories (for $Id and ignores).
+
+commit f446439d00aa005e23a9b76f9ea63db4a050b3fe
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Dec 11 15:13:40 2003 +0000
+
+ * doc/doxygen.cfg: Updated doxygen configuration.
+ * doc/.cvsignore: Ignore stamp files.
+
+commit 1487a6073ca8fc2d5a068ebc83a754979057496a
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Dec 11 15:12:42 2003 +0000
+
+ * src/device.c:
+ + Store the off_t values for seek and read in a temporary variable to
+ work around a strange gentoo gcc behaviour as seen here:
+ http://www.via.ecp.fr/via/ml/libdvdcss-devel/200312/msg00000.html
+
+commit 7a98f74594c310b793d7e855931b5f30ec3cbf58
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Nov 26 20:16:38 2003 +0000
+
+ * libdvdcss.spec: Fixed a syntax error (#1488).
+
+commit 63e441f9c4396f7109586ca25765dc39dd7bdb3e
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Nov 6 10:12:38 2003 +0000
+
+ * bootstrap: remove autom4te.cache before running autoconf
+
+commit e3a18cd7c55a261796bfab29845852481f7a08e5
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Sep 15 17:12:46 2003 +0000
+
+ * libdvdcss.c: Added more debug messages.
+
+commit eeaf7ef062e799d49c8d56db3c7938acfa81e8ce
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Sep 9 13:17:24 2003 +0000
+
+ * src/css.c, src/device.c: more meaningful error messages.
+
+commit 9ae8f9d21ccad4155c7d379e071b04cb9712041b
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Sep 9 12:32:40 2003 +0000
+
+ * configure.ac: check for doxygen and latex to build documentation.
+ * doc/Makefile.am: conditionally build documentation.
+ * debian/*: use debian/compat instead of DH_COMPAT.
+
+commit 01e2c942ccd52849e0bbddbf57bee67dda781898
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Sep 9 12:05:44 2003 +0000
+
+ * bootstrap: code clean-up.
+
+commit ddfe2c316e0fd6819721f5e5ddb861f5df5e6ecf
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Sep 9 10:03:48 2003 +0000
+
+ * Changed _dvdcss_error and _dvdcss_debug to print_error and print_debug
+ because they aren't libdvdcss functions.
+
+commit 0104be9ede298780483f95736a7be2c619b766bb
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Tue Jul 29 19:49:13 2003 +0000
+
+ * NEWS: forgot to update this one for the release.
+
+commit 94aca59950ec9441bafa4dbd9889fd7b191002fc
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Tue Jul 29 19:03:02 2003 +0000
+
+ * libdvdcss.spec: fixed typo.
+
+commit a4ba0c9a4a12d7733f8f128d53a391833a440f77
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Mon Jul 28 23:41:52 2003 +0000
+
+ * ALL: bumped version number to 1.2.8
+
+commit 200baa1b6bf8e808f88532c48bb875d61b2621dc
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Jul 16 21:40:01 2003 +0000
+
+ * src/css.c:
+ + Workaround in CrackTitleKey for strange discs that report read errors
+ seemingly at random. Testcase was on Linux 2.4.20, with a region 2 RPC2
+ drive, and the region 1 copy of "Chasing Amy".
+ + Used macros instead of numerals where appropriate.
+ + Fixed spelling here and there.
+
+commit e128db913818655fb274750b597bb8ac7dd668c6
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Tue Jul 8 18:00:54 2003 +0000
+
+ * src/device.c: grmblgrmbl!! Fixed a bug that prevented encrypted dvds from working under win32.
+
+commit 3979509d01dfc9f969dee80cdb9d9d962b3cbc32
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Sun Jun 22 20:59:45 2003 +0000
+
+ * Updated library version.
+
+commit c2d6c5f6f862cbbdba032f4f8d89fc38324174fd
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Jun 18 17:23:55 2003 +0000
+
+ * ./src/libdvdcss.c: if DVDCSS_VERBOSE is greater than 2, do as if it was 2.
+
+commit 6d3c82cb01166d054ee8b83860b9b84cca6ab721
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Jun 13 00:41:35 2003 +0000
+
+ * Everything is ready for a 1.2.7 release.
+
+ * debian/control:
+ + Set policy to 3.5.10.
+ + Removed the leading "a" in the package description.
+ + Set the source section to libs.
+ + Set the -dev package section to libdevel.
+ + Changed the debhelper build dependency to (>=3.0).
+ * debian/rules:
+ + Added magic to avoid autotools timestamp skews on autobuilders (as if
+ libdvdcss was ever going to hit the Debian autobuilders anyway).
+
+commit 990adc01b453c29557c7d6059cf2cefb397e014f
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Jun 12 23:22:34 2003 +0000
+
+ * ./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.
+
+commit 01533ced72f6d115b24c29e9831c4f25d05afdbd
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Jun 12 23:15:18 2003 +0000
+
+ * ./Makefile.am: put autotools/ in DIST_SUBDIRS instead of SUBDIRS.
+ * ./configure.ac: forgot to generate autotools/Makefile.
+
+commit 65e94b3fc670ad9336788d9b264ef4bc1ebf7098
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Jun 10 22:50:31 2003 +0000
+
+ * ./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.
+
+commit 526cc26f2a9149d186be8ec6cb614bae81ee87ea
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue May 27 17:12:33 2003 +0000
+
+ * ./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.
+
+commit ae48e7a8b9f2035549264a9de0faf7169501a40b
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri May 16 22:12:48 2003 +0000
+
+ * ./src/css.c: typos in comments.
+
+commit 91e835e396ca1ca7b14a3125f208b91382743fe2
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Fri Apr 11 10:00:29 2003 +0000
+
+ * configure.ac, src/common.h: fixes for the cygwin build using the mno-cygwin flag.
+
+commit f023e43583229b3feb6595549b464e9a0e1ebff6
+Author: Kipp Cannon <kipp@sgl.crestech.ca>
+Date: Sun Apr 6 20:36:07 2003 +0000
+
+ better RH part
+
+commit 48049c60d7efc40abe610e6ad66f59dfb9bf91bb
+Author: Michael Roitzsch <mroi@users.sourceforge.net>
+Date: Thu Mar 27 18:57:12 2003 +0000
+
+ * src/libdvdcss.c: CSS key cache collisions
+
+commit fbc894055ce61ae2f96fb9ed4bdfb8a749d4badf
+Author: Christopher Richards <richards+netbsd@CS.Princeton.EDU>
+Date: Sat Mar 22 16:37:37 2003 +0000
+
+ * src/libdvdcss.c: fix for NetBSD's mkdir that doesn't like trailing "/" on its argument.
+
+commit bf60ff1858beb4442f19e8748a6a7dd725b8f1ce
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Mar 10 18:01:40 2003 +0000
+
+ * ./debian/changelog: updated Debian changelog.
+ * ./src/Makefile.am: bumped version information.
+
+commit 876f392b742ef2a6b021bed6ca806b58db90f943
+Author: Alexis de Lattre <alexis@videolan.org>
+Date: Mon Mar 10 17:41:31 2003 +0000
+
+ - preparing the 1.2.6 release...
+
+commit 780d82a9fcc47a4301b4a6e1aa592d677d07d3a9
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Sun Mar 9 23:50:42 2003 +0000
+
+ Bumped up to 1.2.6.
+
+commit dd59304d26c2a437f7b24fcbded4ea5cf342d055
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Sun Mar 9 23:34:18 2003 +0000
+
+ * src/common.h, src/error.c: fixed the PATH_MAX breakage on win32.
+
+commit e5ad296c482b5709673718cdadf75f36f7ce3fa3
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Tue Feb 4 11:54:36 2003 +0000
+
+ Fixed compilation problems with PATH_MAX.
+
+commit 459106fb9464578122e4e116f5f14ee845a8e445
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Wed Jan 29 22:59:35 2003 +0000
+
+ Fixed MAX_PATH on Darwin.
+
+commit 6bb02c1025f263d353df1c23e16ecf980e9cbcc0
+Author: Yves Duret <yves@videolan.org>
+Date: Tue Jan 28 07:58:22 2003 +0000
+
+ - release number is 1. do not forget to update it too, aka sam sux.
+ - fix a redhat "macro".
+
+commit 677d07cc4a8db65add1de6ca2750bec98db1b92b
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Jan 28 01:17:02 2003 +0000
+
+ * updated ChangeLog.
+ * updated version numbers and timestamps everywhere.
+ * created NEWS file.
+ * ./configure.ac: BSD/OS compilation fix when a local copy of libdvd is
+ found on the system, thanks to Steven M. Schultz.
+
+commit a8cdb36570a3b28e116c75c3a5bd38d71a6f2ccc
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Jan 28 00:41:10 2003 +0000
+
+ * ./test/csstest.c: we align our read buffer in case of raw device access.
+ * ./src/libdvdcss.c: updated documentation about raw devices.
+
+commit ebbbe9db422d99f182f7e95055c248ea1757e0ec
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Jan 27 16:57:19 2003 +0000
+
+ * ./src/libdvdcss.c: disabled key cache when reading VOBs.
+
+commit ce9d6dfbd44915a29f2821adc3400e35cfd1f9ba
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Jan 16 22:58:29 2003 +0000
+
+ * ./src/ioctl.c, ./src/ioctl.h: removed minor gcc-isms.
+
+commit 9968f73fc2129873c1d01f6b6ed0b6dc2fcc11a8
+Author: Yves Duret <yves@videolan.org>
+Date: Thu Jan 16 14:45:14 2003 +0000
+
+ * macros to fix build on redhat system. put %define redhat80 to 1.
+ * few fixes.
+
+commit 8ac62497bbcd7a64fdc94e062d5ccae18756c7df
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Dec 19 16:50:50 2002 +0000
+
+ * ./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.
+
+commit ba862c3860586c3d7248b6bd665440fe791d6c1a
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Dec 19 15:44:30 2002 +0000
+
+ * ./configure.ac: added warning flags whenever possible.
+
+commit 0463d939434af887912396dcbaa8e45010c66a3a
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Dec 19 15:36:04 2002 +0000
+
+ * ./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.
+
+commit aa2a222868f993d893b1448461292e95940f3aca
+Author: Steven M. Schultz <sms@2bsd.com>
+Date: Thu Dec 19 15:29:53 2002 +0000
+
+ * ./src/bsdi_ioctl.c, ./src/bsdi_dvd.h: updated the bsdi libdvd with
+ Steven M. Schultz's latest changes.
+
+commit 50899042baa76832eeead4ab35fe0d49c4dd0b85
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Dec 19 12:37:30 2002 +0000
+
+ * Ported the library build to Cygwin.
+
+commit 80e3a9ea47d8d5358e4012e830bc500f0a1bb45e
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Dec 11 13:12:10 2002 +0000
+
+ * minor coding style fixes.
+
+commit 92ccdd74aa3facb7675afdcc46609505129f2735
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Dec 10 10:43:25 2002 +0000
+
+ * ./msvc/*: grmbl, for some reason the project files were empty.
+
+commit 66c539c3aa03aa8823c41e5698685a165fb30c7b
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Dec 10 10:38:12 2002 +0000
+
+ * ./msvc/*: MS VC++ project files.
+
+commit b1486f807e7429794eb1adf0b8427ff119e9d3f6
+Author: Boris Dorès <babal@videolan.org>
+Date: Fri Dec 6 00:16:57 2002 +0000
+
+ - Early versions of Mingw32 (at least until 1.2) do not include
+ <limits.h> automatically, so PATH_MAX was undefined.
+
+commit d2edf451feb3e8762c4895665bc356f5f9bb12a9
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Dec 5 10:24:42 2002 +0000
+
+ * ./src/libdvdcss.c: fixed Win32 mkdir() call.
+ * ALL: removed trailing spaces in files.
+ * ALL: moved everything to C99 integer types.
+
+commit f5c2c0ffec64c0c04085e2f33e08ce1b29e17869
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Dec 2 12:58:23 2002 +0000
+
+ * ./bootstrap: we also look for glibtoolize (Closes: #37).
+
+commit 6e54085ac98d922e0b4372c63f8e51b1aeb37308
+Author: Steven M. Schultz <sms@2bsd.com>
+Date: Mon Dec 2 07:38:21 2002 +0000
+
+ ./src/device.h: Applied FreeBSD compile fix
+
+commit 74a14cf8b238c1efb540e3cc83d9ee4b71a4a70d
+Author: Jon Lech Johansen <jlj@videolan.org>
+Date: Mon Nov 25 18:44:31 2002 +0000
+
+ * ./src/ioctl.[ch]: Implemented ioctl_SendRPC.
+ * ./test/dvd_region.c: enabled set_region.
+
+commit ec1bd09bf4768c9641363c13af2248edd0e24c91
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sun Nov 24 17:34:23 2002 +0000
+
+ * ./src/css.c, ./src/libdvdcss.c: applied a
+ to cache title keys on disk.
+
+commit c8e2bf595185afd6835852e78e2318e9c9cbc049
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Nov 21 12:13:20 2002 +0000
+
+ * ./debian/control: set the package sections to libs and devel instead of
+ graphics.
+
+commit 222512d55d332448635aafa5734e29c56e6f1411
+Author: Alexis de Lattre <alexis@videolan.org>
+Date: Sun Nov 17 23:46:44 2002 +0000
+
+ Changes in order to support RedHat and RPM 4.1
+ Hristev and Kenton Groombridge).
+
+ I have already uploaded new RPM packages on the FTP site (1.2.4-2) and
+ updated the download page. Please test and give feedback.
+
+commit e24d72f5d84d7e1384544048f9befc987e68dc53
+Author: Jon Lech Johansen <jlj@videolan.org>
+Date: Fri Nov 15 18:39:08 2002 +0000
+
+ * ./src/ioctl.[ch]: ReportRPC win32 changes. Needs testing.
+
+commit 00e3bb6ea62a6a5dace32cc43856ccd7a790a3c6
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Thu Nov 14 15:12:34 2002 +0000
+
+ * updated the changelogs for the 1.2.4 release.
+
+commit 26d4d93c453ace4533fdc6c9bce594ca7681dc46
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Nov 14 12:41:47 2002 +0000
+
+ * ./configure.ac: explicitly set AC_CONFIG_AUX_DIR(.) so that people who
+ do bootstrap without paying attention to error messages don't screw up
+ packages :-)
+ * ./libdvdcss.spec: removed bootstrap from the build phase.
+ * ./bootstrap: we accept automake 1.7.
+
+commit a150a631e85f3ee338597e29b29f5460e7a8d45f
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Thu Nov 14 12:38:57 2002 +0000
+
+ * 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.
+ Because we cannot use an ioctl to get the copyright status of the DVD
+ we try to get the disc key and if this succeed, we assume the DVD is
+ encrypted, otherwise we assume it to be unencrypted.
+ I hope this logic is not too much flawed... at least it seems to be working
+ with the few DVDs I've got.
+
+commit 33e1fe0bac871b3edb9e40291460cc1ab6bf50b1
+Author: Jon Lech Johansen <jlj@videolan.org>
+Date: Thu Nov 14 01:32:37 2002 +0000
+
+ * ./src/ioctl.c: Broke OpenBSD port with my previous commit. Fixed.
+
+commit 8bb2cde6c72247d91309d5c387751329992f96e9
+Author: Alexis de Lattre <alexis@videolan.org>
+Date: Wed Nov 13 23:43:01 2002 +0000
+
+ Added ./bootstrap for the build target
+
+commit 02a207d4836ef4321abc07b07a1b8872ab298cda
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Wed Nov 13 23:08:11 2002 +0000
+
+ * update changelogs.
+
+commit 5262add4fd5fa180629ec7ac8e775336182fa247
+Author: Jon Lech Johansen <jlj@videolan.org>
+Date: Wed Nov 13 22:45:05 2002 +0000
+
+ * ./src/ioctl.c: cosmetic fixes.
+ * ./AUTHORS: updated my entry.
+
+commit 75999adf10f6c02fa7ccb0646671e13316e8b49b
+Author: Alexis de Lattre <alexis@videolan.org>
+Date: Wed Nov 13 22:24:41 2002 +0000
+
+ Update version number to 1.2.4
+
+commit 9fb3b8e419730e4d77490c74cee9130ad3cb189d
+Author: Alexis de Lattre <alexis@videolan.org>
+Date: Wed Nov 13 22:14:28 2002 +0000
+
+ Update for 1.2.4 release.
+
+commit b1905951e466d516bab39135e7409aa69b8663cf
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Nov 13 22:11:38 2002 +0000
+
+ Updated Debian changelog (though there are no changes in this version
+ apart from Win32, so what's the point of building new packages :p)
+
+commit c1f72ec02134082f74e1e9e4b0f1f88bdb70fd65
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Wed Nov 13 21:23:08 2002 +0000
+
+ * ChangeLog: updated changelog.
+
+commit a5a05b27dab063a9b6843f88a06b83dabbd5cb66
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Tue Oct 29 18:51:37 2002 +0000
+
+ * src/ioctl.c: fixed typo that prevented unencrypted DVDs to work in
+ non-administrator mode.
+
+commit 6b11d456299603869c7f87705c52b7aefff45a0b
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Sat Oct 19 09:53:33 2002 +0000
+
+ * 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.
+
+commit 06626375c5f96a98eabddcd928ba1c269665498f
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Oct 18 18:48:59 2002 +0000
+
+ * ./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.
+
+commit 2b99a49bad03ee880d1a8a2ff65d9080be934f45
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Sat Oct 12 23:02:49 2002 +0000
+
+ Updated changelog and release tag.
+
+commit 7437133762469e397253814824ab38796f6ff017
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Sat Oct 12 12:41:24 2002 +0000
+
+ * 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.
+
+commit 36eaed48543affde3b3ee233901313d411625972
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Oct 11 10:09:56 2002 +0000
+
+ * Updated changelog and package files.
+
+commit fd8c3e8443673203b43c06292719a8a14792556f
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Oct 11 10:03:48 2002 +0000
+
+ * ./configure.ac, ./bootstrap: used libdvbpsi's bootstrap, moved config.h
+ to ., renamed configure.in into configure.ac, removed useless files that
+ are autogenerated.
+ * ./src/Makefile.am: instead of using -no-undefined "only under BeOS" we
+ use it "never with MSVC".
+
+commit f91c54a9ef1e65e9cecd9fa15f520d964e1f9f46
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Thu Oct 10 22:29:31 2002 +0000
+
+ Exit cleanly in case of error.
+
+commit 45abd81482068bfbccedc7a4eb5a555819cd443b
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Thu Oct 10 21:40:41 2002 +0000
+
+ * Bumped up version number to 1.2.3 (soleil !).
+ * Updated Changelog.
+ * Merged in hh's patch for broken DVD drives/kernel/whatever.
+
+commit 95671de3719a6b0943d7c86766e29c5646d191d8
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Thu Oct 10 12:44:28 2002 +0000
+
+ * 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 OSs :)
+ * src/ioctl.c: fixed ioctl_ReadTitleKey which wasn't working on Windows NT/2k/XP.
+ Because of this bug, the disc and key methods for key decryption where not working.
+
+commit 3adf615d8ed7c70804844131e808ffaec923cb10
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon Oct 7 16:37:15 2002 +0000
+
+ * ./src/Makefile.am: -no-undefined is now only used under BeOS because it
+ causes the Win32 compilation to fail.
+ * ./configure.in, src/Makefile.am: used AM_CONDITIONAL to conditionally
+ build the BSDi stuff.
+
+commit 39b65aab22b68d7fe0f12380044e1f2d16cc30e2
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Aug 10 21:27:42 2002 +0000
+
+ * Bumped the revision number... thanks HÃ¥kan :-)
+
+commit a9aa3b2f714aad8a5d47c20b2741a8e4d3455c2b
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Aug 10 21:19:55 2002 +0000
+
+ * ./src/css.c: removed useless debug messages on HÃ¥kan's advice.
+
+commit 046d391fc90c62aa0afec5eb7c383c29b13bc885
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Aug 10 20:21:54 2002 +0000
+
+ * Updated release-related files.
+
+commit cf2eb147875db33b8aa06245b47ccea49b621d58
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Aug 10 17:42:09 2002 +0000
+
+ * ./src/ioctl.c: fixed ReportRPC for Win32.
+ * ./src/device.h: removed unneeded exported symbols.
+
+commit 04675299a604238ec1d03cbfdb7e1067f2416c5d
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Aug 10 14:27:26 2002 +0000
+
+ * ./src/dvdcss/dvdcss.h: marked deprecated stuff.
+ * ./test/csstest.c: more documentation.
+ see http://www.videolan.org/libdvdcss/doc/
+
+commit 03de9c0aca9a021f7c9137a530c22c39748acd5c
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Aug 10 12:56:04 2002 +0000
+
+ * ALL: removed autotools files.
+ * ./doc/*: added doxygen files.
+
+commit de6bee4f68f96174622a59de170b0b1edd071f33
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Aug 10 12:21:28 2002 +0000
+
+ * ./src/libdvdcss.c, ./src/dvdcss/dvdcss.h: documented the API.
+
+commit ba96985769d21f10d173aaed3f23cae051c8b610
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Aug 9 22:03:34 2002 +0000
+
+ * ./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.
+
+commit b45e2bc2d228c3b1ddadf2092af174f32f524280
+Author: Andrew Bachmann <bigorneault@gmail.com>
+Date: Fri Aug 9 14:19:46 2002 +0000
+
+ * ./src/Makefile.am: tell libtool that libdvdcss does not have undefined
+ symbols. Fix for BeOS
+
+commit 068c36acd9849d770f1a263f06b6aa3d88fa176d
+Author: Sam Hocevar <sam@videolan.org>
+Date: Fri Aug 9 14:10:43 2002 +0000
+
+ * ./src/css.c: when the ReadTitleKey ioctl failed, reopen the device before
+ falling back to the title method.
+
+ Note: on my drive, this fixes the "ioctl_ReadTitleKey failed" error
+ many users have been reporting. Please test!
+
+ Note 2: I could not find any other way to reset the drive after a failed
+ ReadTitleKey ioctl than closing and opening the device again. If
+ I don't do that, read() fails with an Input/output error after a
+ while (but not immediately).
+
+ * 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.
+
+commit 3e4c0bab24070a6ff4ae03dce631d74bc3a32133
+Author: Christophe Massiot <massiot@videolan.org>
+Date: Tue Jul 23 11:43:58 2002 +0000
+
+ Default method is now "key" :p.
+
+commit d9b17d5db3a92b5425daf010617ed32dfe6b97b7
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Jul 16 22:47:40 2002 +0000
+
+ * ./test/Makefile.am: disabled dvd_region.
+ * ./src/css.c: speling fixes.
+ * ALL: re-ran bootstrap with more recent autotools.
+
+commit 6aa0ad6b9871d206fc0e582883297e117d6f0c5d
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Sun Jul 14 11:44:57 2002 +0000
+
+ New utility for querying (and eventualy setting) the region of a DVD drive
+ using the ioctl wrappers in libdvdcss.
+
+commit 517fa8b08d106c800f01c4f042d2b68d7036abd2
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Fri Jul 12 23:28:42 2002 +0000
+
+ Include config.h before testing defines in the BSDi ioctl code. Add a bug
+ fix
+
+commit 7467476e5a7233cea3b639d8ae31a6882b4a7e7e
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Fri Jul 12 21:06:41 2002 +0000
+
+ Fix so that the bsdi_*.[hc] files make it into the dist tar-ball.
+ Correct the include path for the programs in test/.
+
+commit caf62fa7aa6cbf240e723a80031e0a0ece10c0ae
+Author: Adam Jones <adam@yggdrasl.demon.co.uk>
+Date: Mon Jul 1 13:40:33 2002 +0000
+
+ Typo fix and fix the linked list code to not drop the list when instering
+ at the head.
+
+commit 35589cea2e9e39e5d65d2a2b146ea11bd0e65da6
+Author: Alex Strelnikov <lelik@os2.ru>
+Date: Mon Jul 1 10:36:37 2002 +0000
+
+ Patch for OS/2.
+
+commit 71f84cb0068cdb7da5576c51fccc68039f2d217f
+Author: Adam Jones <adam@yggdrasl.demon.co.uk>
+Date: Mon Jul 1 09:59:09 2002 +0000
+
+ Typo fix
+
+commit 763cb3c28ac91ae0b847a3b6913114c651d003ae
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Mon Jul 1 09:02:25 2002 +0000
+
+ Getting ReportRPC for WIN32 a bit closer to working.
+
+commit 75926842ab179c9354ff726532679b58c0fc7fb0
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Jun 4 07:10:07 2002 +0000
+
+ * ./src/ioctl.c: implemented ioctl_ReportKey1 for HP-UX.
+
+commit 060c45697b9bfd1cb834738e8da55357202713a8
+Author: Sam Hocevar <sam@videolan.org>
+Date: Tue Jun 4 07:02:57 2002 +0000
+
+ * ./src/libdvdcss.c: Win32 compilation fix.
+
+commit b2ee28c060e844ff81c23f0d5511d4a06ff62ec6
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sun Jun 2 16:18:45 2002 +0000
+
+ * ALL: changed version number to 1.2.1.
+
+commit d3e94a78bd73ebb34739c17d54290759aa0ae4d5
+Author: Pascal Levesque <bigorneault@gmail.com>
+Date: Sun Jun 2 16:14:48 2002 +0000
+
+ * ./src/ioctl.c, ./src/ioctl.h: QNX port,
+
+commit 68b19d058bc17060167acf89a5650160aaf63610
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sun Jun 2 16:05:34 2002 +0000
+
+ * ./src/css.c: applied HÃ¥kan's fix for the failure on region mismatch.
+
+commit 5084f4c8bc77f27e1f3ae43bca348c9b7fcd82be
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sun Jun 2 15:54:10 2002 +0000
+
+ * ALL: switched to libtool 1.4.2a.
+ * ./src/libdvdcss.c: fixed an uninitialized variable.
+
+commit 63e6505bf228055c48961a1c179a05134f332d9a
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sun May 26 14:22:23 2002 +0000
+
+ * ./src/dvdcss/dvdcss.h: C++ compliant public header.
+
+commit bf99afa9ce226d011d11f997858fe83480e2ca30
+Author: Sam Hocevar <sam@videolan.org>
+Date: Mon May 20 17:58:20 2002 +0000
+
+ * Everything should be ready for 1.2.0.
+ * Updated ChangeLog.
+ * Removed libtool. It seems to be created automatically anyway.
+
+commit 9b0ed5b53779bf900ceb2f7e67adf805f56558f5
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Thu May 16 20:40:54 2002 +0000
+
+ New function _dvdcss_use_ioctls. Avoid using the ioctl calls when
+ they have no chans or working, this in turn avoids a spurious warning
+ when they fail.
+
+commit 92de716371ea7782a6a50185ba9fe5666b054397
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Thu May 16 20:12:04 2002 +0000
+
+ Update error message.
+
+commit 4fb72bf9d49ff22be5970333517fdf46d91a2dd7
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Thu May 16 12:10:29 2002 +0000
+
+ Default to 'key', rather than 'title', method.
+
+commit aec848b3b897a553561f05f157ebb55a3326aa31
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed May 15 20:27:04 2002 +0000
+
+ * ./libdvdcss.spec: enhancements by Mandrakesoft.
+
+commit 92f445b1ca8d887d7e17aa56b988936e6f0af62e
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Mon May 13 21:22:22 2002 +0000
+
+ Correct serious bug in dvdcss_read for titles with all zero key (a unencrypted
+ title on a CSS protected disc).
+
+commit 2d49f15658d883dbbaf33b6506626096acaf4bf6
+Author: Jon Lech Johansen <jlj@videolan.org>
+Date: Sun May 5 22:21:51 2002 +0000
+
+ * ./src/ioctl.[ch]: Darwin changes: Cleaned up the code, fixed
+ ReadTitleKey, and implemented ReportRPC.
+
+commit f8fb98585e75d726c4b8438a364a86da71ec5883
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Fri Apr 26 20:47:08 2002 +0000
+
+ * updated win32 compilation instructions.
+
+commit 5980793d8ef061203eb6fb995f328bb84483f1af
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Apr 6 01:27:43 2002 +0000
+
+ * libdvdcss-1.1.1 release.
+
+commit 4f917a3a9e234b5ddc40d21b690a13628ce35657
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Apr 6 01:11:05 2002 +0000
+
+ * ./src/ioctl.c: OpenBSD compile fix. Thanks to ex0dus on #videolan.
+
+commit 41fb39a4f483037f32a9a8d5abb491fd6a902739
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Fri Apr 5 00:26:25 2002 +0000
+
+ * updated INSTALL doc for the win32 build.
+ * added small win32 specific error message that was also in the vlc tree.
+
+commit 273ace3c9a24e0e2ef72c3892f67549c56ea25f6
+Author: Gildas Bazin <gbazin@videolan.org>
+Date: Thu Apr 4 23:44:20 2002 +0000
+
+ * added two patches that have been forgot from the vlc tree.
+
+ 1- Under NT/2K/XP try to open the dvd device in read only mode if we don't
+ have right access. With only read access we can't use ioctls but if the
+ disc has already been authenticated, then we can decrypt it with the
+ TITLE method.
+ 2- Small compilation fix for msvc.
+
+commit 0329c59f62eec519e8cfacf20d11398f67819e60
+Author: Michael Pruett <michael@68k.org>
+Date: Thu Apr 4 14:21:25 2002 +0000
+
+ * ./src/libdvdcss.h: IRIX compile fix
+
+commit 7e6e6cf923890b0378725ca1cc0361708f33745d
+Author: Sam Hocevar <sam@videolan.org>
+Date: Thu Apr 4 01:26:54 2002 +0000
+
+ * ./configure.in: BeOS bug fix. I'm so lame.
+ * ./src/ioctl.c: refuse to build if DVD ioctls weren't found.
+
+commit 75ffe329686f9bce2c84def92d6ecaa1373e1821
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Apr 3 23:34:30 2002 +0000
+
+ * Forgot to change test/.cvsignore ...
+
+commit cabb30c8ff86a6e618567e92ceab8e768e025495
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Apr 3 23:33:57 2002 +0000
+
+ * ./test/csstest.c: renamed test.c to csstest.c.
+
+ I hereby declare libdvdcss 1.1.0 ready to ship; it was successfully tested
+ on Linux, FreeBSD, MacOS X and BeOS, and compiles on Solaris.
+
+commit 80a8d0599946bfbe09074f6d0653350270ab01fb
+Author: Jon Lech Johansen <jlj@videolan.org>
+Date: Wed Apr 3 23:02:20 2002 +0000
+
+ * ./src/ioctl.c: Fixed a Darwin typo I recently introduced.
+
+commit f6b34d75b13106330213253856f354110efbb01c
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Apr 3 22:31:42 2002 +0000
+
+ * Run ./bootstrap.
+
+commit 217089d0d860a7535a2a947af271fc8d5773a63c
+Author: Jon Lech Johansen <jlj@videolan.org>
+Date: Wed Apr 3 22:17:00 2002 +0000
+
+ * ./configure.in: Darwin compile fix (added -no-cpp-precomp)
+
+commit 0d817799e4288afb6a7f9fe02f6c0aaca4175a79
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Apr 3 21:31:52 2002 +0000
+
+ * ./ChangeLog: everything should be ready for the 1.1.0 release.
+ * ./libdvdcss.spec: updated specfile for RPM generation.
+ * ./missing: commited libtool's latest version of this file.
+
+commit 6288be6892eea448b8d239e06bdff779f95cfe87
+Author: Jon Lech Johansen <jlj@videolan.org>
+Date: Wed Apr 3 21:25:13 2002 +0000
+
+ * Fixed a Darwin define problem.
+
+commit 58ecf1ad0b9c4d6f180ccf38a1184d0a75b46e8c
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Apr 3 15:19:22 2002 +0000
+
+ * ./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.
+
+commit 9eb1d9cbe1ef96fae5c11479da2d3656e956e36b
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Apr 3 06:12:50 2002 +0000
+
+ * ./ChangeLog: updated changelog.
+ * ./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.
+
+commit 9d7698f671f51ec94efbce21040c37d7eef88e61
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Sat Mar 9 17:57:53 2002 +0000
+
+ 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. Added another crack method, it's disabled for
+ now though. Lowered some limits on the current 'weak' test. Added more
+ comments.
+
+commit ce5ffc6fe913e0720a7c8fed716990a5af4ee4c3
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Sat Mar 9 17:35:49 2002 +0000
+
+ 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.
+
+commit 061ebba29b2c295d9a2c160077293e09ddd96c19
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Sat Mar 9 17:24:28 2002 +0000
+
+ Tell libdvdcss to get the key for the block before we decrypt it.
+
+commit 0a1535afb01a0b39b678575c509c91695bff0f06
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Sat Mar 9 17:23:05 2002 +0000
+
+ Don't link to libdl.
+
+commit 7ea7bf9864f3599e7255bcb981920305b8122b33
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Mar 9 17:16:44 2002 +0000
+
+ * Fixed compilation of test/test.c.
+
+commit 3db91bb4dae32e2f639dcab6e9844482434ce520
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Mar 6 00:06:17 2002 +0000
+
+ * Updated misc control files and added the sample program.
+
+commit a68da5e6ae264f6f9d77bba4b08fae86473ddb4c
+Author: Sam Hocevar <sam@videolan.org>
+Date: Wed Mar 6 00:04:41 2002 +0000
+
+ * Enable test folder
+
+commit ad53e785b3558f82b50bb570f22187f46fee062b
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Mon Feb 25 18:21:57 2002 +0000
+
+ Cleanup some formating, indentation and types and add a small comment.
+
+commit 92cc4b7d1617d548a4a79895cfeccba10dcae92b
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Sun Feb 3 14:54:53 2002 +0000
+
+ Add the WIN32 fix to GetTitleKey from the vlc/extra branch.
+
+commit 1b06ce6cd351254c569c7718bce917f5e36767ac
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Sun Feb 3 14:53:10 2002 +0000
+
+ Do check for the unistd.h header file.
+
+commit 7c90c435f3841bb11872f2e88024dcfccaa30816
+Author: HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+Date: Sun Jan 20 17:04:54 2002 +0000
+
+ Make CSSAuth more rubust, should now also work with drives that are not 100%
+ compliant to the SFF-8090 standard. AGID invalidation should now work
+ allowing us to recover from hung / failed authentications. Corrected
+ CSSGetASF, it does not take an AGID argument. Move several data structures
+ from the dvdcss handle to local variables in CSSAuth. Remove CSSAuth as a
+ externaly visible function in css.c.
+
+commit 88a0017365d6c15fc32021330d768bd52e520bc4
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Dec 22 00:52:46 2001 +0000
+
+ * Win32 compilation fix.
+
+commit cd0dbd363b2fcd6bab58b9e48bd1130b2a418a9e
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Dec 22 00:26:17 2001 +0000
+
+ * Attempt at fixing the Solaris port.
+
+commit 475bc8f7db5a163c8fe2ded0b2dd501396acabc7
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Dec 22 00:10:31 2001 +0000
+
+ * Forgot Makefile.in files.
+
+commit dd20598e1c8038e8d75887ea843558c418fcd31f
+Author: Sam Hocevar <sam@videolan.org>
+Date: Sat Dec 22 00:08:13 2001 +0000
+
+ * Initial commit. Hope it'll work.
diff --git a/lib/libdvd/libdvdcss/INSTALL b/lib/libdvd/libdvdcss/INSTALL
index fa53b011f4..4da83dc2b4 100644
--- a/lib/libdvd/libdvdcss/INSTALL
+++ b/lib/libdvd/libdvdcss/INSTALL
@@ -12,8 +12,8 @@ See `./configure --help' for more information.
If you got libdvdcss from its version control system, please bootstrap first:
-
- ./bootstrap
+
+ autoreconf -i
Building libdvdcss
@@ -38,46 +38,27 @@ Building libdvdcss for Win32
You have two alternatives to build libdvdcss for Win32:
-- natively on Windows, using MSYS + MINGW (www.mingw.org):
-
- (MSYS is a minimal build environment to compile unixish projects under
- windoze. It provides all the common unix tools like sh, gmake...)
-
- You will need to download and install the latest MSYS (version 1.0.7 as
- of now) and MINGW.
- The installation is really easy. Begin with the MSYS auto-installer and once
- this is done, extract MINGW into c:\msys\1.0\mingw. You also have to remember
- to remove the make utility included with MINGW as it conflicts with the one
- from MSYS (just rename or remove c:\msys\1.0\mingw\bin\make.exe).
-
- http://www.mingw.org/download.shtml
- http://prdownloads.sourceforge.net/mingw/MSYS-1.0.7-i686-2002.04.24-1.exe
- http://prdownloads.sourceforge.net/mingw/MinGW-1.1.tar.gz
-
- To build libdvdcss you just have to run the following commands:
- ./configure
- make
-
-- or on Linux, using the mingw32 cross-compiler:
+- on Linux, using the mingw.org or mingw-w64 cross-compilers.
- You can find a mingw32 cross-compiler on the videolan web site:
- http://www.videolan.org/vlc/windows.html
- Or if you are running Debian, there is a mingw32 package you can use.
+ If you are running Debian, there is are mingw32 packages you can use.
If you are cross-compiling from the Debian package, you can use the following
- commands:
+ commands, for example:
./configure --host=i586-mingw32msvc --target=i586-mingw32msvc \
--build=i386-linux
make
- If you are cross-compiling using the mingw32 package provided by
- www.videolan.org, you have to use something along those lines:
+- natively on Windows, using MSYS + MinGW (www.mingw.org):
- CC=/usr/local/cross-tools/bin/i586-mingw32msvc-gcc \
- PATH=/usr/local/cross-tools/bin:$PATH \
- ./configure --host=i586-mingw32msvc --target=i586-mingw32msvc \
- --build=i386-linux
+ (MSYS is a minimal build environment to compile unixish projects under
+ Windows. It provides all the common Unix tools like sh, gmake...)
+
+ You will need to download and install the latest MSYS and MINGW.
+
+ To build libdvdcss you just have to run the following commands:
+ ./configure
+ make
- PATH=/usr/local/cross-tools/bin:$PATH make
+ More on MSys on our wiki: http://wiki.videolan.org/Win32CompileMSYS
diff --git a/lib/libdvd/libdvdcss/Makefile.am b/lib/libdvd/libdvdcss/Makefile.am
index 8cfaef6ac3..8c979b62c5 100644
--- a/lib/libdvd/libdvdcss/Makefile.am
+++ b/lib/libdvd/libdvdcss/Makefile.am
@@ -1,12 +1,68 @@
-SUBDIRS = src test doc
-DIST_SUBDIRS = $(SUBDIRS)
+ACLOCAL_AMFLAGS = -I m4
-EXTRA_DIST = libdvdcss.spec bootstrap
+EXTRA_DIST = msvc libdvdcss.spec doc/header.html doc/footer.html INSTALL
-AUTOMAKE_OPTIONS = foreign dist-bzip2 subdir-objects
+dist_doc_DATA = AUTHORS COPYING NEWS README ChangeLog
-doc-dummy:
+DISTCLEANFILES =
-doc: doc-dummy
- $(MAKE) -C doc
+lib_LTLIBRARIES = libdvdcss.la
+EXTRA_PROGRAMS = csstest dvd_region
+libdvdcss_la_SOURCES = \
+ src/libdvdcss.c \
+ src/libdvdcss.h \
+ src/device.c \
+ src/device.h \
+ src/css.c \
+ src/css.h \
+ src/csstables.h \
+ src/ioctl.c \
+ src/ioctl.h \
+ src/error.c \
+ src/common.h
+
+libdvdcss_la_LDFLAGS = -version-info $(DVDCSS_LTVERSION) $(DVDCSS_LDFLAGS)
+libdvdcss_la_LIBADD =
+
+if !SYS_MSVC
+libdvdcss_la_LDFLAGS += = -no-undefined
+endif
+
+csstest_SOURCES = test/csstest.c
+csstest_LDADD = libdvdcss.la
+csstest_CFLAGS = -I $(top_srcdir)/src
+
+dvd_region_SOURCES = test/dvd_region.c src/ioctl.c
+dvd_region_LDADD = libdvdcss.la
+dvd_region_CFLAGS = -I $(top_srcdir)/src
+
+pkgincludedir = $(includedir)/dvdcss
+pkginclude_HEADERS = src/dvdcss/dvdcss.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = src/libdvdcss.pc
+
+if APIDOC
+all-local: apidoc
+install-data-local: install-apidoc
+uninstall-hook: uninstall-apidoc
+endif
+
+apidoc: stamp-doxygen
+
+stamp-doxygen: doc/doxygen.cfg
+ cd doc && doxygen doxygen.cfg
+ touch $@
+
+clean-local:
+ -rm -Rf stamp-doxygen doc/html
+
+install-apidoc:
+ $(MKDIR_P) $(DESTDIR)$(htmldir)
+ for file in doc/html/*; do \
+ $(INSTALL_DATA) $$file "$(DESTDIR)$(htmldir)" || exit 1; \
+ done;
+
+uninstall-apidoc:
+ -rm -Rf $(DESTDIR)$(htmldir)/*.png $(DESTDIR)$(htmldir)/*.html $(DESTDIR)$(htmldir)/*.css $(DESTDIR)$(htmldir)/*.js
diff --git a/lib/libdvd/libdvdcss/NEWS b/lib/libdvd/libdvdcss/NEWS
index 2a3d429ea6..4fbdb1d169 100644
--- a/lib/libdvd/libdvdcss/NEWS
+++ b/lib/libdvd/libdvdcss/NEWS
@@ -1,4 +1,14 @@
-$Id: NEWS 251 2012-03-11 13:33:49Z jb $
+Changes between 1.2.12 and 1.2.13:
+----------------------------------
+
+ * Drop BSD/OS and Windows 95 support.
+ * Rewrite most of the buildsystem, and simplify it
+ * System dependant code cleanup
+ * Move to git and rewrite of the history to get proper authorship
+ * Drop LaTeX documentation
+ * Fix build on various systems
+ * Fix compilation on MSVC
+
Changes between 1.2.11 and 1.2.12:
----------------------------------
@@ -11,7 +21,7 @@ Changes between 1.2.10 and 1.2.11:
* improvements on RPC-II handling.
* more robust key retrieval.
- * fixes for MingW compilation.
+ * fixes for MinGW compilation.
* fixes for OS/2 compilation.
* various bug fixes for small issues, memleaks, crashes and build issues.
@@ -50,7 +60,7 @@ Changes between 1.2.6 and 1.2.7:
Changes between 1.2.5 and 1.2.6:
--------------------------------
- * compilation fix for most UNIXes
+ * compilation fix for most Unixes
Changes between 1.2.4 and 1.2.5:
--------------------------------
@@ -68,7 +78,7 @@ Changes between 1.2.3 and 1.2.4:
Changes between 1.2.2 and 1.2.3:
--------------------------------
- * many Windows bugfixes
+ * many Windows bug fixes
* workaround for drives which prevent key decryption
Changes between 1.2.1 and 1.2.2:
@@ -100,7 +110,7 @@ Changes between 1.0.0 and 1.1.0:
--------------------------------
* merged all patches from the Ogle group
- * lots of bugfixes
+ * lots of bug fixes
* HP-UX port
* better error recovery
* third descrambling implementation
diff --git a/lib/libdvd/libdvdcss/README b/lib/libdvd/libdvdcss/README
index fbb60ad653..2de3069fec 100644
--- a/lib/libdvd/libdvdcss/README
+++ b/lib/libdvd/libdvdcss/README
@@ -1,5 +1,4 @@
README for libdvdcss, a portable abstraction library for DVD decryption
-$Id: README 245 2011-11-14 10:26:47Z jb $
Introduction
@@ -15,10 +14,10 @@ Building and Installing libdvdcss
See the INSTALL or INSTALL.libdvdcss file for this.
-Running lidvdcss
-================
+Running libdvdcss
+=================
-The behaviourof the library can be affected by changing two environment
+The behavior of the library can be affected by changing two environment
variables:
DVDCSS_METHOD={title|disc|key}: method for key decryption
title: decrypted title key is guessed from the encrypted sectors of
@@ -28,12 +27,11 @@ variables:
at the beginning of each title, so it won't work if the key
changes in the middle of a title.
disc: the disc key is first cracked ; then all title keys can be
- decrypted instantly, which allows us to check them often,
+ decrypted instantly, which allows us to check them often,
key: the same as "disc" if you don't have a file with player keys at
- compilation time. If you do, the decryption of the disc key
- will be faster with this method. It is the one that was used by
- libcss.
- This is the default method.
+ compilation time. If you do, the decryption of the disc key will
+ be faster with this method. It is the one that was used by libcss.
+ This is the default method.
DVDCSS_VERBOSE={0|1|2}: libdvdcss verbosity
0: no error messages, no debug messages (this is the default)
1: only error messages
diff --git a/lib/libdvd/libdvdcss/bootstrap b/lib/libdvd/libdvdcss/bootstrap
deleted file mode 100755
index 019ba9baff..0000000000
--- a/lib/libdvd/libdvdcss/bootstrap
+++ /dev/null
@@ -1,132 +0,0 @@
-#! /bin/sh
-# $Id: bootstrap 214 2008-08-29 18:57:45Z sam $
-
-# bootstrap: generic bootstrap/autogen.sh script for autotools projects
-#
-# Copyright (c) 2002-2008 Sam Hocevar <sam@zoy.org>
-#
-# This program is free software. It comes without any warranty, to
-# the extent permitted by applicable law. You can redistribute it
-# and/or modify it under the terms of the Do What The Fuck You Want
-# To Public License, Version 2, as published by Sam Hocevar. See
-# http://sam.zoy.org/wtfpl/COPYING for more details.
-#
-# The latest version of this script can be found at the following place:
-# http://sam.zoy.org/autotools/
-
-# Die if an error occurs
-set -e
-
-# Guess whether we are using configure.ac or configure.in
-if test -f configure.ac; then
- conffile="configure.ac"
-elif test -f configure.in; then
- conffile="configure.in"
-else
- echo "$0: could not find configure.ac or configure.in"
- exit 1
-fi
-
-# Check for needed features
-auxdir="`sed -ne 's/^[ \t]*A._CONFIG_AUX_DIR *([[ ]*\([^] )]*\).*/\1/p' $conffile`"
-libtool="`grep '^[ \t]*A._PROG_LIBTOOL' $conffile >/dev/null 2>&1 && echo yes || echo no`"
-header="`grep '^[ \t]*A._CONFIG_HEADER' $conffile >/dev/null 2>&1 && echo yes || echo no`"
-makefile="`[ -f Makefile.am ] && echo yes || echo no`"
-aclocalflags="`sed -ne 's/^[ \t]*ACLOCAL_AMFLAGS[ \t]*=//p' Makefile.am 2>/dev/null || :`"
-
-# Check for automake
-amvers="no"
-for v in 13 12 11 10 9 8 7 6 5; do
- if automake-1.${v} --version >/dev/null 2>&1; then
- amvers="-1.${v}"
- break
- elif automake1.${v} --version >/dev/null 2>&1; then
- amvers="1.${v}"
- break
- fi
-done
-
-if test "${amvers}" = "no" && automake --version > /dev/null 2>&1; then
- amvers="`automake --version | sed -e '1s/[^0-9]*//' -e q`"
- if expr "$amvers" "<" "1.5" > /dev/null 2>&1; then
- amvers="no"
- else
- amvers=""
- fi
-fi
-
-if test "$amvers" = "no"; then
- echo "$0: you need automake version 1.5 or later"
- exit 1
-fi
-
-# Check for autoconf
-acvers="no"
-for v in "" "259" "253"; do
- if autoconf${v} --version >/dev/null 2>&1; then
- acvers="${v}"
- break
- fi
-done
-
-if test "$acvers" = "no"; then
- echo "$0: you need autoconf"
- exit 1
-fi
-
-# Check for libtool
-if test "$libtool" = "yes"; then
- libtoolize="no"
- if glibtoolize --version >/dev/null 2>&1; then
- libtoolize="glibtoolize"
- else
- for v in "16" "15" "" "14"; do
- if libtoolize${v} --version >/dev/null 2>&1; then
- libtoolize="libtoolize${v}"
- break
- fi
- done
- fi
-
- if test "$libtoolize" = "no"; then
- echo "$0: you need libtool"
- exit 1
- fi
-fi
-
-# Remove old cruft
-for x in aclocal.m4 configure config.guess config.log config.sub config.cache config.h.in config.h compile libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 ltmain.sh libtool ltconfig missing mkinstalldirs depcomp install-sh; do rm -f $x autotools/$x; if test -n "$auxdir"; then rm -f "$auxdir/$x"; fi; done
-rm -Rf autom4te.cache
-if test -n "$auxdir"; then
- if test ! -d "$auxdir"; then
- mkdir "$auxdir"
- fi
- aclocalflags="${aclocalflags} -I $auxdir -I ."
-fi
-
-# Explain what we are doing from now
-set -x
-
-# Bootstrap package
-if test "$libtool" = "yes"; then
- ${libtoolize} --copy --force
- if test -n "$auxdir" -a ! "$auxdir" = "." -a -f "ltmain.sh"; then
- echo "$0: working around a minor libtool issue"
- mv ltmain.sh "$auxdir/"
- fi
-fi
-
-aclocal${amvers} ${aclocalflags}
-autoconf${acvers}
-if test "$header" = "yes"; then
- autoheader${acvers}
-fi
-if test "$makefile" = "yes"; then
- #add --include-deps if you want to bootstrap with any other compiler than gcc
- #automake${amvers} --add-missing --copy --include-deps
- automake${amvers} --foreign --add-missing --copy
-fi
-
-# Remove cruft that we no longer want
-rm -Rf autom4te.cache
-
diff --git a/lib/libdvd/libdvdcss/configure.ac b/lib/libdvd/libdvdcss/configure.ac
index eadba7feef..6028af8cfc 100644
--- a/lib/libdvd/libdvdcss/configure.ac
+++ b/lib/libdvd/libdvdcss/configure.ac
@@ -1,49 +1,121 @@
-AC_INIT(src/libdvdcss.c)
+AC_INIT(libdvdcss, 1.2.13)
+AC_CONFIG_SRCDIR([src/libdvdcss.c])
AC_PREREQ(2.50)
-AC_CONFIG_AUX_DIR(.auto)
-AC_CANONICAL_SYSTEM
+AC_CANONICAL_HOST
-AM_INIT_AUTOMAKE(libdvdcss, 1.2.12)
-AC_CONFIG_HEADERS(config.h)
+AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip subdir-objects])
+AM_MAINTAINER_MODE([enable])
+dnl Enable silent rules only when available (automake 1.11 or later).
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-AC_PROG_CC
-AC_STDC_HEADERS
+LT_INIT([win32-dll])
-AC_LIBTOOL_WIN32_DLL
-AM_PROG_LIBTOOL
+AC_CONFIG_HEADER(config.h)
+AC_CONFIG_MACRO_DIR([m4])
+
+dnl The libtool version numbers (DVDCSS_LT_*); Don't even think about faking this!
+dnl
+dnl immediately before every release do:
+dnl ===================================
+dnl if (the interface is totally unchanged from previous release)
+dnl DVDCSS_LT_REVISION ++;
+dnl else { /* interfaces have been added, removed or changed */
+dnl DVDCSS_LT_REVISION = 0;
+dnl DVDCSS_LT_CURRENT ++;
+dnl if (any interfaces have been _added_ since last release)
+dnl AGE ++;
+dnl if (any interfaces have been _removed_ or _incompatibly changed_)
+dnl AGE = 0;
+dnl }
+dnl
+dnl If you want to know more about what you are doing, here are some details:
+dnl * DVDCSS_LT_CURRENT is the current API version
+dnl * DVDCSS_LT_REVISION is an internal revision number which is increased when the API
+dnl itself did not change
+dnl * DVDCSS_LT_AGE is the number of previous API versions still supported by this library
+dnl * libtool has its own numbering scheme, because local library numbering schemes
+dnl are platform dependent
+dnl * in Linux, the library will be named
+dnl libname.so.(DVDCSS_LT_CURRENT - DVDCSS_LT_AGE).DVDCSS_LT_AGE.DVDCSS_LT_REVISION
+
+DVDCSS_LT_CURRENT=3
+DVDCSS_LT_AGE=0
+DVDCSS_LT_REVISION=1
+
+AC_SUBST([DVDCSS_LTVERSION], [$DVDCSS_LT_CURRENT:$DVDCSS_LT_AGE:$DVDCSS_LT_REVISION])
+
+AC_PROG_CC
+AC_HEADER_STDC
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
-AC_CHECK_HEADERS(unistd.h sys/param.h limits.h pwd.h errno.h)
+AC_CHECK_HEADERS([unistd.h sys/param.h sys/uio.h limits.h pwd.h]dnl
+ [errno.h sys/types.h sys/stat.h fcntl.h io.h])
+
+AC_CHECK_DECL([O_BINARY], [],
+ [AC_DEFINE([O_BINARY], [0], [Define O_BINARY if missing])],
+ [
+ #if HAVE_SYS_TYPES_H
+ # include <sys/types.h>
+ #endif
+ #if HAVE_SYS_STAT_H
+ # include <sys/stat.h>
+ #endif
+ #if HAVE_FCNTL_H
+ # include <fcntl.h>
+ #endif
+ ])
+
+AC_SYS_LARGEFILE
+
+AC_CACHE_CHECK(
+ [for posix mkdir()],
+ [css_cv_mkdir_posix], [
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+#ifdef HAVE_IO_H
+# include <io.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+
+int mkdir(const char *path, mode_t mode);
+ ])
+ ],
+ [css_cv_mkdir_posix=yes],
+ [css_cv_mkdir_posix=no])
+ ])
+
+AS_IF([test "$css_cv_mkdir_posix" = "no"], [
+ AC_DEFINE([HAVE_BROKEN_MKDIR], 1, [Define if you have a broken mkdir])
+])
dnl
dnl Check the operating system
dnl
-case x"${target_os}" in
+
+case x"${host_os}" in
xdarwin*)
CFLAGS="${CFLAGS} -no-cpp-precomp"
;;
x*cygwin*)
- dnl Check if we are using the mno-cygwin mode in which case we are
- dnl actually dealing with a mingw32 compiler.
- AC_EGREP_CPP(yes, [#ifndef WIN32
- yes
- #endif],
- AC_DEFINE(SYS_CYGWIN, 1, Have a Cygwin system.))
- AC_DEFINE(WIN32, 1, Using Win32.)
- ;;
- xbeos*)
- AC_DEFINE(SYS_BEOS, 1, Have a BeOS system.)
+ CFLAGS="${CFLAGS} -mwin32"
;;
xos2*)
LDFLAGS="-Zbin-files"
- AC_DEFINE(SYS_OS2, 1, Have a OS/2 system.)
;;
x*msvc*)
SYS_MSVC=1
+ AC_DEFINE([_WIN32_IE], 0x0401, [Define to '0x0401' for IE 4.01 (and shell) APIs.])
+ ;;
+ x*mingw* | *wince* | *mingwce*)
+ AC_DEFINE([_WIN32_IE], 0x0401, [Define to '0x0401' for IE 4.01 (and shell) APIs.])
;;
x*)
;;
@@ -58,9 +130,6 @@ CAN_BUILD_LIBDVDCSS=0
dnl for windoze
AC_CHECK_HEADERS(windows.h,[
- AC_CHECK_HEADERS(direct.h,,,[
- #include <windows.h>
- ])
AC_CHECK_HEADERS(winioctl.h,[
CAN_BUILD_LIBDVDCSS=1
],,[
@@ -102,32 +171,14 @@ AC_CHECK_HEADERS(sys/ioctl.h,[
LINUX_DVD_STRUCT=1
])
dnl
- dnl BSDI: dvd.h - may require -ldvd IF a local copy of libdvd is installed
- dnl
- AC_EGREP_HEADER(dvd_struct,dvd.h,[
- AC_DEFINE(DVD_STRUCT_IN_DVD_H, 1,
- Define if <dvd.h> defines DVD_STRUCT.)
- SYS_BSDI_LIBDVD=1
- LINUX_DVD_STRUCT=1
- ],[
- dnl
- dnl BSDI: /sys/dev/scsi/scsi_ioctl.h, using our own libdvd
- dnl
- AC_CHECK_HEADERS(/sys/dev/scsi/scsi_ioctl.h,[
- AC_DEFINE(DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H, 1,
- Define if <extras/BSDI_dvdioctl/dvd.h> defines DVD_STRUCT.)
- SYS_BSDI=1
- LINUX_DVD_STRUCT=1
- ])
- ])
- dnl
dnl Solaris: sys/scsi/scsi_types.h, sys/scsi/impl/uscsi.h
dnl
- AC_CHECK_HEADER(sys/scsi/scsi_types.h,[
- AC_CHECK_HEADER(sys/scsi/impl/uscsi.h,[
+ solaris_uscsi=yes
+ AC_CHECK_HEADERS([sys/scsi/scsi_types.h, sys/scsi/impl/uscsi.h], [],
+ [solaris_uscsi=no; break;])
+ AS_IF([test "$solaris_uscsi" = "yes"], [
AC_DEFINE(SOLARIS_USCSI, 1, Have userspace SCSI headers.)
])
- ])
dnl
dnl HP-UX: sys/scsi.h
dnl
@@ -161,59 +212,30 @@ AC_CHECK_HEADERS(sys/ioctl.h,[
fi
])
-dnl
-dnl Check for available warning flags
-dnl
-CFLAGS_save="${CFLAGS}"
-
-AC_CACHE_CHECK([if \$CC accepts -Wall],
- [ac_cv_c_Wall],
- [CFLAGS="-Wall ${CFLAGS_save}"
- AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
-if test "${ac_cv_c_Wall}" != "no"; then
- CFLAGS_save="-Wall ${CFLAGS_save}"
-fi
-
-AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
- [ac_cv_c_Wsign_compare],
- [CFLAGS="-Wsign-compare ${CFLAGS_save}"
- AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
-if test "${ac_cv_c_Wsign_compare}" != "no"; then
- CFLAGS_save="-Wsign-compare ${CFLAGS_save}"
-fi
-
-CFLAGS="${CFLAGS_save}"
-
-dnl
-dnl Use 64 bits offsets
-dnl
-CFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DDVDCSS_DIST ${CFLAGS}"
+CC_CHECK_CFLAGS_APPEND([-Wall -Wsign-compare])
+CC_FLAG_VISIBILITY([
+ CC_ATTRIBUTE_VISIBILITY([default], [
+ CFLAGS="${CFLAGS} -fvisibility=hidden"
+ ])
+])
-AM_CONDITIONAL(SYS_BSDI, test "${SYS_BSDI}" = "1")
-AM_CONDITIONAL(SYS_BSDI_LIBDVD, test "${SYS_BSDI_LIBDVD}" = "1")
AM_CONDITIONAL(SYS_MSVC, test "${SYS_MSVC}" = "1")
-dnl
-dnl Shall we build documentation?
-dnl
-AC_ARG_ENABLE([doc], AC_HELP_STRING([--disable-doc], [do not build API documentation with Doxygen]))
-if test "$enable_doc" != "no"; then
- AC_PATH_PROG(DOXYGEN, doxygen, no)
- AC_PATH_PROG(LATEX, latex, no)
-else
- DOXYGEN="no"
- LATEX="no"
-fi
-AM_CONDITIONAL(DOXYGEN, test "${DOXYGEN}" != "no")
-AM_CONDITIONAL(LATEX, test "${LATEX}" != "no")
+AC_ARG_ENABLE([doc],
+ AS_HELP_STRING([--disable-apidoc], [Disable building (with Doxygen) and intalling API documentation @<:@default=auto@:@>]))
+
+AC_PATH_PROG([DOXYGEN], [doxygen])
+
+AS_IF([test "x$DOXYGEN" = "x"], [
+ AS_IF([test "x$enable_apidoc" = "xyes"], [
+ AC_MSG_ERROR([You need Doxygen to build API documentation])
+ ])
+])
+AM_CONDITIONAL([APIDOC], [test "x$DOXYGEN" != "x"])
AC_SUBST(DVDCSS_LDFLAGS)
AC_OUTPUT([
Makefile
- doc/Makefile
- src/Makefile
- src/dvdcss/Makefile
- test/Makefile
+ doc/doxygen.cfg
src/libdvdcss.pc
])
-
diff --git a/lib/libdvd/libdvdcss/doc/Makefile.am b/lib/libdvd/libdvdcss/doc/Makefile.am
deleted file mode 100644
index 2e269b028a..0000000000
--- a/lib/libdvd/libdvdcss/doc/Makefile.am
+++ /dev/null
@@ -1,28 +0,0 @@
-EXTRA_DIST = doxygen.cfg.in footer.html header.html
-DISTCLEANFILES = doxygen.cfg
-
-all: stamp-doxygen stamp-latex
-
-doxygen.cfg: $(srcdir)/doxygen.cfg.in
- -rm -f $@
- sed 's|@SRCDIR@|$(srcdir)|g; s|@TOP_SRCDIR@|$(top_srcdir)|g' $< > $@
-
-stamp-doxygen: doxygen.cfg
-if DOXYGEN
- doxygen doxygen.cfg
- touch stamp-doxygen
-endif
-
-stamp-latex: stamp-doxygen
-if DOXYGEN
-if LATEX
- cd latex && $(MAKE) $(AM_CFLAGS) ps
- touch stamp-latex
-endif
-endif
-
-clean: clean-local
-clean-local:
- -rm -f stamp-latex stamp-doxygen
- -rm -Rf html latex
-
diff --git a/lib/libdvd/libdvdcss/doc/doxygen.cfg.in b/lib/libdvd/libdvdcss/doc/doxygen.cfg.in
index 45eb9ca718..34ee6306c9 100644
--- a/lib/libdvd/libdvdcss/doc/doxygen.cfg.in
+++ b/lib/libdvd/libdvdcss/doc/doxygen.cfg.in
@@ -25,20 +25,20 @@ DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
-PROJECT_NAME = libdvdcss
+PROJECT_NAME = @PACKAGE_NAME@
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = 1.2.12
+PROJECT_NUMBER = @PACKAGE_VERSION@
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
-OUTPUT_DIRECTORY = .
+OUTPUT_DIRECTORY = @top_builddir@/doc
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
# 4096 sub-directories (in 2 levels) under the output directory of each output
@@ -155,13 +155,6 @@ QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member
-# documentation.
-
-DETAILS_AT_TOP = NO
-
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
# member inherits the documentation from any documented member that it
# re-implements.
@@ -446,12 +439,6 @@ MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES = NO
-
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
# This will remove the Files entry from the Quick Index and from the
# Folder Tree View (if specified). The default is YES.
@@ -534,8 +521,8 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
-INPUT = @TOP_SRCDIR@/src/dvdcss/dvdcss.h \
- @TOP_SRCDIR@/src/libdvdcss.c
+INPUT = @top_srcdir@/src/dvdcss/dvdcss.h \
+ @top_srcdir@/src/libdvdcss.c
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -565,7 +552,7 @@ RECURSIVE = YES
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
-EXCLUDE = ../src/config.h
+EXCLUDE =
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix filesystem feature) are excluded
@@ -743,13 +730,13 @@ HTML_FILE_EXTENSION = .html
# each generated HTML page. If it is left blank doxygen will generate a
# standard header.
-HTML_HEADER = @SRCDIR@/header.html
+HTML_HEADER = @top_srcdir@/doc/header.html
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
# each generated HTML page. If it is left blank doxygen will generate a
# standard footer.
-HTML_FOOTER = @SRCDIR@/footer.html
+HTML_FOOTER = @top_srcdir@/doc/footer.html
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
# style sheet that is used by each HTML page. It can be used to
@@ -760,12 +747,6 @@ HTML_FOOTER = @SRCDIR@/footer.html
HTML_STYLESHEET =
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
# will be generated that can be used as input for tools like the
# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
@@ -892,74 +873,7 @@ FORMULA_FONTSIZE = 10
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
# generate Latex output.
-GENERATE_LATEX = YES
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES = NO
+GENERATE_LATEX = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
diff --git a/lib/libdvd/libdvdcss/doc/footer.html b/lib/libdvd/libdvdcss/doc/footer.html
index b73335daf8..b605728ee2 100644
--- a/lib/libdvd/libdvdcss/doc/footer.html
+++ b/lib/libdvd/libdvdcss/doc/footer.html
@@ -1,3 +1,2 @@
-<!-- $Id: footer.html 186 2005-09-04 07:43:15Z robux4 $ -->
</body>
</html>
diff --git a/lib/libdvd/libdvdcss/doc/header.html b/lib/libdvd/libdvdcss/doc/header.html
index 08b048d669..4a43507a29 100644
--- a/lib/libdvd/libdvdcss/doc/header.html
+++ b/lib/libdvd/libdvdcss/doc/header.html
@@ -7,4 +7,3 @@
<link href="/doxygen.css" rel="stylesheet" type="text/css">
</head>
<body>
-<!-- $Id: header.html 186 2005-09-04 07:43:15Z robux4 $ -->
diff --git a/lib/libdvd/libdvdcss/libdvdcss.spec b/lib/libdvd/libdvdcss/libdvdcss.spec
index 4276333846..056738805d 100644
--- a/lib/libdvd/libdvdcss/libdvdcss.spec
+++ b/lib/libdvd/libdvdcss/libdvdcss.spec
@@ -12,7 +12,7 @@
%define configure2_5x %configure
%define make %__make
%define makeinstall_std %makeinstall
-# adjust define for Redhat.
+# adjust define for Red Hat.
%endif
@@ -32,8 +32,8 @@ Conflicts: libdvdcss0.0.1, libdvdcss0.0.2
libdvdcss is a simple library designed for accessing DVDs like a block device
without having to bother about the decryption. The important features are:
* Portability: currently supported platforms are GNU/Linux, FreeBSD, NetBSD,
- OpenBSD, BSD/OS, BeOS, Windows 95/98/ME, Windows NT/2000/XP, MacOS X,
- Solaris, HP-UX and OS/2.
+ OpenBSD, BeOS, Windows 98/ME, Windows NT/2000/XP, Mac OS X, Solaris,
+ HP-UX and OS/2.
* Adaptability: unlike most similar projects, libdvdcss doesn't require the
region of your drive to be set and will try its best to read from the disc
even in the case of a region mismatch.
@@ -49,8 +49,8 @@ Provides: %name = %version-%release
libdvdcss is a simple library designed for accessing DVDs like a block device
without having to bother about the decryption. The important features are:
* Portability: currently supported platforms are GNU/Linux, FreeBSD, NetBSD,
- OpenBSD, BSD/OS, BeOS, Windows 95/98/ME, Windows NT/2000/XP, MacOS X,
- Solaris, HP-UX and OS/2.
+ OpenBSD, BeOS, Windows 98/ME, Windows NT/2000/XP, Mac OS X, Solaris,
+ HP-UX and OS/2.
* Adaptability: unlike most similar projects, libdvdcss doesn't require the
region of your drive to be set and will try its best to read from the disc
even in the case of a region mismatch.
@@ -121,10 +121,10 @@ package installed.
- new upstream release
- improved robustness in case of read errors
- key cache support
-- added more macros to fix RedHat build
+- added more macros to fix Red Hat build
* Mon Nov 18 2002 Alexis de Lattre <alexis@videolan.org> 1.2.4-2
-- Changes in .spec file for RedHat and RPM 4.1
+- Changes in .spec file for Red Hat and RPM 4.1
* Thu Nov 14 2002 Alexis de Lattre <alexis@videolan.org> 1.2.4-1
- new upstream release
@@ -150,8 +150,8 @@ package installed.
- major version is 2 (aka guillaume sux).
- spec clean up: do not rm in %%prep, %%buildroot, %%makeinstall_std, %%provides %%version-%%release
- added doc in devel
-- sync with cvs's one (%%description,%%files, conflicts).
-- fix url
+- sync with CVS's one (%%description,%%files, conflicts).
+- fix URL
* Sat Apr 06 2002 Guillaume Rousse <rousse@ccr.jussieu.fr> 1.1.1-1plf
- 1.1.1
diff --git a/lib/libdvd/libdvdcss/m4/attributes.m4 b/lib/libdvd/libdvdcss/m4/attributes.m4
new file mode 100644
index 0000000000..b8b33500ae
--- /dev/null
+++ b/lib/libdvd/libdvdcss/m4/attributes.m4
@@ -0,0 +1,296 @@
+dnl Macros to check the presence of generic (non-typed) symbols.
+dnl Copyright (c) 2006-2007 Diego Pettenò <flameeyes@gmail.com>
+dnl Copyright (c) 2006-2007 xine project
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2, or (at your option)
+dnl any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+dnl 02110-1301, USA.
+dnl
+dnl As a special exception, the copyright owners of the
+dnl macro gives unlimited permission to copy, distribute and modify the
+dnl configure scripts that are the output of Autoconf when processing the
+dnl Macro. You need not follow the terms of the GNU General Public
+dnl License when using or distributing such scripts, even though portions
+dnl of the text of the Macro appear in them. The GNU General Public
+dnl License (GPL) does govern all other use of the material that
+dnl constitutes the Autoconf Macro.
+dnl
+dnl This special exception to the GPL applies to versions of the
+dnl Autoconf Macro released by this project. When you make and
+dnl distribute a modified version of the Autoconf Macro, you may extend
+dnl this special exception to the GPL to apply to your modified version as
+dnl well.
+
+dnl Check if the flag is supported by compiler
+dnl CC_CHECK_CFLAGS_SILENT([FLAG], [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
+
+AC_DEFUN([CC_CHECK_CFLAGS_SILENT], [
+ AC_CACHE_VAL(AS_TR_SH([cc_cv_cflags_$1]),
+ [ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $1"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main() { return 0; }])],
+ [eval "AS_TR_SH([cc_cv_cflags_$1])='yes'"],
+ [eval "AS_TR_SH([cc_cv_cflags_$1])='no'"])
+ CFLAGS="$ac_save_CFLAGS"
+ ])
+
+ AS_IF([eval test x$]AS_TR_SH([cc_cv_cflags_$1])[ = xyes],
+ [$2], [$3])
+])
+
+dnl Check if the flag is supported by compiler (cacheable)
+dnl CC_CHECK_CFLAGS([FLAG], [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
+
+AC_DEFUN([CC_CHECK_CFLAGS], [
+ AC_CACHE_CHECK([if $CC supports $1 flag],
+ AS_TR_SH([cc_cv_cflags_$1]),
+ CC_CHECK_CFLAGS_SILENT([$1]) dnl Don't execute actions here!
+ )
+
+ AS_IF([eval test x$]AS_TR_SH([cc_cv_cflags_$1])[ = xyes],
+ [$2], [$3])
+])
+
+dnl CC_CHECK_CFLAG_APPEND(FLAG, [action-if-found], [action-if-not-found])
+dnl Check for CFLAG and appends them to CFLAGS if supported
+AC_DEFUN([CC_CHECK_CFLAG_APPEND], [
+ AC_CACHE_CHECK([if $CC supports $1 flag],
+ AS_TR_SH([cc_cv_cflags_$1]),
+ CC_CHECK_CFLAGS_SILENT([$1]) dnl Don't execute actions here!
+ )
+
+ AS_IF([eval test x$]AS_TR_SH([cc_cv_cflags_$1])[ = xyes],
+ [CFLAGS="$CFLAGS $1"; $2], [$3])
+])
+
+dnl CC_CHECK_CFLAGS_APPEND([FLAG1 FLAG2], [action-if-found], [action-if-not])
+AC_DEFUN([CC_CHECK_CFLAGS_APPEND], [
+ for flag in $1; do
+ CC_CHECK_CFLAG_APPEND($flag, [$2], [$3])
+ done
+])
+
+dnl Check if the flag is supported by linker (cacheable)
+dnl CC_CHECK_LDFLAGS([FLAG], [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
+
+AC_DEFUN([CC_CHECK_LDFLAGS], [
+ AC_CACHE_CHECK([if $CC supports $1 flag],
+ AS_TR_SH([cc_cv_ldflags_$1]),
+ [ac_save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $1"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main() { return 1; }])],
+ [eval "AS_TR_SH([cc_cv_ldflags_$1])='yes'"],
+ [eval "AS_TR_SH([cc_cv_ldflags_$1])="])
+ LDFLAGS="$ac_save_LDFLAGS"
+ ])
+
+ AS_IF([eval test x$]AS_TR_SH([cc_cv_ldflags_$1])[ = xyes],
+ [$2], [$3])
+])
+
+dnl Check for a -Werror flag or equivalent. -Werror is the GCC
+dnl and ICC flag that tells the compiler to treat all the warnings
+dnl as fatal. We usually need this option to make sure that some
+dnl constructs (like attributes) are not simply ignored.
+dnl
+dnl Other compilers don't support -Werror per se, but they support
+dnl an equivalent flag:
+dnl - Sun Studio compiler supports -errwarn=%all
+AC_DEFUN([CC_CHECK_WERROR], [
+ AC_CACHE_CHECK(
+ [for $CC way to treat warnings as errors],
+ [cc_cv_werror],
+ [CC_CHECK_CFLAGS_SILENT([-Werror], [cc_cv_werror=-Werror],
+ [CC_CHECK_CFLAGS_SILENT([-errwarn=%all], [cc_cv_werror=-errwarn=%all])])
+ ])
+])
+
+AC_DEFUN([CC_CHECK_ATTRIBUTE], [
+ AC_REQUIRE([CC_CHECK_WERROR])
+ AC_CACHE_CHECK([if $CC supports __attribute__(( ifelse([$2], , [$1], [$2]) ))],
+ AS_TR_SH([cc_cv_attribute_$1]),
+ [ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $cc_cv_werror"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([$3])],
+ [eval "AS_TR_SH([cc_cv_attribute_$1])='yes'"],
+ [eval "AS_TR_SH([cc_cv_attribute_$1])='no'"])
+ CFLAGS="$ac_save_CFLAGS"
+ ])
+
+ AS_IF([eval test x$]AS_TR_SH([cc_cv_attribute_$1])[ = xyes],
+ [AC_DEFINE(
+ AS_TR_CPP([SUPPORT_ATTRIBUTE_$1]), 1,
+ [Define this if the compiler supports __attribute__(( ifelse([$2], , [$1], [$2]) ))]
+ )
+ $4],
+ [$5])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_CONSTRUCTOR], [
+ CC_CHECK_ATTRIBUTE(
+ [constructor],,
+ [extern void foo();
+ void __attribute__((constructor)) ctor() { foo(); }],
+ [$1], [$2])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_DESTRUCTOR], [
+ CC_CHECK_ATTRIBUTE(
+ [destructor],,
+ [extern void foo();
+ void __attribute__((destructor)) dtor() { foo(); }],
+ [$1], [$2])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_FORMAT], [
+ CC_CHECK_ATTRIBUTE(
+ [format], [format(printf, n, n)],
+ [void __attribute__((format(printf, 1, 2))) printflike(const char *fmt, ...) { fmt = (void *)0; }],
+ [$1], [$2])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_FORMAT_ARG], [
+ CC_CHECK_ATTRIBUTE(
+ [format_arg], [format_arg(printf)],
+ [char *__attribute__((format_arg(1))) gettextlike(const char *fmt) { fmt = (void *)0; }],
+ [$1], [$2])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_VISIBILITY], [
+ CC_CHECK_ATTRIBUTE(
+ [visibility_$1], [visibility("$1")],
+ [void __attribute__((visibility("$1"))) $1_function() { }],
+ [$2], [$3])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_NONNULL], [
+ CC_CHECK_ATTRIBUTE(
+ [nonnull], [nonnull()],
+ [void __attribute__((nonnull())) some_function(void *foo, void *bar) { foo = (void*)0; bar = (void*)0; }],
+ [$1], [$2])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_UNUSED], [
+ CC_CHECK_ATTRIBUTE(
+ [unused], ,
+ [void some_function(void *foo, __attribute__((unused)) void *bar);],
+ [$1], [$2])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_SENTINEL], [
+ CC_CHECK_ATTRIBUTE(
+ [sentinel], ,
+ [void some_function(void *foo, ...) __attribute__((sentinel));],
+ [$1], [$2])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_DEPRECATED], [
+ CC_CHECK_ATTRIBUTE(
+ [deprecated], ,
+ [void some_function(void *foo, ...) __attribute__((deprecated));],
+ [$1], [$2])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_ALIAS], [
+ CC_CHECK_ATTRIBUTE(
+ [alias], [weak, alias],
+ [void other_function(void *foo) { }
+ void some_function(void *foo) __attribute__((weak, alias("other_function")));],
+ [$1], [$2])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_MALLOC], [
+ CC_CHECK_ATTRIBUTE(
+ [malloc], ,
+ [void * __attribute__((malloc)) my_alloc(int n);],
+ [$1], [$2])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_PACKED], [
+ CC_CHECK_ATTRIBUTE(
+ [packed], ,
+ [struct astructure { char a; int b; long c; void *d; } __attribute__((packed));
+ char assert@<:@(sizeof(struct astructure) == (sizeof(char)+sizeof(int)+sizeof(long)+sizeof(void*)))-1@:>@;],
+ [$1], [$2])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_CONST], [
+ CC_CHECK_ATTRIBUTE(
+ [const], ,
+ [int __attribute__((const)) twopow(int n) { return 1 << n; } ],
+ [$1], [$2])
+])
+
+AC_DEFUN([CC_FLAG_VISIBILITY], [
+ AC_REQUIRE([CC_CHECK_WERROR])
+ AC_CACHE_CHECK([if $CC supports -fvisibility=hidden],
+ [cc_cv_flag_visibility],
+ [cc_flag_visibility_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $cc_cv_werror"
+ CC_CHECK_CFLAGS_SILENT([-fvisibility=hidden],
+ cc_cv_flag_visibility='yes',
+ cc_cv_flag_visibility='no')
+ CFLAGS="$cc_flag_visibility_save_CFLAGS"])
+
+ AS_IF([test "x$cc_cv_flag_visibility" = "xyes"],
+ [AC_DEFINE([SUPPORT_FLAG_VISIBILITY], 1,
+ [Define this if the compiler supports the -fvisibility flag])
+ $1],
+ [$2])
+])
+
+AC_DEFUN([CC_FUNC_EXPECT], [
+ AC_REQUIRE([CC_CHECK_WERROR])
+ AC_CACHE_CHECK([if compiler has __builtin_expect function],
+ [cc_cv_func_expect],
+ [ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $cc_cv_werror"
+ AC_COMPILE_IFELSE(
+ [int some_function() {
+ int a = 3;
+ return (int)__builtin_expect(a, 3);
+ }],
+ [cc_cv_func_expect=yes],
+ [cc_cv_func_expect=no])
+ CFLAGS="$ac_save_CFLAGS"
+ ])
+
+ AS_IF([test "x$cc_cv_func_expect" = "xyes"],
+ [AC_DEFINE([SUPPORT__BUILTIN_EXPECT], 1,
+ [Define this if the compiler supports __builtin_expect() function])
+ $1],
+ [$2])
+])
+
+AC_DEFUN([CC_ATTRIBUTE_ALIGNED], [
+ AC_REQUIRE([CC_CHECK_WERROR])
+ AC_CACHE_CHECK([highest __attribute__ ((aligned ())) supported],
+ [cc_cv_attribute_aligned],
+ [ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $cc_cv_werror"
+ for cc_attribute_align_try in 64 32 16 8 4 2; do
+ AC_COMPILE_IFELSE([
+ int main() {
+ static char c __attribute__ ((aligned($cc_attribute_align_try))) = 0;
+ return c;
+ }], [cc_cv_attribute_aligned=$cc_attribute_align_try; break])
+ done
+ CFLAGS="$ac_save_CFLAGS"
+ ])
+
+ if test "x$cc_cv_attribute_aligned" != "x"; then
+ AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX], [$cc_cv_attribute_aligned],
+ [Define the highest alignment supported])
+ fi
+])
diff --git a/lib/libdvd/libdvdcss/src/Makefile.am b/lib/libdvd/libdvdcss/src/Makefile.am
deleted file mode 100644
index 3823b501d8..0000000000
--- a/lib/libdvd/libdvdcss/src/Makefile.am
+++ /dev/null
@@ -1,37 +0,0 @@
-SUBDIRS = dvdcss
-
-lib_LTLIBRARIES = libdvdcss.la
-
-libdvdcss_la_SOURCES = \
- libdvdcss.c libdvdcss.h \
- device.c device.h \
- css.c css.h csstables.h \
- ioctl.c ioctl.h \
- error.c \
- common.h \
- $(bsdi_sources)
-
-EXTRA_libdvdcss_la_SOURCES = \
- $(bsdi_extras)
-
-libdvdcss_la_LIBADD = $(bsdi_libadd)
-libdvdcss_la_LDFLAGS = -version-info 3:0:1 $(libtool_flags) @DVDCSS_LDFLAGS@
-
-bsdi_extras = bsdi_ioctl.c bsdi_dvd.h
-
-if SYS_BSDI
-bsdi_sources = $(bsdi_extras)
-endif
-
-if SYS_BSDI_LIBDVD
-bsdi_libadd = -ldvd
-endif
-
-if SYS_MSVC
-else
-libtool_flags = -no-undefined
-endif
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libdvdcss.pc
-
diff --git a/lib/libdvd/libdvdcss/src/bsdi_dvd.h b/lib/libdvd/libdvdcss/src/bsdi_dvd.h
deleted file mode 100644
index efc5248e7b..0000000000
--- a/lib/libdvd/libdvdcss/src/bsdi_dvd.h
+++ /dev/null
@@ -1,344 +0,0 @@
-/*
- * $Id: bsdi_dvd.h 234 2010-08-02 15:38:08Z jb $
-*/
-
-#ifndef DVDCSS_BSDI_DVD_H
-#define DVDCSS_BSDI_DVD_H
-
-#include <sys/cdefs.h>
-#include <machine/endian.h>
-#include <sys/ioctl.h>
-
-__BEGIN_DECLS
-int dvd_cdrom_ioctl(int, unsigned long, void *);
-int cdrom_blocksize(int, int);
-void dvd_cdrom_debug(int);
-__END_DECLS
-
-#define ioctl(a,b,c) dvd_cdrom_ioctl((a),(b),(c))
-
-typedef unsigned char __u8;
-typedef unsigned short __u16;
-typedef unsigned int __u32;
-
-#define DVD_READ_STRUCT 0x5390 /* Read structure */
-#define DVD_WRITE_STRUCT 0x5391 /* Write structure */
-#define DVD_AUTH 0x5392 /* Authentication */
-
-#define DVD_STRUCT_PHYSICAL 0x00
-#define DVD_STRUCT_COPYRIGHT 0x01
-#define DVD_STRUCT_DISCKEY 0x02
-#define DVD_STRUCT_BCA 0x03
-#define DVD_STRUCT_MANUFACT 0x04
-
-struct dvd_layer {
- __u8 book_version : 4;
- __u8 book_type : 4;
- __u8 min_rate : 4;
- __u8 disc_size : 4;
- __u8 layer_type : 4;
- __u8 track_path : 1;
- __u8 nlayers : 2;
- __u8 track_density : 4;
- __u8 linear_density : 4;
- __u8 bca : 1;
- __u32 start_sector;
- __u32 end_sector;
- __u32 end_sector_l0;
-};
-
-struct dvd_physical {
- __u8 type;
- __u8 layer_num;
- struct dvd_layer layer[4];
-};
-
-struct dvd_copyright {
- __u8 type;
-
- __u8 layer_num;
- __u8 cpst;
- __u8 rmi;
-};
-
-struct dvd_disckey {
- __u8 type;
-
- unsigned agid : 2;
- __u8 value[2048];
-};
-
-struct dvd_bca {
- __u8 type;
-
- int len;
- __u8 value[188];
-};
-
-struct dvd_manufact {
- __u8 type;
-
- __u8 layer_num;
- int len;
- __u8 value[2048];
-};
-
-typedef union {
- __u8 type;
-
- struct dvd_physical physical;
- struct dvd_copyright copyright;
- struct dvd_disckey disckey;
- struct dvd_bca bca;
- struct dvd_manufact manufact;
-} dvd_struct;
-
-/*
- * DVD authentication ioctl
- */
-
-/* Authentication states */
-#define DVD_LU_SEND_AGID 0
-#define DVD_HOST_SEND_CHALLENGE 1
-#define DVD_LU_SEND_KEY1 2
-#define DVD_LU_SEND_CHALLENGE 3
-#define DVD_HOST_SEND_KEY2 4
-
-/* Termination states */
-#define DVD_AUTH_ESTABLISHED 5
-#define DVD_AUTH_FAILURE 6
-
-/* Other functions */
-#define DVD_LU_SEND_TITLE_KEY 7
-#define DVD_LU_SEND_ASF 8
-#define DVD_INVALIDATE_AGID 9
-#define DVD_LU_SEND_RPC_STATE 10
-#define DVD_HOST_SEND_RPC_STATE 11
-
-/* State data */
-typedef __u8 dvd_key[5]; /* 40-bit value, MSB is first elem. */
-typedef __u8 dvd_challenge[10]; /* 80-bit value, MSB is first elem. */
-
-struct dvd_lu_send_agid {
- __u8 type;
- unsigned agid : 2;
-};
-
-struct dvd_host_send_challenge {
- __u8 type;
- unsigned agid : 2;
-
- dvd_challenge chal;
-};
-
-struct dvd_send_key {
- __u8 type;
- unsigned agid : 2;
-
- dvd_key key;
-};
-
-struct dvd_lu_send_challenge {
- __u8 type;
- unsigned agid : 2;
-
- dvd_challenge chal;
-};
-
-#define DVD_CPM_NO_COPYRIGHT 0
-#define DVD_CPM_COPYRIGHTED 1
-
-#define DVD_CP_SEC_NONE 0
-#define DVD_CP_SEC_EXIST 1
-
-#define DVD_CGMS_UNRESTRICTED 0
-#define DVD_CGMS_SINGLE 2
-#define DVD_CGMS_RESTRICTED 3
-
-struct dvd_lu_send_title_key {
- __u8 type;
- unsigned agid : 2;
-
- dvd_key title_key;
- int lba;
- unsigned cpm : 1;
- unsigned cp_sec : 1;
- unsigned cgms : 2;
-};
-
-struct dvd_lu_send_asf {
- __u8 type;
- unsigned agid : 2;
-
- unsigned asf : 1;
-};
-
-struct dvd_host_send_rpcstate {
- __u8 type;
- __u8 pdrc;
-};
-
-struct dvd_lu_send_rpcstate {
- __u8 type : 2;
- __u8 vra : 3;
- __u8 ucca : 3;
- __u8 region_mask;
- __u8 rpc_scheme;
-};
-
-typedef union {
- __u8 type;
-
- struct dvd_lu_send_agid lsa;
- struct dvd_host_send_challenge hsc;
- struct dvd_send_key lsk;
- struct dvd_lu_send_challenge lsc;
- struct dvd_send_key hsk;
- struct dvd_lu_send_title_key lstk;
- struct dvd_lu_send_asf lsasf;
- struct dvd_host_send_rpcstate hrpcs;
- struct dvd_lu_send_rpcstate lrpcs;
-} dvd_authinfo;
-
-
-typedef struct {
- __u16 report_key_length;
- __u8 reserved1;
- __u8 reserved2;
-#if BYTE_ORDER == BIG_ENDIAN
- __u8 type_code : 2;
- __u8 vra : 3;
- __u8 ucca : 3;
-#elif BYTE_ORDER == LITTLE_ENDIAN
- __u8 ucca : 3;
- __u8 vra : 3;
- __u8 type_code : 2;
-#endif
- __u8 region_mask;
- __u8 rpc_scheme;
- __u8 reserved3;
-} rpc_state_t;
-
-/*
- * Stuff for the CDROM ioctls
-*/
-
-#define CDROMREADTOCHDR 0x5305 /* Read TOC header (cdrom_tochdr) */
-#define CDROMREADTOCENTRY 0x5306 /* Read TOC entry (cdrom_tocentry) */
-#define CDROMEJECT 0x5309 /* Ejects the cdrom media */
-#define CDROMCLOSETRAY 0x5319 /* Reverse of CDROMEJECT */
-#define CDROM_DRIVE_STATUS 0x5326 /* Get tray position, etc. */
-#define CDROM_DISC_STATUS 0x5327 /* Get disc type, etc. */
-#define CDROMREADMODE2 0x530c /* Read CDROM mode 2 data (2336 Bytes) */
-#define CDROMREADMODE1 0x530d /* Read CDROM mode 1 data (2048 Bytes) */
-#define CDROMREADRAW 0x5314 /* read data in raw mode (2352 bytes) */
-
-#define CD_MINS 74 /* max. minutes per CD, not really a limit */
-#define CD_SECS 60 /* seconds per minute */
-#define CD_FRAMES 75 /* frames per second */
-#define CD_MSF_OFFSET 150 /* MSF numbering offset of first frame */
-
-#define CD_HEAD_SIZE 4 /* header (address) bytes per raw data frame */
-#define CD_SYNC_SIZE 12 /* 12 sync bytes per raw data frame */
-#define CD_FRAMESIZE 2048 /* bytes per frame, "cooked" mode */
-#define CD_FRAMESIZE_RAW 2352 /* bytes per frame, "raw" mode */
-#define CD_FRAMESIZE_RAW0 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE-CD_HEAD_SIZE) /*2336*/
-#define CD_FRAMESIZE_RAW1 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE) /*2340*/
-
-/* CD-ROM address types (cdrom_tocentry.cdte_format) */
-#define CDROM_LBA 0x01 /* logical block: first frame is #0 */
-#define CDROM_MSF 0x02 /* minute-second-frame: binary. not bcd here!*/
-
-/* bit to tell whether track is data or audio (cdrom_tocentry.cdte_ctrl) */
-#define CDROM_DATA_TRACK 0x04
-
-/* The leadout track is always 0xAA, regardless of # of tracks on disc */
-#define CDROM_LEADOUT 0xAA
-
-/* drive status returned by CDROM_DRIVE_STATUS ioctl */
-#define CDS_NO_INFO 0 /* if not implemented */
-#define CDS_NO_DISC 1
-#define CDS_TRAY_OPEN 2
-#define CDS_DRIVE_NOT_READY 3
-#define CDS_DISC_OK 4
-
-/*
- * Return values for CDROM_DISC_STATUS ioctl.
- * Can also return CDS_NO_INFO and CDS_NO_DISC from above
-*/
-#define CDS_AUDIO 100
-#define CDS_DATA_1 101
-#define CDS_DATA_2 102
-#define CDS_XA_2_1 103
-#define CDS_XA_2_2 104
-#define CDS_MIXED 105
-
-/* For compile compatibility only - we don't support changers */
-#define CDSL_NONE ((int) (~0U>>1)-1)
-#define CDSL_CURRENT ((int) (~0U>>1))
-
-struct cdrom_msf
-{
- __u8 cdmsf_min0; /* start minute */
- __u8 cdmsf_sec0; /* start second */
- __u8 cdmsf_frame0; /* start frame */
- __u8 cdmsf_min1; /* end minute */
- __u8 cdmsf_sec1; /* end second */
- __u8 cdmsf_frame1; /* end frame */
-};
-
-struct cdrom_tochdr
- {
- __u8 cdth_trk0; /* start track */
- __u8 cdth_trk1; /* end track */
- };
-
-struct cdrom_msf0
-{
- __u8 minute;
- __u8 second;
- __u8 frame;
-};
-
-union cdrom_addr
-{
- struct cdrom_msf0 msf;
- int lba;
-};
-
-struct cdrom_tocentry
-{
- __u8 cdte_track;
- __u8 cdte_adr :4;
- __u8 cdte_ctrl :4;
- __u8 cdte_format;
- union cdrom_addr cdte_addr;
- __u8 cdte_datamode;
-};
-
-struct modesel_head
-{
- __u8 reserved1;
- __u8 medium;
- __u8 reserved2;
- __u8 block_desc_length;
- __u8 density;
- __u8 number_of_blocks_hi;
- __u8 number_of_blocks_med;
- __u8 number_of_blocks_lo;
- __u8 reserved3;
- __u8 block_length_hi;
- __u8 block_length_med;
- __u8 block_length_lo;
-};
-
-typedef struct
-{
- int data;
- int audio;
- int cdi;
- int xa;
- int error;
-} tracktype;
-
-#endif /* DVDCSS_BSDI_DVD_H */
diff --git a/lib/libdvd/libdvdcss/src/bsdi_ioctl.c b/lib/libdvd/libdvdcss/src/bsdi_ioctl.c
deleted file mode 100644
index ef4c56c30e..0000000000
--- a/lib/libdvd/libdvdcss/src/bsdi_ioctl.c
+++ /dev/null
@@ -1,770 +0,0 @@
-#include "config.h"
-
-/*
- * Hacked version of the linux cdrom.c kernel module - everything except the
- * DVD handling ripped out and the rest rewritten to use raw SCSI commands
- * on BSD/OS 4.2 (but should work with earlier versions as well).
-*/
-
-#include <sys/types.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include </sys/dev/scsi/scsi.h>
-#include </sys/dev/scsi/scsi_ioctl.h>
-
-#include "bsdi_dvd.h"
-
-/*
- * Now get rid of the override/intercept macro so we can call the real ioctl()
- * routine!
-*/
-#undef ioctl
-
-#define CMD_READ_10 0x28
-#define CMD_READ_TOC_PMA_ATIP 0x43
-#define CMD_READ_CD 0xbe
-#define CMD_START_STOP_UNIT 0x1b
-
-#define CMD_SEND_KEY 0xa3
-#define CMD_REPORT_KEY 0xa4
-#define CMD_READ_DVD_STRUCTURE 0xad
-
-#define copy_key(dest,src) memcpy((dest), (src), sizeof(dvd_key))
-#define copy_chal(dest,src) memcpy((dest), (src), sizeof(dvd_challenge))
-
-/* Define the Cdrom Generic Command structure */
-typedef struct cgc
- {
- u_char cdb[12];
- u_char *buf;
- int buflen;
- int rw;
- int timeout;
- scsi_user_sense_t *sus;
- } cgc_t;
-
-static int scsi_cmd(int, cgc_t *);
-static int cdrom_ioctl(int, u_long, void *);
-static int cdrom_tray_move(int, int);
-static void cdrom_count_tracks(int, tracktype *);
-static int dvd_ioctl(int, u_long, void *);
-static int debug = 0;
-
-void dvd_cdrom_debug(int flag)
- {
- debug = flag;
- }
-
-/*
- * This is the published entry point. Actually applications should simply
- * include <dvd.h> and not refer to this at all.
-*/
-int dvd_cdrom_ioctl(int fd, unsigned long cmd, void *arg)
- {
- switch (cmd)
- {
- case DVD_AUTH:
- case DVD_READ_STRUCT:
- return(dvd_ioctl(fd, cmd, arg));
- case CDROMREADTOCHDR:
- case CDROMREADTOCENTRY:
- case CDROMEJECT:
- case CDROMREADRAW:
- case CDROMREADMODE1:
- case CDROMREADMODE2:
- case CDROMCLOSETRAY:
- case CDROM_DRIVE_STATUS:
- case CDROM_DISC_STATUS:
- return(cdrom_ioctl(fd, cmd, arg));
- default:
- return(ioctl(fd, cmd, arg));
- }
- }
-
-static void setup_report_key(cgc_t *cgc, u_int agid, u_int type)
- {
-
- cgc->cdb[0] = CMD_REPORT_KEY;
- cgc->cdb[10] = type | (agid << 6);
- switch (type)
- {
- case 0:
- case 5:
- case 8:
- cgc->buflen = 8;
- break;
- case 1:
- cgc->buflen = 16;
- break;
- case 2:
- case 4:
- cgc->buflen = 12;
- break;
- }
- cgc->cdb[9] = cgc->buflen;
- cgc->rw = SUC_READ;;
- }
-
-static void setup_send_key(cgc_t *cgc, u_int agid, u_int type)
- {
-
- cgc->cdb[0] = CMD_SEND_KEY;
- cgc->cdb[10] = type | (agid << 6);
- switch (type)
- {
- case 1:
- cgc->buflen = 16;
- break;
- case 3:
- cgc->buflen = 12;
- break;
- case 6:
- cgc->buflen = 8;
- break;
- }
- cgc->cdb[9] = cgc->buflen;
- cgc->rw = SUC_WRITE;
- }
-
-static void cgc_init(cgc_t *cgc, void *buf, int len, int type)
- {
-
- memset(cgc, 0, sizeof (*cgc));
- if (buf)
- memset(buf, 0, len);
- cgc->buf = (u_char *)buf;
- cgc->buflen = len;
- cgc->rw = type;
- cgc->timeout = 5; /* 5 second timeout */
- }
-
-static int dvd_do_auth(int fd, dvd_authinfo *ai)
- {
- int ret;
- u_char buf[20];
- cgc_t cgc;
- rpc_state_t rpc_state;
-
- memset(buf, 0, sizeof(buf));
- cgc_init(&cgc, buf, 0, SUC_READ);
-
- switch (ai->type)
- {
- case DVD_LU_SEND_AGID: /* LU data send */
- setup_report_key(&cgc, ai->lsa.agid, 0);
- if (ret = scsi_cmd(fd, &cgc))
- return ret;
- ai->lsa.agid = buf[7] >> 6;
- break;
- case DVD_LU_SEND_KEY1:
- setup_report_key(&cgc, ai->lsk.agid, 2);
- if (ret = scsi_cmd(fd, &cgc))
- return ret;
- copy_key(ai->lsk.key, &buf[4]);
- break;
- case DVD_LU_SEND_CHALLENGE:
- setup_report_key(&cgc, ai->lsc.agid, 1);
- if (ret = scsi_cmd(fd, &cgc))
- return ret;
- copy_chal(ai->lsc.chal, &buf[4]);
- break;
- case DVD_LU_SEND_TITLE_KEY: /* Post-auth key */
- setup_report_key(&cgc, ai->lstk.agid, 4);
- cgc.cdb[5] = ai->lstk.lba;
- cgc.cdb[4] = ai->lstk.lba >> 8;
- cgc.cdb[3] = ai->lstk.lba >> 16;
- cgc.cdb[2] = ai->lstk.lba >> 24;
- if (ret = scsi_cmd(fd, &cgc))
- return ret;
- ai->lstk.cpm = (buf[4] >> 7) & 1;
- ai->lstk.cp_sec = (buf[4] >> 6) & 1;
- ai->lstk.cgms = (buf[4] >> 4) & 3;
- copy_key(ai->lstk.title_key, &buf[5]);
- break;
- case DVD_LU_SEND_ASF:
- setup_report_key(&cgc, ai->lsasf.agid, 5);
- if (ret = scsi_cmd(fd, &cgc))
- return ret;
- ai->lsasf.asf = buf[7] & 1;
- break;
- case DVD_HOST_SEND_CHALLENGE: /* LU data receive (LU changes state) */
- setup_send_key(&cgc, ai->hsc.agid, 1);
- buf[1] = 0xe;
- copy_chal(&buf[4], ai->hsc.chal);
- if (ret = scsi_cmd(fd, &cgc))
- return ret;
- ai->type = DVD_LU_SEND_KEY1;
- break;
- case DVD_HOST_SEND_KEY2:
- setup_send_key(&cgc, ai->hsk.agid, 3);
- buf[1] = 0xa;
- copy_key(&buf[4], ai->hsk.key);
- if (ret = scsi_cmd(fd, &cgc))
- {
- ai->type = DVD_AUTH_FAILURE;
- return ret;
- }
- ai->type = DVD_AUTH_ESTABLISHED;
- break;
- case DVD_INVALIDATE_AGID:
- setup_report_key(&cgc, ai->lsa.agid, 0x3f);
- if (ret = scsi_cmd(fd, &cgc))
- return ret;
- break;
- case DVD_LU_SEND_RPC_STATE: /* Get region settings */
- setup_report_key(&cgc, 0, 8);
- memset(&rpc_state, 0, sizeof(rpc_state_t));
- cgc.buf = (char *) &rpc_state;
- if (ret = scsi_cmd(fd, &cgc))
- {
- ai->lrpcs.type = 0;
- ai->lrpcs.rpc_scheme = 0;
- }
- else
- {
- ai->lrpcs.type = rpc_state.type_code;
- ai->lrpcs.vra = rpc_state.vra;
- ai->lrpcs.ucca = rpc_state.ucca;
- ai->lrpcs.region_mask = rpc_state.region_mask;
- ai->lrpcs.rpc_scheme = rpc_state.rpc_scheme;
- }
- break;
- case DVD_HOST_SEND_RPC_STATE: /* Set region settings */
- setup_send_key(&cgc, 0, 6);
- buf[1] = 6;
- buf[4] = ai->hrpcs.pdrc;
- if (ret = scsi_cmd(fd, &cgc))
- return ret;
- break;
- default:
- return EINVAL;
- }
- return 0;
- }
-
-static int dvd_read_physical(int fd, dvd_struct *s)
- {
- int ret, i;
- u_char buf[4 + 4 * 20], *base;
- struct dvd_layer *layer;
- cgc_t cgc;
-
- cgc_init(&cgc, buf, sizeof(buf), SUC_READ);
- cgc.cdb[0] = CMD_READ_DVD_STRUCTURE;
- cgc.cdb[6] = s->physical.layer_num;
- cgc.cdb[7] = s->type;
- cgc.cdb[9] = cgc.buflen & 0xff;
-
- if (ret = scsi_cmd(fd, &cgc))
- return ret;
-
- base = &buf[4];
- layer = &s->physical.layer[0];
-
- /* place the data... really ugly, but at least we won't have to
- worry about endianess in userspace or here. */
- for (i = 0; i < 4; ++i, base += 20, ++layer)
- {
- memset(layer, 0, sizeof(*layer));
- layer->book_version = base[0] & 0xf;
- layer->book_type = base[0] >> 4;
- layer->min_rate = base[1] & 0xf;
- layer->disc_size = base[1] >> 4;
- layer->layer_type = base[2] & 0xf;
- layer->track_path = (base[2] >> 4) & 1;
- layer->nlayers = (base[2] >> 5) & 3;
- layer->track_density = base[3] & 0xf;
- layer->linear_density = base[3] >> 4;
- layer->start_sector = base[5] << 16 | base[6] << 8 | base[7];
- layer->end_sector = base[9] << 16 | base[10] << 8 | base[11];
- layer->end_sector_l0 = base[13] << 16 | base[14] << 8 | base[15];
- layer->bca = base[16] >> 7;
- }
- return 0;
- }
-
-static int dvd_read_copyright(int fd, dvd_struct *s)
- {
- int ret;
- u_char buf[8];
- cgc_t cgc;
-
- cgc_init(&cgc, buf, sizeof(buf), SUC_READ);
- cgc.cdb[0] = CMD_READ_DVD_STRUCTURE;
- cgc.cdb[6] = s->copyright.layer_num;
- cgc.cdb[7] = s->type;
- cgc.cdb[8] = cgc.buflen >> 8;
- cgc.cdb[9] = cgc.buflen & 0xff;
-
- if (ret = scsi_cmd(fd, &cgc))
- return ret;
- s->copyright.cpst = buf[4];
- s->copyright.rmi = buf[5];
- return 0;
- }
-
-static int dvd_read_disckey(int fd, dvd_struct *s)
- {
- int ret, size;
- u_char *buf;
- cgc_t cgc;
-
- size = sizeof(s->disckey.value) + 4;
-
- if ((buf = (u_char *) malloc(size)) == NULL)
- return ENOMEM;
-
- cgc_init(&cgc, buf, size, SUC_READ);
- cgc.cdb[0] = CMD_READ_DVD_STRUCTURE;
- cgc.cdb[7] = s->type;
- cgc.cdb[8] = size >> 8;
- cgc.cdb[9] = size & 0xff;
- cgc.cdb[10] = s->disckey.agid << 6;
-
- if (!(ret = scsi_cmd(fd, &cgc)))
- memcpy(s->disckey.value, &buf[4], sizeof(s->disckey.value));
- free(buf);
- return ret;
- }
-
-static int dvd_read_bca(int fd, dvd_struct *s)
- {
- int ret;
- u_char buf[4 + 188];
- cgc_t cgc;
-
- cgc_init(&cgc, buf, sizeof(buf), SUC_READ);
- cgc.cdb[0] = CMD_READ_DVD_STRUCTURE;
- cgc.cdb[7] = s->type;
- cgc.cdb[9] = cgc.buflen = 0xff;
-
- if (ret = scsi_cmd(fd, &cgc))
- return ret;
- s->bca.len = buf[0] << 8 | buf[1];
- if (s->bca.len < 12 || s->bca.len > 188)
- return EIO;
- memcpy(s->bca.value, &buf[4], s->bca.len);
- return 0;
- }
-
-static int dvd_read_manufact(int fd, dvd_struct *s)
- {
- int ret = 0, size;
- u_char *buf;
- cgc_t cgc;
-
- size = sizeof(s->manufact.value) + 4;
-
- if ((buf = (u_char *) malloc(size)) == NULL)
- return ENOMEM;
-
- cgc_init(&cgc, buf, size, SUC_READ);
- cgc.cdb[0] = CMD_READ_DVD_STRUCTURE;
- cgc.cdb[7] = s->type;
- cgc.cdb[8] = size >> 8;
- cgc.cdb[9] = size & 0xff;
-
- if (ret = scsi_cmd(fd, &cgc))
- {
- free(buf);
- return ret;
- }
- s->manufact.len = buf[0] << 8 | buf[1];
- if (s->manufact.len < 0 || s->manufact.len > 2048)
- ret = -EIO;
- else
- memcpy(s->manufact.value, &buf[4], s->manufact.len);
- free(buf);
- return ret;
- }
-
-static int dvd_read_struct(int fd, dvd_struct *s)
- {
- switch (s->type)
- {
- case DVD_STRUCT_PHYSICAL:
- return dvd_read_physical(fd, s);
- case DVD_STRUCT_COPYRIGHT:
- return dvd_read_copyright(fd, s);
- case DVD_STRUCT_DISCKEY:
- return dvd_read_disckey(fd, s);
- case DVD_STRUCT_BCA:
- return dvd_read_bca(fd, s);
- case DVD_STRUCT_MANUFACT:
- return dvd_read_manufact(fd, s);
- default:
- return EINVAL;
- }
- }
-
-static u_char scsi_cdblen[8] = {6, 10, 10, 12, 12, 12, 10, 10};
-
-static int scsi_cmd(int fd, cgc_t *cgc)
- {
- int i, scsistatus, cdblen;
- unsigned char *cp;
- struct scsi_user_cdb suc;
-
- /* safety checks */
- if (cgc->rw != SUC_READ && cgc->rw != SUC_WRITE)
- return(EINVAL);
-
- suc.suc_flags = cgc->rw;
- cdblen = scsi_cdblen[(cgc->cdb[0] >> 5) & 7];
- suc.suc_cdblen = cdblen;
- bcopy(cgc->cdb, suc.suc_cdb, cdblen);
- suc.suc_data = cgc->buf;
- suc.suc_datalen = cgc->buflen;
- suc.suc_timeout = cgc->timeout;
- if (ioctl(fd, SCSIRAWCDB, &suc) == -1)
- return(errno);
- scsistatus = suc.suc_sus.sus_status;
-
-/*
- * If the device returns a scsi sense error and debugging is enabled print
- * some hopefully useful information on stderr.
-*/
- if (scsistatus && debug)
- {
- cp = suc.suc_sus.sus_sense;
- fprintf(stderr,"scsistatus = %x cdb =",
- scsistatus);
- for (i = 0; i < cdblen; i++)
- fprintf(stderr, " %x", cgc->cdb[i]);
- fprintf(stderr, "\nsense =");
- for (i = 0; i < 16; i++)
- fprintf(stderr, " %x", cp[i]);
- fprintf(stderr, "\n");
- }
- if (cgc->sus)
- bcopy(&suc.suc_sus, cgc->sus, sizeof (struct scsi_user_sense));
- if (scsistatus)
- return(EIO); /* generic i/o error for unsuccessful status */
- return(0);
- }
-
-/*
- * The entry point for the DVDioctls for BSD/OS.
-*/
-static int dvd_ioctl(int fd, u_long cmd, void *arg)
- {
- int ret;
-
- switch (cmd)
- {
- case DVD_READ_STRUCT:
- ret = dvd_read_struct(fd, (dvd_struct *)arg);
- if (ret)
- errno = ret;
- return(ret ? -1 : 0);
- case DVD_AUTH:
- ret = dvd_do_auth(fd, (dvd_authinfo *)arg);
- if (ret)
- errno = ret;
- return(ret ? -1 : 0);
- default:
- errno = EINVAL;
- return(-1);
- }
- }
-
-/*
- * The entry point for the CDROMioctls for BSD/OS
-*/
-static int cdrom_read_block(int, cgc_t *, int, int, int, int);
-static int cdrom_read_cd(int, cgc_t *, int, int, int );
- int cdrom_blocksize(int, int );
-
-static inline
-int msf_to_lba(char m, char s, char f)
-{
- return (((m * CD_SECS) + s) * CD_FRAMES + f) - CD_MSF_OFFSET;
-}
-
-cdrom_ioctl(int fd, u_long cmd, void *arg)
- {
- int ret;
- cgc_t cgc;
-
- switch (cmd)
- {
- case CDROMREADRAW:
- case CDROMREADMODE1:
- case CDROMREADMODE2:
- {
- struct cdrom_msf *msf;
- int blocksize = 0, format = 0, lba;
-
- switch (cmd)
- {
- case CDROMREADRAW:
- blocksize = CD_FRAMESIZE_RAW;
- break;
- case CDROMREADMODE1:
- blocksize = CD_FRAMESIZE;
- format = 2;
- break;
- case CDROMREADMODE2:
- blocksize = CD_FRAMESIZE_RAW0;
- break;
- }
- msf = (struct cdrom_msf *)arg;
- lba = msf_to_lba(msf->cdmsf_min0,msf->cdmsf_sec0,
- msf->cdmsf_frame0);
- ret = EINVAL;
- if (lba < 0)
- break;
-
- cgc_init(&cgc, arg, blocksize, SUC_READ);
- ret = cdrom_read_block(fd, &cgc, lba, 1, format, blocksize);
- if (ret)
- {
-/*
- * SCSI-II devices are not required to support CMD_READ_CD (which specifies
- * the blocksize to read) so try switching the block size with a mode select,
- * doing the normal read sector command and then changing the sector size back
- * to 2048.
- *
- * If the program dies before changing the blocksize back sdopen()
- * in the kernel will fail opens with a message that looks something like:
- *
- * "sr1: blksize 2336 not multiple of 512: cannot use"
- *
- * At that point the drive has to be power cycled (or reset in some other way).
-*/
- if (ret = cdrom_blocksize(fd, blocksize))
- break;
- ret = cdrom_read_cd(fd, &cgc, lba, blocksize, 1);
- ret |= cdrom_blocksize(fd, 2048);
- }
- break;
- }
- case CDROMREADTOCHDR:
- {
- struct cdrom_tochdr *tochdr = (struct cdrom_tochdr *) arg;
- u_char buffer[12];
-
- cgc_init(&cgc, buffer, sizeof (buffer), SUC_READ);
- cgc.cdb[0] = CMD_READ_TOC_PMA_ATIP;
- cgc.cdb[1] = 0x2; /* MSF */
- cgc.cdb[8] = 12; /* LSB of length */
-
- ret = scsi_cmd(fd, &cgc);
- if (!ret)
- {
- tochdr->cdth_trk0 = buffer[2];
- tochdr->cdth_trk1 = buffer[3];
- }
- break;
- }
- case CDROMREADTOCENTRY:
- {
- struct cdrom_tocentry *tocentry = (struct cdrom_tocentry *) arg;
- u_char buffer[12];
-
- cgc_init(&cgc, buffer, sizeof (buffer), SUC_READ);
- cgc.cdb[0] = CMD_READ_TOC_PMA_ATIP;
- cgc.cdb[1] = (tocentry->cdte_format == CDROM_MSF) ? 0x02 : 0;
- cgc.cdb[6] = tocentry->cdte_track;
- cgc.cdb[8] = 12; /* LSB of length */
-
- ret = scsi_cmd(fd, &cgc);
- if (ret)
- break;
-
- tocentry->cdte_ctrl = buffer[5] & 0xf;
- tocentry->cdte_adr = buffer[5] >> 4;
- tocentry->cdte_datamode = (tocentry->cdte_ctrl & 0x04) ? 1 : 0;
- if (tocentry->cdte_format == CDROM_MSF)
- {
- tocentry->cdte_addr.msf.minute = buffer[9];
- tocentry->cdte_addr.msf.second = buffer[10];
- tocentry->cdte_addr.msf.frame = buffer[11];
- }
- else
- tocentry->cdte_addr.lba = (((((buffer[8] << 8)
- + buffer[9]) << 8)
- + buffer[10]) << 8)
- + buffer[11];
- break;
- }
- case CDROMEJECT: /* NO-OP for now */
- ret = cdrom_tray_move(fd, 1);
- break;
- case CDROMCLOSETRAY:
- ret = cdrom_tray_move(fd, 0);
- break;
-/*
- * This sucks but emulates the expected behaviour. Instead of the return
- * value being the actual status a success/fail indicator should have been
- * returned and the 3rd arg to the ioctl should have been an 'int *' to update
- * with the actual status. Both the drive and disc status ioctl calls are
- * similarily braindamaged.
-*/
- case CDROM_DRIVE_STATUS:
- return(CDS_NO_INFO); /* XXX */
- case CDROM_DISC_STATUS:
- {
- tracktype tracks;
- int cnt;
-
- cdrom_count_tracks(fd, &tracks);
- if (tracks.error)
- return(tracks.error);
- if (tracks.audio > 0)
- {
- cnt = tracks.data + tracks.cdi + tracks.xa;
- if (cnt == 0)
- return(CDS_AUDIO);
- else
- return(CDS_MIXED);
- }
- if (tracks.cdi)
- return(CDS_XA_2_2);
- if (tracks.xa)
- return(CDS_XA_2_1);
- if (tracks.data)
- return(CDS_DATA_1);
- return(CDS_NO_INFO);
- }
- }
- errno = ret;
- return(ret ? -1 : 0);
- }
-
-static int cdrom_read_cd(int fd, cgc_t *cgc, int lba, int blocksize, int nblocks)
- {
-
- memset(&cgc->cdb, 0, sizeof(cgc->cdb));
- cgc->cdb[0] = CMD_READ_10;
- cgc->cdb[2] = (lba >> 24) & 0xff;
- cgc->cdb[3] = (lba >> 16) & 0xff;
- cgc->cdb[4] = (lba >> 8) & 0xff;
- cgc->cdb[5] = lba & 0xff;
- cgc->cdb[6] = (nblocks >> 16) & 0xff;
- cgc->cdb[7] = (nblocks >> 8) & 0xff;
- cgc->cdb[8] = nblocks & 0xff;
- cgc->buflen = blocksize * nblocks;
- return(scsi_cmd(fd, cgc));
- }
-
-static int cdrom_read_block(int fd, cgc_t *cgc,
- int lba, int nblocks, int format, int blksize)
- {
-
- memset(&cgc->cdb, 0, sizeof(cgc->cdb));
- cgc->cdb[0] = CMD_READ_CD;
- /* expected sector size - cdda,mode1,etc. */
- cgc->cdb[1] = format << 2;
- /* starting address */
- cgc->cdb[2] = (lba >> 24) & 0xff;
- cgc->cdb[3] = (lba >> 16) & 0xff;
- cgc->cdb[4] = (lba >> 8) & 0xff;
- cgc->cdb[5] = lba & 0xff;
- /* number of blocks */
- cgc->cdb[6] = (nblocks >> 16) & 0xff;
- cgc->cdb[7] = (nblocks >> 8) & 0xff;
- cgc->cdb[8] = nblocks & 0xff;
- cgc->buflen = blksize * nblocks;
-
- /* set the header info returned */
- switch (blksize)
- {
- case CD_FRAMESIZE_RAW0:
- cgc->cdb[9] = 0x58;
- break;
- case CD_FRAMESIZE_RAW1:
- cgc->cdb[9] = 0x78;
- break;
- case CD_FRAMESIZE_RAW:
- cgc->cdb[9] = 0xf8;
- break;
- default:
- cgc->cdb[9] = 0x10;
- }
- return(scsi_cmd(fd, cgc));
- }
-
-static void cdrom_count_tracks(int fd, tracktype *tracks)
- {
- struct cdrom_tochdr header;
- struct cdrom_tocentry entry;
- int ret, i;
-
- memset(tracks, 0, sizeof (*tracks));
- ret = cdrom_ioctl(fd, CDROMREADTOCHDR, &header);
-/*
- * This whole business is a crock anyhow so we don't bother distinguishing
- * between no media, drive not ready, etc and on any error just say we have
- * no info.
-*/
- if (ret)
- {
- tracks->error = CDS_NO_INFO;
- return;
- }
-
- entry.cdte_format = CDROM_MSF;
- for (i = header.cdth_trk0; i <= header.cdth_trk1; i++)
- {
- entry.cdte_track = i;
- if (cdrom_ioctl(fd, CDROMREADTOCENTRY, &entry))
- {
- tracks->error = CDS_NO_INFO;
- return;
- }
- if (entry.cdte_ctrl & CDROM_DATA_TRACK)
- {
- if (entry.cdte_format == 0x10)
- tracks->cdi++;
- else if (entry.cdte_format == 0x20)
- tracks->xa++;
- else
- tracks->data++;
- }
- else
- tracks->audio++;
- }
- return;
- }
-
-static int cdrom_tray_move(int fd, int flag)
- {
- cgc_t cgc;
-
- cgc_init(&cgc, NULL, 0, SUC_READ);
- cgc.cdb[0] = CMD_START_STOP_UNIT;
- cgc.cdb[1] = 1; /* immediate */
- cgc.cdb[4] = flag ? 0x2 : 0x3; /* eject : close */
- return(scsi_cmd(fd, &cgc));
- }
-
-/*
- * Required when we need to use READ_10 to issue other than 2048 block
- * reads
- */
-int cdrom_blocksize(int fd, int size)
- {
- cgc_t cgc;
- struct modesel_head mh;
-
- memset(&mh, 0, sizeof(mh));
- mh.block_desc_length = 0x08;
- mh.block_length_med = (size >> 8) & 0xff;
- mh.block_length_lo = size & 0xff;
-
- memset(&cgc, 0, sizeof(cgc));
- cgc.cdb[0] = 0x15;
- cgc.cdb[1] = 1 << 4;
- cgc.cdb[4] = 12;
- cgc.buflen = sizeof(mh);
- cgc.buf = (u_char *) &mh;
- cgc.rw = SUC_WRITE;
- mh.block_desc_length = 0x08;
- mh.block_length_med = (size >> 8) & 0xff;
- mh.block_length_lo = size & 0xff;
- return(scsi_cmd(fd, &cgc));
- }
diff --git a/lib/libdvd/libdvdcss/src/common.h b/lib/libdvd/libdvdcss/src/common.h
index cf9f966754..95d4452201 100644
--- a/lib/libdvd/libdvdcss/src/common.h
+++ b/lib/libdvd/libdvdcss/src/common.h
@@ -3,7 +3,6 @@
* Collection of useful common types and macros definitions
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: common.h 243 2011-10-26 05:01:11Z jb $
*
* Authors: Sam Hocevar <sam@via.ecp.fr>
* Vincent Seguin <seguin@via.ecp.fr>
@@ -34,11 +33,6 @@
# include <stdint.h>
#elif defined( HAVE_INTTYPES_H )
# include <inttypes.h>
-#elif defined( SYS_CYGWIN )
-# include <sys/types.h>
- /* Cygwin only defines half of these... */
- typedef u_int8_t uint8_t;
- typedef u_int32_t uint32_t;
#else
/* Fallback types (very x86-centric, sorry) */
typedef unsigned char uint8_t;
@@ -48,6 +42,7 @@
#endif
#if defined( WIN32 )
+# include <io.h> /* _lseeki64 */
# ifndef PATH_MAX
# define PATH_MAX MAX_PATH
@@ -74,6 +69,7 @@ typedef __int64 off_t;
# define off_t __int64
# endif
# define stat _stati64
+# define snprintf _snprintf
# endif
#endif
diff --git a/lib/libdvd/libdvdcss/src/css.c b/lib/libdvd/libdvdcss/src/css.c
index 3a1c225976..935b7b2af9 100644
--- a/lib/libdvd/libdvdcss/src/css.c
+++ b/lib/libdvd/libdvdcss/src/css.c
@@ -2,7 +2,6 @@
* css.c: Functions for DVD authentication and descrambling
*****************************************************************************
* Copyright (C) 1999-2008 VideoLAN
- * $Id: css.c 249 2012-02-18 16:22:03Z jb $
*
* Authors: Stéphane Borel <stef@via.ecp.fr>
* HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
@@ -87,6 +86,8 @@ static int AttackPattern ( uint8_t const[], int, uint8_t * );
static int AttackPadding ( uint8_t const[], int, uint8_t * );
#endif
+static int _dvdcss_titlekey ( dvdcss_t, int , dvd_key_t );
+
/*****************************************************************************
* _dvdcss_test: check if the disc is encrypted or not
*****************************************************************************
@@ -248,7 +249,7 @@ int _dvdcss_title ( dvdcss_t dvdcss, int i_block )
if( i_ret < 0 )
{
- print_error( dvdcss, "fatal error in vts css key" );
+ print_error( dvdcss, "fatal error in VTS CSS key" );
return i_ret;
}
@@ -338,7 +339,7 @@ int _dvdcss_disckey( dvdcss_t dvdcss )
return -1;
}
- /* This should have invaidated the AGID and got us ASF=1. */
+ /* This should have invalidated the AGID and got us ASF=1. */
if( GetASF( dvdcss ) != 1 )
{
/* Region mismatch (or region not set) is the most likely source. */
@@ -406,7 +407,7 @@ int _dvdcss_disckey( dvdcss_t dvdcss )
/*****************************************************************************
* _dvdcss_titlekey: get title key.
*****************************************************************************/
-int _dvdcss_titlekey( dvdcss_t dvdcss, int i_pos, dvd_key_t p_title_key )
+static int _dvdcss_titlekey( dvdcss_t dvdcss, int i_pos, dvd_key_t p_title_key )
{
static uint8_t p_garbage[ DVDCSS_BLOCK_SIZE ]; /* we never read it back */
uint8_t p_key[ KEY_SIZE ];
@@ -454,9 +455,9 @@ int _dvdcss_titlekey( dvdcss_t dvdcss, int i_pos, dvd_key_t p_title_key )
break;
case 1:
- /* Drive status is ok. */
+ /* Drive status is OK. */
/* If the title key request failed, but we did not loose ASF,
- * we might stil have the AGID. Other code assume that we
+ * we might still have the AGID. Other code assumes that we
* will not after this so invalidate it(?). */
if( i_ret < 0 )
{
@@ -509,7 +510,7 @@ int _dvdcss_titlekey( dvdcss_t dvdcss, int i_pos, dvd_key_t p_title_key )
/* METHOD is TITLE, we can't use the ioctls or requesting the title key
* failed above. For these cases we try to crack the key instead. */
- /* For now, the read limit is 9Gb / 2048 = 4718592 sectors. */
+ /* For now, the read limit is 9GB / 2048 = 4718592 sectors. */
i_ret = CrackTitleKey( dvdcss, i_pos, 4718592, p_key );
memcpy( p_title_key, p_key, KEY_SIZE );
@@ -572,7 +573,7 @@ int _dvdcss_unscramble( dvd_key_t p_key, uint8_t *p_sec )
* It simulates the mutual authentication between logical unit and host,
* and stops when a session key (called bus key) has been established.
* Always do the full auth sequence. Some drives seem to lie and always
- * respond with ASF=1. For instance the old DVD roms on Compaq Armada says
+ * respond with ASF=1. For instance the old DVD-ROMs on Compaq Armada says
* that ASF=1 from the start and then later fail with a 'read of scrambled
* block without authentication' error.
*****************************************************************************/
@@ -754,7 +755,7 @@ static int GetASF( dvdcss_t dvdcss )
/*****************************************************************************
* CryptKey : shuffles bits and unencrypt keys.
*****************************************************************************
- * Used during authentication and disc key negociation in GetBusKey.
+ * Used during authentication and disc key negotiation in GetBusKey.
* i_key_type : 0->key1, 1->key2, 2->buskey.
* i_variant : between 0 and 31.
*****************************************************************************/
@@ -762,13 +763,13 @@ static void CryptKey( int i_key_type, int i_variant,
uint8_t const *p_challenge, uint8_t *p_key )
{
/* Permutation table for challenge */
- uint8_t pp_perm_challenge[3][10] =
+ static const uint8_t pp_perm_challenge[3][10] =
{ { 1, 3, 0, 7, 5, 2, 9, 6, 4, 8 },
{ 6, 1, 9, 3, 8, 5, 7, 4, 0, 2 },
{ 4, 0, 3, 5, 7, 2, 8, 6, 1, 9 } };
/* Permutation table for variant table for key2 and buskey */
- uint8_t pp_perm_variant[2][32] =
+ static const uint8_t pp_perm_variant[2][32] =
{ { 0x0a, 0x08, 0x0e, 0x0c, 0x0b, 0x09, 0x0f, 0x0d,
0x1a, 0x18, 0x1e, 0x1c, 0x1b, 0x19, 0x1f, 0x1d,
0x02, 0x00, 0x06, 0x04, 0x03, 0x01, 0x07, 0x05,
@@ -778,14 +779,14 @@ static void CryptKey( int i_key_type, int i_variant,
0x13, 0x1b, 0x17, 0x1f, 0x03, 0x0b, 0x07, 0x0f,
0x11, 0x19, 0x15, 0x1d, 0x01, 0x09, 0x05, 0x0d } };
- uint8_t p_variants[32] =
+ static const uint8_t p_variants[32] =
{ 0xB7, 0x74, 0x85, 0xD0, 0xCC, 0xDB, 0xCA, 0x73,
0x03, 0xFE, 0x31, 0x03, 0x52, 0xE0, 0xB7, 0x42,
0x63, 0x16, 0xF2, 0x2A, 0x79, 0x52, 0xFF, 0x1B,
0x7A, 0x11, 0xCA, 0x1A, 0x9B, 0x40, 0xAD, 0x01 };
/* The "secret" key */
- uint8_t p_secret[5] = { 0x55, 0xD6, 0xC4, 0xC5, 0x28 };
+ static const uint8_t p_secret[5] = { 0x55, 0xD6, 0xC4, 0xC5, 0x28 };
uint8_t p_bits[30], p_scratch[10], p_tmp1[5], p_tmp2[5];
uint8_t i_lfsr0_o; /* 1 bit used */
@@ -835,7 +836,7 @@ static void CryptKey( int i_key_type, int i_variant,
* The first LFSR is of degree 25, and has a polynomial of:
* x^13 + x^5 + x^4 + x^1 + 1
*
- * The second LSFR is of degree 17, and has a (primitive) polynomial of:
+ * The second LFSR is of degree 17, and has a (primitive) polynomial of:
* x^15 + x^1 + 1
*
* I don't know if these polynomials are primitive modulo 2, and thus
@@ -849,7 +850,7 @@ static void CryptKey( int i_key_type, int i_variant,
*/
/* In order to ensure that the LFSR works we need to ensure that the
- * initial values are non-zero. Thus when we initialise them from
+ * initial values are non-zero. Thus when we initialize them from
* the seed, we ensure that a bit is set.
*/
i_lfsr0 = ( p_tmp1[0] << 17 ) | ( p_tmp1[1] << 9 ) |
@@ -958,7 +959,7 @@ static void CryptKey( int i_key_type, int i_variant,
* in _dvdcss_titlekey.
* The player keys and the resulting disc key are only used as KEKs
* (key encryption keys).
- * Decryption is slightly dependant on the type of key:
+ * Decryption is slightly dependent on the type of key:
* -for disc key, invert is 0x00,
* -for title key, invert if 0xff.
*****************************************************************************/
@@ -1163,8 +1164,7 @@ static int CrackDiscKey( dvdcss_t dvdcss, uint8_t *p_disc_key )
*/
/* initialize lookup tables for k[1] */
- K1table = malloc( 65536 * K1TABLEWIDTH );
- memset( K1table, 0 , 65536 * K1TABLEWIDTH );
+ K1table = calloc( 65536, K1TABLEWIDTH );
if( K1table == NULL )
{
return -1;
@@ -1194,9 +1194,8 @@ static int CrackDiscKey( dvdcss_t dvdcss, uint8_t *p_disc_key )
}
}
- /* Initing our Really big table */
- BigTable = malloc( 16777216 * sizeof(int) );
- memset( BigTable, 0 , 16777216 * sizeof(int) );
+ /* Initializing our really big table */
+ BigTable = calloc( 16777216, sizeof(int) );
if( BigTable == NULL )
{
free( K1table );
@@ -1224,7 +1223,7 @@ static int CrackDiscKey( dvdcss_t dvdcss, uint8_t *p_disc_key )
}
/*
- * We are done initing, now reverse hash
+ * We are done initializing, now reverse hash
*/
tmp5 = p_disc_key[0] ^ p_css_tab1[ p_disc_key[1] ];
@@ -1242,7 +1241,7 @@ static int CrackDiscKey( dvdcss_t dvdcss, uint8_t *p_disc_key )
out1[ i ] = p_css_tab4[ tmp ];
}
- /* cumpute and cache some variables */
+ /* compute and cache some variables */
C[0] = nStepA >> 8;
C[1] = nStepA & 0xff;
tmp = p_disc_key[3] ^ p_css_tab1[ p_disc_key[4] ];
@@ -1358,7 +1357,7 @@ static int RecoverTitleKey( int i_start, uint8_t const *p_crypted,
/* iterate cipher 4 times to reconstruct LFSR2 */
for( i = 0 ; i < 4 ; i++ )
{
- /* advance LFSR1 normaly */
+ /* advance LFSR1 normally */
i_t4 = p_css_tab2[i_t2] ^ p_css_tab3[i_t1];
i_t2 = i_t1 >> 1;
i_t1 = ( ( i_t1 & 1 ) << 8 ) ^ i_t4;
@@ -1411,7 +1410,7 @@ static int RecoverTitleKey( int i_start, uint8_t const *p_crypted,
{
i_t1 = i_t3 & 0xff;
i_t3 = ( i_t3 >> 8 );
- /* easy to code, and fast enough bruteforce
+ /* easy to code, and fast enough brute-force
* search for byte shifted in */
for( j = 0 ; j < 256 ; j++ )
{
@@ -1459,11 +1458,11 @@ static int RecoverTitleKey( int i_start, uint8_t const *p_crypted,
* Various pieces for the title crack engine.
******************************************************************************
* The length of the PES packet is located at 0x12-0x13.
- * The the copyrigth protection bits are located at 0x14 (bits 0x20 and 0x10).
+ * The the copyright protection bits are located at 0x14 (bits 0x20 and 0x10).
* The data of the PES packet begins at 0x15 (if there isn't any PTS/DTS)
* or at 0x?? if there are both PTS and DTS's.
* The seed value used with the unscrambling key is the 5 bytes at 0x54-0x58.
- * The scrabled part of a sector begins at 0x80.
+ * The scrambled part of a sector begins at 0x80.
*****************************************************************************/
/* Statistics */
@@ -1607,7 +1606,7 @@ static int CrackTitleKey( dvdcss_t dvdcss, int i_pos, int i_len,
******************************************************************************
* Tries to find a repeating pattern just before the encrypted part starts.
* Then it guesses that the plain text for first encrypted bytes are
- * a contiuation of that pattern.
+ * a continuation of that pattern.
*****************************************************************************/
static int AttackPattern( uint8_t const p_sec[ DVDCSS_BLOCK_SIZE ],
int i_pos, uint8_t *p_key )
@@ -1668,7 +1667,7 @@ static int AttackPattern( uint8_t const p_sec[ DVDCSS_BLOCK_SIZE ],
******************************************************************************
* DVD specifies that there must only be one type of data in every sector.
* Every sector is one pack and so must obviously be 2048 bytes long.
- * For the last pice of video data before a VOBU boundary there might not
+ * For the last piece of video data before a VOBU boundary there might not
* be exactly the right amount of data to fill a sector. Then one has to
* pad the pack to 2048 bytes. For just a few bytes this is done in the
* header but for any large amount you insert a PES packet from the
@@ -1683,7 +1682,7 @@ static int AttackPadding( uint8_t const p_sec[ DVDCSS_BLOCK_SIZE ],
i_pes_length = (p_sec[0x12]<<8) | p_sec[0x13];
- /* Coverd by the test below but usfull for debuging. */
+ /* Covered by the test below but useful for debugging. */
if( i_pes_length == DVDCSS_BLOCK_SIZE - 0x14 ) return 0;
/* There must be room for at least 4? bytes of padding stream,
@@ -1712,7 +1711,7 @@ static int AttackPadding( uint8_t const p_sec[ DVDCSS_BLOCK_SIZE ],
are also known. */
/* An encrypted SPU PES packet with another encrypted PES packet following.
- Normaly if the following was a padding stream that would be in plain
+ Normally if the following was a padding stream that would be in plain
text. So it will be another SPU PES packet. */
if( p_sec[0x11] == 0xbd &&
p_sec[0x17 + p_sec[0x16]] >= 0x20 &&
@@ -1722,7 +1721,7 @@ static int AttackPadding( uint8_t const p_sec[ DVDCSS_BLOCK_SIZE ],
}
/* A Video PES packet with another encrypted PES packet following.
- * No reason execpt for time stamps to break the data into two packets.
+ * No reason except for time stamps to break the data into two packets.
* So it's likely that the following PES packet is a padding stream. */
if( p_sec[0x11] == 0xe0 )
{
diff --git a/lib/libdvd/libdvdcss/src/css.h b/lib/libdvd/libdvdcss/src/css.h
index 26ad6996a2..54b5a4f4d8 100644
--- a/lib/libdvd/libdvdcss/src/css.h
+++ b/lib/libdvd/libdvdcss/src/css.h
@@ -2,7 +2,6 @@
* css.h: Structures for DVD authentication and unscrambling
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
- * $Id: css.h 236 2010-08-02 15:59:13Z jb $
*
* Author: Stéphane Borel <stef@via.ecp.fr>
*
@@ -45,7 +44,7 @@ typedef struct dvd_title_s
typedef struct css_s
{
- int i_agid; /* Current Authenication Grant ID. */
+ int i_agid; /* Current Authentication Grant ID. */
dvd_key_t p_bus_key; /* Current session key. */
dvd_key_t p_disc_key; /* This DVD disc's key. */
dvd_key_t p_title_key; /* Current title key. */
@@ -57,7 +56,6 @@ typedef struct css_s
int _dvdcss_test ( dvdcss_t );
int _dvdcss_title ( dvdcss_t, int );
int _dvdcss_disckey ( dvdcss_t );
-int _dvdcss_titlekey ( dvdcss_t, int , dvd_key_t );
int _dvdcss_unscramble ( uint8_t *, uint8_t * );
#endif /* DVDCSS_CSS_H */
diff --git a/lib/libdvd/libdvdcss/src/csstables.h b/lib/libdvd/libdvdcss/src/csstables.h
index d8dfa98ee5..10b0fafa37 100644
--- a/lib/libdvd/libdvdcss/src/csstables.h
+++ b/lib/libdvd/libdvdcss/src/csstables.h
@@ -2,7 +2,6 @@
* csstables.h: CSS Tables for DVD unscrambling
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
- * $Id: csstables.h 235 2010-08-02 15:41:14Z jb $
*
* Author: Stéphane Borel <stef@via.ecp.fr>
*
@@ -32,7 +31,7 @@
#ifndef DVDCSS_CSSTABLES_H
#define DVDCSS_CSSTABLES_H
-static uint8_t p_css_tab1[ 256 ] =
+static const uint8_t p_css_tab1[ 256 ] =
{
0x33, 0x73, 0x3b, 0x26, 0x63, 0x23, 0x6b, 0x76,
0x3e, 0x7e, 0x36, 0x2b, 0x6e, 0x2e, 0x66, 0x7b,
@@ -68,7 +67,7 @@ static uint8_t p_css_tab1[ 256 ] =
0xba, 0xfa, 0xb2, 0xaf, 0xea, 0xaa, 0xe2, 0xff
};
-static uint8_t p_css_tab2[ 256 ] =
+static const uint8_t p_css_tab2[ 256 ] =
{
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x09, 0x08, 0x0b, 0x0a, 0x0d, 0x0c, 0x0f, 0x0e,
@@ -104,7 +103,7 @@ static uint8_t p_css_tab2[ 256 ] =
0xe4, 0xe5, 0xe6, 0xe7, 0xe0, 0xe1, 0xe2, 0xe3
};
-static uint8_t p_css_tab3[ 512 ] =
+static const uint8_t p_css_tab3[ 512 ] =
{
0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff,
0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff,
@@ -172,7 +171,7 @@ static uint8_t p_css_tab3[ 512 ] =
0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff
};
-static uint8_t p_css_tab4[ 256 ] =
+static const uint8_t p_css_tab4[ 256 ] =
{
0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0,
0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0,
@@ -208,7 +207,7 @@ static uint8_t p_css_tab4[ 256 ] =
0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff
};
-static uint8_t p_css_tab5[ 256 ] =
+static const uint8_t p_css_tab5[ 256 ] =
{
0xff, 0x7f, 0xbf, 0x3f, 0xdf, 0x5f, 0x9f, 0x1f,
0xef, 0x6f, 0xaf, 0x2f, 0xcf, 0x4f, 0x8f, 0x0f,
@@ -244,7 +243,7 @@ static uint8_t p_css_tab5[ 256 ] =
0xe0, 0x60, 0xa0, 0x20, 0xc0, 0x40, 0x80, 0x00
};
-static uint8_t p_crypt_tab0[ 256 ] =
+static const uint8_t p_crypt_tab0[ 256 ] =
{
0xB7, 0xF4, 0x82, 0x57, 0xDA, 0x4D, 0xDB, 0xE2,
0x2F, 0x52, 0x1A, 0xA8, 0x68, 0x5A, 0x8A, 0xFF,
@@ -280,7 +279,7 @@ static uint8_t p_crypt_tab0[ 256 ] =
0xAD, 0x94, 0x77, 0x04, 0x9A, 0x39, 0xCF, 0x7C
};
-static uint8_t p_crypt_tab1[ 256 ] =
+static const uint8_t p_crypt_tab1[ 256 ] =
{
0x8C, 0x47, 0xB0, 0xE1, 0xEB, 0xFC, 0xEB, 0x56,
0x10, 0xE5, 0x2C, 0x1A, 0x5D, 0xEF, 0xBE, 0x4F,
@@ -316,7 +315,7 @@ static uint8_t p_crypt_tab1[ 256 ] =
0xAA, 0x1B, 0x79, 0x8E, 0x97, 0xB4, 0xC3, 0xF4
};
-static uint8_t p_crypt_tab2[ 256 ] =
+static const uint8_t p_crypt_tab2[ 256 ] =
{
0xB7, 0x75, 0x81, 0xD5, 0xDC, 0xCA, 0xDE, 0x66,
0x23, 0xDF, 0x15, 0x26, 0x62, 0xD1, 0x83, 0x77,
@@ -352,7 +351,7 @@ static uint8_t p_crypt_tab2[ 256 ] =
0x29, 0x91, 0xF0, 0x02, 0x18, 0x3A, 0x4E, 0x7C
};
-static uint8_t p_crypt_tab3[ 288 ] =
+static const uint8_t p_crypt_tab3[ 288 ] =
{
0x73, 0x51, 0x95, 0xE1, 0x12, 0xE4, 0xC0, 0x58,
0xEE, 0xF2, 0x08, 0x1B, 0xA9, 0xFA, 0x98, 0x4C,
diff --git a/lib/libdvd/libdvdcss/src/device.c b/lib/libdvd/libdvdcss/src/device.c
index b3f9ac92c7..2395ab512c 100644
--- a/lib/libdvd/libdvdcss/src/device.c
+++ b/lib/libdvd/libdvdcss/src/device.c
@@ -2,7 +2,6 @@
* device.h: DVD device access
*****************************************************************************
* Copyright (C) 1998-2006 VideoLAN
- * $Id: device.c 242 2011-10-26 04:59:23Z jb $
*
* Authors: Stéphane Borel <stef@via.ecp.fr>
* Sam Hocevar <sam@zoy.org>
@@ -53,12 +52,6 @@
# include <limits.h>
#endif
-#if defined( WIN32 ) && !defined( SYS_CYGWIN )
-# include <io.h> /* read() */
-#else
-# include <sys/uio.h> /* struct iovec */
-#endif
-
#ifdef DARWIN_DVD_IOCTL
# include <paths.h>
# include <CoreFoundation/CoreFoundation.h>
@@ -69,7 +62,7 @@
# include <IOKit/storage/IODVDMedia.h>
#endif
-#ifdef SYS_OS2
+#ifdef __OS2__
# define INCL_DOS
# define INCL_DOSDEVIOCTL
# include <os2.h>
@@ -103,7 +96,7 @@ static int aspi_read ( dvdcss_t, void *, int );
static int win_readv ( dvdcss_t, struct iovec *, int );
static int aspi_read_internal ( int, void *, int );
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
static int os2_open ( dvdcss_t, char const * );
/* just use macros for libc */
# define os2_seek libc_seek
@@ -128,7 +121,7 @@ int _dvdcss_use_ioctls( dvdcss_t dvdcss )
{
return 1;
}
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
ULONG ulMode;
if( DosQueryFHState( dvdcss->i_fd, &ulMode ) != 0 )
@@ -158,7 +151,6 @@ int _dvdcss_use_ioctls( dvdcss_t dvdcss )
* OpenBSD needs a char device
* NetBSD needs a char device
* FreeBSD can use either the block or the char device
- * BSD/OS can use either the block or the char device
*/
/* Check if this is a block/char device */
@@ -185,7 +177,7 @@ void _dvdcss_check ( dvdcss_t dvdcss )
kern_return_t kern_result;
io_iterator_t media_iterator;
CFMutableDictionaryRef classes_to_match;
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
#pragma pack( 1 )
struct
{
@@ -243,7 +235,7 @@ void _dvdcss_check ( dvdcss_t dvdcss )
/* Remove trailing backslash */
psz_device[2] = '\0';
- /* FIXME: we want to differenciate between CD and DVD drives
+ /* FIXME: we want to differentiate between CD and DVD drives
* using DeviceIoControl() */
print_debug( dvdcss, "defaulting to drive `%s'", psz_device );
free( dvdcss->psz_device );
@@ -320,7 +312,7 @@ void _dvdcss_check ( dvdcss_t dvdcss )
}
IOObjectRelease( media_iterator );
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
for( i = 0; i < 26; i++ )
{
param.bCmdInfo = 0;
@@ -398,7 +390,7 @@ int _dvdcss_open ( dvdcss_t dvdcss )
return aspi_open( dvdcss, psz_device );
}
else
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
/* If device is "X:" or "X:\", we are not actually opening a file. */
if( psz_device[0] && psz_device[1] == ':' &&
( !psz_device[2] || ( psz_device[2] == '\\' && !psz_device[3] ) ) )
@@ -420,7 +412,7 @@ int _dvdcss_open ( dvdcss_t dvdcss )
}
}
-#if !defined(WIN32) && !defined(SYS_OS2)
+#ifdef DVDCSS_RAW_OPEN
int _dvdcss_raw_open ( dvdcss_t dvdcss, char const *psz_device )
{
dvdcss->i_raw_fd = open( psz_device, 0 );
@@ -456,7 +448,7 @@ int _dvdcss_close ( dvdcss_t dvdcss )
{
struct w32_aspidev *fd = (struct w32_aspidev *) dvdcss->i_fd;
- /* Unload aspi and free w32_aspidev structure */
+ /* Unload ASPI and free w32_aspidev structure */
FreeLibrary( (HMODULE) fd->hASPI );
free( (void*) dvdcss->i_fd );
}
@@ -473,7 +465,7 @@ int _dvdcss_close ( dvdcss_t dvdcss )
#else
close( dvdcss->i_fd );
-#ifndef SYS_OS2
+#ifdef DVDCSS_RAW_OPEN
if( dvdcss->i_raw_fd >= 0 )
{
close( dvdcss->i_raw_fd );
@@ -492,11 +484,7 @@ int _dvdcss_close ( dvdcss_t dvdcss )
*****************************************************************************/
static int libc_open ( dvdcss_t dvdcss, char const *psz_device )
{
-#if !defined( WIN32 ) && !defined( SYS_OS2 )
- dvdcss->i_fd = dvdcss->i_read_fd = open( psz_device, 0 );
-#else
dvdcss->i_fd = dvdcss->i_read_fd = open( psz_device, O_BINARY );
-#endif
if( dvdcss->i_fd == -1 )
{
@@ -520,7 +508,7 @@ static int win2k_open ( dvdcss_t dvdcss, char const *psz_device )
/* To work around an M$ bug in IOCTL_DVD_READ_STRUCTURE, we need read
* _and_ write access to the device (so we can make SCSI Pass Through
* Requests). Unfortunately this is only allowed if you have
- * administrator priviledges so we allow for a fallback method with
+ * administrator privileges so we allow for a fallback method with
* only read access to the device (in this case ioctl_ReadCopyright()
* won't send back the right result).
* (See Microsoft Q241374: Read and Write Access Required for SCSI
@@ -565,7 +553,7 @@ static int aspi_open( dvdcss_t dvdcss, char const * psz_device )
SENDASPI32COMMAND lpSendCommand;
char c_drive = psz_device[0];
- /* load aspi and init w32_aspidev structure */
+ /* load ASPI and init w32_aspidev structure */
hASPI = LoadLibrary( "wnaspi32.dll" );
if( hASPI == NULL )
{
@@ -578,7 +566,7 @@ static int aspi_open( dvdcss_t dvdcss, char const * psz_device )
if(lpGetSupport == NULL || lpSendCommand == NULL )
{
- print_error( dvdcss, "unable to get aspi function pointers" );
+ print_error( dvdcss, "unable to get ASPI function pointers" );
FreeLibrary( hASPI );
return -1;
}
@@ -594,7 +582,7 @@ static int aspi_open( dvdcss_t dvdcss, char const * psz_device )
if( HIBYTE( LOWORD ( dwSupportInfo ) ) != SS_COMP )
{
- print_error( dvdcss, "unable to initalize aspi layer" );
+ print_error( dvdcss, "unable to initialize ASPI layer" );
FreeLibrary( hASPI );
return -1;
}
@@ -639,10 +627,9 @@ static int aspi_open( dvdcss_t dvdcss, char const * psz_device )
if( (srbDiskInfo.SRB_Status == SS_COMP) &&
(srbDiskInfo.SRB_Int13HDriveInfo == c_drive) )
{
- /* Make sure this is a cdrom device */
- struct SRB_GDEVBlock srbGDEVBlock;
+ /* Make sure this is a CD-ROM device */
+ struct SRB_GDEVBlock srbGDEVBlock = { 0 };
- memset( &srbGDEVBlock, 0, sizeof(struct SRB_GDEVBlock) );
srbGDEVBlock.SRB_Cmd = SC_GET_DEV_TYPE;
srbGDEVBlock.SRB_HaId = i;
srbGDEVBlock.SRB_Target = j;
@@ -661,7 +648,7 @@ static int aspi_open( dvdcss_t dvdcss, char const * psz_device )
{
free( (void*) fd );
FreeLibrary( hASPI );
- print_error( dvdcss,"this is not a cdrom drive" );
+ print_error( dvdcss,"this is not a CD-ROM drive" );
return -1;
}
}
@@ -670,12 +657,12 @@ static int aspi_open( dvdcss_t dvdcss, char const * psz_device )
free( (void*) fd );
FreeLibrary( hASPI );
- print_error( dvdcss, "unable to get haid and target (aspi)" );
+ print_error( dvdcss, "unable to get haid and target (ASPI)" );
return -1;
}
#endif
-#ifdef SYS_OS2
+#ifdef __OS2__
static int os2_open ( dvdcss_t dvdcss, char const *psz_device )
{
char psz_dvd[] = "X:";
@@ -933,7 +920,7 @@ static int win2k_read ( dvdcss_t dvdcss, void *p_buffer, int i_blocks )
dvdcss->i_pos += i_bytes / DVDCSS_BLOCK_SIZE;
return i_bytes / DVDCSS_BLOCK_SIZE;
-#endif // WITH_CACHE
+#endif // WITH_CACHE
}
static int aspi_read ( dvdcss_t dvdcss, void *p_buffer, int i_blocks )
@@ -978,8 +965,8 @@ static int libc_readv ( dvdcss_t dvdcss, struct iovec *p_iovec, int i_blocks )
if( i_bytes < 0 )
{
/* One of the reads failed, too bad.
- * We won't even bother returning the reads that went ok,
- * and as in the posix spec the file postition is left
+ * We won't even bother returning the reads that went OK,
+ * and as in the POSIX spec the file position is left
* unspecified after a failure */
dvdcss->i_pos = -1;
return -1;
@@ -1065,7 +1052,7 @@ static int win_readv ( dvdcss_t dvdcss, struct iovec *p_iovec, int i_blocks )
i_blocks_total * DVDCSS_BLOCK_SIZE, &i_bytes, NULL ) )
{
/* The read failed... too bad.
- * As in the posix spec the file postition is left
+ * As in the POSIX spec the file position is left
* unspecified after a failure */
dvdcss->i_pos = -1;
return -1;
@@ -1107,7 +1094,7 @@ static int win_readv ( dvdcss_t dvdcss, struct iovec *p_iovec, int i_blocks )
static int aspi_read_internal( int i_fd, void *p_data, int i_blocks )
{
HANDLE hEvent;
- struct SRB_ExecSCSICmd ssc;
+ struct SRB_ExecSCSICmd ssc = { 0 };
struct w32_aspidev *fd = (struct w32_aspidev *) i_fd;
/* Create the transfer completion event */
@@ -1117,8 +1104,6 @@ static int aspi_read_internal( int i_fd, void *p_data, int i_blocks )
return -1;
}
- memset( &ssc, 0, sizeof( ssc ) );
-
ssc.SRB_Cmd = SC_EXEC_SCSI_CMD;
ssc.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;
ssc.SRB_HaId = LOBYTE( fd->i_sid );
@@ -1135,7 +1120,7 @@ static int aspi_read_internal( int i_fd, void *p_data, int i_blocks )
ssc.CDBByte[4] = (UCHAR) (fd->i_blocks >> 8) & 0xff;
ssc.CDBByte[5] = (UCHAR) (fd->i_blocks) & 0xff;
- /* We have to break down the reads into 64kb pieces (ASPI restriction) */
+ /* We have to break down the reads into 64KB pieces (ASPI restriction) */
if( i_blocks > 32 )
{
ssc.SRB_BufLen = 32 * DVDCSS_BLOCK_SIZE;
@@ -1146,7 +1131,7 @@ static int aspi_read_internal( int i_fd, void *p_data, int i_blocks )
ResetEvent( hEvent );
fd->lpSendCommand( (void*) &ssc );
- /* transfer the next 64kb (aspi_read_internal is called recursively)
+ /* transfer the next 64KB (aspi_read_internal is called recursively)
* We need to check the status of the read on return */
if( aspi_read_internal( i_fd,
(uint8_t*) p_data + 32 * DVDCSS_BLOCK_SIZE,
diff --git a/lib/libdvd/libdvdcss/src/device.h b/lib/libdvd/libdvdcss/src/device.h
index 8511ad3c15..4119b7075c 100644
--- a/lib/libdvd/libdvdcss/src/device.h
+++ b/lib/libdvd/libdvdcss/src/device.h
@@ -2,7 +2,6 @@
* device.h: DVD device access
*****************************************************************************
* Copyright (C) 1998-2002 VideoLAN
- * $Id: device.h 236 2010-08-02 15:59:13Z jb $
*
* Authors: Stéphane Borel <stef@via.ecp.fr>
* Sam Hocevar <sam@zoy.org>
@@ -26,11 +25,18 @@
#ifndef DVDCSS_DEVICE_H
#define DVDCSS_DEVICE_H
+#include "config.h"
+
/*****************************************************************************
* iovec structure: vectored data entry
*****************************************************************************/
-#if defined( WIN32 ) && !defined( SYS_CYGWIN )
+#ifndef HAVE_SYS_UIO_H
# include <io.h> /* read() */
+struct iovec
+{
+ void *iov_base; /* Pointer to data. */
+ size_t iov_len; /* Length of data. */
+};
#else
# include <sys/types.h>
# include <sys/uio.h> /* struct iovec */
@@ -38,14 +44,11 @@
#include "dvdcss/dvdcss.h"
-#if defined( WIN32 ) && !defined( SYS_CYGWIN )
-struct iovec
-{
- void *iov_base; /* Pointer to data. */
- size_t iov_len; /* Length of data. */
-};
+#if !defined(WIN32) && !defined(__OS2__)
+# define DVDCSS_RAW_OPEN
#endif
+
/*****************************************************************************
* Device reading prototypes
*****************************************************************************/
@@ -57,8 +60,6 @@ int _dvdcss_close ( dvdcss_t );
/*****************************************************************************
* Device reading prototypes, raw-device specific
*****************************************************************************/
-#if !defined(WIN32) && !defined(SYS_OS2)
int _dvdcss_raw_open ( dvdcss_t, char const * );
-#endif
#endif /* DVDCSS_DEVICE_H */
diff --git a/lib/libdvd/libdvdcss/src/dvdcss/Makefile.am b/lib/libdvd/libdvdcss/src/dvdcss/Makefile.am
deleted file mode 100644
index 46746964cb..0000000000
--- a/lib/libdvd/libdvdcss/src/dvdcss/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-pkgincludedir = $(includedir)/dvdcss
-
-pkginclude_HEADERS = dvdcss.h
diff --git a/lib/libdvd/libdvdcss/src/dvdcss/dvdcss.h b/lib/libdvd/libdvdcss/src/dvdcss/dvdcss.h
index 0323329a33..e010c31fa9 100644
--- a/lib/libdvd/libdvdcss/src/dvdcss/dvdcss.h
+++ b/lib/libdvd/libdvdcss/src/dvdcss/dvdcss.h
@@ -10,7 +10,6 @@
/*
* Copyright (C) 1998-2008 VideoLAN
- * $Id: dvdcss.h 219 2009-02-09 00:03:47Z jb $
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -60,6 +59,8 @@ typedef struct dvdcss_s* dvdcss_t;
#define LIBDVDCSS_EXPORT __declspec(dllexport) extern
#elif defined(LIBDVDCSS_IMPORTS)
#define LIBDVDCSS_EXPORT __declspec(dllimport) extern
+#elif defined(SUPPORT_ATTRIBUTE_VISIBILITY_DEFAULT)
+#define LIBDVDCSS_EXPORT __attribute__((visibility("default"))) extern
#else
#define LIBDVDCSS_EXPORT extern
#endif
diff --git a/lib/libdvd/libdvdcss/src/error.c b/lib/libdvd/libdvdcss/src/error.c
index ac190e4256..e7127b68ea 100644
--- a/lib/libdvd/libdvdcss/src/error.c
+++ b/lib/libdvd/libdvdcss/src/error.c
@@ -2,7 +2,6 @@
* error.c: error management functions
*****************************************************************************
* Copyright (C) 1998-2002 VideoLAN
- * $Id: error.c 221 2009-02-09 00:45:44Z sam $
*
* Author: Sam Hocevar <sam@zoy.org>
*
diff --git a/lib/libdvd/libdvdcss/src/ioctl.c b/lib/libdvd/libdvdcss/src/ioctl.c
index c50ef84686..61a924ea76 100644
--- a/lib/libdvd/libdvdcss/src/ioctl.c
+++ b/lib/libdvd/libdvdcss/src/ioctl.c
@@ -2,7 +2,6 @@
* ioctl.c: DVD ioctl replacement function
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
- * $Id: ioctl.c 221 2009-02-09 00:45:44Z sam $
*
* Authors: Markus Kuespert <ltlBeBoy@beosmail.com>
* Sam Hocevar <sam@zoy.org>
@@ -41,7 +40,7 @@
#if defined( WIN32 )
# include <windows.h>
# include <winioctl.h>
-#elif defined ( SYS_OS2 )
+#elif defined ( __OS2__ )
# define INCL_DOSFILEMGR
# define INCL_DOSDEVICES
# define INCL_DOSDEVIOCTL
@@ -65,10 +64,7 @@
#ifdef DVD_STRUCT_IN_DVD_H
# include <dvd.h>
#endif
-#ifdef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H
-# include "bsdi_dvd.h"
-#endif
-#ifdef SYS_BEOS
+#ifdef __BEOS__
# include <malloc.h>
# include <scsi.h>
#endif
@@ -97,7 +93,7 @@
/*****************************************************************************
* Local prototypes, BeOS specific
*****************************************************************************/
-#if defined( SYS_BEOS )
+#if defined( __BEOS__ )
static void BeInitRDC ( raw_device_command *, int );
#endif
@@ -135,7 +131,7 @@ static void QNXInitCPT ( CAM_PASS_THRU *, int );
/*****************************************************************************
* Local prototypes, OS2 specific
*****************************************************************************/
-#if defined( SYS_OS2 )
+#if defined( __OS2__ )
static void OS2InitSDC( struct OS2_ExecSCSICmd *, int );
#endif
@@ -147,9 +143,8 @@ int ioctl_ReadCopyright( int i_fd, int i_layer, int *pi_copyright )
int i_ret;
#if defined( HAVE_LINUX_DVD_STRUCT )
- dvd_struct dvd;
+ dvd_struct dvd = { 0 };
- memset( &dvd, 0, sizeof( dvd ) );
dvd.type = DVD_STRUCT_COPYRIGHT;
dvd.copyright.layer_num = i_layer;
@@ -158,9 +153,8 @@ int ioctl_ReadCopyright( int i_fd, int i_layer, int *pi_copyright )
*pi_copyright = dvd.copyright.cpst;
#elif defined( HAVE_BSD_DVD_STRUCT )
- struct dvd_struct dvd;
+ struct dvd_struct dvd = { 0 };
- memset( &dvd, 0, sizeof( dvd ) );
dvd.format = DVD_STRUCT_COPYRIGHT;
dvd.layer_num = i_layer;
@@ -168,7 +162,7 @@ int ioctl_ReadCopyright( int i_fd, int i_layer, int *pi_copyright )
*pi_copyright = dvd.cpst;
-#elif defined( SYS_BEOS )
+#elif defined( __BEOS__ )
INIT_RDC( GPCMD_READ_DVD_STRUCTURE, 8 );
rdc.command[ 6 ] = i_layer;
@@ -221,7 +215,7 @@ int ioctl_ReadCopyright( int i_fd, int i_layer, int *pi_copyright )
/* When using IOCTL_DVD_READ_STRUCTURE and
DVD_COPYRIGHT_DESCRIPTOR, CopyrightProtectionType
seems to be always 6 ???
- To work around this MS bug we try to send a raw scsi command
+ To work around this MS bug we try to send a raw SCSI command
instead (if we've got enough privileges to do so). */
sptd.Cdb[ 6 ] = i_layer;
@@ -257,7 +251,7 @@ int ioctl_ReadCopyright( int i_fd, int i_layer, int *pi_copyright )
*pi_copyright = p_buffer[4];
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
INIT_SSC( GPCMD_READ_DVD_STRUCTURE, 8 );
sdc.command[ 6 ] = i_layer;
@@ -284,12 +278,10 @@ int ioctl_ReadDiscKey( int i_fd, int *pi_agid, uint8_t *p_key )
int i_ret;
#if defined( HAVE_LINUX_DVD_STRUCT )
- dvd_struct dvd;
+ dvd_struct dvd = { 0 };
- memset( &dvd, 0, sizeof( dvd ) );
dvd.type = DVD_STRUCT_DISCKEY;
dvd.disckey.agid = *pi_agid;
- memset( dvd.disckey.value, 0, DVD_DISCKEY_SIZE );
i_ret = ioctl( i_fd, DVD_READ_STRUCT, &dvd );
@@ -301,12 +293,10 @@ int ioctl_ReadDiscKey( int i_fd, int *pi_agid, uint8_t *p_key )
memcpy( p_key, dvd.disckey.value, DVD_DISCKEY_SIZE );
#elif defined( HAVE_BSD_DVD_STRUCT )
- struct dvd_struct dvd;
+ struct dvd_struct dvd = { 0 };
- memset( &dvd, 0, sizeof( dvd ) );
dvd.format = DVD_STRUCT_DISCKEY;
dvd.agid = *pi_agid;
- memset( dvd.data, 0, DVD_DISCKEY_SIZE );
i_ret = ioctl( i_fd, DVDIOCREADSTRUCTURE, &dvd );
@@ -317,7 +307,7 @@ int ioctl_ReadDiscKey( int i_fd, int *pi_agid, uint8_t *p_key )
memcpy( p_key, dvd.data, DVD_DISCKEY_SIZE );
-#elif defined( SYS_BEOS )
+#elif defined( __BEOS__ )
INIT_RDC( GPCMD_READ_DVD_STRUCTURE, DVD_DISCKEY_SIZE + 4 );
rdc.command[ 7 ] = DVD_STRUCT_DISCKEY;
@@ -377,11 +367,9 @@ int ioctl_ReadDiscKey( int i_fd, int *pi_agid, uint8_t *p_key )
if( WIN2K ) /* NT/2k/XP */
{
DWORD tmp;
- uint8_t buffer[DVD_DISK_KEY_LENGTH];
+ uint8_t buffer[DVD_DISK_KEY_LENGTH] = { 0 };
PDVD_COPY_PROTECT_KEY key = (PDVD_COPY_PROTECT_KEY) &buffer;
- memset( &buffer, 0, sizeof( buffer ) );
-
key->KeyLength = DVD_DISK_KEY_LENGTH;
key->SessionId = *pi_agid;
key->KeyType = DvdDiskKey;
@@ -425,7 +413,7 @@ int ioctl_ReadDiscKey( int i_fd, int *pi_agid, uint8_t *p_key )
memcpy( p_key, p_buffer + 4, DVD_DISCKEY_SIZE );
-#elif defined ( SYS_OS2 )
+#elif defined ( __OS2__ )
INIT_SSC( GPCMD_READ_DVD_STRUCTURE, DVD_DISCKEY_SIZE + 4 );
sdc.command[ 7 ] = DVD_STRUCT_DISCKEY;
@@ -457,9 +445,8 @@ int ioctl_ReadTitleKey( int i_fd, int *pi_agid, int i_pos, uint8_t *p_key )
int i_ret;
#if defined( HAVE_LINUX_DVD_STRUCT )
- dvd_authinfo auth_info;
+ dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.type = DVD_LU_SEND_TITLE_KEY;
auth_info.lstk.agid = *pi_agid;
auth_info.lstk.lba = i_pos;
@@ -469,9 +456,8 @@ int ioctl_ReadTitleKey( int i_fd, int *pi_agid, int i_pos, uint8_t *p_key )
memcpy( p_key, auth_info.lstk.title_key, DVD_KEY_SIZE );
#elif defined( HAVE_BSD_DVD_STRUCT )
- struct dvd_authinfo auth_info;
+ struct dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.format = DVD_REPORT_TITLE_KEY;
auth_info.agid = *pi_agid;
auth_info.lba = i_pos;
@@ -480,7 +466,7 @@ int ioctl_ReadTitleKey( int i_fd, int *pi_agid, int i_pos, uint8_t *p_key )
memcpy( p_key, auth_info.keychal, DVD_KEY_SIZE );
-#elif defined( SYS_BEOS )
+#elif defined( __BEOS__ )
INIT_RDC( GPCMD_REPORT_KEY, 12 );
rdc.command[ 2 ] = ( i_pos >> 24 ) & 0xff;
@@ -545,11 +531,9 @@ int ioctl_ReadTitleKey( int i_fd, int *pi_agid, int i_pos, uint8_t *p_key )
if( WIN2K ) /* NT/2k/XP */
{
DWORD tmp;
- uint8_t buffer[DVD_TITLE_KEY_LENGTH];
+ uint8_t buffer[DVD_TITLE_KEY_LENGTH] = { 0 };
PDVD_COPY_PROTECT_KEY key = (PDVD_COPY_PROTECT_KEY) &buffer;
- memset( &buffer, 0, sizeof( buffer ) );
-
key->KeyLength = DVD_TITLE_KEY_LENGTH;
key->SessionId = *pi_agid;
key->KeyType = DvdTitleKey;
@@ -591,7 +575,7 @@ int ioctl_ReadTitleKey( int i_fd, int *pi_agid, int i_pos, uint8_t *p_key )
memcpy( p_key, p_buffer + 5, DVD_KEY_SIZE );
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
INIT_SSC( GPCMD_REPORT_KEY, 12 );
sdc.command[ 2 ] = ( i_pos >> 24 ) & 0xff;
@@ -623,9 +607,8 @@ int ioctl_ReportAgid( int i_fd, int *pi_agid )
int i_ret;
#if defined( HAVE_LINUX_DVD_STRUCT )
- dvd_authinfo auth_info;
+ dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.type = DVD_LU_SEND_AGID;
auth_info.lsa.agid = *pi_agid;
@@ -634,9 +617,8 @@ int ioctl_ReportAgid( int i_fd, int *pi_agid )
*pi_agid = auth_info.lsa.agid;
#elif defined( HAVE_BSD_DVD_STRUCT )
- struct dvd_authinfo auth_info;
+ struct dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.format = DVD_REPORT_AGID;
auth_info.agid = *pi_agid;
@@ -644,7 +626,7 @@ int ioctl_ReportAgid( int i_fd, int *pi_agid )
*pi_agid = auth_info.agid;
-#elif defined( SYS_BEOS )
+#elif defined( __BEOS__ )
INIT_RDC( GPCMD_REPORT_KEY, 8 );
rdc.command[ 10 ] = DVD_REPORT_AGID | (*pi_agid << 6);
@@ -719,7 +701,7 @@ int ioctl_ReportAgid( int i_fd, int *pi_agid )
*pi_agid = p_buffer[ 7 ] >> 6;
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
INIT_SSC( GPCMD_REPORT_KEY, 8 );
sdc.command[ 10 ] = DVD_REPORT_AGID | (*pi_agid << 6);
@@ -745,9 +727,8 @@ int ioctl_ReportChallenge( int i_fd, int *pi_agid, uint8_t *p_challenge )
int i_ret;
#if defined( HAVE_LINUX_DVD_STRUCT )
- dvd_authinfo auth_info;
+ dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.type = DVD_LU_SEND_CHALLENGE;
auth_info.lsc.agid = *pi_agid;
@@ -756,9 +737,8 @@ int ioctl_ReportChallenge( int i_fd, int *pi_agid, uint8_t *p_challenge )
memcpy( p_challenge, auth_info.lsc.chal, DVD_CHALLENGE_SIZE );
#elif defined( HAVE_BSD_DVD_STRUCT )
- struct dvd_authinfo auth_info;
+ struct dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.format = DVD_REPORT_CHALLENGE;
auth_info.agid = *pi_agid;
@@ -766,7 +746,7 @@ int ioctl_ReportChallenge( int i_fd, int *pi_agid, uint8_t *p_challenge )
memcpy( p_challenge, auth_info.keychal, DVD_CHALLENGE_SIZE );
-#elif defined( SYS_BEOS )
+#elif defined( __BEOS__ )
INIT_RDC( GPCMD_REPORT_KEY, 16 );
rdc.command[ 10 ] = DVD_REPORT_CHALLENGE | (*pi_agid << 6);
@@ -812,11 +792,9 @@ int ioctl_ReportChallenge( int i_fd, int *pi_agid, uint8_t *p_challenge )
if( WIN2K ) /* NT/2k/XP */
{
DWORD tmp;
- uint8_t buffer[DVD_CHALLENGE_KEY_LENGTH];
+ uint8_t buffer[DVD_CHALLENGE_KEY_LENGTH] = { 0 };
PDVD_COPY_PROTECT_KEY key = (PDVD_COPY_PROTECT_KEY) &buffer;
- memset( &buffer, 0, sizeof( buffer ) );
-
key->KeyLength = DVD_CHALLENGE_KEY_LENGTH;
key->SessionId = *pi_agid;
key->KeyType = DvdChallengeKey;
@@ -853,7 +831,7 @@ int ioctl_ReportChallenge( int i_fd, int *pi_agid, uint8_t *p_challenge )
memcpy( p_challenge, p_buffer + 4, DVD_CHALLENGE_SIZE );
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
INIT_SSC( GPCMD_REPORT_KEY, 16 );
sdc.command[ 10 ] = DVD_REPORT_CHALLENGE | (*pi_agid << 6);
@@ -879,9 +857,8 @@ int ioctl_ReportASF( int i_fd, int *pi_remove_me, int *pi_asf )
int i_ret;
#if defined( HAVE_LINUX_DVD_STRUCT )
- dvd_authinfo auth_info;
+ dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.type = DVD_LU_SEND_ASF;
auth_info.lsasf.asf = *pi_asf;
@@ -890,9 +867,8 @@ int ioctl_ReportASF( int i_fd, int *pi_remove_me, int *pi_asf )
*pi_asf = auth_info.lsasf.asf;
#elif defined( HAVE_BSD_DVD_STRUCT )
- struct dvd_authinfo auth_info;
+ struct dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.format = DVD_REPORT_ASF;
auth_info.asf = *pi_asf;
@@ -900,7 +876,7 @@ int ioctl_ReportASF( int i_fd, int *pi_remove_me, int *pi_asf )
*pi_asf = auth_info.asf;
-#elif defined( SYS_BEOS )
+#elif defined( __BEOS__ )
INIT_RDC( GPCMD_REPORT_KEY, 8 );
rdc.command[ 10 ] = DVD_REPORT_ASF;
@@ -944,11 +920,9 @@ int ioctl_ReportASF( int i_fd, int *pi_remove_me, int *pi_asf )
if( WIN2K ) /* NT/2k/XP */
{
DWORD tmp;
- uint8_t buffer[DVD_ASF_LENGTH];
+ uint8_t buffer[DVD_ASF_LENGTH] = { 0 };
PDVD_COPY_PROTECT_KEY key = (PDVD_COPY_PROTECT_KEY) &buffer;
- memset( &buffer, 0, sizeof( buffer ) );
-
key->KeyLength = DVD_ASF_LENGTH;
key->KeyType = DvdAsf;
key->KeyFlags = 0;
@@ -986,7 +960,7 @@ int ioctl_ReportASF( int i_fd, int *pi_remove_me, int *pi_asf )
*pi_asf = p_buffer[ 7 ] & 1;
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
INIT_SSC( GPCMD_REPORT_KEY, 8 );
sdc.command[ 10 ] = DVD_REPORT_ASF;
@@ -1012,9 +986,8 @@ int ioctl_ReportKey1( int i_fd, int *pi_agid, uint8_t *p_key )
int i_ret;
#if defined( HAVE_LINUX_DVD_STRUCT )
- dvd_authinfo auth_info;
+ dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.type = DVD_LU_SEND_KEY1;
auth_info.lsk.agid = *pi_agid;
@@ -1023,9 +996,8 @@ int ioctl_ReportKey1( int i_fd, int *pi_agid, uint8_t *p_key )
memcpy( p_key, auth_info.lsk.key, DVD_KEY_SIZE );
#elif defined( HAVE_BSD_DVD_STRUCT )
- struct dvd_authinfo auth_info;
+ struct dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.format = DVD_REPORT_KEY1;
auth_info.agid = *pi_agid;
@@ -1033,7 +1005,7 @@ int ioctl_ReportKey1( int i_fd, int *pi_agid, uint8_t *p_key )
memcpy( p_key, auth_info.keychal, DVD_KEY_SIZE );
-#elif defined( SYS_BEOS )
+#elif defined( __BEOS__ )
INIT_RDC( GPCMD_REPORT_KEY, 12 );
rdc.command[ 10 ] = DVD_REPORT_KEY1 | (*pi_agid << 6);
@@ -1079,11 +1051,9 @@ int ioctl_ReportKey1( int i_fd, int *pi_agid, uint8_t *p_key )
if( WIN2K ) /* NT/2k/XP */
{
DWORD tmp;
- uint8_t buffer[DVD_BUS_KEY_LENGTH];
+ uint8_t buffer[DVD_BUS_KEY_LENGTH] = { 0 };
PDVD_COPY_PROTECT_KEY key = (PDVD_COPY_PROTECT_KEY) &buffer;
- memset( &buffer, 0, sizeof( buffer ) );
-
key->KeyLength = DVD_BUS_KEY_LENGTH;
key->SessionId = *pi_agid;
key->KeyType = DvdBusKey1;
@@ -1115,7 +1085,7 @@ int ioctl_ReportKey1( int i_fd, int *pi_agid, uint8_t *p_key )
memcpy( p_key, p_buffer + 4, DVD_KEY_SIZE );
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
INIT_SSC( GPCMD_REPORT_KEY, 12 );
sdc.command[ 10 ] = DVD_REPORT_KEY1 | (*pi_agid << 6);
@@ -1141,41 +1111,39 @@ int ioctl_InvalidateAgid( int i_fd, int *pi_agid )
int i_ret;
#if defined( HAVE_LINUX_DVD_STRUCT )
- dvd_authinfo auth_info;
+ dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
- auth_info.type = DVD_INVALIDATE_AGID;
+ auth_info.type = DVDCSS_INVALIDATE_AGID;
auth_info.lsa.agid = *pi_agid;
i_ret = ioctl( i_fd, DVD_AUTH, &auth_info );
#elif defined( HAVE_BSD_DVD_STRUCT )
- struct dvd_authinfo auth_info;
+ struct dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
- auth_info.format = DVD_INVALIDATE_AGID;
+ auth_info.format = DVDCSS_INVALIDATE_AGID;
auth_info.agid = *pi_agid;
i_ret = ioctl( i_fd, DVDIOCREPORTKEY, &auth_info );
-#elif defined( SYS_BEOS )
+#elif defined( __BEOS__ )
INIT_RDC( GPCMD_REPORT_KEY, 0 );
- rdc.command[ 10 ] = DVD_INVALIDATE_AGID | (*pi_agid << 6);
+ rdc.command[ 10 ] = DVDCSS_INVALIDATE_AGID | (*pi_agid << 6);
i_ret = ioctl( i_fd, B_RAW_DEVICE_COMMAND, &rdc, sizeof(rdc) );
#elif defined( HPUX_SCTL_IO )
INIT_SCTL_IO( GPCMD_REPORT_KEY, 0 );
- sctl_io.cdb[ 10 ] = DVD_INVALIDATE_AGID | (*pi_agid << 6);
+ sctl_io.cdb[ 10 ] = DVDCSS_INVALIDATE_AGID | (*pi_agid << 6);
i_ret = ioctl( i_fd, SIOC_IO, &sctl_io );
#elif defined( SOLARIS_USCSI )
INIT_USCSI( GPCMD_REPORT_KEY, 0 );
- rs_cdb.cdb_opaque[ 10 ] = DVD_INVALIDATE_AGID | (*pi_agid << 6);
+ rs_cdb.cdb_opaque[ 10 ] = DVDCSS_INVALIDATE_AGID | (*pi_agid << 6);
i_ret = SolarisSendUSCSI( i_fd, &sc );
@@ -1212,7 +1180,7 @@ int ioctl_InvalidateAgid( int i_fd, int *pi_agid )
ssc.CDBByte[ 9 ] = 0;
#endif
- ssc.CDBByte[ 10 ] = DVD_INVALIDATE_AGID | (*pi_agid << 6);
+ ssc.CDBByte[ 10 ] = DVDCSS_INVALIDATE_AGID | (*pi_agid << 6);
i_ret = WinSendSSC( i_fd, &ssc );
}
@@ -1221,18 +1189,18 @@ int ioctl_InvalidateAgid( int i_fd, int *pi_agid )
INIT_CPT( GPCMD_REPORT_KEY, 0 );
- p_cpt->cam_cdb[ 10 ] = DVD_INVALIDATE_AGID | (*pi_agid << 6);
+ p_cpt->cam_cdb[ 10 ] = DVDCSS_INVALIDATE_AGID | (*pi_agid << 6);
i_ret = devctl(i_fd, DCMD_CAM_PASS_THRU, p_cpt, structSize, NULL);
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
INIT_SSC( GPCMD_REPORT_KEY, 1 );
sdc.data_length = 0;
sdc.command[ 8 ] = 0;
sdc.command[ 9 ] = 0;
- sdc.command[ 10 ] = DVD_INVALIDATE_AGID | (*pi_agid << 6);
+ sdc.command[ 10 ] = DVDCSS_INVALIDATE_AGID | (*pi_agid << 6);
i_ret = DosDevIOCtl(i_fd, IOCTL_CDROMDISK, CDROMDISK_EXECMD,
&sdc, sizeof(sdc), &ulParamLen,
@@ -1252,9 +1220,8 @@ int ioctl_SendChallenge( int i_fd, int *pi_agid, uint8_t *p_challenge )
int i_ret;
#if defined( HAVE_LINUX_DVD_STRUCT )
- dvd_authinfo auth_info;
+ dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.type = DVD_HOST_SEND_CHALLENGE;
auth_info.hsc.agid = *pi_agid;
@@ -1263,9 +1230,8 @@ int ioctl_SendChallenge( int i_fd, int *pi_agid, uint8_t *p_challenge )
i_ret = ioctl( i_fd, DVD_AUTH, &auth_info );
#elif defined( HAVE_BSD_DVD_STRUCT )
- struct dvd_authinfo auth_info;
+ struct dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.format = DVD_SEND_CHALLENGE;
auth_info.agid = *pi_agid;
@@ -1273,7 +1239,7 @@ int ioctl_SendChallenge( int i_fd, int *pi_agid, uint8_t *p_challenge )
i_ret = ioctl( i_fd, DVDIOCSENDKEY, &auth_info );
-#elif defined( SYS_BEOS )
+#elif defined( __BEOS__ )
INIT_RDC( GPCMD_SEND_KEY, 16 );
rdc.command[ 10 ] = DVD_SEND_CHALLENGE | (*pi_agid << 6);
@@ -1324,11 +1290,9 @@ int ioctl_SendChallenge( int i_fd, int *pi_agid, uint8_t *p_challenge )
if( WIN2K ) /* NT/2k/XP */
{
DWORD tmp;
- uint8_t buffer[DVD_CHALLENGE_KEY_LENGTH];
+ uint8_t buffer[DVD_CHALLENGE_KEY_LENGTH] = { 0 };
PDVD_COPY_PROTECT_KEY key = (PDVD_COPY_PROTECT_KEY) &buffer;
- memset( &buffer, 0, sizeof( buffer ) );
-
key->KeyLength = DVD_CHALLENGE_KEY_LENGTH;
key->SessionId = *pi_agid;
key->KeyType = DvdChallengeKey;
@@ -1362,7 +1326,7 @@ int ioctl_SendChallenge( int i_fd, int *pi_agid, uint8_t *p_challenge )
i_ret = devctl(i_fd, DCMD_CAM_PASS_THRU, p_cpt, structSize, NULL);
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
INIT_SSC( GPCMD_SEND_KEY, 16 );
sdc.command[ 10 ] = DVD_SEND_CHALLENGE | (*pi_agid << 6);
@@ -1389,9 +1353,8 @@ int ioctl_SendKey2( int i_fd, int *pi_agid, uint8_t *p_key )
int i_ret;
#if defined( HAVE_LINUX_DVD_STRUCT )
- dvd_authinfo auth_info;
+ dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.type = DVD_HOST_SEND_KEY2;
auth_info.hsk.agid = *pi_agid;
@@ -1400,9 +1363,8 @@ int ioctl_SendKey2( int i_fd, int *pi_agid, uint8_t *p_key )
i_ret = ioctl( i_fd, DVD_AUTH, &auth_info );
#elif defined( HAVE_BSD_DVD_STRUCT )
- struct dvd_authinfo auth_info;
+ struct dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.format = DVD_SEND_KEY2;
auth_info.agid = *pi_agid;
@@ -1410,7 +1372,7 @@ int ioctl_SendKey2( int i_fd, int *pi_agid, uint8_t *p_key )
i_ret = ioctl( i_fd, DVDIOCSENDKEY, &auth_info );
-#elif defined( SYS_BEOS )
+#elif defined( __BEOS__ )
INIT_RDC( GPCMD_SEND_KEY, 12 );
rdc.command[ 10 ] = DVD_SEND_KEY2 | (*pi_agid << 6);
@@ -1461,11 +1423,9 @@ int ioctl_SendKey2( int i_fd, int *pi_agid, uint8_t *p_key )
if( WIN2K ) /* NT/2k/XP */
{
DWORD tmp;
- uint8_t buffer[DVD_BUS_KEY_LENGTH];
+ uint8_t buffer[DVD_BUS_KEY_LENGTH] = { 0 };
PDVD_COPY_PROTECT_KEY key = (PDVD_COPY_PROTECT_KEY) &buffer;
- memset( &buffer, 0, sizeof( buffer ) );
-
key->KeyLength = DVD_BUS_KEY_LENGTH;
key->SessionId = *pi_agid;
key->KeyType = DvdBusKey2;
@@ -1499,7 +1459,7 @@ int ioctl_SendKey2( int i_fd, int *pi_agid, uint8_t *p_key )
i_ret = devctl(i_fd, DCMD_CAM_PASS_THRU, p_cpt, structSize, NULL);
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
INIT_SSC( GPCMD_SEND_KEY, 12 );
sdc.command[ 10 ] = DVD_SEND_KEY2 | (*pi_agid << 6);
@@ -1526,9 +1486,8 @@ int ioctl_ReportRPC( int i_fd, int *p_type, int *p_mask, int *p_scheme )
int i_ret;
#if defined( HAVE_LINUX_DVD_STRUCT ) && defined( DVD_LU_SEND_RPC_STATE )
- dvd_authinfo auth_info;
+ dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.type = DVD_LU_SEND_RPC_STATE;
i_ret = ioctl( i_fd, DVD_AUTH, &auth_info );
@@ -1542,9 +1501,8 @@ int ioctl_ReportRPC( int i_fd, int *p_type, int *p_mask, int *p_scheme )
i_ret = -1;
#elif defined( HAVE_BSD_DVD_STRUCT )
- struct dvd_authinfo auth_info;
+ struct dvd_authinfo auth_info = { 0 };
- memset( &auth_info, 0, sizeof( auth_info ) );
auth_info.format = DVD_REPORT_RPC;
i_ret = ioctl( i_fd, DVDIOCREPORTKEY, &auth_info );
@@ -1553,7 +1511,7 @@ int ioctl_ReportRPC( int i_fd, int *p_type, int *p_mask, int *p_scheme )
*p_mask = auth_info.region; // ??
*p_scheme = auth_info.rpc_scheme;
-#elif defined( SYS_BEOS )
+#elif defined( __BEOS__ )
INIT_RDC( GPCMD_REPORT_KEY, 8 );
rdc.command[ 10 ] = DVD_REPORT_RPC;
@@ -1607,11 +1565,9 @@ int ioctl_ReportRPC( int i_fd, int *p_type, int *p_mask, int *p_scheme )
if( WIN2K ) /* NT/2k/XP */
{
DWORD tmp;
- uint8_t buffer[DVD_RPC_KEY_LENGTH];
+ uint8_t buffer[DVD_RPC_KEY_LENGTH] = { 0 };
PDVD_COPY_PROTECT_KEY key = (PDVD_COPY_PROTECT_KEY) &buffer;
- memset( &buffer, 0, sizeof( buffer ) );
-
key->KeyLength = DVD_RPC_KEY_LENGTH;
key->KeyType = DvdGetRpcKey;
key->KeyFlags = 0;
@@ -1653,7 +1609,7 @@ int ioctl_ReportRPC( int i_fd, int *p_type, int *p_mask, int *p_scheme )
*p_mask = p_buffer[ 5 ];
*p_scheme = p_buffer[ 6 ];
-#elif defined( SYS_OS2 )
+#elif defined( __OS2__ )
INIT_SSC( GPCMD_REPORT_KEY, 8 );
sdc.command[ 10 ] = DVD_REPORT_RPC;
@@ -1673,136 +1629,9 @@ int ioctl_ReportRPC( int i_fd, int *p_type, int *p_mask, int *p_scheme )
return i_ret;
}
-/*****************************************************************************
- * ioctl_SendRPC: set RPC status for the drive
- *****************************************************************************/
-int ioctl_SendRPC( int i_fd, int i_pdrc )
-{
- int i_ret;
-
-#if defined( HAVE_LINUX_DVD_STRUCT ) && defined( DVD_HOST_SEND_RPC_STATE )
- dvd_authinfo auth_info;
-
- memset( &auth_info, 0, sizeof( auth_info ) );
- auth_info.type = DVD_HOST_SEND_RPC_STATE;
- auth_info.hrpcs.pdrc = i_pdrc;
-
- i_ret = ioctl( i_fd, DVD_AUTH, &auth_info );
-
-#elif defined( HAVE_LINUX_DVD_STRUCT )
- /* FIXME: OpenBSD doesn't know this */
- i_ret = -1;
-
-#elif defined( HAVE_BSD_DVD_STRUCT )
- struct dvd_authinfo auth_info;
-
- memset( &auth_info, 0, sizeof( auth_info ) );
- auth_info.format = DVD_SEND_RPC;
- auth_info.region = i_pdrc;
-
- i_ret = ioctl( i_fd, DVDIOCSENDKEY, &auth_info );
-
-#elif defined( SYS_BEOS )
- INIT_RDC( GPCMD_SEND_KEY, 8 );
-
- rdc.command[ 10 ] = DVD_SEND_RPC;
-
- p_buffer[ 1 ] = 6;
- p_buffer[ 4 ] = i_pdrc;
-
- i_ret = ioctl( i_fd, B_RAW_DEVICE_COMMAND, &rdc, sizeof(rdc) );
-
-#elif defined( HPUX_SCTL_IO )
- INIT_SCTL_IO( GPCMD_SEND_KEY, 8 );
-
- sctl_io.cdb[ 10 ] = DVD_SEND_RPC;
-
- p_buffer[ 1 ] = 6;
- p_buffer[ 4 ] = i_pdrc;
-
- i_ret = ioctl( i_fd, SIOC_IO, &sctl_io );
-
-#elif defined( SOLARIS_USCSI )
- INIT_USCSI( GPCMD_SEND_KEY, 8 );
-
- rs_cdb.cdb_opaque[ 10 ] = DVD_SEND_RPC;
-
- p_buffer[ 1 ] = 6;
- p_buffer[ 4 ] = i_pdrc;
-
- i_ret = SolarisSendUSCSI( i_fd, &sc );
-
- if( i_ret < 0 || sc.uscsi_status )
- {
- i_ret = -1;
- }
-
-#elif defined( DARWIN_DVD_IOCTL )
- INIT_DVDIOCTL( dk_dvd_send_key_t, DVDRegionPlaybackControlInfo,
- kDVDKeyFormatSetRegion );
-
- dvd.keyClass = kDVDKeyClassCSS_CPPM_CPRM;
- dvdbs.driveRegion = i_pdrc;
-
- i_ret = ioctl( i_fd, DKIOCDVDSENDKEY, &dvd );
-
-#elif defined( WIN32 )
- if( WIN2K ) /* NT/2k/XP */
- {
- INIT_SPTD( GPCMD_SEND_KEY, 8 );
-
- sptd.Cdb[ 10 ] = DVD_SEND_RPC;
-
- p_buffer[ 1 ] = 6;
- p_buffer[ 4 ] = i_pdrc;
-
- i_ret = SEND_SPTD( i_fd, &sptd, &tmp );
- }
- else
- {
- INIT_SSC( GPCMD_SEND_KEY, 8 );
-
- ssc.CDBByte[ 10 ] = DVD_SEND_RPC;
-
- p_buffer[ 1 ] = 6;
- p_buffer[ 4 ] = i_pdrc;
-
- i_ret = WinSendSSC( i_fd, &ssc );
- }
-
-#elif defined( __QNXNTO__ )
-
- INIT_CPT( GPCMD_SEND_KEY, 8 );
-
- p_cpt->cam_cdb[ 10 ] = DVD_SEND_RPC;
-
- p_buffer[ 1 ] = 6;
- p_buffer[ 4 ] = i_pdrc;
-
- i_ret = devctl(i_fd, DCMD_CAM_PASS_THRU, p_cpt, structSize, NULL);
-
-#elif defined( SYS_OS2 )
- INIT_SSC( GPCMD_SEND_KEY, 8 );
-
- sdc.command[ 10 ] = DVD_SEND_RPC;
-
- p_buffer[ 1 ] = 6;
- p_buffer[ 4 ] = i_pdrc;
-
- i_ret = DosDevIOCtl( i_fd, IOCTL_CDROMDISK, CDROMDISK_EXECMD,
- &sdc, sizeof(sdc), &ulParamLen,
- p_buffer, sizeof(p_buffer), &ulDataLen );
-
-#else
-# error "DVD ioctls are unavailable on this system"
-
-#endif
- return i_ret;
-}
-
/* Local prototypes */
-#if defined( SYS_BEOS )
+#if defined( __BEOS__ )
/*****************************************************************************
* BeInitRDC: initialize a RDC structure for the BeOS kernel
*****************************************************************************
@@ -1872,7 +1701,7 @@ static void HPUXInitSCTL( struct sctl_io *sctl_io, int i_type )
/*****************************************************************************
* SolarisInitUSCSI: initialize a USCSICMD structure for the Solaris kernel
*****************************************************************************
- * This function initializes a Solaris userspace scsi command structure for
+ * This function initializes a Solaris userspace SCSI command structure for
* future use, either a read command or a write command.
*****************************************************************************/
static void SolarisInitUSCSI( struct uscsi_cmd *p_sc, int i_type )
@@ -1917,8 +1746,8 @@ static void SolarisInitUSCSI( struct uscsi_cmd *p_sc, int i_type )
*
* The code will fall back to the USCSICMD ioctl method, when
* libsmedia.so is not available or does not export the
- * smedia_uscsi_cmd() function (on Solaris releases upto and including
- * Solaris 8). Fortunatelly, on these old releases non-root users are
+ * smedia_uscsi_cmd() function (on Solaris releases up to and including
+ * Solaris 8). Fortunately, on these old releases non-root users are
* allowed to perform USCSICMD ioctls on removable media devices.
*****************************************************************************/
static int SolarisSendUSCSI( int i_fd, struct uscsi_cmd *p_sc )
@@ -2093,7 +1922,7 @@ static void QNXInitCPT( CAM_PASS_THRU * p_cpt, int i_type )
}
#endif
-#if defined( SYS_OS2 )
+#if defined( __OS2__ )
/*****************************************************************************
* OS2InitSDC: initialize a SDC structure for the Execute SCSI-command
*****************************************************************************
diff --git a/lib/libdvd/libdvdcss/src/ioctl.h b/lib/libdvd/libdvdcss/src/ioctl.h
index 6fc3aba3c2..8533833eca 100644
--- a/lib/libdvd/libdvdcss/src/ioctl.h
+++ b/lib/libdvd/libdvdcss/src/ioctl.h
@@ -2,7 +2,6 @@
* ioctl.h: DVD ioctl replacement function
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
- * $Id: ioctl.h 235 2010-08-02 15:41:14Z jb $
*
* Authors: Sam Hocevar <sam@zoy.org>
*
@@ -35,7 +34,6 @@ int ioctl_InvalidateAgid ( int, int * );
int ioctl_SendChallenge ( int, int *, uint8_t * );
int ioctl_SendKey2 ( int, int *, uint8_t * );
int ioctl_ReportRPC ( int, int *, int *, int * );
-int ioctl_SendRPC ( int, int );
#define DVD_KEY_SIZE 5
#define DVD_CHALLENGE_SIZE 10
@@ -44,11 +42,10 @@ int ioctl_SendRPC ( int, int );
/*****************************************************************************
* Common macro, BeOS specific
*****************************************************************************/
-#if defined( SYS_BEOS )
+#if defined( __BEOS__ )
#define INIT_RDC( TYPE, SIZE ) \
- raw_device_command rdc; \
+ raw_device_command rdc = { 0 }; \
uint8_t p_buffer[ (SIZE)+1 ]; \
- memset( &rdc, 0, sizeof( raw_device_command ) ); \
rdc.data = (char *)p_buffer; \
rdc.data_length = (SIZE); \
BeInitRDC( &rdc, (TYPE) );
@@ -59,9 +56,8 @@ int ioctl_SendRPC ( int, int );
*****************************************************************************/
#if defined( HPUX_SCTL_IO )
#define INIT_SCTL_IO( TYPE, SIZE ) \
- struct sctl_io sctl_io; \
+ struct sctl_io sctl_io = { 0 }; \
uint8_t p_buffer[ (SIZE)+1 ]; \
- memset( &sctl_io, 0, sizeof( sctl_io ) ); \
sctl_io.data = (void *)p_buffer; \
sctl_io.data_length = (SIZE); \
HPUXInitSCTL( &sctl_io, (TYPE) );
@@ -74,10 +70,9 @@ int ioctl_SendRPC ( int, int );
#define USCSI_TIMEOUT( SC, TO ) ( (SC)->uscsi_timeout = (TO) )
#define USCSI_RESID( SC ) ( (SC)->uscsi_resid )
#define INIT_USCSI( TYPE, SIZE ) \
- struct uscsi_cmd sc; \
+ struct uscsi_cmd sc = { 0 }; \
union scsi_cdb rs_cdb; \
uint8_t p_buffer[ (SIZE)+1 ]; \
- memset( &sc, 0, sizeof( struct uscsi_cmd ) ); \
sc.uscsi_cdb = (caddr_t)&rs_cdb; \
sc.uscsi_bufaddr = (caddr_t)p_buffer; \
sc.uscsi_buflen = (SIZE); \
@@ -89,10 +84,8 @@ int ioctl_SendRPC ( int, int );
*****************************************************************************/
#if defined( DARWIN_DVD_IOCTL )
#define INIT_DVDIOCTL( DKDVD_TYPE, BUFFER_TYPE, FORMAT ) \
- DKDVD_TYPE dvd; \
- BUFFER_TYPE dvdbs; \
- memset( &dvd, 0, sizeof(dvd) ); \
- memset( &dvdbs, 0, sizeof(dvdbs) ); \
+ DKDVD_TYPE dvd = { 0 }; \
+ BUFFER_TYPE dvdbs = { 0 }; \
dvd.format = FORMAT; \
dvd.buffer = &dvdbs; \
dvd.bufferLength = sizeof(dvdbs);
@@ -104,9 +97,8 @@ int ioctl_SendRPC ( int, int );
#if defined( WIN32 )
#define INIT_SPTD( TYPE, SIZE ) \
DWORD tmp; \
- SCSI_PASS_THROUGH_DIRECT sptd; \
+ SCSI_PASS_THROUGH_DIRECT sptd = { 0 }; \
uint8_t p_buffer[ (SIZE) ]; \
- memset( &sptd, 0, sizeof( SCSI_PASS_THROUGH_DIRECT ) ); \
sptd.Length = sizeof( SCSI_PASS_THROUGH_DIRECT ); \
sptd.DataBuffer = p_buffer; \
sptd.DataTransferLength = (SIZE); \
@@ -117,10 +109,9 @@ int ioctl_SendRPC ( int, int );
(SPTD), sizeof( SCSI_PASS_THROUGH_DIRECT ), \
(TMP), NULL ) ? 0 : -1)
#define INIT_SSC( TYPE, SIZE ) \
- struct SRB_ExecSCSICmd ssc; \
+ struct SRB_ExecSCSICmd ssc = { 0 }; \
uint8_t p_buffer[ (SIZE)+1 ]; \
- memset( &ssc, 0, sizeof( struct SRB_ExecSCSICmd ) ); \
- ssc.SRB_BufPointer = (char *)p_buffer; \
+ ssc.SRB_BufPointer = (unsigned char *)p_buffer; \
ssc.SRB_BufLen = (SIZE); \
WinInitSSC( &ssc, (TYPE) );
#endif
@@ -130,12 +121,11 @@ int ioctl_SendRPC ( int, int );
*****************************************************************************/
#if defined( __QNXNTO__ )
#define INIT_CPT( TYPE, SIZE ) \
- CAM_PASS_THRU * p_cpt; \
+ CAM_PASS_THRU * p_cpt = { 0 }; \
uint8_t * p_buffer; \
int structSize = sizeof( CAM_PASS_THRU ) + (SIZE); \
p_cpt = (CAM_PASS_THRU *) malloc ( structSize ); \
p_buffer = (uint8_t *) p_cpt + sizeof( CAM_PASS_THRU ); \
- memset( p_cpt, 0, structSize ); \
p_cpt->cam_data_ptr = sizeof( CAM_PASS_THRU ); \
p_cpt->cam_dxfer_len = (SIZE); \
QNXInitCPT( p_cpt, (TYPE) );
@@ -144,14 +134,12 @@ int ioctl_SendRPC ( int, int );
/*****************************************************************************
* Common macro, OS2 specific
*****************************************************************************/
-#if defined( SYS_OS2 )
+#if defined( __OS2__ )
#define INIT_SSC( TYPE, SIZE ) \
- struct OS2_ExecSCSICmd sdc; \
- uint8_t p_buffer[ (SIZE)+1 ]; \
+ struct OS2_ExecSCSICmd sdc = { 0 }; \
+ uint8_t p_buffer[ (SIZE) + 1 ] = { 0 }; \
unsigned long ulParamLen; \
unsigned long ulDataLen; \
- memset( &sdc, 0, sizeof( OS2_ExecSCSICmd ) ); \
- memset( &p_buffer, 0, SIZE ); \
sdc.data_length = (SIZE); \
ulParamLen = sizeof(sdc); \
OS2InitSDC( &sdc, (TYPE) )
@@ -168,30 +156,28 @@ typedef union dvd_authinfo dvd_authinfo;
/*****************************************************************************
* Various DVD I/O tables
*****************************************************************************/
-#if defined( SYS_BEOS ) || defined( WIN32 ) || defined ( SOLARIS_USCSI ) || defined ( HPUX_SCTL_IO ) || defined ( __QNXNTO__ ) || defined ( SYS_OS2 )
- /* The generic packet command opcodes for CD/DVD Logical Units,
- * From Table 57 of the SFF8090 Ver. 3 (Mt. Fuji) draft standard. */
-# define GPCMD_READ_DVD_STRUCTURE 0xad
-# define GPCMD_REPORT_KEY 0xa4
-# define GPCMD_SEND_KEY 0xa3
- /* DVD struct types */
-# define DVD_STRUCT_PHYSICAL 0x00
-# define DVD_STRUCT_COPYRIGHT 0x01
-# define DVD_STRUCT_DISCKEY 0x02
-# define DVD_STRUCT_BCA 0x03
-# define DVD_STRUCT_MANUFACT 0x04
- /* Key formats */
-# define DVD_REPORT_AGID 0x00
-# define DVD_REPORT_CHALLENGE 0x01
-# define DVD_SEND_CHALLENGE 0x01
-# define DVD_REPORT_KEY1 0x02
-# define DVD_SEND_KEY2 0x03
-# define DVD_REPORT_TITLE_KEY 0x04
-# define DVD_REPORT_ASF 0x05
-# define DVD_SEND_RPC 0x06
-# define DVD_REPORT_RPC 0x08
-# define DVD_INVALIDATE_AGID 0x3f
-#endif
+/* The generic packet command opcodes for CD/DVD Logical Units,
+ * From Table 57 of the SFF8090 Ver. 3 (Mt. Fuji) draft standard. */
+#define GPCMD_READ_DVD_STRUCTURE 0xad
+#define GPCMD_REPORT_KEY 0xa4
+#define GPCMD_SEND_KEY 0xa3
+ /* DVD struct types */
+#define DVD_STRUCT_PHYSICAL 0x00
+#define DVD_STRUCT_COPYRIGHT 0x01
+#define DVD_STRUCT_DISCKEY 0x02
+#define DVD_STRUCT_BCA 0x03
+#define DVD_STRUCT_MANUFACT 0x04
+ /* Key formats */
+#define DVD_REPORT_AGID 0x00
+#define DVD_REPORT_CHALLENGE 0x01
+#define DVD_SEND_CHALLENGE 0x01
+#define DVD_REPORT_KEY1 0x02
+#define DVD_SEND_KEY2 0x03
+#define DVD_REPORT_TITLE_KEY 0x04
+#define DVD_REPORT_ASF 0x05
+#define DVD_SEND_RPC 0x06
+#define DVD_REPORT_RPC 0x08
+#define DVDCSS_INVALIDATE_AGID 0x3f
/*****************************************************************************
* win32 ioctl specific
@@ -408,7 +394,7 @@ struct SRB_ExecSCSICmd
/*****************************************************************************
* OS2 ioctl specific
*****************************************************************************/
-#if defined( SYS_OS2 )
+#if defined( __OS2__ )
#define CDROMDISK_EXECMD 0x7A
diff --git a/lib/libdvd/libdvdcss/src/libdvdcss.c b/lib/libdvd/libdvdcss/src/libdvdcss.c
index d964f73480..2996fc574a 100644
--- a/lib/libdvd/libdvdcss/src/libdvdcss.c
+++ b/lib/libdvd/libdvdcss/src/libdvdcss.c
@@ -5,7 +5,6 @@
* HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
*
* Copyright (C) 1998-2008 VideoLAN
- * $Id: libdvdcss.c 237 2010-09-25 14:21:47Z reimar $
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -31,7 +30,7 @@
* device without having to bother about the decryption. The important features
* are:
* \li portability: currently supported platforms are GNU/Linux, FreeBSD,
- * NetBSD, OpenBSD, BSD/OS, BeOS, Windows 95/98, Windows NT/2000, MacOS X,
+ * NetBSD, OpenBSD, BeOS, Windows 98/ME, Windows NT/2000/XP, Mac OS X,
* Solaris, HP-UX and OS/2.
* \li adaptability: unlike most similar projects, libdvdcss doesn't require
* the region of your drive to be set and will try its best to read from
@@ -50,7 +49,7 @@
*
* \section env Environment variables
*
- * Some environment variables can be used to change the behaviour of
+ * Some environment variables can be used to change the behavior of
* \e libdvdcss without having to modify the program which uses it. These
* variables are:
*
@@ -120,10 +119,6 @@
# include <limits.h>
#endif
-#ifdef HAVE_DIRECT_H
-# include <direct.h>
-#endif
-
#include "dvdcss/dvdcss.h"
#include "common.h"
@@ -132,6 +127,11 @@
#include "ioctl.h"
#include "device.h"
+#ifdef HAVE_BROKEN_MKDIR
+#include <direct.h>
+#define mkdir(a, b) _mkdir(a)
+#endif
+
/**
* \brief Symbol for version checks.
*
@@ -166,7 +166,7 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( char *psz_target )
char *psz_method = getenv( "DVDCSS_METHOD" );
char *psz_verbose = getenv( "DVDCSS_VERBOSE" );
char *psz_cache = getenv( "DVDCSS_CACHE" );
-#if !defined(WIN32) && !defined(SYS_OS2)
+#ifdef DVDCSS_RAW_OPEN
char *psz_raw_device = getenv( "DVDCSS_RAW_DEVICE" );
#endif
@@ -184,7 +184,7 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( char *psz_target )
/*
* Initialize structure with default values
*/
-#if !defined(WIN32) && !defined(SYS_OS2)
+#ifdef DVDCSS_RAW_OPEN
dvdcss->i_raw_fd = -1;
#endif
dvdcss->p_titles = NULL;
@@ -242,7 +242,7 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( char *psz_target )
*/
if( psz_cache == NULL || psz_cache[0] == '\0' )
{
-#ifdef HAVE_DIRECT_H
+#if defined(_WIN32_IE) && _WIN32_IE >= 0x401
typedef HRESULT( WINAPI *SHGETFOLDERPATH )
( HWND, int, HANDLE, DWORD, LPTSTR );
@@ -256,7 +256,7 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( char *psz_target )
*psz_home = '\0';
- /* Load the shfolder dll to retrieve SHGetFolderPath */
+ /* Load the shfolder DLL to retrieve SHGetFolderPath */
p_dll = LoadLibrary( "shfolder.dll" );
if( p_dll )
{
@@ -312,7 +312,7 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( char *psz_target )
{
int home_pos = 0;
-#ifdef SYS_OS2
+#ifdef __OS2__
if( *psz_home == '/' || *psz_home == '\\')
{
char *psz_unixroot = getenv("UNIXROOT");
@@ -408,7 +408,8 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( char *psz_target )
/* If the cache is enabled, write the cache directory tag */
if( psz_cache )
{
- char *psz_tag = "Signature: 8a477f597d28d172789f06886806bc55\r\n"
+ static const char psz_tag[] =
+ "Signature: 8a477f597d28d172789f06886806bc55\r\n"
"# This file is a cache directory tag created by libdvdcss.\r\n"
"# For information about cache directory tags, see:\r\n"
"# http://www.brynosaurus.com/cachedir/\r\n";
@@ -525,11 +526,7 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( char *psz_target )
/* We have a disc name or ID, we can create the cache dir */
i = sprintf( dvdcss->psz_cachefile, "%s", psz_cache );
-#if !defined( WIN32 ) || defined( SYS_CYGWIN )
i_ret = mkdir( dvdcss->psz_cachefile, 0755 );
-#else
- i_ret = mkdir( dvdcss->psz_cachefile );
-#endif
if( i_ret < 0 && errno != EEXIST )
{
print_error( dvdcss, "failed creating cache directory" );
@@ -539,11 +536,7 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( char *psz_target )
i += sprintf( dvdcss->psz_cachefile + i, "/%s-%s%s", psz_title,
psz_serial, psz_key );
-#if !defined( WIN32 ) || defined( SYS_CYGWIN )
i_ret = mkdir( dvdcss->psz_cachefile, 0755 );
-#else
- i_ret = mkdir( dvdcss->psz_cachefile );
-#endif
if( i_ret < 0 && errno != EEXIST )
{
print_error( dvdcss, "failed creating cache subdirectory" );
@@ -560,7 +553,7 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( char *psz_target )
}
nocache:
-#if !defined(WIN32) && !defined(SYS_OS2)
+#ifdef DVDCSS_RAW_OPEN
if( psz_raw_device != NULL )
{
_dvdcss_raw_open( dvdcss, psz_raw_device );
@@ -594,7 +587,7 @@ LIBDVDCSS_EXPORT char * dvdcss_error ( dvdcss_t dvdcss )
*
* \param dvdcss a \e libdvdcss instance.
* \param i_blocks an absolute block offset to seek to.
- * \param i_flags #DVDCSS_NOFLAGS, optionally ored with one of #DVDCSS_SEEK_KEY
+ * \param i_flags #DVDCSS_NOFLAGS, optionally ORed with one of #DVDCSS_SEEK_KEY
* or #DVDCSS_SEEK_MPEG.
* \return the new position in blocks, or a negative value in case an error
* happened.
@@ -604,7 +597,7 @@ LIBDVDCSS_EXPORT char * dvdcss_error ( dvdcss_t dvdcss )
* You typically set \p i_flags to #DVDCSS_NOFLAGS when seeking in a .IFO.
*
* If #DVDCSS_SEEK_MPEG is specified in \p i_flags and if \e libdvdcss finds it
- * reasonable to do so (ie, if the dvdcss method is not "title"), the current
+ * reasonable to do so (i.e., if the dvdcss method is not "title"), the current
* title key will be checked and a new one will be calculated if necessary.
* This flag is typically used when reading data from a VOB.
*
@@ -636,7 +629,7 @@ LIBDVDCSS_EXPORT int dvdcss_seek ( dvdcss_t dvdcss, int i_blocks, int i_flags )
* \param dvdcss a \e libdvdcss instance.
* \param p_buffer a buffer that will contain the data read from the disc.
* \param i_blocks the amount of blocks to read.
- * \param i_flags #DVDCSS_NOFLAGS, optionally ored with #DVDCSS_READ_DECRYPT.
+ * \param i_flags #DVDCSS_NOFLAGS, optionally ORed with #DVDCSS_READ_DECRYPT.
* \return the amount of blocks read, or a negative value in case an
* error happened.
*
@@ -706,7 +699,7 @@ LIBDVDCSS_EXPORT int dvdcss_read ( dvdcss_t dvdcss, void *p_buffer,
* \param p_iovec a pointer to an array of iovec structures that will contain
* the data read from the disc.
* \param i_blocks the amount of blocks to read.
- * \param i_flags #DVDCSS_NOFLAGS, optionally ored with #DVDCSS_READ_DECRYPT.
+ * \param i_flags #DVDCSS_NOFLAGS, optionally ORed with #DVDCSS_READ_DECRYPT.
* \return the amount of blocks read, or a negative value in case an
* error happened.
*
diff --git a/lib/libdvd/libdvdcss/src/libdvdcss.h b/lib/libdvd/libdvdcss/src/libdvdcss.h
index 6171c35e75..605d065e34 100644
--- a/lib/libdvd/libdvdcss/src/libdvdcss.h
+++ b/lib/libdvd/libdvdcss/src/libdvdcss.h
@@ -2,7 +2,6 @@
* libdvdcss.h: private DVD reading library data
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
- * $Id: libdvdcss.h 240 2011-03-23 15:00:06Z jb $
*
* Authors: Stéphane Borel <stef@via.ecp.fr>
* Sam Hocevar <sam@zoy.org>
@@ -27,8 +26,7 @@
#include "dvdcss/dvdcss.h"
#include "css.h"
-
-struct iovec;
+#include "device.h"
/*****************************************************************************
* The libdvdcss structure
@@ -68,7 +66,7 @@ struct dvdcss_s
int i_readv_buf_size;
#endif
-#if !defined(WIN32) && !defined(SYS_OS2)
+#ifdef DVDCSS_RAW_OPEN
int i_raw_fd;
#endif
};
diff --git a/lib/libdvd/libdvdcss/src/libdvdcss.pc.in b/lib/libdvd/libdvdcss/src/libdvdcss.pc.in
index 9d2516787f..517e861b66 100644
--- a/lib/libdvd/libdvdcss/src/libdvdcss.pc.in
+++ b/lib/libdvd/libdvdcss/src/libdvdcss.pc.in
@@ -7,4 +7,4 @@ Name: libdvdcss
Description: DVD access and decryption library.
Version: @VERSION@
Libs: -L${libdir} -ldvdcss
-Cflags: -I{includedir} -I${includedir}/@PACKAGE@
+Cflags: -I${includedir} -I${includedir}/dvdcss
diff --git a/lib/libdvd/libdvdcss/test/Makefile.am b/lib/libdvd/libdvdcss/test/Makefile.am
deleted file mode 100644
index f1c5a631e0..0000000000
--- a/lib/libdvd/libdvdcss/test/Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-
-noinst_PROGRAMS = csstest #dvd_region
-
-csstest_SOURCES = csstest.c
-csstest_LDADD = $(top_builddir)/src/libdvdcss.la $(bsdi_libadd)
-csstest_CFLAGS = -I$(top_srcdir)/src
-
-#dvd_region_SOURCES = dvd_region.c
-#dvd_region_LDADD = $(top_builddir)/src/libdvdcss.la
-#dvd_region_CFLAGS = -I$(top_srcdir)/src
-
-if SYS_BSDI_LIBDVD
-bsdi_libadd = -ldvd
-endif
-
diff --git a/lib/libdvd/patches/libdvdcss.diff b/lib/libdvd/patches/libdvdcss.diff
index 3c33cda7bc..4e181091b9 100644
--- a/lib/libdvd/patches/libdvdcss.diff
+++ b/lib/libdvd/patches/libdvdcss.diff
@@ -1,172 +1,194 @@
-diff -uwr ../../libdvdcss-1.2.12/src/device.c lib/libdvd/libdvdcss/src/device.c
---- ../../libdvdcss-1.2.12/src/device.c Sun Mar 11 23:07:48 2012
-+++ lib/libdvd/libdvdcss/src/device.c Tue Jan 28 19:47:56 2014
-@@ -23,6 +23,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *****************************************************************************/
-
-+/*
-+ Modifications for XBMC are all contained within WITH_CACHE
-+*/
-+
- /*****************************************************************************
- * Preamble
- *****************************************************************************/
-@@ -521,17 +525,24 @@
- * won't send back the right result).
- * (See Microsoft Q241374: Read and Write Access Required for SCSI
- * Pass Through Requests) */
-+
-+#ifdef WITH_CACHE
-+ DWORD flags = FILE_FLAG_NO_BUFFERING; /* we handle buffering ourself */
-+#else
-+ DWORD flags = FILE_FLAG_RANDOM_ACCESS;
-+#endif //!WITH_CACHE
-+
- dvdcss->i_fd = (int)
- CreateFile( psz_dvd, GENERIC_READ | GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL, OPEN_EXISTING,
-- FILE_FLAG_RANDOM_ACCESS, NULL );
-+ flags, NULL );
-
- if( (HANDLE) dvdcss->i_fd == INVALID_HANDLE_VALUE )
- dvdcss->i_fd = (int)
- CreateFile( psz_dvd, GENERIC_READ, FILE_SHARE_READ,
- NULL, OPEN_EXISTING,
-- FILE_FLAG_RANDOM_ACCESS, NULL );
-+ flags, NULL );
-
- if( (HANDLE) dvdcss->i_fd == INVALID_HANDLE_VALUE )
- {
-@@ -727,6 +738,9 @@
- static int win2k_seek( dvdcss_t dvdcss, int i_blocks )
- {
- LARGE_INTEGER li_seek;
-+#ifdef WITH_CACHE
-+ int iBytesToSkip;
-+#endif
-
- #ifndef INVALID_SET_FILE_POINTER
- # define INVALID_SET_FILE_POINTER ((DWORD)-1)
-@@ -738,6 +752,28 @@
- return i_blocks;
- }
-
-+#ifdef WITH_CACHE
-+
-+ // if our buffer contains the position which we want to seek too, we can
-+ // just decrease dwCacheBufferSize
-+ iBytesToSkip = (i_blocks - dvdcss->i_pos) * DVDCSS_BLOCK_SIZE;
-+ if (iBytesToSkip > 0 && iBytesToSkip < dvdcss->buffer_size)
-+ {
-+ dvdcss->buffer_size -= iBytesToSkip;
-+ dvdcss->i_pos = i_blocks;
-+ return dvdcss->i_pos;
-+ }
-+ else if (iBytesToSkip < 0 && (DISC_CACHE_SIZE - dvdcss->buffer_size) >= -iBytesToSkip)
-+ {
-+ // we want to seek backwards, and we have enough old data in our buffer
-+ dvdcss->buffer_size -= iBytesToSkip; // since iBytesToSkip is negative, dwCacheBufferSize will get bigger
-+ dvdcss->i_pos = i_blocks;
-+ return dvdcss->i_pos;
-+ }
-+ else dvdcss->buffer_size = 0;
-+
-+#endif
-+
- li_seek.QuadPart = (LONGLONG)i_blocks * DVDCSS_BLOCK_SIZE;
-
- li_seek.LowPart = SetFilePointer( (HANDLE) dvdcss->i_fd,
-@@ -827,6 +863,66 @@
- {
- int i_bytes;
-
-+#ifdef WITH_CACHE
-+
-+ if (dvdcss->buffer_size < i_blocks * DVDCSS_BLOCK_SIZE)
-+ {
-+ // we don't have enough data in our buffer
-+ int iRemaining = i_blocks * DVDCSS_BLOCK_SIZE;
-+ int iCopied = 0;
-+ // copy data we already have and read again into the cache
-+ if (dvdcss->buffer_size > 0) memcpy(p_buffer, dvdcss->buffer + (DISC_CACHE_SIZE - dvdcss->buffer_size), dvdcss->buffer_size);
-+ iCopied = dvdcss->buffer_size;
-+ iRemaining -= dvdcss->buffer_size;
-+ (BYTE*)p_buffer += iCopied;
-+ dvdcss->buffer_size = 0;
-+
-+ // if remaining size is bigger >= DISC_CACHE_SIZE, don't cache it. Just read
-+ if (iRemaining >= DISC_CACHE_SIZE)
-+ {
-+ if (!ReadFile((HANDLE)dvdcss->i_fd, p_buffer, iRemaining, (LPDWORD)&i_bytes, NULL))
-+ {
-+ dvdcss->i_pos = -1;
-+ return -1;
-+ }
-+ dvdcss->i_pos += (i_bytes + iCopied) / DVDCSS_BLOCK_SIZE;
-+ return (i_bytes + iCopied) / DVDCSS_BLOCK_SIZE;
-+ }
-+ else
-+ {
-+ // read a chunk into the cache and copy the needed bytes into p_buffer
-+ if (!ReadFile((HANDLE)dvdcss->i_fd, dvdcss->buffer, DISC_CACHE_SIZE, &dvdcss->buffer_size, NULL))
-+ {
-+ // read error, maybe we tried to read to much. Try again but now without cache
-+ if (!ReadFile((HANDLE)dvdcss->i_fd, p_buffer, iRemaining, (LPDWORD)&i_bytes, NULL))
-+ {
-+ dvdcss->i_pos = -1;
-+ return -1;
-+ }
-+ dvdcss->i_pos += (i_bytes + iCopied) / DVDCSS_BLOCK_SIZE;
-+ return (i_bytes + iCopied) / DVDCSS_BLOCK_SIZE;
-+ }
-+ // copy bytes into the buffer
-+ memcpy(p_buffer, dvdcss->buffer, iRemaining);
-+ dvdcss->buffer_size -= iRemaining;
-+ dvdcss->i_pos += (iRemaining + iCopied) / DVDCSS_BLOCK_SIZE;
-+ return (iRemaining + iCopied) / DVDCSS_BLOCK_SIZE;
-+ }
-+ }
-+ else
-+ {
-+ // we have enough data in our cache, just copy it
-+ memcpy(p_buffer, dvdcss->buffer + (DISC_CACHE_SIZE - dvdcss->buffer_size), i_blocks * DVDCSS_BLOCK_SIZE);
-+ dvdcss->buffer_size -= i_blocks * DVDCSS_BLOCK_SIZE;
-+ dvdcss->i_pos += i_blocks;
-+ return i_blocks;
-+ }
-+
-+ dvdcss->i_pos = -1;
-+ return -1;
-+
-+#else // WITH_CACHE
-+
- if( !ReadFile( (HANDLE) dvdcss->i_fd, p_buffer,
- i_blocks * DVDCSS_BLOCK_SIZE,
- (LPDWORD)&i_bytes, NULL ) )
-@@ -837,6 +933,7 @@
-
- dvdcss->i_pos += i_bytes / DVDCSS_BLOCK_SIZE;
- return i_bytes / DVDCSS_BLOCK_SIZE;
-+#endif // WITH_CACHE
- }
-
- static int aspi_read ( dvdcss_t dvdcss, void *p_buffer, int i_blocks )
-Only in lib/libdvd/libdvdcss/src/: device.lo
-Only in lib/libdvd/libdvdcss/src/: device.o
-Only in lib/libdvd/libdvdcss/src/dvdcss: Makefile
-diff -uwr ../../libdvdcss-1.2.12/src/libdvdcss.c lib/libdvd/libdvdcss/src/libdvdcss.c
---- ../../libdvdcss-1.2.12/src/libdvdcss.c Sun Mar 11 23:07:48 2012
-+++ lib/libdvd/libdvdcss/src/libdvdcss.c Tue Jan 28 19:47:05 2014
+Only in lib/libdvd/libdvdcss/: .libs
+diff -uwr ../libdvdcss-1.2.13/Makefile.am lib/libdvd/libdvdcss/Makefile.am
+--- ../libdvdcss-1.2.13/Makefile.am Wed Feb 27 10:05:36 2013
++++ lib/libdvd/libdvdcss/Makefile.am Sat Feb 1 22:41:19 2014
+@@ -4,13 +4,7 @@
+
+ dist_doc_DATA = AUTHORS COPYING NEWS README ChangeLog
+
+-DISTCLEANFILES = ChangeLog
+-
+-ChangeLog: $(wildcard $(srcdir)/.git/logs/HEAD)
+- -cd $(srcdir) && git log > $(abs_builddir)/$(@)-tmp
+- test -s $(@)-tmp && mv $(@)-tmp $(@)
+- -rm -f $(@)-tmp
+- test -e $(@) || touch $(@)
++DISTCLEANFILES =
+
+ lib_LTLIBRARIES = libdvdcss.la
+ EXTRA_PROGRAMS = csstest dvd_region
+diff -uwr ../libdvdcss-1.2.13/src/device.c lib/libdvd/libdvdcss/src/device.c
+--- ../libdvdcss-1.2.13/src/device.c Wed Feb 27 10:05:36 2013
++++ lib/libdvd/libdvdcss/src/device.c Sat Feb 1 19:41:54 2014
+@@ -22,6 +22,10 @@
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *****************************************************************************/
+
++/*
++ Modifications for XBMC are all contained within WITH_CACHE
++*/
++
+ /*****************************************************************************
+ * Preamble
+ *****************************************************************************/
+@@ -509,17 +513,24 @@
+ * won't send back the right result).
+ * (See Microsoft Q241374: Read and Write Access Required for SCSI
+ * Pass Through Requests) */
++
++#ifdef WITH_CACHE
++ DWORD flags = FILE_FLAG_NO_BUFFERING; /* we handle buffering ourself */
++#else
++ DWORD flags = FILE_FLAG_RANDOM_ACCESS;
++#endif //!WITH_CACHE
++
+ dvdcss->i_fd = (int)
+ CreateFile( psz_dvd, GENERIC_READ | GENERIC_WRITE,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL, OPEN_EXISTING,
+- FILE_FLAG_RANDOM_ACCESS, NULL );
++ flags, NULL );
+
+ if( (HANDLE) dvdcss->i_fd == INVALID_HANDLE_VALUE )
+ dvdcss->i_fd = (int)
+ CreateFile( psz_dvd, GENERIC_READ, FILE_SHARE_READ,
+ NULL, OPEN_EXISTING,
+- FILE_FLAG_RANDOM_ACCESS, NULL );
++ flags, NULL );
+
+ if( (HANDLE) dvdcss->i_fd == INVALID_HANDLE_VALUE )
+ {
+@@ -714,6 +725,9 @@
+ static int win2k_seek( dvdcss_t dvdcss, int i_blocks )
+ {
+ LARGE_INTEGER li_seek;
++#ifdef WITH_CACHE
++ int iBytesToSkip;
++#endif
+
+ #ifndef INVALID_SET_FILE_POINTER
+ # define INVALID_SET_FILE_POINTER ((DWORD)-1)
+@@ -725,6 +739,28 @@
+ return i_blocks;
+ }
+
++#ifdef WITH_CACHE
++
++ // if our buffer contains the position which we want to seek too, we can
++ // just decrease dwCacheBufferSize
++ iBytesToSkip = (i_blocks - dvdcss->i_pos) * DVDCSS_BLOCK_SIZE;
++ if (iBytesToSkip > 0 && iBytesToSkip < dvdcss->buffer_size)
++ {
++ dvdcss->buffer_size -= iBytesToSkip;
++ dvdcss->i_pos = i_blocks;
++ return dvdcss->i_pos;
++ }
++ else if (iBytesToSkip < 0 && (DISC_CACHE_SIZE - dvdcss->buffer_size) >= -iBytesToSkip)
++ {
++ // we want to seek backwards, and we have enough old data in our buffer
++ dvdcss->buffer_size -= iBytesToSkip; // since iBytesToSkip is negative, dwCacheBufferSize will get bigger
++ dvdcss->i_pos = i_blocks;
++ return dvdcss->i_pos;
++ }
++ else dvdcss->buffer_size = 0;
++
++#endif
++
+ li_seek.QuadPart = (LONGLONG)i_blocks * DVDCSS_BLOCK_SIZE;
+
+ li_seek.LowPart = SetFilePointer( (HANDLE) dvdcss->i_fd,
+@@ -814,6 +850,66 @@
+ {
+ int i_bytes;
+
++#ifdef WITH_CACHE
++
++ if (dvdcss->buffer_size < i_blocks * DVDCSS_BLOCK_SIZE)
++ {
++ // we don't have enough data in our buffer
++ int iRemaining = i_blocks * DVDCSS_BLOCK_SIZE;
++ int iCopied = 0;
++ // copy data we already have and read again into the cache
++ if (dvdcss->buffer_size > 0) memcpy(p_buffer, dvdcss->buffer + (DISC_CACHE_SIZE - dvdcss->buffer_size), dvdcss->buffer_size);
++ iCopied = dvdcss->buffer_size;
++ iRemaining -= dvdcss->buffer_size;
++ (BYTE*)p_buffer += iCopied;
++ dvdcss->buffer_size = 0;
++
++ // if remaining size is bigger >= DISC_CACHE_SIZE, don't cache it. Just read
++ if (iRemaining >= DISC_CACHE_SIZE)
++ {
++ if (!ReadFile((HANDLE)dvdcss->i_fd, p_buffer, iRemaining, (LPDWORD)&i_bytes, NULL))
++ {
++ dvdcss->i_pos = -1;
++ return -1;
++ }
++ dvdcss->i_pos += (i_bytes + iCopied) / DVDCSS_BLOCK_SIZE;
++ return (i_bytes + iCopied) / DVDCSS_BLOCK_SIZE;
++ }
++ else
++ {
++ // read a chunk into the cache and copy the needed bytes into p_buffer
++ if (!ReadFile((HANDLE)dvdcss->i_fd, dvdcss->buffer, DISC_CACHE_SIZE, &dvdcss->buffer_size, NULL))
++ {
++ // read error, maybe we tried to read to much. Try again but now without cache
++ if (!ReadFile((HANDLE)dvdcss->i_fd, p_buffer, iRemaining, (LPDWORD)&i_bytes, NULL))
++ {
++ dvdcss->i_pos = -1;
++ return -1;
++ }
++ dvdcss->i_pos += (i_bytes + iCopied) / DVDCSS_BLOCK_SIZE;
++ return (i_bytes + iCopied) / DVDCSS_BLOCK_SIZE;
++ }
++ // copy bytes into the buffer
++ memcpy(p_buffer, dvdcss->buffer, iRemaining);
++ dvdcss->buffer_size -= iRemaining;
++ dvdcss->i_pos += (iRemaining + iCopied) / DVDCSS_BLOCK_SIZE;
++ return (iRemaining + iCopied) / DVDCSS_BLOCK_SIZE;
++ }
++ }
++ else
++ {
++ // we have enough data in our cache, just copy it
++ memcpy(p_buffer, dvdcss->buffer + (DISC_CACHE_SIZE - dvdcss->buffer_size), i_blocks * DVDCSS_BLOCK_SIZE);
++ dvdcss->buffer_size -= i_blocks * DVDCSS_BLOCK_SIZE;
++ dvdcss->i_pos += i_blocks;
++ return i_blocks;
++ }
++
++ dvdcss->i_pos = -1;
++ return -1;
++
++#else // WITH_CACHE
++
+ if( !ReadFile( (HANDLE) dvdcss->i_fd, p_buffer,
+ i_blocks * DVDCSS_BLOCK_SIZE,
+ (LPDWORD)&i_bytes, NULL ) )
+@@ -824,6 +920,7 @@
+
+ dvdcss->i_pos += i_bytes / DVDCSS_BLOCK_SIZE;
+ return i_bytes / DVDCSS_BLOCK_SIZE;
++#endif // WITH_CACHE
+ }
+
+ static int aspi_read ( dvdcss_t dvdcss, void *p_buffer, int i_blocks )
+Only in lib/libdvd/libdvdcss/src: device.lo
+Only in lib/libdvd/libdvdcss/src: device.o
+Only in lib/libdvd/libdvdcss/src: error.lo
+Only in lib/libdvd/libdvdcss/src: error.o
+Only in lib/libdvd/libdvdcss/src: ioctl.lo
+Only in lib/libdvd/libdvdcss/src: ioctl.o
+diff -uwr ../libdvdcss-1.2.13/src/libdvdcss.c lib/libdvd/libdvdcss/src/libdvdcss.c
+--- ../libdvdcss-1.2.13/src/libdvdcss.c Tue Feb 26 08:08:36 2013
++++ lib/libdvd/libdvdcss/src/libdvdcss.c Sat Feb 1 18:37:25 2014
@@ -195,6 +195,10 @@
dvdcss->b_debug = 0;
dvdcss->b_errors = 0;
-+#ifdef WITH_CACHE
-+ dvdcss->buffer_size = 0;
-+#endif
-+
++#ifdef WITH_CACHE
++ dvdcss->buffer_size = 0;
++#endif
++
/*
* Find verbosity from DVDCSS_VERBOSE environment variable
*/
@@ -175,7 +197,7 @@ diff -uwr ../../libdvdcss-1.2.12/src/libdvdcss.c lib/libdvd/libdvdcss/src/libdvd
}
}
-
-+ /* if wo don't have b_ioctls, we don't have a disk key, make sure area is nulled */
++ /* if wo don't have b_ioctls, we don't have a disk key, make sure area is nulled */
memset( dvdcss->css.p_disc_key, 0, KEY_SIZE );
/* If disc is CSS protected and the ioctls work, authenticate the drive */
if( dvdcss->b_scrambled && dvdcss->b_ioctls )