libaacs | branch: master | npzacs <npz...@gmail.com> | Mon Oct 7 12:23:12 2013 +0300| [393a51275360a2945d946bad88e10f8f5ee95c7e] | committer: npzacs
Restore aacs_open2() semantics. aacs_open2() returns aacs handle even if disc can not be decrypted. This allows app to query disc id, mkb version etc. > http://git.videolan.org/gitweb.cgi/libaacs.git/?a=commit;h=393a51275360a2945d946bad88e10f8f5ee95c7e --- src/libaacs/aacs.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/libaacs/aacs.c b/src/libaacs/aacs.c index ffa4fcb..e90b616 100644 --- a/src/libaacs/aacs.c +++ b/src/libaacs/aacs.c @@ -869,29 +869,22 @@ AACS *aacs_open2(const char *path, const char *configfile_path, int *error_code) cf = keydbcfg_config_load(configfile_path); if (!cf) { *error_code = AACS_ERROR_NO_CONFIG; - aacs_close(aacs); - return NULL; + return aacs; } DEBUG(DBG_AACS, "Starting AACS waterfall...\n"); *error_code = _calc_uks(aacs, cf); if (*error_code != AACS_SUCCESS) { DEBUG(DBG_AACS, "Failed to initialize AACS!\n"); - keydbcfg_config_file_close(cf); - aacs_close(aacs); - return NULL; } aacs->bee = _get_bus_encryption_enabled(path); aacs->bec = _get_bus_encryption_capable(path); - if (aacs->bee && aacs->bec) { + if (*error_code == AACS_SUCCESS && aacs->bee && aacs->bec) { *error_code = _read_read_data_key(aacs, cf->host_cert_list); if (*error_code != AACS_SUCCESS) { DEBUG(DBG_AACS | DBG_CRIT, "Unable to initialize bus encryption required by drive and disc\n"); - keydbcfg_config_file_close(cf); - aacs_close(aacs); - return NULL; } } _______________________________________________ libaacs-devel mailing list libaacs-devel@videolan.org https://mailman.videolan.org/listinfo/libaacs-devel