Commit Graph

712 Commits

Author SHA1 Message Date
Roopesh Chander 0355d55937 macOS: Add status bar icon 2019-01-14 14:52:29 +05:30
Roopesh Chander ee4eae0ade macOS: Remove MainMenu.xib
When there's no xib, we should explicitly set the app delegate, so we
override NSApplication and set the app delegate in NSApplication.shared
2019-01-14 14:52:29 +05:30
Roopesh Chander 1e543f7f8c macOS: NE: Add entitlements for making network connections 2019-01-14 14:52:28 +05:30
Roopesh Chander c41be2a29d Make app groups work on both iOS and macOS 2019-01-14 14:52:28 +05:30
Roopesh Chander c8a8d4ba1e macOS: Add Network Extensions capability to app 2019-01-14 14:52:28 +05:30
Roopesh Chander 2632ead1bf iOS: Fix WireGuardNetworkExtensioniOS target
- Rename WireGuardNetworkExtension.entitlements to WireGuardNetworkExtension_iOS.entitlements
2019-01-14 14:52:28 +05:30
Roopesh Chander 10ff41cc64 iOS: Fix WireGuardiOS target
- Move Info.plist and entitlements to WireGuard/UI/iOS/
2019-01-14 14:52:28 +05:30
Roopesh Chander 3ea00e1f41 macOS: Fix WireGuardmacOS target
- Include non-UI code from iOS while building
- Add run scripts
- Move files to WireGuard/UI/macOS
- Set Swift-Obj-C bridging header
2019-01-14 14:52:28 +05:30
Roopesh Chander 966883ea05 macOS: Fix WireGuardNetworkExtensionmacOS target
- Build using common network extension code
- Add run scripts
- Set Info.plist to common network extension's Info.plist
- Move entitlements to common network extension folder
- Remove Xcode-generated macOS network extension code
- Set Swift-Obj-C bridging header
2019-01-14 14:52:27 +05:30
Roopesh Chander 548d6bda72 macOS: WireGuardNetworkExtensionmacOS depends on WireGuardGoBridgemacOS 2019-01-14 14:52:27 +05:30
Roopesh Chander fae6bc6bdf macOS: Add WireGuardNetworkExtensionmacOS target 2019-01-14 14:52:27 +05:30
Roopesh Chander 46b26a146c macOS: Add WireGuardmacOS target 2019-01-14 14:52:27 +05:30
Roopesh Chander 1fa38101c5 Xcode: Add WireGuardGoBridgemacOS target 2019-01-14 14:52:27 +05:30
Roopesh Chander ad502331f0 Move iOS images and storyboard into UI/iOS/ folder 2019-01-14 14:52:27 +05:30
Roopesh Chander 6ec9e94a39 Xcode: Rename iOS targets to include an 'iOS' suffix
But keep the PRODUCT_NAME as 'WireGuard', not 'WireGuardiOS'.
2019-01-14 14:52:26 +05:30
Roopesh Chander 8715b66caa xcconfig: Make app id platform-specific 2019-01-14 14:52:26 +05:30
Roopesh Chander 1d5b04c822 On-Demand: Add support for macOS-specific values 2019-01-14 14:52:26 +05:30
Roopesh Chander 7a85358998 wireguard-go-bridge: Make CFLAGS_PREFIX work for macOS as well
For macOS, Xcode doesn't set DEPLOYMENT_TARGET_CLANG_FLAG_PREFIX,
but does set DEPLOYMENT_TARGET_CLANG_FLAG_NAME.
2019-01-14 14:52:26 +05:30
Roopesh Chander 230713a6fc import Foundation instead of UIKit wherever possible 2019-01-14 14:52:26 +05:30
Jason A. Donenfeld 809c64b219 Version bump 2019-01-08 02:13:44 +01:00
Jason A. Donenfeld a266171157 PacketTunnelSettingsGenerator: use 127.0.0.1 as dummy address
It turns out that using 0.0.0.0 somehow conflicts with DNS lookups when
CLAT is in use.
2019-01-08 01:51:12 +01:00
Jason A. Donenfeld 83cc642b34 Avoid dynamic MTU calculations for now 2019-01-07 19:23:39 -05:00
Jason A. Donenfeld 7bf3d7b09d Update copyright 2019-01-07 19:23:39 -05:00
Jason A. Donenfeld 25676c461f Version bump 2018-12-28 19:43:11 +01:00
Jason A. Donenfeld 013d603109 Rework DNS and routes in network extension
The DNS resolver prior had useless comments, awful nesting, converted
bytes into strings and back into bytes, and generally made no sense.
That's been rewritten now.

But more fundumentally, this commit made the DNS resolver actually
accomplish its objective, by passing AI_ALL to it. It turns out, though,
that the Go library isn't actually using GAI in the way we need for
parsing IP addresses, so we actually need to do another round, this time
with hints flag as zero, so that we get the DNS64 address.

Additionally, since we're now binding sockets to interfaces, we can
entirely remove the excludedRoutes logic.
2018-12-28 19:38:03 +01:00
Jason A. Donenfeld 1de0f5746c Version bump
A Christmas Special, for TestFlight, and possibly for release if things
go well there.
2018-12-26 01:41:22 +01:00
Jason A. Donenfeld 0cc55db4cb NetworkExtension: rescope socket instead of tearing down socket 2018-12-26 01:17:55 +01:00
Roopesh Chander a380f17974 minizip: Remove zip encryption code
We can now remove -DNOCRYPT cflag while compiling
2018-12-25 12:48:04 +05:30
Roopesh Chander 00c07377ed Tunnel edit: Fix crash
This fixes a crash that happens when you:

 1. Scroll to the end of the Edit screen
 2. Delete a peer
 3. Toggle the Activate On Demand switch
2018-12-24 13:01:21 +05:30
Eric Kuck 00a7eabed2 SwitchCell nits 2018-12-22 15:32:29 -06:00
Eric Kuck 89fd494291 Fix typo for simulator builds 2018-12-22 14:32:39 -06:00
Roopesh Chander 3ca5712ac1 Remove more comments 2018-12-23 00:31:44 +05:30
Jason A. Donenfeld b68b3785be Rely on availability of fd only after setting network settings 2018-12-22 18:29:54 +01:00
Jason A. Donenfeld 935b8a6866 Bump to latest wireguard-go release 2018-12-22 17:38:25 +01:00
Jason A. Donenfeld a60b2a37d0 Retain aggressive socket reestablishment for now
This can be reverted once we've done more testing.
2018-12-22 15:45:09 +01:00
Roopesh Chander 2e37d511db Don't set username on NETunnelProviderProtocol
The username corresponds to the Account field in iOS system VPN UI,
but if we don't set it, the field is not shown, so setting it isn't
really required.
2018-12-22 16:13:31 +05:30
Roopesh Chander 09a96ec2a8 TunnelErrors: Add alert text for PacketTunnelProviderError 2018-12-22 16:05:43 +05:30
Roopesh Chander baf99733f5 TunnelStatus: Absorb NEVPNStatus+CustomStringConvertible 2018-12-22 15:46:28 +05:30
Jason A. Donenfeld 08daec71aa Also refresh status 2018-12-22 07:07:53 +01:00
Jason A. Donenfeld 470da3ffcc Reassign tunnelProvider if it changes from outside the app 2018-12-22 06:56:12 +01:00
Eric Kuck 8fb8d9a9d2 All models now Equatable 2018-12-21 22:57:17 -06:00
Jason A. Donenfeld 053c655fc0 Clean up trailing whitespace 2018-12-22 05:30:35 +01:00
Jason A. Donenfeld 27cd93a898 Do not crash if we can't get socket.fileDescriptor 2018-12-22 05:13:04 +01:00
Eric Kuck 3269c54718 Removing a tunnel from iOS's settings is now immediately reflected in app 2018-12-21 21:59:43 -06:00
Jason A. Donenfeld 0b2d91a7f4 Localize remaining strings in network extension 2018-12-22 03:42:01 +01:00
Eric Kuck 4277887146 RTL support 2018-12-21 20:37:22 -06:00
Eric Kuck 1124d4d359 Strongly recommended now appears as placeholder for DNS when needed 2018-12-21 19:52:51 -06:00
Jason A. Donenfeld d0cc2a8afd Combine double log invocations 2018-12-22 02:21:07 +01:00
Jason A. Donenfeld 2cfba533a5 Bump go bridge 2018-12-22 01:58:02 +01:00
Jason A. Donenfeld cfdb4ec233 Attempt to strongly recommend things 2018-12-22 01:55:42 +01:00