mirror of
https://github.com/opa334/TrollStore.git
synced 2026-11-08 02:15:49 +08:00
Add web browser entitlement check for URL scheme validation
This commit is contained in:
parent
88424f683b
commit
8dc24807c3
@ -822,6 +822,9 @@ void applyPatchesToInfoDictionary(NSString* appPath)
|
||||
NSArray* CFBundleURLTypes = infoDictM[@"CFBundleURLTypes"];
|
||||
if([CFBundleURLTypes isKindOfClass:[NSArray class]])
|
||||
{
|
||||
NSDictionary* entitlements = dumpEntitlementsFromBinaryAtPath(appMainExecutablePathForAppPath(appPath));
|
||||
BOOL isWebBrowser = [entitlements[@"com.apple.developer.web-browser"] isEqual:@YES];
|
||||
|
||||
NSMutableArray* CFBundleURLTypesM = [NSMutableArray new];
|
||||
|
||||
for(NSDictionary* URLType in CFBundleURLTypes)
|
||||
@ -841,7 +844,9 @@ void applyPatchesToInfoDictionary(NSString* appPath)
|
||||
continue;
|
||||
}
|
||||
|
||||
if([appleSchemes containsObject:existingURLScheme.lowercaseString])
|
||||
NSString* URLScheme = existingURLScheme.lowercaseString;
|
||||
BOOL isWebURLScheme = [URLScheme isEqualToString:@"http"] || [URLScheme isEqualToString:@"https"];
|
||||
if((isWebURLScheme && !isWebBrowser) || (!isWebURLScheme && [appleSchemes containsObject:URLScheme]))
|
||||
{
|
||||
[URLSchemesSet removeObject:existingURLScheme];
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user