diff --git a/packages/multimedia/libaacs/package.mk b/packages/multimedia/libaacs/package.mk index 5942707d7a..7d5c23c6e4 100644 --- a/packages/multimedia/libaacs/package.mk +++ b/packages/multimedia/libaacs/package.mk @@ -17,12 +17,13 @@ ################################################################################ PKG_NAME="libaacs" -PKG_VERSION="0.8.1" +PKG_VERSION="9da2b68" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.videolan.org/developers/libaacs.html" PKG_URL="ftp://ftp.videolan.org/pub/videolan/libaacs/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain libgcrypt" PKG_PRIORITY="optional" PKG_SECTION="multimedia" diff --git a/packages/multimedia/libaacs/patches/libaacs-0001-correct-debug-log-in-_find_config_entry.patch b/packages/multimedia/libaacs/patches/libaacs-0001-correct-debug-log-in-_find_config_entry.patch deleted file mode 100644 index ca5c9b151a..0000000000 --- a/packages/multimedia/libaacs/patches/libaacs-0001-correct-debug-log-in-_find_config_entry.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 1c0ba6b53759ea57a6146b4ce4d902cfe5c44d3c Mon Sep 17 00:00:00 2001 -From: Roland Fischer -Date: Wed, 9 Dec 2015 21:50:43 +0100 -Subject: [PATCH] Correct debug-log in _find_config_entry - -'discid' sent to BD_DEBUG has not been converted to string before -and resulted in a broken output - corrected. ---- - src/libaacs/aacs.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/libaacs/aacs.c b/src/libaacs/aacs.c -index ae85612..60e678f 100644 ---- a/src/libaacs/aacs.c -+++ b/src/libaacs/aacs.c -@@ -710,6 +710,7 @@ static void _find_config_entry(AACS *aacs, title_entry_list *ce, - uint8_t *mk, uint8_t *vuk) - { - char str[48]; -+ char str2[48]; - - aacs->uks = NULL; - aacs->num_uks = 0; -@@ -731,7 +732,7 @@ static void _find_config_entry(AACS *aacs, title_entry_list *ce, - hexstring_to_hex_array(mk, 16, ce->entry.mek); - - BD_DEBUG(DBG_AACS, "Found media key for %s: %s\n", -- ce->entry.discid, str_print_hex(str, mk, 16)); -+ str_print_hex(str2, ce->entry.discid, 20), str_print_hex(str, mk, 16)); - } - - if (ce->entry.vid) { -@@ -739,14 +740,14 @@ static void _find_config_entry(AACS *aacs, title_entry_list *ce, - ce->entry.vid); - - BD_DEBUG(DBG_AACS, "Found volume id for %s: %s\n", -- ce->entry.discid, str_print_hex(str, aacs->vid, 16)); -+ str_print_hex(str2, ce->entry.discid, 20), str_print_hex(str, aacs->vid, 16)); - } - - if (ce->entry.vuk) { - hexstring_to_hex_array(vuk, 16, ce->entry.vuk); - - BD_DEBUG(DBG_AACS, "Found volume unique key for %s: %s\n", -- ce->entry.discid, str_print_hex(str, vuk, 16)); -+ str_print_hex(str2, ce->entry.discid, 20), str_print_hex(str, vuk, 16)); - } - - if (ce->entry.uk) { --- -1.7.10.4 - diff --git a/packages/multimedia/libaacs/patches/libaacs-0002-always-write-logentry-in-case-of-corrupted-disc.patch b/packages/multimedia/libaacs/patches/libaacs-0002-always-write-logentry-in-case-of-corrupted-disc.patch deleted file mode 100644 index 52a6eb6ba5..0000000000 --- a/packages/multimedia/libaacs/patches/libaacs-0002-always-write-logentry-in-case-of-corrupted-disc.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 7ee3b64639358a35188339f4547f70f7d5c2c9c2 Mon Sep 17 00:00:00 2001 -From: Roland Fischer -Date: Wed, 9 Dec 2015 21:51:57 +0100 -Subject: [PATCH] Always write logentry in case of corrupted disc - -In case of a AACS_ERROR_CORRUPTED_DISC error always write a BD_DEBUG -message at DBG_CRIT loglevel. ---- - src/libaacs/aacs.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/libaacs/aacs.c b/src/libaacs/aacs.c -index 60e678f..1bd8ad5 100644 ---- a/src/libaacs/aacs.c -+++ b/src/libaacs/aacs.c -@@ -286,6 +286,7 @@ static int _calc_pk_mk(MKB *mkb, dk_list *dkl, uint8_t *mk) - num_uvs = len / 5; - - if (num_uvs < 1) { -+ BD_DEBUG(DBG_AACS | DBG_CRIT, "No UVS detected - corrupted disc\n"); - return AACS_ERROR_CORRUPTED_DISC; - } - -@@ -518,6 +519,7 @@ static int _calc_mk(AACS *aacs, uint8_t *mk, pk_list *pkl, dk_list *dkl) - return AACS_ERROR_NO_PK; - } - -+ BD_DEBUG(DBG_AACS | DBG_CRIT, "Error calculating media key - corrupted disc\n"); - return AACS_ERROR_CORRUPTED_DISC; - } - -@@ -829,7 +831,7 @@ static int _calc_uks(AACS *aacs, config_file *cf) - - file_seek(fp, f_pos, SEEK_SET); - if ((file_read(fp, buf, 16)) != 16) { -- BD_DEBUG(DBG_AACS, "Unit key %d: read error\n", i); -+ BD_DEBUG(DBG_AACS | DBG_CRIT, "Unit key %d: read error\n", i); - aacs->num_uks = i; - error_code = AACS_ERROR_CORRUPTED_DISC; - break; --- -1.7.10.4 - diff --git a/packages/multimedia/libaacs/patches/libaacs-0003-mkb-fix-endless-loop-in-_record.patch b/packages/multimedia/libaacs/patches/libaacs-0003-mkb-fix-endless-loop-in-_record.patch deleted file mode 100644 index 18fa9d7257..0000000000 --- a/packages/multimedia/libaacs/patches/libaacs-0003-mkb-fix-endless-loop-in-_record.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 972679a52f6a38f08c0bd0ea5c8a0d4750d6a8e8 Mon Sep 17 00:00:00 2001 -From: Roland Fischer -Date: Thu, 10 Dec 2015 20:47:02 +0100 -Subject: [PATCH] mkb: Fix endless loop in _record - -In case of a corrupt file it could happen that len get 0 in _record -and this results in an endless loop. -Created an exit condition for this case and fixed related -procedures too (they need to cope with the error-return-value -from _record). -Reason for change: https://github.com/OpenELEC/OpenELEC.tv/pull/4378 ---- - src/libaacs/mkb.c | 46 +++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 39 insertions(+), 7 deletions(-) - -diff --git a/src/libaacs/mkb.c b/src/libaacs/mkb.c -index 275b269..4985c4d 100644 ---- a/src/libaacs/mkb.c -+++ b/src/libaacs/mkb.c -@@ -52,6 +52,12 @@ static const uint8_t *_record(MKB *mkb, uint8_t type, size_t *rec_len) - return mkb->buf + pos; - } - -+ if (len == 0) { -+ BD_DEBUG(DBG_MKB, "Couldn't retrieve MKB record 0x%02x - len=0 (%p)\n", type, -+ (void*)(mkb->buf + pos)); -+ break; -+ } -+ - pos += len; - } - -@@ -108,6 +114,10 @@ uint8_t mkb_type(MKB *mkb) - { - const uint8_t *rec = _record(mkb, 0x10, NULL); - -+ if (!rec) { -+ return 0; -+ } -+ - return MKINT_BE32(rec + 4); - } - -@@ -115,6 +125,10 @@ uint32_t mkb_version(MKB *mkb) - { - const uint8_t *rec = _record(mkb, 0x10, NULL); - -+ if (!rec) { -+ return 0; -+ } -+ - return MKINT_BE32(rec + 8); - } - -@@ -152,31 +166,49 @@ const uint8_t *mkb_drive_revokation_entries(MKB *mkb, size_t *len) - - const uint8_t *mkb_subdiff_records(MKB *mkb, size_t *len) - { -- const uint8_t *rec = _record(mkb, 0x04, len) + 4; -- *len -= 4; -+ const uint8_t *rec = _record(mkb, 0x04, len); -+ -+ if (rec) { -+ rec += 4; -+ *len -= 4; -+ } - - return rec; - } - - const uint8_t *mkb_cvalues(MKB *mkb, size_t *len) - { -- const uint8_t *rec = _record(mkb, 0x05, len) + 4; -- *len -= 4; -+ const uint8_t *rec = _record(mkb, 0x05, len); -+ -+ if (rec) { -+ rec += 4; -+ *len -= 4; -+ } - - return rec; - } - - const uint8_t *mkb_mk_dv(MKB *mkb) - { -- return _record(mkb, 0x81, NULL) + 4; -+ const uint8_t *rec = _record(mkb, 0x81, NULL); -+ -+ if (rec) { -+ rec += 4; -+ } -+ -+ return rec; - } - - const uint8_t *mkb_signature(MKB *mkb, size_t *len) - { - const uint8_t *rec = _record(mkb, 0x02, len); -- *len -= 4; - -- return rec + 4; -+ if (rec) { -+ rec += 4; -+ *len -= 4; -+ } -+ -+ return rec; - - } - --- -1.7.10.4 -