Skip to content
This repository was archived by the owner on Feb 24, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
233 commits
Select commit Hold shift + click to select a range
fb04460
Add Network Protection configurations (#1)
samsymons Nov 9, 2022
2165059
Add a template packet tunnel provider (#2)
samsymons Nov 17, 2022
8511315
Added the 'Toggle Network Protection' menu
diegoreymendez Nov 21, 2022
25ba98d
Very first working implementation of NetP
diegoreymendez Nov 21, 2022
b9d3116
Cleaning up for code review
diegoreymendez Nov 22, 2022
16aa731
Replaces a literal with a proper constant
diegoreymendez Nov 22, 2022
e5dcb05
Fixed the author for two files
diegoreymendez Nov 22, 2022
77a982e
Removed some commented code
diegoreymendez Nov 22, 2022
d7d3a53
Removed an extra space
diegoreymendez Nov 22, 2022
e2b0bdc
Fixes some files, removes commented code
diegoreymendez Nov 22, 2022
90c15bc
Cleans up the bundle IDs for the network extension and improves our l…
diegoreymendez Nov 22, 2022
edd2906
Fixed some warnings, improved logging code
diegoreymendez Nov 22, 2022
d73a1bb
Cleans up the code
diegoreymendez Nov 22, 2022
e3a3052
Removes code, cleans up code, removes the keychain authorization requ…
diegoreymendez Nov 22, 2022
753eb06
Resolves a merge conflicts due to some changes I hadn't pulled
diegoreymendez Nov 22, 2022
ee4a31f
Removes a build step that wasn't necessary, cleans up code, fixes the…
diegoreymendez Nov 22, 2022
05ffe78
Implements Keychain sharing, makes the VPN more resilient
diegoreymendez Nov 23, 2022
b21c9e9
Moved the NetP private key to an environment variable. Added IPv6 add…
diegoreymendez Nov 25, 2022
965c624
Merge pull request #3 from more-duckduckgo-org/diego/implement-netp-c…
diegoreymendez Nov 28, 2022
72dfd94
Uses a quick config file to customize the configuration and make test…
diegoreymendez Nov 29, 2022
b3d4a0d
Enabled the network server capability
diegoreymendez Nov 29, 2022
80f239d
Implements a status bar NetP menu, and a more options NetP submenu
diegoreymendez Nov 30, 2022
c80926f
Added two files I missed in my previous commit
diegoreymendez Nov 30, 2022
232b2e0
Merges NetP/develop into develop
diegoreymendez Dec 1, 2022
003004f
Merge branch 'develop' into diego/fix-netp-configuration
diegoreymendez Dec 1, 2022
85a01a1
Cleans up the code a bit
diegoreymendez Dec 1, 2022
26d6234
Implements NetworkProtectionLogger to unify logging logic
diegoreymendez Dec 1, 2022
b2b000e
Merge pull request #4 from more-duckduckgo-org/diego/fix-netp-configu…
diegoreymendez Dec 3, 2022
f33462a
Merge branch 'network-protection' into diego/implement-netp-status-menu
diegoreymendez Dec 3, 2022
46f619a
Makes an IUO a proper optional
diegoreymendez Dec 3, 2022
87696e7
Fixes some issue with the VPN setup
diegoreymendez Dec 3, 2022
d055a60
Fixes some configuration issues with NetP
diegoreymendez Dec 5, 2022
80e0016
Removes some unnecessary lines of code
diegoreymendez Dec 5, 2022
74743d0
Fixes some issues with Network Protection
diegoreymendez Dec 6, 2022
eb5048c
Merge pull request #5 from more-duckduckgo-org/diego/implement-netp-s…
diegoreymendez Dec 6, 2022
fe80204
Merge remote-tracking branch 'upstream/develop' into network-protection
samsymons Dec 6, 2022
c51a687
Resolve post-merge build errors.
samsymons Dec 6, 2022
207fde6
Add Network Protection to BrowserServicesKit (#6)
samsymons Dec 7, 2022
9420f99
Merges the latest from upstream
diegoreymendez Dec 15, 2022
6b7a008
NetP Status View (#7)
diegoreymendez Dec 16, 2022
07f0581
Merges the latest from upstream
diegoreymendez Dec 20, 2022
c3d4e7e
Show status view in status bar menu (#8)
diegoreymendez Dec 21, 2022
20abd96
Add system extension support for NetP. (#10)
diegoreymendez Jan 13, 2023
58a1c7a
Adds a 'Share Feedback' link within NetP (#11)
diegoreymendez Jan 13, 2023
9ef6e39
Fixes the timer text jumping around (#12)
diegoreymendez Jan 19, 2023
0936d6c
Addresses design feedback for NetP's status view (#13)
diegoreymendez Jan 19, 2023
55c144c
Adds several unit tests for NetworkProtection (#9)
diegoreymendez Jan 19, 2023
9b8d7d6
Fixes the color of a field in NetP's status view (#14)
diegoreymendez Jan 20, 2023
9e03580
Backend integration (#15)
samsymons Feb 2, 2023
e3b1eed
Update the feedback URL to open in the current window. (#17)
samsymons Feb 4, 2023
badedc8
Import upstream IP address crash fix (#20)
samsymons Feb 10, 2023
ad4b99d
Network Protection: reconnect after interruption (#22)
diegoreymendez Feb 10, 2023
1de64c7
Present an alert to users when running the app outside of the Applica…
samsymons Feb 10, 2023
bd68149
Sparkle support (#21)
samsymons Feb 10, 2023
d69f7b0
Update BSK revision. (#19)
samsymons Feb 10, 2023
ad21e35
Internal beta preparation (#23)
samsymons Feb 15, 2023
f8b408d
Improve error logging (#24)
diegoreymendez Feb 15, 2023
4f923bf
Update app version and use correct version for sysex.
samsymons Feb 16, 2023
fb12cea
Design review & fixes (#28)
diegoreymendez Mar 2, 2023
dff6f0b
Updates the NetP icon to show and hide the lock. Fixes unit tests. (#25)
diegoreymendez Mar 2, 2023
b981749
Set version to 1.0.3.
samsymons Mar 3, 2023
572fcaf
Open NetP's feedback form in the default browser (#29)
diegoreymendez Mar 3, 2023
7ec4841
More resilient connection logic (#30)
diegoreymendez Mar 10, 2023
52c9bd0
Merges the latest from upstream. (#27)
diegoreymendez Mar 11, 2023
48e5f3c
More resilient connection logic #2 (#31)
diegoreymendez Mar 13, 2023
4612795
More resilient connection logic 3 (#32)
diegoreymendez Mar 14, 2023
f81bd5e
Implement rekey logic (#33)
diegoreymendez Mar 17, 2023
2619a97
Change DNS settings (#37)
diegoreymendez Mar 21, 2023
7b45100
Added exclusion routes for ipv4 (#36)
diegoreymendez Mar 21, 2023
dd16567
Implements rekey triggers. (#38)
diegoreymendez Mar 21, 2023
8df5d48
Fixes the notification login item (#41)
diegoreymendez Mar 23, 2023
e8bc92c
Adds underlying error details to NetworkProtectionClientError.failedT…
diegoreymendez Mar 23, 2023
ee42389
Improved the code that handles stopping the tester when going into sl…
diegoreymendez Mar 23, 2023
2f798c6
Fixes pixels and adds rekeying pixel (#39)
diegoreymendez Mar 23, 2023
af762fa
Keep the connection timer in sync with the system one (#42)
diegoreymendez Mar 24, 2023
c81f22c
Add active usage pixels, and support daily/continuous pixel formats (…
samsymons Mar 24, 2023
891e191
Update Sparkle URL for appcast2.
samsymons Mar 24, 2023
f216268
Update version number.
samsymons Mar 24, 2023
f46d316
Bump version to 1.0.4 manually.
samsymons Mar 24, 2023
c085157
Fixes and improvements (#44)
diegoreymendez Mar 27, 2023
0d7f126
Disabled the rekey validity menu option from non DEBUG builds, since …
diegoreymendez Mar 27, 2023
38b59e4
Fix an issue where the dailyAndContinuous case would not fire daily p…
samsymons Mar 27, 2023
c9bdaad
Update to version 1.0.5.
samsymons Mar 27, 2023
be7e237
Update backend URL (#45)
samsymons Mar 28, 2023
6e11cac
Improves logging and removes exit call when stopping the tunnel (#48)
diegoreymendez Mar 29, 2023
899cd42
Fix version number.
samsymons Mar 31, 2023
d4a1f06
Fix the updater URL.
samsymons Mar 31, 2023
ab107de
Status Menu #1: Implement error simulation for testing (#50)
diegoreymendez Apr 4, 2023
9a8590a
Status Menu #2: Implement VPN controller for Login Item (#51)
diegoreymendez Apr 5, 2023
bd19464
Status Menu #3: Move code to NetworkProtection package. (#52)
diegoreymendez Apr 5, 2023
9f1bd42
Remove BSK from the NetP system extension. (#56)
samsymons Apr 24, 2023
f0d1d9d
latency reporting (#57)
mallexxx Apr 25, 2023
c91cb52
Enable automatic updates (#55)
samsymons Apr 25, 2023
c70468c
Remove the `NETP` build flag and add NetP files to the main app targe…
samsymons Apr 25, 2023
df28248
Set version to 1.0.6.
samsymons Apr 25, 2023
8869b84
Restore the debug menu.
samsymons Apr 26, 2023
c057284
Status Menu #4: Add Agent bundle IDs (#60)
diegoreymendez Apr 28, 2023
e5bc205
Remove an unused directory.
samsymons Apr 28, 2023
84f8bf4
Status Menu #5: standalone Status Menu (#53)
diegoreymendez Apr 29, 2023
f5f5a98
Status Menu #6: Implement Status View changes (#54)
diegoreymendez May 1, 2023
d3d06a3
Update NetP icons and make NetP pinnable to the navigation bar (#61)
diegoreymendez May 2, 2023
ee01bc0
NetP invite codes (#62)
graeme May 4, 2023
310e6c5
Migrates the Agent app VPN controller to the symlink solution (#63)
diegoreymendez May 4, 2023
1f0fba0
Resolve status menu refresh issues (#64)
diegoreymendez May 4, 2023
1f66c9c
Fix a versioning issue.
samsymons May 4, 2023
346e382
Forces the update of the login items on launch (#65)
diegoreymendez May 4, 2023
fc663d7
Set version to 1.0.8.
samsymons May 4, 2023
8ab9756
Improves the coloring of the menu items in NetP's status view
diegoreymendez May 8, 2023
7763bb1
Organize the project file (#66)
samsymons May 9, 2023
160674e
Merge branch ‘develop’ into sam/merge-upstream-into-netp
samsymons May 9, 2023
5b8f02f
macOS: status menu enhancements design review (#68)
diegoreymendez May 9, 2023
c06da10
Address feedback by alex (#67)
diegoreymendez May 9, 2023
9186364
Kills the NetP connection and login item if a new version of the app …
diegoreymendez May 9, 2023
c2dca30
Move the NetP packages and add them to Xcode.
samsymons May 9, 2023
c7b45db
Get the app building (but not yet running).
samsymons May 11, 2023
eab4995
The NetP status menu is now hidden if the app is started without an i…
diegoreymendez May 11, 2023
1deb022
Fixes the NetP menu item selection animation (#70)
diegoreymendez May 12, 2023
70246b1
NetP Invite dialog design review feedback (#72)
graeme May 13, 2023
0006ca4
NetP's Share-Feedback option now opens in the current browser instead…
diegoreymendez May 14, 2023
40c34df
Increased the NetP version number to .10
diegoreymendez May 14, 2023
ace4b72
Remove the NetP Info.plist.
samsymons May 15, 2023
a7b53cc
Recreate the notifications target
samsymons May 15, 2023
da05783
Recreate the system extension target
samsymons May 15, 2023
712c4f3
Add the system extension to the input files checker
samsymons May 15, 2023
d094c71
Make sure the Developer ID target can run again.
samsymons May 15, 2023
9b808cc
Fix up the main menu.
samsymons May 15, 2023
7e1b772
Update the input files checker.
samsymons May 15, 2023
ea3a3ac
Rebuild the agent target
samsymons May 15, 2023
16059f0
Get the notification agent running
samsymons May 15, 2023
ee42526
Fixes a refresh issue with NetP's nav bar icon (#75)
diegoreymendez May 15, 2023
50d054c
Work on moving NetP logic into the main app targets.
samsymons May 16, 2023
a766bfd
Run dev-id build from Applications directory scripts (#73)
mallexxx May 16, 2023
0629ed6
Fix unit test compilation.
samsymons May 16, 2023
23f1569
Update DuckDuckGoAppStore entitlements to add the packet tunnel provi…
samsymons May 16, 2023
d20d3c5
Work on cleaning up config files.
samsymons May 16, 2023
6730e18
Continue cleaning up bundle IDs, configs, entitlements etc
samsymons May 17, 2023
d088093
Add the startVPN app back to the project
samsymons May 17, 2023
b96d402
Add the stopVPN app back to the project
samsymons May 17, 2023
be7e682
Standardize the bundle IDs
samsymons May 17, 2023
3ef2d0a
Fix the main app deployment target
samsymons May 17, 2023
6a47dce
Remove the custom NetP icon
samsymons May 17, 2023
93649a7
Resets lastErrorMessage when the NetP sysex is allowed by the user (#77)
diegoreymendez May 17, 2023
635eaec
Fix issues with the input files checker
samsymons May 17, 2023
16962b2
Fix more code signing issues.
samsymons May 17, 2023
0292fe1
Fix the extension not found issue
samsymons May 17, 2023
2e6bcce
Add the app groups
samsymons May 17, 2023
7ccb2ef
Fix an entitlements issue that was preventing the app from saving a V…
samsymons May 18, 2023
01a462c
Provides a script to fix the embed system extension build step for Ne…
diegoreymendez May 18, 2023
cafd3de
Merge branch 'network-protection' into sam/merge-upstream-into-netp
samsymons May 18, 2023
5d26eb7
Fix an issue with the merge missing one file.
samsymons May 18, 2023
303b421
Clean up the MoreOptionsMenu imports.
samsymons May 18, 2023
2e9e1c3
Fix some issues with the MainMenu.swift merge.
samsymons May 18, 2023
9f0e00a
Remove spaces in file paths.
samsymons May 18, 2023
4213f79
Remove old internal user files that came over in the merge accidentally.
samsymons May 18, 2023
f0847d2
Remove some files that were duplicated during the merge.
samsymons May 18, 2023
6162d74
Restore SwiftLint and fix it. Next the file_header rule will be re-en…
samsymons May 18, 2023
8ee0392
Resolve all remaining SwiftLint warnings
samsymons May 18, 2023
c22d8d8
Fixes IPC, improves xcconfig configurations sharing (#82)
diegoreymendez May 18, 2023
f2c2446
Add @MainActor back to the app delegate.
samsymons May 18, 2023
512c60c
Reset the state of PasswordManager.storyboard.
samsymons May 18, 2023
3e80769
Fix the paths of the network protection tests. However, these files d…
samsymons May 18, 2023
b15d535
Remove two unused NetP files.
samsymons May 18, 2023
092210e
Remove the unused networkProtectionScheme global.
samsymons May 18, 2023
2ee416a
Change the notification target product name to `DuckDuckGo Notificati…
samsymons May 18, 2023
5fdabd9
Fixes the NetPUI unit tests (#83)
diegoreymendez May 18, 2023
31e104c
Add the proper app icon back to the Agent target’s asset catalog.
samsymons May 18, 2023
e71dd4d
Commit a scheme change related to the Notifications target.
samsymons May 18, 2023
d4b4026
Fixes a build setting
diegoreymendez May 18, 2023
ef5c46b
Merge branch 'diego/test' into sam/merge-upstream-into-netp
diegoreymendez May 18, 2023
dcf70a4
Avoid checking for spaces on non-source or resource files
samsymons May 18, 2023
df8d4a2
Remove a GitHub workflow that was removed upstream.
samsymons May 18, 2023
08fa59f
Remove a function that was only used for early testers.
samsymons May 18, 2023
7ee5668
Remove old internal channel icons that were added back.
samsymons May 18, 2023
c316eb8
Take the 12.3 deployment target out of the Dev ID xcconfig file.
samsymons May 18, 2023
7004b4c
Add empty line back to Common.xcconfig
samsymons May 18, 2023
e3d4780
Set the pr.yml file back to the upstream state.
samsymons May 18, 2023
b9acc8e
Remove an alert extension that is no longer used
samsymons May 18, 2023
6950536
Remove a duplicate build tool plugin.
samsymons May 19, 2023
f6b6a08
Merge branch 'upstream_develop' into sam/merge-upstream-into-netp
samsymons May 19, 2023
df00058
Update the NetworkProtection BSK version
samsymons May 19, 2023
b2103ce
code cleanup (#78)
mallexxx May 19, 2023
89e120c
Fixes vendor options being nil when starting the VPN from the system …
diegoreymendez May 19, 2023
bd13366
Merge branch 'upstream_develop' into sam/merge-upstream-into-netp
samsymons May 19, 2023
595e3d4
Merge branch 'network-protection' into sam/merge-upstream-into-netp
samsymons May 19, 2023
e44282d
Improve a test case.
samsymons May 19, 2023
cccd0c0
Pull upstream changes into the NetP branch (#81)
samsymons May 19, 2023
02f9f42
Revert "Pull upstream changes into the NetP branch (#81)" (#92)
samsymons May 19, 2023
a2e9a9b
Merge branch 'network-protection' into sam/merge-upstream-into-netp
samsymons May 19, 2023
ab40365
Merge pull request #93 from duckduckgo/sam/merge-upstream-into-netp
samsymons May 21, 2023
1bc3a31
Replace a TODO with a comment for now.
samsymons May 21, 2023
058cd74
add LSUIElement to Start/Stop agent (#88)
mallexxx May 22, 2023
4c8d087
Improved keychain management for NetP (#97)
diegoreymendez May 23, 2023
d3ec67a
Warning cleanup (#95)
samsymons May 23, 2023
3ff8b5d
Fix SwiftLint violation.
samsymons May 24, 2023
a705af9
Display NetP and Autofill popovers on mouse down (#86)
mallexxx May 24, 2023
8d4d61d
Clean up project configuration (#101)
samsymons May 24, 2023
6f35d50
Cheat a little bit and circumvent SwiftLint.
samsymons May 24, 2023
3170c5b
Use no provisioning profile by default, to allow the CI configuration…
samsymons May 24, 2023
2b9b515
Remove two unused files.
samsymons May 24, 2023
70f3141
Fix the Appcast URL.
samsymons May 24, 2023
aaf0b4d
Replace the local WireGuard framework with a remote package (#104)
samsymons May 25, 2023
6e50482
Configuration file clean-up (#106)
samsymons May 25, 2023
4d2a398
Launch login items using NSWorkspace if failed to launch (#100)
mallexxx May 25, 2023
f4a42b7
Update the invite code flow and feature visibility (#107)
samsymons May 25, 2023
66e2a28
Set xcode deploy destination to /Applications/DEBUG (#108)
mallexxx May 25, 2023
64dc475
Update one of the Swift tools version entries.
samsymons May 25, 2023
81b13e7
Merge branch 'upstream_develop' into network-protection
samsymons May 25, 2023
7a5dad8
Make sure that assertion failures caused during CI runs don’t kill th…
samsymons May 25, 2023
6f357fb
Address some warnings in the project.
samsymons May 25, 2023
24c6fe4
Update the WireGuard package URL
samsymons May 26, 2023
0668fef
Merge branch 'upstream_develop' into network-protection
samsymons May 26, 2023
2d31668
Update the NetP BSK version.
samsymons May 26, 2023
cb098b4
Reset the tests-server.xcscheme state, as we no longer use this scrip…
samsymons May 26, 2023
5728136
Revert some unnecessary changes from the NetP work.
samsymons May 26, 2023
305febd
Remove NetP from the App Store target (#110)
samsymons May 26, 2023
b3370e3
bundle libswift_Concurrency.dylib in SysEx (#109)
mallexxx May 26, 2023
c644735
Lower the Swift Concurrency checking level temporarily.
samsymons May 26, 2023
11e4f71
Update unit tests to account for non-NetP builds.
samsymons May 26, 2023
1ce1d0c
Simplify the system extension bundle ID.
samsymons May 26, 2023
98a2ecb
Remove the network extension entitlement from the App Store target.
samsymons May 26, 2023
5cce11b
Delete FileManager+Extension.
samsymons May 26, 2023
ce4c724
Disabling login items should not throw exceptions, because we're not …
diegoreymendez May 26, 2023
3a7a69e
Some small fixes from PR feedback
diegoreymendez May 26, 2023
2592164
Fixed a typo in a file name and updated the name in the file header
diegoreymendez May 26, 2023
daf9f68
Rolled back a change that broke SYSEX_BUNDLE_ID
diegoreymendez May 26, 2023
874a60f
Added a comment to clarify an unclear choice
diegoreymendez May 26, 2023
429e9ed
Merge branch 'upstream_develop' into network-protection
samsymons May 26, 2023
be219af
Fix a post-merge issue.
samsymons May 26, 2023
3d3c881
Turn off all NetP logging by default.
samsymons May 26, 2023
6f400d3
Merge branch 'upstream_develop' into network-protection
samsymons May 26, 2023
c78eeaf
Update the BSK version in NetworkProtection, and add a comment.
samsymons May 26, 2023
458b599
Restore the original Common.xcconfig settings.
samsymons May 26, 2023
b055a89
Fix a typo.
samsymons May 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions Configuration/App/AppTargetsBase.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@

#include "../Common.xcconfig"

ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon
ASSETCATALOG_COMPILER_APPICON_NAME[config=Debug] = Icon - Debug
ASSETCATALOG_COMPILER_APPICON_NAME[config=CI] = Icon - Debug
ASSETCATALOG_COMPILER_APPICON_NAME[config=Review] = Icon - Review
ASSETCATALOG_COMPILER_APPICON_NAME[sdk=*] = AppIcon
ASSETCATALOG_COMPILER_APPICON_NAME[config=Debug][sdk=*] = Icon - Debug
ASSETCATALOG_COMPILER_APPICON_NAME[config=CI][sdk=*] = Icon - Debug
ASSETCATALOG_COMPILER_APPICON_NAME[config=Review][sdk=*] = Icon - Review

ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = GlobalAccentColor

Expand Down
33 changes: 33 additions & 0 deletions Configuration/App/DuckDuckGo.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,53 @@
//

#include "AppTargetsBase.xcconfig"
#include "../NetworkProtectionDeveloperID.xcconfig"

BUNDLE_IDENTIFIER_PREFIX = com.duckduckgo.macos.browser

CODE_SIGN_ENTITLEMENTS = DuckDuckGo/DuckDuckGo.entitlements
CODE_SIGN_ENTITLEMENTS[config=Debug][arch=*][sdk=*] = DuckDuckGo/DuckDuckGoDebug.entitlements
CODE_SIGN_ENTITLEMENTS[config=CI][arch=*][sdk=*] = DuckDuckGo/DuckDuckGoCI.entitlements

CODE_SIGN_IDENTITY[sdk=macosx*] = Developer ID Application
CODE_SIGN_IDENTITY[config=Debug][sdk=macosx*] = Apple Development
CODE_SIGN_IDENTITY[config=CI][sdk=macosx*] =

FEATURE_FLAGS = FEEDBACK NETWORK_PROTECTION

PRODUCT_NAME_PREFIX = DuckDuckGo

PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*] =
PROVISIONING_PROFILE_SPECIFIER[config=Release][sdk=macosx*] = MacOS Browser
PROVISIONING_PROFILE_SPECIFIER[config=Review][sdk=macosx*] = MacOS Browser Product Review

GCC_PREPROCESSOR_DEFINITIONS[arch=*][sdk=*] = NETP_SYSTEM_EXTENSION=1
GCC_PREPROCESSOR_DEFINITIONS[config=CI][arch=*][sdk=*] = NETP_SYSTEM_EXTENSION=1 DEBUG=1 CI=1 $(inherited)
GCC_PREPROCESSOR_DEFINITIONS[config=Debug][arch=*][sdk=*] = NETP_SYSTEM_EXTENSION=1 DEBUG=1 $(inherited)
GCC_PREPROCESSOR_DEFINITIONS[config=Review][arch=*][sdk=*] = NETP_SYSTEM_EXTENSION=1 REVIEW=1 $(inherited)

SWIFT_ACTIVE_COMPILATION_CONDITIONS[arch=*][sdk=*] = NETP_SYSTEM_EXTENSION $(FEATURE_FLAGS)
SWIFT_ACTIVE_COMPILATION_CONDITIONS[config=CI][arch=*][sdk=*] = NETP_SYSTEM_EXTENSION DEBUG CI $(FEATURE_FLAGS)
SWIFT_ACTIVE_COMPILATION_CONDITIONS[config=Debug][arch=*][sdk=*] = NETP_SYSTEM_EXTENSION DEBUG $(FEATURE_FLAGS)
SWIFT_ACTIVE_COMPILATION_CONDITIONS[config=Review][arch=*][sdk=*] = NETP_SYSTEM_EXTENSION REVIEW $(FEATURE_FLAGS)

AGENT_BUNDLE_ID[sdk=*] = $(DEVELOPMENT_TEAM).com.duckduckgo.macos.browser.network-protection.system-extension.agent
AGENT_BUNDLE_ID[config=Debug][sdk=*] = $(DEVELOPMENT_TEAM).com.duckduckgo.macos.browser.network-protection.system-extension.agent.debug
AGENT_BUNDLE_ID[config=CI][sdk=*] = $(DEVELOPMENT_TEAM).com.duckduckgo.macos.browser.network-protection.system-extension.agent.debug
AGENT_BUNDLE_ID[config=Review][sdk=*] = $(DEVELOPMENT_TEAM).com.duckduckgo.macos.browser.network-protection.system-extension.agent.review

// We could be tempted to use SYSEX_BUNDLE_ID = $(SYSEX_BUNDLE_ID_BASE).systemextension
// but Xcode is currently not expanding it well. You can check this in the project build
// settings.
SYSEX_BUNDLE_ID[sdk=*] = $(SYSEX_BUNDLE_ID_BASE).systemextension
SYSEX_BUNDLE_ID[config=CI][sdk=*] = $(SYSEX_BUNDLE_ID_BASE).systemextension
SYSEX_BUNDLE_ID[config=Review][sdk=*] = $(SYSEX_BUNDLE_ID_BASE).systemextension
SYSEX_BUNDLE_ID[config=Debug][sdk=*] = $(SYSEX_BUNDLE_ID_BASE).systemextension
SYSEX_BUNDLE_ID[config=Release][sdk=*] = $(SYSEX_BUNDLE_ID_BASE).systemextension

// Install Developer ID build to /Applications/DEBUG/
DEPLOYMENT_LOCATION[config=Debug] = YES;
DSTROOT[config=Debug] = /;
INSTALL_PATH[config=Debug] = Applications/DEBUG;

#include? "../../LocalOverrides.xcconfig"
5 changes: 5 additions & 0 deletions Configuration/App/DuckDuckGoAppStore.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@
#include "../AppStore.xcconfig"
#include "ManualAppStoreRelease.xcconfig"

AGENT_BUNDLE_ID[sdk=*] = $(DEVELOPMENT_TEAM).com.duckduckgo.macos.browser.network-protection.agent
AGENT_BUNDLE_ID[config=Debug][sdk=*] = $(DEVELOPMENT_TEAM).com.duckduckgo.macos.browser.network-protection.agent.debug
AGENT_BUNDLE_ID[config=CI][sdk=*] = $(DEVELOPMENT_TEAM).com.duckduckgo.macos.browser.network-protection.agent.debug
AGENT_BUNDLE_ID[config=Review][sdk=*] = $(DEVELOPMENT_TEAM).com.duckduckgo.macos.browser.network-protection.agent.review

BUNDLE_IDENTIFIER_PREFIX = com.duckduckgo.mobile.ios

CODE_SIGN_ENTITLEMENTS = DuckDuckGo/DuckDuckGoAppStore.entitlements
Expand Down
62 changes: 62 additions & 0 deletions Configuration/App/NetworkProtection/DuckDuckGoAgent.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
// Copyright © 2023 DuckDuckGo. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

#include "../AppTargetsBase.xcconfig"
#include "../../NetworkProtectionDeveloperID.xcconfig"

BUNDLE_IDENTIFIER_PREFIX = $(AGENT_BUNDLE_ID)

// Override AppTargetsBase.xcconfig until we resolve bundle IDs.
PRODUCT_BUNDLE_IDENTIFIER[sdk=*] = $(BUNDLE_IDENTIFIER_PREFIX)
PRODUCT_BUNDLE_IDENTIFIER[config=Debug][sdk=*] = $(BUNDLE_IDENTIFIER_PREFIX)
PRODUCT_BUNDLE_IDENTIFIER[config=CI][sdk=*] = $(BUNDLE_IDENTIFIER_PREFIX)
PRODUCT_BUNDLE_IDENTIFIER[config=Review][sdk=*] = $(BUNDLE_IDENTIFIER_PREFIX)

INFOPLIST_FILE = DuckDuckGoAgent/Info.plist
GENERATE_INFOPLIST_FILE = YES
INFOPLIST_KEY_LSUIElement = YES
INFOPLIST_KEY_NSPrincipalClass = Application

// Just make sure to override anything set by the AppTargetBase.xcconfig
//CODE_SIGN_STYLE[config=Debug][sdk=*] = Manual
//CODE_SIGN_STYLE[config=Release][sdk=*] = Manual

// Left empty intentionally as we currently only support debug and release builds
CODE_SIGN_ENTITLEMENTS[config=Review][sdk=macosx*] =
CODE_SIGN_ENTITLEMENTS[config=CI][sdk=macosx*] =
CODE_SIGN_ENTITLEMENTS[config=Debug][sdk=macosx*] = DuckDuckGoAgent/DuckDuckGoAgent.entitlements
CODE_SIGN_ENTITLEMENTS[config=Release][sdk=macosx*] = DuckDuckGoAgent/DuckDuckGoAgent.entitlements

CODE_SIGN_IDENTITY[sdk=macosx*] = Developer ID Application
CODE_SIGN_IDENTITY[config=Debug][sdk=macosx*] = Apple Development
CODE_SIGN_IDENTITY[config=CI][sdk=macosx*] =

PRODUCT_NAME = $(AGENT_PRODUCT_NAME)

PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*] =
PROVISIONING_PROFILE_SPECIFIER[config=Review][sdk=macosx*] = macOS Network Protection Agent App Product Review
PROVISIONING_PROFILE_SPECIFIER[config=Release][sdk=macosx*] = macOS Network Protection Agent App (Distribution)

FEATURE_FLAGS[arch=*][sdk=*] = NETP_SYSTEM_EXTENSION
FEATURE_FLAGS[config=CI][arch=*][sdk=*] = NETP_SYSTEM_EXTENSION
FEATURE_FLAGS[config=Debug][arch=*][sdk=*] = NETP_SYSTEM_EXTENSION
FEATURE_FLAGS[config=Review][arch=*][sdk=*] = NETP_SYSTEM_EXTENSION

ENABLE_APP_SANDBOX = YES
SWIFT_OBJC_BRIDGING_HEADER =
SKIP_INSTALL = YES
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME =

#include? "../../../LocalOverrides.xcconfig"
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
// Copyright © 2023 DuckDuckGo. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

#include "../AppTargetsBase.xcconfig"
#include "../../AppStore.xcconfig"

BUNDLE_IDENTIFIER_PREFIX = HKE973VLUW.com.duckduckgo.macos.browser.network-protection.agent

// Override AppTargetsBase.xcconfig until we resolve bundle IDs.
PRODUCT_BUNDLE_IDENTIFIER[sdk=*] = $(BUNDLE_IDENTIFIER_PREFIX)
PRODUCT_BUNDLE_IDENTIFIER[config=Debug][sdk=*] = $(BUNDLE_IDENTIFIER_PREFIX).debug
PRODUCT_BUNDLE_IDENTIFIER[config=CI][sdk=*] = $(BUNDLE_IDENTIFIER_PREFIX).debug
PRODUCT_BUNDLE_IDENTIFIER[config=Review][sdk=*] = $(BUNDLE_IDENTIFIER_PREFIX).review

INFOPLIST_FILE = DuckDuckGoAgent/Info-AppStore.plist
GENERATE_INFOPLIST_FILE = YES
INFOPLIST_KEY_LSUIElement = YES
INFOPLIST_KEY_NSPrincipalClass = Application

// Just make sure to override anything set by the AppTargetBase.xcconfig
//CODE_SIGN_STYLE[config=Debug][sdk=*] = Manual
//CODE_SIGN_STYLE[config=Release][sdk=*] = Manual

// Left empty intentionally as we currently only support debug and release builds
CODE_SIGN_ENTITLEMENTS[config=Review][sdk=macosx*] =
CODE_SIGN_ENTITLEMENTS[config=CI][sdk=macosx*] =
CODE_SIGN_ENTITLEMENTS[config=Debug][sdk=macosx*] = DuckDuckGoAgent/DuckDuckGoAgentAppStore.entitlements
CODE_SIGN_ENTITLEMENTS[config=Release][sdk=macosx*] = DuckDuckGoAgent/DuckDuckGoAgentAppStore.entitlements

CODE_SIGN_IDENTITY[sdk=macosx*] = 3rd Party Mac Developer Application
CODE_SIGN_IDENTITY[config=Review][sdk=macosx*] = Developer ID Application
CODE_SIGN_IDENTITY[config=Debug][sdk=macosx*] = Apple Development
CODE_SIGN_IDENTITY[config=CI][sdk=macosx*] =

PRODUCT_NAME = $(AGENT_PRODUCT_NAME)

PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*] =
PROVISIONING_PROFILE_SPECIFIER[config=Release][sdk=macosx*] = Mac Browser NetP Developer ID Not. (Distribution)

FEATURE_FLAGS[arch=*][sdk=*] =
FEATURE_FLAGS[config=CI][arch=*][sdk=*] =
FEATURE_FLAGS[config=Debug][arch=*][sdk=*] =
FEATURE_FLAGS[config=Review][arch=*][sdk=*] =

ENABLE_APP_SANDBOX = YES
SWIFT_OBJC_BRIDGING_HEADER =
SKIP_INSTALL = YES
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME =

#include? "../../../LocalOverrides.xcconfig"
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// Copyright © 2023 DuckDuckGo. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

#include "../AppTargetsBase.xcconfig"
#include "../../NetworkProtectionDeveloperID.xcconfig"

BUNDLE_IDENTIFIER_PREFIX = $(NOTIFICATIONS_AGENT_BUNDLE_ID)

// Override AppTargetsBase.xcconfig until we resolve bundle IDs.
PRODUCT_BUNDLE_IDENTIFIER[sdk=*] = $(BUNDLE_IDENTIFIER_PREFIX)
PRODUCT_BUNDLE_IDENTIFIER[config=Debug][sdk=*] = $(BUNDLE_IDENTIFIER_PREFIX)
PRODUCT_BUNDLE_IDENTIFIER[config=CI][sdk=*] = $(BUNDLE_IDENTIFIER_PREFIX)
PRODUCT_BUNDLE_IDENTIFIER[config=Review][sdk=*] = $(BUNDLE_IDENTIFIER_PREFIX)

INFOPLIST_FILE = DuckDuckGoNotifications/Info.plist
GENERATE_INFOPLIST_FILE = YES
INFOPLIST_KEY_LSUIElement = YES
INFOPLIST_KEY_NSPrincipalClass = Application

// Left empty intentionally as we currently only support debug and release builds
CODE_SIGN_ENTITLEMENTS[config=Review][sdk=macosx*] =
CODE_SIGN_ENTITLEMENTS[config=CI][sdk=macosx*] =
CODE_SIGN_ENTITLEMENTS[config=Debug][sdk=macosx*] = DuckDuckGoNotifications/DuckDuckGoNotifications.entitlements
CODE_SIGN_ENTITLEMENTS[config=Release][sdk=macosx*] = DuckDuckGoNotifications/DuckDuckGoNotifications.entitlements

CODE_SIGN_IDENTITY[sdk=macosx*] = Developer ID Application
CODE_SIGN_IDENTITY[config=Debug][sdk=macosx*] = Apple Development
CODE_SIGN_IDENTITY[config=CI][sdk=macosx*] =

PRODUCT_NAME_PREFIX = $(NOTIFICATIONS_AGENT_PRODUCT_NAME)
PRODUCT_NAME[config=Review][arch=*][sdk=*] = $(NOTIFICATIONS_AGENT_PRODUCT_NAME)

PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*] =
PROVISIONING_PROFILE_SPECIFIER[config=Review][sdk=macosx*] = MacOS Browser NetP Notifications Product Review
PROVISIONING_PROFILE_SPECIFIER[config=Release][sdk=macosx*] = Mac Browser NetP Developer ID Not. (Distribution)

FEATURE_FLAGS[arch=*][sdk=*] = NETP_SYSTEM_EXTENSION
FEATURE_FLAGS[config=CI][arch=*][sdk=*] = NETP_SYSTEM_EXTENSION
FEATURE_FLAGS[config=Debug][arch=*][sdk=*] = NETP_SYSTEM_EXTENSION
FEATURE_FLAGS[config=Review][arch=*][sdk=*] = NETP_SYSTEM_EXTENSION

SWIFT_OBJC_BRIDGING_HEADER =
SKIP_INSTALL = YES
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME =

#include? "../../../LocalOverrides.xcconfig"
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
// Copyright © 2023 DuckDuckGo. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

#include "../../Common.xcconfig"

ALWAYS_SEARCH_USER_PATHS=NO
ASSETCATALOG_COMPILER_APPICON_NAME=AppIcon

CODE_SIGN_ENTITLEMENTS=DuckDuckGo/NetworkProtectionVPNController.entitlements
CODE_SIGN_IDENTITY[sdk=macosx*] = Developer ID Application
CODE_SIGN_IDENTITY[config=CI][sdk=macosx*] =
CODE_SIGN_IDENTITY[config=Debug][sdk=macosx*] = Apple Development

CODE_SIGN_STYLE[sdk=*] = Manual
CODE_SIGN_STYLE[config=Debug][sdk=*] = Automatic

COMBINE_HIDPI_IMAGES=YES
COPY_PHASE_STRIP=NO

DEBUG_INFORMATION_FORMAT[config=CI]=dwarf-with-dsym
DEBUG_INFORMATION_FORMAT[config=Debug]=dwarf
DEBUG_INFORMATION_FORMAT[config=Release]=dwarf-with-dsym
DEBUG_INFORMATION_FORMAT[config=Review]=dwarf-with-dsym

ENABLE_HARDENED_RUNTIME=YES
ENABLE_NS_ASSERTIONS[config=CI]=NO
ENABLE_NS_ASSERTIONS[config=Release]=NO
ENABLE_NS_ASSERTIONS[config=Review]=NO
ENABLE_PREVIEWS=YES
ENABLE_STRICT_OBJC_MSGSEND=YES
ENABLE_TESTABILITY[config=Debug]=YES

GCC_C_LANGUAGE_STANDARD=gnu11
GCC_DYNAMIC_NO_PIC[config=Debug]=NO
GCC_NO_COMMON_BLOCKS=YES
GCC_OPTIMIZATION_LEVEL[config=Debug]=0
GCC_PREPROCESSOR_DEFINITIONS[config=Debug]=DEBUG=1 $(inherited)
GCC_WARN_64_TO_32_BIT_CONVERSION=YES
GCC_WARN_ABOUT_RETURN_TYPE=YES_ERROR
GCC_WARN_UNDECLARED_SELECTOR=YES
GCC_WARN_UNINITIALIZED_AUTOS=YES_AGGRESSIVE
GCC_WARN_UNUSED_FUNCTION=YES
GCC_WARN_UNUSED_VARIABLE=YES
GENERATE_INFOPLIST_FILE=YES

INFOPLIST_KEY_LSUIElement=YES
INFOPLIST_KEY_NSHumanReadableCopyright=Copyright © 2023 DuckDuckGo. All rights reserved.

LD_RUNPATH_SEARCH_PATHS[config=CI]=$(inherited) @executable_path/../Frameworks
LD_RUNPATH_SEARCH_PATHS[config=Debug]=$(inherited) @executable_path/../Frameworks
LD_RUNPATH_SEARCH_PATHS[config=Release]=$(inherited) @executable_path/../Frameworks
LD_RUNPATH_SEARCH_PATHS[config=Review]=$(inherited) @executable_path/../Frameworks

MTL_ENABLE_DEBUG_INFO[config=CI]=NO
MTL_ENABLE_DEBUG_INFO[config=Debug]=INCLUDE_SOURCE
MTL_ENABLE_DEBUG_INFO[config=Release]=NO
MTL_ENABLE_DEBUG_INFO[config=Review]=NO
MTL_FAST_MATH=YES

ONLY_ACTIVE_ARCH[config=Debug]=YES
PRODUCT_NAME=$(TARGET_NAME)
SDKROOT=macosx

SKIP_INSTALL=YES

SWIFT_ACTIVE_COMPILATION_CONDITIONS[config=Debug]=DEBUG
SWIFT_COMPILATION_MODE[config=CI]=wholemodule
SWIFT_COMPILATION_MODE[config=Release]=wholemodule
SWIFT_COMPILATION_MODE[config=Review]=wholemodule
SWIFT_EMIT_LOC_STRINGS=YES
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright © 2023 DuckDuckGo. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

#include "NetworkProtectionStartStopVPNBase.xcconfig"

PRODUCT_BUNDLE_IDENTIFIER=com.duckduckgo.macos.browser.network-protection.start-vpn

PROVISIONING_PROFILE_SPECIFIER[config=Debug][sdk=macosx*] =
PROVISIONING_PROFILE_SPECIFIER[config=CI][sdk=macosx*] =
PROVISIONING_PROFILE_SPECIFIER[config=Release][sdk=macosx*] = MacOS Browser NetP - Start VPN
PROVISIONING_PROFILE_SPECIFIER[config=Review][sdk=macosx*] = MacOS Browser NetP - Start VPN
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright © 2023 DuckDuckGo. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

#include "NetworkProtectionStartStopVPNBase.xcconfig"

PRODUCT_BUNDLE_IDENTIFIER=com.duckduckgo.macos.browser.network-protection.stop-vpn

PROVISIONING_PROFILE_SPECIFIER[config=Debug][sdk=macosx*] =
PROVISIONING_PROFILE_SPECIFIER[config=CI][sdk=macosx*] =
PROVISIONING_PROFILE_SPECIFIER[config=Release][sdk=macosx*] = MacOS Browser NetP - Stop VPN
PROVISIONING_PROFILE_SPECIFIER[config=Review][sdk=macosx*] = MacOS Browser NetP - Stop VPN
Loading