Build some more pieces

This commit is contained in:
Andrew Hyatt 2017-05-14 09:10:14 -07:00
parent 05a7778ad9
commit 6b6eeb1a24
9 changed files with 120 additions and 85 deletions

View File

@ -6,6 +6,7 @@ add_compile_options(
-nostdinc
-nostdinc++
# -fobjc-arc
-Wno-unused-command-line-argument
)
add_definitions(
@ -29,39 +30,15 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/OSX/authd)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/OSX/libsecurity_dotmac_tp/lib)
include_directories(
${CMAKE_SOURCE_DIR}/src/external/corefoundation
${CMAKE_SOURCE_DIR}/src/external/foundation/include
${CMAKE_SOURCE_DIR}/src/external/libauto
${CMAKE_SOURCE_DIR}/src/external/zlib
${CMAKE_SOURCE_DIR}/src/external/libclosure
${CMAKE_SOURCE_DIR}/src/external/libdispatch
${CMAKE_SOURCE_DIR}/src/external/openpam/include
${CMAKE_SOURCE_DIR}/src/external/syslog/libsystem_asl.tproj/include
${CMAKE_SOURCE_DIR}/src/CommonCrypto
${CMAKE_SOURCE_DIR}/src/external/commoncrypto/include
${CMAKE_SOURCE_DIR}/src/external/corecrypto/include
${CMAKE_SOURCE_DIR}/src/copyfile
${CMAKE_SOURCE_DIR}/src/external/openssl/src/include
${CMAKE_SOURCE_DIR}/src/external/libxpc
${CMAKE_SOURCE_DIR}/kernel-include/iokit
${CMAKE_SOURCE_DIR}/src/external/IOKitUser
${CMAKE_SOURCE_DIR}/src/sandbox
${CMAKE_SOURCE_DIR}/src/launchd/liblaunch
${CMAKE_SOURCE_DIR}/src/libc/darwin
${CMAKE_SOURCE_DIR}/src/external/sqlite
${CMAKE_SOURCE_DIR}/src/CFF
${CMAKE_SOURCE_DIR}/src/libc/include/FreeBSD
${CMAKE_SOURCE_DIR}/src/external/libcxxabi/include
${CMAKE_SOURCE_DIR}/src/CoreServices
${CMAKE_SOURCE_DIR}/src/external/coretls/lib
${CMAKE_SOURCE_DIR}/src/OpenScripting
${CMAKE_SOURCE_DIR}/src/libinfo/include
${CMAKE_SOURCE_DIR}/src/quarantine
${CMAKE_SOURCE_DIR}/src/LocalAuthentication/include
${CMAKE_SOURCE_DIR}/src/kernel/libsyscall/wrappers/libproc
${CMAKE_SOURCE_DIR}/src/libmalloc/include
${CMAKE_SOURCE_DIR}/src/external/objc4/runtime
${CMAKE_SOURCE_DIR}/src/CryptoTokenKit/include
)

View File

@ -44,6 +44,7 @@ add_subdirectory(libsecurityd)
add_subdirectory(sec)
add_subdirectory(libsecurity_pkcs12/lib)
add_subdirectory(libsecurity_ocspd)
add_subdirectory(regressions/test)
make_fat(security_authorization)
make_fat(security_utilities)
@ -82,6 +83,21 @@ make_fat(security_SecOtrOSX)
make_fat(libsecurity_ocspd)
make_fat(security_security)
make_fat(security_securityd)
make_fat(security_securityd_regressions)
make_fat(security_regressions)
make_fat(security_libsecd_regressions)
add_library(security_codesign_wrapper OBJECT
../codesign_wrapper/codesign_wrapper.c
../codesign_wrapper/codesign.c
../codesign_wrapper/MISEntitlement.c
)
target_compile_definitions(security_codesign_wrapper PRIVATE INDIGO=1)
target_include_directories(security_codesign_wrapper PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/../codesign_wrapper
)
make_fat(security_codesign_wrapper)
make_fat(security_secipc)
add_framework(Security
FAT CURRENT_VERSION
@ -124,11 +140,17 @@ add_framework(Security
$<TARGET_OBJECTS:libsecurity_ocspd>
$<TARGET_OBJECTS:security_security>
$<TARGET_OBJECTS:security_securityd>
$<TARGET_OBJECTS:security_codesign_wrapper>
$<TARGET_OBJECTS:security_secipc>
$<TARGET_OBJECTS:security_securityd_regressions>
$<TARGET_OBJECTS:security_regressions>
$<TARGET_OBJECTS:security_libsecd_regressions>
ExtraConstants.c
DEPENDENCIES
system
system_coretls #Hack
CoreFoundation
sqlite3
xpc
@ -137,9 +159,10 @@ add_framework(Security
xpc
xar
z
CommonCrypto
objc
bsm.0
SystemConfiguration
AppleSystemInfo
CryptoTokenKit
LocalAuthentication
)

View File

@ -2,6 +2,7 @@ project(libsecurity_keychain)
add_definitions(
-DSECTRUST_OSX=0
-DNDEBUG=1
)
include_directories(
@ -91,4 +92,3 @@ set(security_keychain_sources
)
add_library(security_keychain OBJECT ${security_keychain_sources})

View File

@ -8,64 +8,66 @@ include_directories(
)
add_library(security_utilities OBJECT
adornments.cpp
alloc.cpp
blob.cpp
bufferfifo.cpp
buffers.cpp
ccaudit.cpp
cfclass.cpp
cfmach++.cpp
cfmunge.cpp
cfutilities.cpp
coderepository.cpp
dispatch.cpp
daemon.cpp
debugging.cpp
debugging_internal.cpp
devrandom.cpp
#dispatch.cpp
dyldcache.cpp
endian.cpp
errors.cpp
fdmover.cpp
fdsel.cpp
globalizer.cpp
hashing.cpp
headermap.cpp
hosts.cpp
inetreply.cpp
#iodevices.cpp
ip++.cpp
kq++.cpp
logging.cpp
mach++.cpp
mach_notify.c
macho++.cpp
machrunloopserver.cpp
machserver.cpp
#muscle++.cpp
osxcode.cpp
#pcsc++.cpp
#powerwatch.cpp
seccfobject.cpp
powerwatch.cpp
selector.cpp
simpleprefs.cpp
socks++.cpp
socks++4.cpp
socks++5.cpp
sqlite++.cpp
streams.cpp
superblob.cpp
threading.cpp
timeflow.cpp
tqueue.cpp
trackingallocator.cpp
transactions.cpp
typedvalue.cpp
unix++.cpp
unixchild.cpp
url.cpp
utilities.cpp
cfclass.cpp
seccfobject.cpp
pcsc++.cpp
unixchild.cpp
osxcode.cpp
cfmach++.cpp
adornments.cpp
muscle++.cpp
transactions.cpp
simpleprefs.cpp
iodevices.cpp
coderepository.cpp
ccaudit.cpp
hashing.cpp
blob.cpp
superblob.cpp
crc.c
vproc++.cpp
sqlite++.cpp
kq++.cpp
debugging_internal.cpp
)
set_property(TARGET security_utilities PROPERTY

View File

@ -0,0 +1,9 @@
project(security_regressions)
add_library(security_regressions OBJECT
testenv.c
testmore.c
testcert.c
testpolicy.m
test-00-test.c
)

View File

@ -204,3 +204,64 @@ add_library(security_securityd OBJECT
)
target_compile_definitions(security_securityd PRIVATE INDIGO=1)
add_library(security_secipc OBJECT
ipc/client.c
)
target_compile_definitions(security_secipc PRIVATE SECITEM_SHIM_OSX=1)
add_library(security_securityd_regressions OBJECT
securityd/Regressions/sd-10-policytree.c
securityd/Regressions/SOSTransportTestTransports.c
securityd/Regressions/secd-90-hsa2.c
)
add_library(security_libsecd_regressions OBJECT
securityd/Regressions/secd-62-account-backup.c
securityd/Regressions/secd-50-message.c
securityd/Regressions/secd-55-account-incompatibility.c
securityd/Regressions/secd-01-items.c
securityd/Regressions/secd-58-password-change.c
securityd/Regressions/secd-57-account-leave.c
securityd/Regressions/secd-62-account-hsa-join.c
securityd/Regressions/secd-32-restore-bad-backup.c
securityd/Regressions/secd-49-manifests.c
securityd/Regressions/secd-60-account-cloud-identity.c
securityd/Regressions/secd-75-engine-views.c
securityd/Regressions/secd-70-engine-smash.c
securityd/Regressions/secd-70-otr-remote.c
securityd/Regressions/secd-56-account-apply.c
securityd/Regressions/secd-63-account-resurrection.c
securityd/Regressions/secd-02-upgrade-while-locked.c
securityd/Regressions/secd-80-views-basic.c
securityd/Regressions/secd-03-corrupted-items.c
securityd/Regressions/secd-40-cc-gestalt.c
securityd/Regressions/secd-05-corrupted-items.c
securityd/Regressions/secd-70-engine.c
securityd/Regressions/secd-65-account-retirement-reset.c
SOSCircle/Regressions/SOSTestDevice.c
securityd/Regressions/secd-04-corrupted-items.c
securityd/Regressions/secd-52-account-changed.c
securityd/Regressions/secd-30-keychain-upgrade.c
securityd/Regressions/secd-31-keychain-bad.c
securityd/Regressions/secd-31-keychain-unreadable.c
securityd/Regressions/secd-50-account.c
securityd/Regressions/secd-51-account-inflate.c
securityd/Regressions/secd-82-persistent-ref.c
securityd/Regressions/secd-74-engine-beer-servers.c
securityd/Regressions/secd-81-item-acl-stress.c
securityd/Regressions/secd-64-circlereset.c
securityd/Regressions/secd-81-item-acl.c
securityd/Regressions/secd-70-engine-corrupt.c
securityd/Regressions/SOSTransportTestTransports.c
securityd/Regressions/secd-34-backup-der-parse.c
securityd/Regressions/secd-61-account-leave-not-in-kansas-anymore.c
SOSCircle/Regressions/SOSTestDataSource.c
securityd/Regressions/secd-35-keychain-migrate-inet.c
securityd/Regressions/secd-33-keychain-ctk.c
SOSCircle/Regressions/SOSRegressionUtilities.c
securityd/Regressions/secd-55-account-circle.c
securityd/Regressions/SecdTestKeychainUtilities.c
securityd/Regressions/secd-82-secproperties-basic.c
securityd/Regressions/secd-59-account-cleanup.c
)

View File

@ -13,6 +13,7 @@
#include <mach-o/loader.h>
#include <mach-o/fat.h>
#include <CommonCrypto/CommonDigest.h>
#include <CommonCrypto/CommonDigestSPI.h>
#define DEBUG_ASSERT_PRODUCTION_CODE 0
#include <AssertMacros.h>

View File

@ -1,19 +0,0 @@
#ifndef _ACMACLDEFS_H_
#define _ACMACLDEFS_H_
#include <CoreFoundation/CoreFoundation.h>
// Someone please reverse-engineer this,
// these are guessed and not verified
#define kAKSKeyAcl CFSTR("AKSKeyAcl")
#define kAKSKeyOpDefaultAcl CFSTR("AKSKeyOpDefaultAcl")
#define kACMKeyAclConstraintUserPasscode "ACMKeyAclConstraintUserPasscode"
#define kACMKeyAclParamBioCatacombUUID "ACMKeyAclParamBioCatacombUUID"
#define kACMKeyAclConstraintBio "ACMKeyAclConstraintBio"
#define kACMKeyAclParamBioCatacombUUID "ACMKeyAclParamBioCatacombUUID"
#define kACMKeyAclParamBioDatabaseHash "ACMKeyAclParamBioDatabaseHash"
#define kACMKeyAclParamKofN "ACMKeyAclParamKofN"
#define kACMKeyAclConstraintKofN "ACMKeyAclConstraintKofN"
#define kAKSKeyAclParamRequirePasscode CFSTR("AKSKeyAclParamRequirePasscode")
#endif

View File

@ -1,19 +0,0 @@
#ifndef _ACMDEFS_H_
#define _ACMDEFS_H_
// No one knows what these are for
// Someone please reverse-engineer this,
// these are guessed and not verified
#define kACMPolicyDeviceOwnerAuthentication "ACMPolicyDeviceOwnerAuthentication"
#define kACMKeyAclConstraintPolicy "ACMKeyAclConstraintPolicy"
#define kAKSKeyOpSync CFSTR("AKSKeyOpSync")
#define kAKSKeyOpSign CFSTR("AKSKeyOpSign")
#define kAKSKeyOpDelete CFSTR("AKSKeyOpDelete")
#define kAKSKeyOpDecrypt CFSTR("AKSKeyOpDecrypt")
#define kAKSKeyOpEncrypt CFSTR("AKSKeyOpEncrypt")
#define kAKSKeyOpDelete CFSTR("AKSKeyOpDelete")
#endif