| author | |
| committer | |
| log | 2623e1c4d623812913cccc8d7a6e7dab41dfd305 |
| tree | 631d8594ab64c6da3b6aea2757dc9e7535d02914 |
| parent | faf0fe430518ff544fa26e75f51bf7f104726f68 |
3 files changed, 51 insertions(+), 31 deletions(-)
lib/std/crypto/Certificate/Bundle/macos.zig+2-31| ... | ... | @@ -1,7 +1,7 @@ |
| 1 | 1 | const std = @import("std"); |
| 2 | 2 | const assert = std.debug.assert; |
| 3 | const mem = std.mem; | |
| 4 | 3 | const fs = std.fs; |
| 4 | const mem = std.mem; | |
| 5 | 5 | const Allocator = std.mem.Allocator; |
| 6 | 6 | const Bundle = @import("../Bundle.zig"); |
| 7 | 7 | |
| ... | ... | @@ -40,7 +40,7 @@ pub fn rescanMac(cb: *Bundle, gpa: Allocator) !void { |
| 40 | 40 | |
| 41 | 41 | const table_header = try reader.readStructBig(TableHeader); |
| 42 | 42 | |
| 43 | if (@intToEnum(TableId, table_header.table_id) != TableId.CSSM_DL_DB_RECORD_X509_CERTIFICATE) { | |
| 43 | if (@intToEnum(std.os.darwin.cssm.DB_RECORDTYPE, table_header.table_id) != .X509_CERTIFICATE) { | |
| 44 | 44 | continue; |
| 45 | 45 | } |
| 46 | 46 | |
| ... | ... | @@ -93,35 +93,6 @@ const TableHeader = extern struct { |
| 93 | 93 | record_numbers_count: u32, |
| 94 | 94 | }; |
| 95 | 95 | |
| 96 | const TableId = enum(u32) { | |
| 97 | CSSM_DL_DB_SCHEMA_INFO = 0x00000000, | |
| 98 | CSSM_DL_DB_SCHEMA_INDEXES = 0x00000001, | |
| 99 | CSSM_DL_DB_SCHEMA_ATTRIBUTES = 0x00000002, | |
| 100 | CSSM_DL_DB_SCHEMA_PARSING_MODULE = 0x00000003, | |
| 101 | ||
| 102 | CSSM_DL_DB_RECORD_ANY = 0x0000000a, | |
| 103 | CSSM_DL_DB_RECORD_CERT = 0x0000000b, | |
| 104 | CSSM_DL_DB_RECORD_CRL = 0x0000000c, | |
| 105 | CSSM_DL_DB_RECORD_POLICY = 0x0000000d, | |
| 106 | CSSM_DL_DB_RECORD_GENERIC = 0x0000000e, | |
| 107 | CSSM_DL_DB_RECORD_PUBLIC_KEY = 0x0000000f, | |
| 108 | CSSM_DL_DB_RECORD_PRIVATE_KEY = 0x00000010, | |
| 109 | CSSM_DL_DB_RECORD_SYMMETRIC_KEY = 0x00000011, | |
| 110 | CSSM_DL_DB_RECORD_ALL_KEYS = 0x00000012, | |
| 111 | ||
| 112 | CSSM_DL_DB_RECORD_GENERIC_PASSWORD = 0x80000000, | |
| 113 | CSSM_DL_DB_RECORD_INTERNET_PASSWORD = 0x80000001, | |
| 114 | CSSM_DL_DB_RECORD_APPLESHARE_PASSWORD = 0x80000002, | |
| 115 | CSSM_DL_DB_RECORD_USER_TRUST = 0x80000003, | |
| 116 | CSSM_DL_DB_RECORD_X509_CRL = 0x80000004, | |
| 117 | CSSM_DL_DB_RECORD_UNLOCK_REFERRAL = 0x80000005, | |
| 118 | CSSM_DL_DB_RECORD_EXTENDED_ATTRIBUTE = 0x80000006, | |
| 119 | CSSM_DL_DB_RECORD_X509_CERTIFICATE = 0x80001000, | |
| 120 | CSSM_DL_DB_RECORD_METADATA = 0x80008000, | |
| 121 | ||
| 122 | _, | |
| 123 | }; | |
| 124 | ||
| 125 | 96 | const X509CertHeader = extern struct { |
| 126 | 97 | record_size: u32, |
| 127 | 98 | record_number: u32, |
lib/std/os/darwin.zig+2| ... | ... | @@ -3,6 +3,8 @@ const builtin = @import("builtin"); |
| 3 | 3 | const log = std.log; |
| 4 | 4 | const mem = std.mem; |
| 5 | 5 | |
| 6 | pub const cssm = @import("darwin/cssm.zig"); | |
| 7 | ||
| 6 | 8 | pub usingnamespace std.c; |
| 7 | 9 | pub usingnamespace mach_task; |
| 8 | 10 |
lib/std/os/darwin/cssm.zig created+47| ... | ... | @@ -0,0 +1,47 @@ |
| 1 | // Common Security Services Manager | |
| 2 | // Security.framework/Headers/cssm*.h | |
| 3 | ||
| 4 | // Schema Management Name Space Range Definition | |
| 5 | pub const DB_RECORDTYPE_SCHEMA_START = 0x00000000; | |
| 6 | pub const DB_RECORDTYPE_SCHEMA_END = DB_RECORDTYPE_SCHEMA_START + 4; | |
| 7 | ||
| 8 | // Open Group Application Name Space Range Definition | |
| 9 | pub const DB_RECORDTYPE_OPEN_GROUP_START = 0x0000000A; | |
| 10 | pub const DB_RECORDTYPE_OPEN_GROUP_END = DB_RECORDTYPE_OPEN_GROUP_START + 8; | |
| 11 | ||
| 12 | // Industry At Large Application Name Space Range Definition | |
| 13 | pub const DB_RECORDTYPE_APP_DEFINED_START = 0x80000000; | |
| 14 | pub const DB_RECORDTYPE_APP_DEFINED_END = 0xffffffff; | |
| 15 | ||
| 16 | pub const DB_RECORDTYPE = enum(u32) { | |
| 17 | // Record Types defined in the Schema Management Name Space | |
| 18 | SCHEMA_INFO = DB_RECORDTYPE_SCHEMA_START + 0, | |
| 19 | SCHEMA_INDEXES = DB_RECORDTYPE_SCHEMA_START + 1, | |
| 20 | SCHEMA_ATTRIBUTES = DB_RECORDTYPE_SCHEMA_START + 2, | |
| 21 | SCHEMA_PARSING_MODULE = DB_RECORDTYPE_SCHEMA_START + 3, | |
| 22 | ||
| 23 | // Record Types defined in the Open Group Application Name Space | |
| 24 | ANY = DB_RECORDTYPE_OPEN_GROUP_START + 0, | |
| 25 | CERT = DB_RECORDTYPE_OPEN_GROUP_START + 1, | |
| 26 | CRL = DB_RECORDTYPE_OPEN_GROUP_START + 2, | |
| 27 | POLICY = DB_RECORDTYPE_OPEN_GROUP_START + 3, | |
| 28 | GENERIC = DB_RECORDTYPE_OPEN_GROUP_START + 4, | |
| 29 | PUBLIC_KEY = DB_RECORDTYPE_OPEN_GROUP_START + 5, | |
| 30 | PRIVATE_KEY = DB_RECORDTYPE_OPEN_GROUP_START + 6, | |
| 31 | SYMMETRIC_KEY = DB_RECORDTYPE_OPEN_GROUP_START + 7, | |
| 32 | ALL_KEYS = DB_RECORDTYPE_OPEN_GROUP_START + 8, | |
| 33 | ||
| 34 | // AppleFileDL record types | |
| 35 | GENERIC_PASSWORD = DB_RECORDTYPE_APP_DEFINED_START + 0, | |
| 36 | INTERNET_PASSWORD = DB_RECORDTYPE_APP_DEFINED_START + 1, | |
| 37 | APPLESHARE_PASSWORD = DB_RECORDTYPE_APP_DEFINED_START + 2, | |
| 38 | ||
| 39 | X509_CERTIFICATE = DB_RECORDTYPE_APP_DEFINED_START + 0x1000, | |
| 40 | USER_TRUST, | |
| 41 | X509_CRL, | |
| 42 | UNLOCK_REFERRAL, | |
| 43 | EXTENDED_ATTRIBUTE, | |
| 44 | METADATA = DB_RECORDTYPE_APP_DEFINED_START + 0x8000, | |
| 45 | ||
| 46 | _, | |
| 47 | }; |