Commit Graph

166 Commits

Author SHA1 Message Date
Ariel Abreu
3cfffcf2c5
Build secd 2023-09-20 21:18:11 -04:00
CuriousTommy
4333ba0f92
Merge pull request #6 from darlinghq/fedora_38_fix
Fix Building For Fedora 38
2023-06-28 08:49:09 -07:00
Thomas A
1eee54090e FIx implicit-function-declaration & Unknown Type 2023-06-19 21:16:31 -07:00
CuriousTommy
facf7bd2d8
Merge pull request #5 from darlinghq/update_sources_11.5
Update Sources 11.5 - Security
2023-05-11 22:14:45 -07:00
Thomas A
5a35a19804 Upload README.md 2023-04-23 12:48:26 -07:00
Thomas A
8d19dbf987 Add note about libDER 2023-04-23 12:48:26 -07:00
Thomas A
f20616c357 Updated Instruction On Creating The Symbolic-Links
Instead of having to "cd" before adding the symlink, the "--target-directory" is used to save the symlink in the proper location.
2023-04-23 12:48:26 -07:00
Thomas A
e9794f6ef1 Copy Additional Instructions From Darling Docs 2023-04-23 12:48:26 -07:00
Thomas A
09d01249fb Fix Building For Security-59754.140.13
* Restore missing darling specific changes from previous release
* Use <CarbonCore/MacErrors.h> instead.
* Fixed building for i386
* Adjusted location of where some files are now stored at.
2023-04-23 12:48:26 -07:00
Thomas A
c73cceb280 Generate Source Files 2023-04-23 12:48:26 -07:00
Thomas A
e60ad52e7c Reworked Scripts 2023-04-23 12:48:26 -07:00
Thomas A
78943fd024 Add scripts for generating files 2023-04-23 12:48:26 -07:00
Thomas A
549dffdc6a Add xnu submodule (as symbol link) 2023-04-23 12:48:26 -07:00
Thomas A
c7819c1bc8 Add symbol links for header/def files 2023-04-23 12:48:26 -07:00
Thomas A
e4d66bde22 Add header files under macOS folder 2023-04-23 12:48:26 -07:00
Thomas A
60624bb2d8 [libDER] Add oid stubs 2023-04-23 12:13:40 -07:00
Thomas A
af43fd2a8d [libDER] Comment Out DERItem From DERItem.h 2023-04-23 12:13:40 -07:00
Thomas A
800160f2c9 [libDER] Copy DERItem.h From SDK 2023-04-23 12:13:40 -07:00
Thomas A
0ad45cc634 Relocate Darling Specific/Maintained Files Into "darling" Folder. 2023-04-23 12:11:47 -07:00
Thomas A
e2e13450b6 Restore libDER folder 2023-04-22 22:21:49 -07:00
Thomas A
6beec0389b Restore Darling Specific Changes 2023-04-22 22:21:49 -07:00
Thomas A
9bba1c54a7 Update Source To Security-59754.140.13 2022-12-12 19:51:23 -08:00
Thomas A
a8ddb01e80 Add static acm library 2022-11-20 12:23:24 -08:00
CuriousTommy
2edd314884
Merge pull request #4 from darlinghq/gen_developer_sdk
Generate SDK Headers
2022-09-05 20:14:38 -07:00
Thomas A
a783ece150 Relocate framework header to darling-framework folder 2022-09-05 16:59:40 -07:00
Thomas A
eadc57901e Fix symbolic link 2022-09-04 13:17:22 -07:00
Thomas A
8b587edf3b Generate Headers for Security 2022-09-04 10:55:50 -07:00
Ariel Abreu
01e73738c7
Fix for Clang 13 2021-11-14 20:10:33 -05:00
Ariel Abreu
26a96f7995
Disable os_log format errors
This fixes the build with older clang versions
2021-06-24 23:21:50 -04:00
Ariel Abreu
db5fb10cca
Disable repetitive warning in Authorization.h
This file gets included in many places throughout Darling and this warning is useless and annoying.
2021-04-30 09:18:09 -04:00
Andrew Hyatt
8440f6a072 Fix unnecessary rebuilds on Ninja
Not tested on make but maybe happened there too
2021-02-09 14:22:33 -05:00
Ariel Abreu
9289fe3bbc
Use create_symlink instead of CREATE_LINK 2021-01-13 23:27:03 -05:00
Ariel Abreu
6bba4ff9b7
Disable a few things in trustd to get it working
The main things are that trustd now tries to download assets for revocations and policies, but we don't really need any of that.
2021-01-07 00:06:44 -05:00
Ariel Abreu
c188d1f130
Fix a probable typo in Apple's code?
Maybe they changed `DERParseSequenceContent` after making libDER closed-source, and therefore this would be an issue with us using the last released libDER sources.

This fixes certificate parsing and it was just a simple reversion to the old function call, which is why I think it was a typo in their updated code.
2021-01-04 12:09:50 -05:00
Ariel Abreu
af59a6bc86
Disable UID verification for MDS DBs 2021-01-04 12:03:04 -05:00
Ariel Abreu
6d17f77b75
Re-disable auditing (partially)
I had accidentally re-enabled it by updating the upstream sources and forgetting to add back our `#if[n]def DARLING` modifications.
2021-01-04 11:54:45 -05:00
Thomas A
3ceb1576a6 Refactor CMakeList To Support Only Building 64bit 2020-12-13 14:01:19 -08:00
Ariel Abreu
38bc40c87b
Fix for Clang 11+ 2020-12-01 23:47:51 -05:00
Ariel Abreu
4c14bf33ee
Another temp. hack: disable sleep watching in securityd server 2020-11-06 14:47:54 -05:00
Ariel Abreu
3da68df726
Merge branch 'update-sources' of https://github.com/darlinghq/darling-security into update-sources 2020-11-03 11:54:18 -05:00
Ariel Abreu
7b11f335f6
Temporary hack: Disable IOKit usage in IOPowerWatcher
This should actually be handled in our `iokitd`.
2020-11-03 11:54:06 -05:00
Thomas A
0f0f96ed54 Refactor CMakeLists.txt in security/OSX to use more generic arch 2020-10-04 18:51:45 -07:00
Ariel Abreu
56f4dca0b2
Fix argument to add_darling_static_library in add_security_library
It was overlooked in the search-and-replace from the last commit because I had only included `**/CMakeLists.txt`, and not `**/*.cmake`.
2020-09-28 21:18:56 -04:00
Ariel Abreu
67eb0bb1d1
Update CMakeLists for generic arch change
This was just a quick search-and-replace to get the project compiling again, but we'll need to rename some libraries and generated files to complete the architecture abstraction.
2020-09-28 13:41:17 -04:00
Ariel Abreu
18a369686e
Avoid typedef conflict when Security/oids.h has been included 2020-08-31 15:54:35 -04:00
Ariel Abreu
ffc4d35c5c
Get more of the updated Security to build
We'll build more stuff later, but for now, the stuff that was currently building is now building again (except `secd`; that one has been tangled up by more "secret" libraries since the update)

To build the rest, we'll need to enable Octagon and TrustedPeers, and I'm not sure what effect that'll have. To be honest, I'm not even sure what they do
2020-08-27 22:08:13 -04:00
Ariel Abreu
22edbe3f04 Bunch of changes to get it to compile properly 2020-07-23 15:05:53 -04:00
Ariel Abreu
50ad9cf15f Link static Security libraries strongly 2020-07-18 20:02:57 -04:00
Ariel Abreu
cb0695c5a0
Get the update Security framework to link
I had to change up quite a few things in other libraries/frameworks in terms of how they're built/linked; specifically, I had to change up Foundation, CFNetwork, and CoreTLS.

Basically, Apple makes them all depend on each other, so I had to make some of them circular (and the Security framework, too).
I had some issues with this at first because making Foundation a circular library caused the linker to segfault trying to link the 64-bit firstpass (weird, I know).
So instead, I decided to make CFNetwork circular with no siblings (which is perfectly okay), just to make it run a firstpass with no dependencies, then link Foundation to that.
Then, Security links to Foundation normally and everybody's happy.

I also had to build `libcoretls_cfhelpers`, which depends on Security, but Security also depends on it, so I think you can guess what I had to do.
(In case you can't guess: I had to make coretls_cfhelpers a circular library, as well as Security, too).

Also `libsecurity_keychain/lib/CCallbackMgr.cp` is not misspelled; it came with the `.cp` extension, but I had to tell the compiler that it's a C++ file (not sure why the non-standard extension, but whatever).
2020-07-16 13:42:32 -04:00
Ariel Abreu
bf1385e233
Partial Darling build of Security-59306.61.1
This is only the *build* of the Security framework. It does not link yet, and I also have not tried building the various executables yet.

This one required lots of edits in various places throughout the Darling codebase. It seems Apple has really changed things up from 10.13 to 10.15.

A great example of the huge difference is that libDER is no longer included with Security! I had to import it from the last version it was released and modify it slightly to fit the updated code.
Yet another example of Apple being bipolar towards open-source. I wonder what kind of secrets they could be hiding in a library made for working with an *open standard*, smh.

Also, since 10.15 included the drop of 32-bit support, Apple has now made use of many more "modern" Objective-C runtime features, such as automatic ivar synthesis.
Since we want to keep 32-bit app support in Darling but also support newer 64-bit apps and frameworks, I've put the sources using the new features into x86_64-only object libraries.
That way, we only build them for 64-bit and they're available in the 64-bit part of the final "fat" framework. This is fine because those brand new sources aren't used by any old 32-bit code (and 32-bit code can't be updated to use it, either).

Also, I'd like to point out that Apple's code uses such a mess of includes that it's ridiculous (and this is for all their projects, not just Security). Some sources require more includes than the ones listed in Xcode.
2020-07-15 11:30:18 -04:00