ref: 4d5c816be5424993e41a7cac52967f42907e6128
parent: badd91978ce04f611601e04fc17a3b14269e6362
author: Sam Hocevar <sam@videolan.org>
date: Wed Sep 2 18:07:32 EDT 2009
Remove the RPC-II sanity check and only issue a warning. Capable drives are far too common.
--- a/src/libdvdcss.c
+++ b/src/libdvdcss.c
@@ -91,13 +91,6 @@
* will use the default value which is "${HOME}/.dvdcss/" under Unix and
* "C:\Documents and Settings\$USER\Application Data\dvdcss\" under Win32.
* The special value "off" disables caching.
- *
- * \li \b DVDCSS_IGNORE_RPC: by default, libdvdcss will refuse to access
- * a scrambled disc if the drive reports itself as RPC-II with no
- * region set, because such drives are designed to prevent access to
- * both the decryption key and the DVD data, rendering any decryption
- * method useless. Setting this environment variable to \c 1 will
- * bypass this check and try to access the drive anyway.
*/
/*
@@ -176,7 +169,6 @@
#if !defined(WIN32) && !defined(SYS_OS2)
char *psz_raw_device = getenv( "DVDCSS_RAW_DEVICE" );
#endif
- char *psz_ignore_rpc = getenv( "DVDCSS_IGNORE_RPC" );
dvdcss_t dvdcss;
@@ -202,7 +194,6 @@
dvdcss->psz_cachefile[0] = '\0';
dvdcss->b_debug = 0;
dvdcss->b_errors = 0;
- dvdcss->b_ignore_rpc = 0;
/*
* Find verbosity from DVDCSS_VERBOSE environment variable
@@ -372,18 +363,16 @@
dvdcss->b_scrambled = 1; /* Assume the worst */
dvdcss->b_ioctls = _dvdcss_use_ioctls( dvdcss );
- dvdcss->b_ignore_rpc = psz_ignore_rpc ? atoi( psz_ignore_rpc ) : 0;
if( dvdcss->b_ioctls )
{
i_ret = _dvdcss_test( dvdcss );
- if( i_ret == -3 && !dvdcss->b_ignore_rpc )
+ if( i_ret == -3 )
{
- /* Scrambled disk, RPC-II drive, no region set: bail out */
- free( dvdcss->psz_device );
- free( dvdcss );
- return NULL;
+ print_debug( dvdcss, "scrambled disc on a region-free RPC-II "
+ "drive: possible failure, but continuing "
+ "anyway" );
}
else if( i_ret < 0 )
{
--- a/src/libdvdcss.h
+++ b/src/libdvdcss.h
@@ -45,7 +45,6 @@
css_t css;
int b_ioctls;
int b_scrambled;
- int b_ignore_rpc;
dvd_title_t *p_titles;
/* Key cache directory and pointer to the filename */