Roopesh Chander
c1a5fb7ddd
macOS: Ability to import tunnels from file
...
For now, the open panel shows as a separate window.
Later, we'll open it as a sheet on the 'Manage tunnels' window.
2019-01-14 14:52:30 +05:30
Roopesh Chander
c8b3d5a8ed
iOS: Refactor importFromFile
...
So that it can be used in macOS as well
2019-01-14 14:52:29 +05:30
Roopesh Chander
3d97b59a4f
macOS: Add tunnel management menu items
2019-01-14 14:52:29 +05:30
Roopesh Chander
93d7bfa12c
macOS: Specify app is an 'agent'
...
This hides the app from the Dock, while still enabling the app
to come to the foreground if required.
2019-01-14 14:52:29 +05:30
Roopesh Chander
f5e5fa4d5e
macOS: Create status bar with tunnel names
2019-01-14 14:52:29 +05:30
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