From 9ef2c4a87d6fa816639b610313b67b98e983388a Mon Sep 17 00:00:00 2001 From: Cameron Katri Date: Thu, 16 Jun 2022 10:17:00 -0400 Subject: Add support for new version 2 trustcaches Thanks to Linus Henze for reversing the new format https://gist.github.com/LinusHenze/4cd5d7ef057a144cda7234e2c247c056 --- trustcache.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'trustcache.c') diff --git a/trustcache.c b/trustcache.c index cb6c7b0..f9de404 100644 --- a/trustcache.c +++ b/trustcache.c @@ -91,6 +91,10 @@ opentrustcache(const char *path) if ((cache.entries = calloc(cache.num_entries, sizeof(struct trust_cache_entry1))) == NULL) exit(EX_OSERR); fread(cache.entries, sizeof(struct trust_cache_entry1), cache.num_entries, f); + } else if (cache.version == 2) { + if ((cache.entries = calloc(cache.num_entries, sizeof(struct trust_cache_entry2))) == NULL) + exit(EX_OSERR); + fread(cache.entries, sizeof(struct trust_cache_entry2), cache.num_entries, f); } else { fprintf(stderr, "%s: Unsupported version %i\n", path, cache.version); exit(1); @@ -120,6 +124,8 @@ writetrustcache(struct trust_cache cache, const char *path) fwrite(&cache.hashes[i], sizeof(trust_cache_hash0), 1, f); else if (cache.version == 1) fwrite(&cache.entries[i], sizeof(struct trust_cache_entry1), 1, f); + else if (cache.version == 2) + fwrite(&cache.entries2[i], sizeof(struct trust_cache_entry2), 1, f); } fclose(f); -- cgit v1.2.3-56-ge451