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 libaacs-devel@videolan.org https://mailman.videolan.org/listinfo/libaacs-devel