]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/sys/codesign.h
xnu-3248.40.184.tar.gz
[apple/xnu.git] / bsd / sys / codesign.h
index 1d8ee6516bbf531203c7f861b8f425ac6e088d80..5f78699a4e48a52b798a323ebd8b759dac4cb0dc 100644 (file)
@@ -54,6 +54,7 @@
 #define CS_DYLD_PLATFORM       0x2000000       /* dyld used to load this is a platform binary */
 #define CS_PLATFORM_BINARY     0x4000000       /* this is a platform binary */
 #define CS_PLATFORM_PATH       0x8000000       /* platform binary by the fact of path (osx only) */
+#define CS_DEBUGGED            0x10000000  /* process is currently or has previously been debugged and allowed to run with invalid pages */
 
 #define CS_ENTITLEMENT_FLAGS   (CS_GET_TASK_ALLOW | CS_INSTALLER)
 
@@ -99,6 +100,10 @@ enum {
        CSSLOT_APPLICATION = 4,
        CSSLOT_ENTITLEMENTS = 5,
 
+       CSSLOT_ALTERNATE_CODEDIRECTORIES = 0x1000, /* first alternate CodeDirectory, if any */
+       CSSLOT_ALTERNATE_CODEDIRECTORY_MAX = 5,         /* max number of alternate CD slots */
+       CSSLOT_ALTERNATE_CODEDIRECTORY_LIMIT = CSSLOT_ALTERNATE_CODEDIRECTORIES + CSSLOT_ALTERNATE_CODEDIRECTORY_MAX, /* one past the last */
+
        CSSLOT_SIGNATURESLOT = 0x10000,                 /* CMS Signature */
 
        CSTYPE_INDEX_REQUIREMENTS = 0x00000002,         /* compat with amfi */
@@ -107,12 +112,13 @@ enum {
        CS_HASHTYPE_SHA1 = 1,
        CS_HASHTYPE_SHA256 = 2,
        CS_HASHTYPE_SHA256_TRUNCATED = 3,
+       CS_HASHTYPE_SHA384 = 4,
 
        CS_SHA1_LEN = 20,
        CS_SHA256_TRUNCATED_LEN = 20,
 
-       CS_CDHASH_LEN = 20,
-       CS_HASH_MAX_SIZE = 32, /* max size of the hash we'll support */
+       CS_CDHASH_LEN = 20,                                             /* always - larger hashes are truncated */
+       CS_HASH_MAX_SIZE = 48, /* max size of the hash we'll support */
 };
 
 
@@ -240,7 +246,6 @@ int cs_allow_invalid(struct proc *);
 int    cs_invalid_page(addr64_t);
 int    csproc_get_platform_path(struct proc *);
 
-extern int cs_validation;
 #if !SECURE_KERNEL
 extern int cs_enforcement_panic;
 #endif