summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Bingner <sam@bingner.com>2019-01-25 22:13:10 -1000
committerSam Bingner <sam@bingner.com>2019-01-25 22:13:10 -1000
commit2fdb85eec2f01d40b13bf8de04ca27cd846f8564 (patch)
treea91855854bca5f229c9fdc64fe7b3bbd52790162
parent4ae82b4c43b425e80a1714689bddeb6f18d58fbf (diff)
Export function to check if a file is in static trust cache
-rw-r--r--inject.h1
-rw-r--r--inject.m4
2 files changed, 3 insertions, 2 deletions
diff --git a/inject.h b/inject.h
index 613a950..14c45aa 100644
--- a/inject.h
+++ b/inject.h
@@ -12,5 +12,6 @@
NSString *cdhashFor(NSString *file);
int injectTrustCache(NSArray <NSString*> *files, uint64_t trust_chain);
+bool isInAMFIStaticCache(NSString *path);
#endif
diff --git a/inject.m b/inject.m
index 8dca775..64eacd2 100644
--- a/inject.m
+++ b/inject.m
@@ -56,7 +56,7 @@ struct hash_entry_t {
typedef uint8_t hash_t[TRUST_CDHASH_LEN];
-bool check_amfi(NSString *path) {
+bool isInAMFIStaticCache(NSString *path) {
return MISValidateSignatureAndCopyInfo(path, @{kMISValidationOptionAllowAdHocSigning: @YES, kMISValidationOptionRespectUppTrustAndAuthorization: @YES}, NULL) == 0;
}
@@ -110,7 +110,7 @@ NSArray *filteredHashes(uint64_t trust_chain, NSDictionary *hashes) {
#endif
NSMutableDictionary *filtered = [hashes mutableCopy];
for (NSData *cdhash in [filtered allKeys]) {
- if (check_amfi(filtered[cdhash])) {
+ if (isInAMFIStaticCache(filtered[cdhash])) {
printf("%s: already in static trustcache, not reinjecting\n", [filtered[cdhash] UTF8String]);
[filtered removeObjectForKey:cdhash];
}