libaacs | branch: master | npzacs <npz...@gmail.com> | Sun Jun 30 20:49:03 2013 +0300| [1e4b1307656ed2b1f9633d317a6ab4146a935948] | committer: npzacs
Fixed aacs_get_pmsn() when using cached vid > http://git.videolan.org/gitweb.cgi/libaacs.git/?a=commit;h=1e4b1307656ed2b1f9633d317a6ab4146a935948 --- src/libaacs/aacs.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libaacs/aacs.c b/src/libaacs/aacs.c index ed2469b..3a455e4 100644 --- a/src/libaacs/aacs.c +++ b/src/libaacs/aacs.c @@ -262,10 +262,10 @@ static MKB *_get_hrl_mkb(MMC *mmc) return mkb; } -static int _read_vid(AACS *aacs, cert_list *hcl) +static int _read_vid(AACS *aacs, cert_list *hcl, int force_mmc) { /* Use VID given in config file if available */ - if (memcmp(aacs->vid, empty_key, 16)) { + if (!force_mmc && memcmp(aacs->vid, empty_key, 16)) { return AACS_SUCCESS; } @@ -350,7 +350,7 @@ static int _calc_vuk(AACS *aacs, uint8_t *mk, uint8_t *vuk, } /* acquire VID */ - error_code = _read_vid(aacs, host_cert_list); + error_code = _read_vid(aacs, host_cert_list, 0); if (error_code != AACS_SUCCESS) { return error_code; } @@ -828,7 +828,7 @@ const uint8_t *aacs_get_vid(AACS *aacs) config_file *cf = keydbcfg_config_load(NULL); if (cf) { - _read_vid(aacs, cf->host_cert_list); + _read_vid(aacs, cf->host_cert_list, 0); keydbcfg_config_file_close(cf); } @@ -847,7 +847,7 @@ const uint8_t *aacs_get_pmsn(AACS *aacs) if (!memcmp(aacs->pmsn, empty_key, 16)) { config_file *cf = keydbcfg_config_load(NULL); if (cf) { - _read_vid(aacs, cf->host_cert_list); + _read_vid(aacs, cf->host_cert_list, 1); keydbcfg_config_file_close(cf); } _______________________________________________ libaacs-devel mailing list libaacs-devel@videolan.org http://mailman.videolan.org/listinfo/libaacs-devel