libaacs | branch: master | npzacs <npz...@gmail.com> | Fri Feb 5 10:47:33 2016 +0200| [b05cab58485ece01d3d182802ae9574aac2b3fbd] | committer: npzacs
Add aacs_decrypt_bus() Required for BD+ when bus encryption is used. > http://git.videolan.org/gitweb.cgi/libaacs.git/?a=commit;h=b05cab58485ece01d3d182802ae9574aac2b3fbd --- ChangeLog | 1 + src/libaacs/aacs.c | 9 +++++++++ src/libaacs/aacs.h | 1 + 3 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index 814b18f..47444fe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,4 @@ +- Add aacs_decrypt_bus(). - Add aacs_get_bdj_root_cert_hash(). - Add aacs_get_content_cert_id(). - Verify content certificate signature. diff --git a/src/libaacs/aacs.c b/src/libaacs/aacs.c index 822bd36..35627ce 100644 --- a/src/libaacs/aacs.c +++ b/src/libaacs/aacs.c @@ -1228,6 +1228,15 @@ static void _decrypt_unit_bus(AACS *aacs, uint8_t *buf) } } +int aacs_decrypt_bus(AACS *aacs, uint8_t *buf) +{ + if (buf[0] & 0xc0) { + _decrypt_unit_bus(aacs, buf); + } + + return 1; +} + int aacs_decrypt_unit(AACS *aacs, uint8_t *buf) { unsigned int i; diff --git a/src/libaacs/aacs.h b/src/libaacs/aacs.h index 4fec7a9..3b547a3 100644 --- a/src/libaacs/aacs.h +++ b/src/libaacs/aacs.h @@ -51,6 +51,7 @@ AACS_PUBLIC AACS *aacs_open2(const char *path, const char *keyfile_path, int *er AACS_PUBLIC void aacs_close(AACS *aacs); AACS_PUBLIC void aacs_select_title(AACS *aacs, uint32_t title); /* 0 - top menu, 0xffff - first play */ AACS_PUBLIC int aacs_decrypt_unit(AACS *aacs, uint8_t *buf); +AACS_PUBLIC int aacs_decrypt_bus(AACS *aacs, uint8_t *buf); /* Disc information */ AACS_PUBLIC int aacs_get_mkb_version(AACS *aacs); _______________________________________________ libaacs-devel mailing list libaacs-devel@videolan.org https://mailman.videolan.org/listinfo/libaacs-devel