Petri Hintukainen pushed to branch master at VideoLAN / libaacs
Commits:
a19cbc51 by hpi1 at 2020-07-09T13:53:28+03:00
parser_test: check argument count
- - - - -
f074d50b by hpi1 at 2020-07-09T13:53:28+03:00
Convert media key in parser
- - - - -
24466667 by hpi1 at 2020-07-09T13:53:28+03:00
Convert vid in parser
- - - - -
4 changed files:
- src/devtools/parser_test.c
- src/file/keydbcfg-parser.y
- src/file/keydbcfg.h
- src/libaacs/aacs.c
Changes:
=====================================
src/devtools/parser_test.c
=====================================
@@ -71,10 +71,10 @@ static int print_title_entries(title_entry_list *list)
printf(" Date: %u-%u-%u\n", cursor->entry.date.year,
cursor->entry.date.month, cursor->entry.date.day);
#endif
- if (cursor->entry.mek)
- printf(" MEK: %s\n", cursor->entry.mek);
- if (cursor->entry.vid)
- printf(" VID: %s\n", cursor->entry.vid);
+ if (memcmp(cursor->entry.mk, empty_key, 16))
+ printf(" MEK: %s\n", str_print_hex(tmp, cursor->entry.mk, 16));
+ if (memcmp(cursor->entry.vid, empty_key, 16))
+ printf(" VID: %s\n", str_print_hex(tmp, cursor->entry.vid, 16));
#if 0
if (cursor->entry.bn)
{
@@ -166,8 +166,10 @@ static int print_config_file(config_file *cfgfile)
/* main */
int main (int argc, char **argv)
{
- /* suppress unused parameter warning */
- if (argc) {}
+ if (argc != 2) {
+ fprintf(stderr, "usage: parser_test [config_file]\n");
+ return EXIT_FAILURE;
+ }
config_file *cfgfile = keydbcfg_new_config_file();
int retval = keydbcfg_parse_config(cfgfile, argv[1]);
=====================================
src/file/keydbcfg-parser.y
=====================================
@@ -547,8 +547,6 @@ int keydbcfg_config_file_close(config_file *cfgfile)
{
title_entry_list *next = cfgfile->list->next;
/*X_FREE(cfgfile->list->entry.title);*/
- X_FREE(cfgfile->list->entry.mek);
- X_FREE(cfgfile->list->entry.vid);
/*DIGIT_KEY_PAIR_LIST_FREE(cfgfile->list->entry.bn);*/
/*DIGIT_KEY_PAIR_LIST_FREE(cfgfile->list->entry.pak);*/
/*DIGIT_KEY_PAIR_LIST_FREE(cfgfile->list->entry.tk);*/
@@ -729,14 +727,14 @@ static int add_entry(title_entry_list *list, int type,
char *entry)
#endif
case ENTRY_TYPE_MEK:
CHECK_KEY_LENGTH("mek", 32)
- X_FREE(list->entry.mek);
- list->entry.mek = entry;
+ hexstring_to_hex_array(list->entry.mk, 16, entry);
+ X_FREE(entry);
break;
case ENTRY_TYPE_VID:
CHECK_KEY_LENGTH("vid", 32)
- X_FREE(list->entry.vid);
- list->entry.vid = entry;
+ hexstring_to_hex_array(list->entry.vid, 16, entry);
+ X_FREE(entry);
break;
case ENTRY_TYPE_VUK:
=====================================
src/file/keydbcfg.h
=====================================
@@ -89,8 +89,8 @@ struct title_entry_t
uint8_t discid[20];
//char *title;
//date_entry date;
- char *mek;
- char *vid;
+ uint8_t mk[16];
+ uint8_t vid[16];
//digit_key_pair_list *bn;
uint8_t vuk[16];
//digit_key_pair_list *pak;
=====================================
src/libaacs/aacs.c
=====================================
@@ -798,17 +798,16 @@ static void _find_config_entry(AACS *aacs,
title_entry_list *ce,
return;
}
- if (ce->entry.mek) {
- hexstring_to_hex_array(mk, 16, ce->entry.mek);
+ if (memcmp(ce->entry.mk, empty_key, 16)) {
+ memcpy(mk, ce->entry.mk, 16);
memcpy(aacs->mk, mk, 16);
BD_DEBUG(DBG_AACS, "Found media key for %s: %s\n",
str_print_hex(str2, ce->entry.discid, 20), str_print_hex(str,
mk, 16));
}
- if (ce->entry.vid) {
- hexstring_to_hex_array(aacs->vid, sizeof(aacs->vid),
- ce->entry.vid);
+ if (memcmp(ce->entry.vid, empty_key, 16)) {
+ memcpy(aacs->vid, ce->entry.vid, 16);
BD_DEBUG(DBG_AACS, "Found volume id for %s: %s\n",
str_print_hex(str2, ce->entry.discid, 20), str_print_hex(str,
aacs->vid, 16));
View it on GitLab:
https://code.videolan.org/videolan/libaacs/-/compare/3fec7c2e73f9ab3f7b57e16028be2a8852b9f0b6...2446666747da36d514a4abdbb7ef9327387cbc5f
--
View it on GitLab:
https://code.videolan.org/videolan/libaacs/-/compare/3fec7c2e73f9ab3f7b57e16028be2a8852b9f0b6...2446666747da36d514a4abdbb7ef9327387cbc5f
You're receiving this email because of your account on code.videolan.org.
_______________________________________________
libaacs-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/libaacs-devel