+ if (flags & kSecCSCheckNestedCode)
+ if (CFURLRef baseUrl = code->resourceBase()) {
+ // CFBundle has no orderly enumerator of these things, so this is somewhat ad-hoc.
+ // (It should be augmented by information in ResourceDirectory.)
+ string base = cfString(baseUrl) + "/";
+ validateNested(base + "Frameworks", req, flags);
+ validateNested(base + "SharedFrameworks", req, flags);
+ validateNested(base + "PlugIns", req, flags);
+ validateNested(base + "Plug-ins", req, flags);
+ validateNested(base + "XPCServices", req, flags);
+ validateNested(base + "MacOS", req, flags, code->mainExecutablePath()); // helpers
+ }