libaacs | branch: master | npzacs <npz...@gmail.com> | Mon Mar 21 10:14:37 2016 +0200| [c27125c0c0b529da462cd308f7172207ea1e52a9] | committer: npzacs
Add environment variable to disable using of cached keys Useful for testing > http://git.videolan.org/gitweb.cgi/libaacs.git/?a=commit;h=c27125c0c0b529da462cd308f7172207ea1e52a9 --- src/libaacs/aacs.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/libaacs/aacs.c b/src/libaacs/aacs.c index 4e652aa..e9dde59 100644 --- a/src/libaacs/aacs.c +++ b/src/libaacs/aacs.c @@ -79,6 +79,8 @@ struct aacs { uint32_t num_titles; uint16_t *cps_units; /* [0] = first play ; [1] = top menu ; [2] = title 1 ... */ + int no_cache; /* do not use cached keys */ + /* bus encryption */ int bee; /* bus encryption enabled flag in content certificate */ int bec; /* bus encryption capable flag in drive certificate */ @@ -687,7 +689,7 @@ static int _calc_vuk(AACS *aacs, uint8_t *mk, uint8_t *vuk, config_file *cf) } /* get cached vuk */ - if (keycache_find("vuk", aacs->disc_id, vuk, 16)) { + if (!aacs->no_cache && keycache_find("vuk", aacs->disc_id, vuk, 16)) { BD_DEBUG(DBG_AACS, "Using cached VUK\n"); return AACS_SUCCESS; } @@ -1192,6 +1194,8 @@ AACS *aacs_open2(const char *path, const char *configfile_path, int *error_code) AACS *aacs_init() { + AACS *aacs; + BD_DEBUG(DBG_AACS, "libaacs "AACS_VERSION_STRING" [%u]\n", (unsigned)sizeof(AACS)); BD_DEBUG(DBG_AACS, "Initializing libgcrypt...\n"); @@ -1200,7 +1204,11 @@ AACS *aacs_init() return NULL; } - return calloc(1, sizeof(AACS)); + aacs = calloc(1, sizeof(AACS)); + if (aacs) { + aacs->no_cache = !!getenv("AACS_NO_CACHE"); + } + return aacs; } void aacs_set_fopen(AACS *aacs, void *handle, AACS_FILE_OPEN2 p) @@ -1398,7 +1406,7 @@ const uint8_t *aacs_get_vid(AACS *aacs) { if (!memcmp(aacs->vid, empty_key, sizeof(aacs->vid))) { /* get cached vid */ - if (keycache_find("vid", aacs->disc_id, aacs->vid, 16)) { + if (!aacs->no_cache && keycache_find("vid", aacs->disc_id, aacs->vid, 16)) { BD_DEBUG(DBG_AACS, "Using cached VID\n"); return aacs->vid; } _______________________________________________ libaacs-devel mailing list libaacs-devel@videolan.org https://mailman.videolan.org/listinfo/libaacs-devel