diff options
-rw-r--r-- | src/libimcv/plugins/imv_attestation/attest.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/libimcv/plugins/imv_attestation/attest.c b/src/libimcv/plugins/imv_attestation/attest.c index b0151568b..81807b24f 100644 --- a/src/libimcv/plugins/imv_attestation/attest.c +++ b/src/libimcv/plugins/imv_attestation/attest.c @@ -109,6 +109,9 @@ static void do_args(int argc, char *argv[]) exit(EXIT_FAILURE); } continue; + case 'H': + operation = OP_HASHES; + continue; case 'F': if (!attest->set_file(attest, optarg, op == OP_ADD)) { @@ -172,10 +175,30 @@ static void do_args(int argc, char *argv[]) case OP_DEL: attest->delete(attest); break; + case OP_HASHES: + if ((!product || *product == '\0') && (!file || *file == '\0')) + { + list_hashes(algo); + } + else + { + list_hashes_for_product(algo, product, pid); + } + break; default: usage(); exit(EXIT_FAILURE); } + + if (fid) + { + free(file); + } + if (pid) + { + free(product); + } + } int main(int argc, char *argv[]) |