ref: d1f84a6a3d485c8b365a5a6a83a9b662dd02b987
parent: 3a49a3e5a981bf72234f96022fbfe2333fa636fd
author: Diego Biurrun <[email protected]>
date: Fri Oct 31 10:56:32 EDT 2014
Do not invade the _t namespace with (typedeffed) symbol names. The _t namespace is reserved by POSIX.
--- a/src/css.c
+++ b/src/css.c
@@ -75,13 +75,13 @@
static void DecryptKey ( uint8_t,
const uint8_t *, const uint8_t *, uint8_t * );
-static int DecryptDiscKey ( dvdcss_t, const uint8_t *, dvd_key_t );
+static int DecryptDiscKey ( dvdcss_t, const uint8_t *, dvd_key );
static int CrackDiscKey ( dvdcss_t, uint8_t * );
-static void DecryptTitleKey ( dvd_key_t, dvd_key_t );
+static void DecryptTitleKey ( dvd_key, dvd_key );
static int RecoverTitleKey ( int, const uint8_t *,
const uint8_t *, const uint8_t *, uint8_t * );
-static int CrackTitleKey ( dvdcss_t, int, int, dvd_key_t );
+static int CrackTitleKey ( dvdcss_t, int, int, dvd_key );
static int AttackPattern ( const uint8_t[], uint8_t * );
#if 0
@@ -88,7 +88,7 @@
static int AttackPadding ( const uint8_t[] );
#endif
-static int dvdcss_titlekey ( dvdcss_t, int , dvd_key_t );
+static int dvdcss_titlekey ( dvdcss_t, int, dvd_key );
/*****************************************************************************
* dvdcss_test: check if the disc is encrypted or not
@@ -182,10 +182,10 @@
*****************************************************************************/
int dvdcss_title ( dvdcss_t dvdcss, int i_block )
{
- dvd_title_t *p_title;
- dvd_title_t *p_newtitle;
- dvd_key_t p_title_key;
- int i_fd, i_ret = -1, b_cache = 0;
+ struct dvd_title *p_title;
+ struct dvd_title *p_newtitle;
+ dvd_key p_title_key;
+ int i_fd, i_ret = -1, b_cache = 0;
if( ! dvdcss->b_scrambled )
{
@@ -335,7 +335,7 @@
int dvdcss_disckey( dvdcss_t dvdcss )
{
unsigned char p_buffer[ DVD_DISCKEY_SIZE ];
- dvd_key_t p_disc_key;
+ dvd_key p_disc_key;
int i;
if( GetBusKey( dvdcss ) < 0 )
@@ -418,7 +418,7 @@
/*****************************************************************************
* dvdcss_titlekey: get title key.
*****************************************************************************/
-static 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 p_title_key )
{
static uint8_t p_garbage[ DVDCSS_BLOCK_SIZE ]; /* we never read it back */
uint8_t p_key[ KEY_SIZE ];
@@ -536,7 +536,7 @@
* sec : sector to unscramble
* key : title key for this sector
*****************************************************************************/
-int dvdcss_unscramble( dvd_key_t p_key, uint8_t *p_sec )
+int dvdcss_unscramble( dvd_key p_key, uint8_t *p_sec )
{
unsigned int i_t1, i_t2, i_t3, i_t4, i_t5, i_t6;
uint8_t *p_end = p_sec + DVDCSS_BLOCK_SIZE;
@@ -592,9 +592,9 @@
{
uint8_t p_buffer[10];
uint8_t p_challenge[2*KEY_SIZE];
- dvd_key_t p_key1;
- dvd_key_t p_key2;
- dvd_key_t p_key_check;
+ dvd_key p_key1;
+ dvd_key p_key2;
+ dvd_key p_key_check;
uint8_t i_variant = 0;
int i_ret = -1;
int i;
@@ -1037,7 +1037,7 @@
* cracker. A copy of his article can be found here:
* http://www-2.cs.cmu.edu/~dst/DeCSS/FrankStevenson/mail2.txt
*****************************************************************************/
-static const dvd_key_t player_keys[] =
+static const dvd_key player_keys[] =
{
{ 0x01, 0xaf, 0xe3, 0x12, 0x80 },
{ 0x12, 0x11, 0xca, 0x04, 0x3b },
@@ -1081,7 +1081,7 @@
* p_disc_key: result, the 5 byte disc key
*****************************************************************************/
static int DecryptDiscKey( dvdcss_t dvdcss, const uint8_t *p_struct_disckey,
- dvd_key_t p_disc_key )
+ dvd_key p_disc_key )
{
uint8_t p_verify[KEY_SIZE];
unsigned int i, n = 0;
@@ -1123,7 +1123,7 @@
* p_disc_key: result, the 5 byte disc key
* p_titlekey: the encrypted title key, gets overwritten by the decrypted key
*****************************************************************************/
-static void DecryptTitleKey( dvd_key_t p_disc_key, dvd_key_t p_titlekey )
+static void DecryptTitleKey( dvd_key p_disc_key, dvd_key p_titlekey )
{
DecryptKey( 0xff, p_disc_key, p_titlekey, p_titlekey );
}
@@ -1488,7 +1488,7 @@
* i_pos is the starting sector, i_len is the maximum number of sectors to read
*****************************************************************************/
static int CrackTitleKey( dvdcss_t dvdcss, int i_pos, int i_len,
- dvd_key_t p_titlekey )
+ dvd_key p_titlekey )
{
uint8_t p_buf[ DVDCSS_BLOCK_SIZE ];
const uint8_t p_packstart[4] = { 0x00, 0x00, 0x01, 0xba };
--- a/src/css.h
+++ b/src/css.h
@@ -37,22 +37,22 @@
#define KEY_SIZE 5
-typedef uint8_t dvd_key_t[KEY_SIZE];
+typedef uint8_t dvd_key[KEY_SIZE];
-typedef struct dvd_title_s
+typedef struct dvd_title
{
- int i_startlb;
- dvd_key_t p_key;
- struct dvd_title_s *p_next;
-} dvd_title_t;
+ int i_startlb;
+ dvd_key p_key;
+ struct dvd_title *p_next;
+} dvd_title;
-typedef struct css_s
+typedef struct css
{
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. */
-} css_t;
+ dvd_key p_bus_key; /* Current session key. */
+ dvd_key p_disc_key; /* This DVD disc's key. */
+ dvd_key p_title_key; /* Current title key. */
+} css;
/*****************************************************************************
* Prototypes in css.c
--- a/src/libdvdcss.c
+++ b/src/libdvdcss.c
@@ -763,7 +763,7 @@
*/
LIBDVDCSS_EXPORT int dvdcss_close ( dvdcss_t dvdcss )
{
- dvd_title_t *p_title;
+ struct dvd_title *p_title;
int i_ret;
/* Free our list of keys */
@@ -770,7 +770,7 @@
p_title = dvdcss->p_titles;
while( p_title )
{
- dvd_title_t *p_tmptitle = p_title->p_next;
+ struct dvd_title *p_tmptitle = p_title->p_next;
free( p_title );
p_title = p_tmptitle;
}
--- a/src/libdvdcss.h
+++ b/src/libdvdcss.h
@@ -60,10 +60,10 @@
/* Decryption stuff */
enum dvdcss_method i_method;
- css_t css;
+ struct css css;
int b_ioctls;
int b_scrambled;
- dvd_title_t *p_titles;
+ struct dvd_title *p_titles;
/* Key cache directory and pointer to the filename */
char psz_cachefile[PATH_MAX];