X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/d8f41ccd20de16f8ebe2ccc84d47bf1cb2b26bbb..60c433a9f80a92b51b33f65f1f58883e8fe843be:/Security/libsecurity_codesigning/lib/SecTask.c diff --git a/Security/libsecurity_codesigning/lib/SecTask.c b/Security/libsecurity_codesigning/lib/SecTask.c index f3a36d2a..581fa91e 100644 --- a/Security/libsecurity_codesigning/lib/SecTask.c +++ b/Security/libsecurity_codesigning/lib/SecTask.c @@ -290,3 +290,11 @@ CFDictionaryRef SecTaskCopyValuesForEntitlements(SecTaskRef task, CFArrayRef ent return values; } + +Boolean SecTaskEntitlementsValidated(SecTaskRef task) { + // TODO: Cache the result + uint32_t csflags = 0; + const uint32_t mask = CS_VALID | CS_KILL | CS_ENTITLEMENTS_VALIDATED; + int rc = csops_task(task, CS_OPS_STATUS, &csflags, sizeof(csflags)); + return rc != -1 && ((csflags & mask) == mask); +}