Roopesh Chander
d272cc2ab3
iOS: Fix stale tunnel being shown on iPad
...
When the detail view is shown in the iPad and we delete
the current tunnel with a list view swipe rather than the delete button,
the detail view should go blank.
2019-01-23 16:11:55 +05:30
Roopesh Chander
775b65306d
iOS: Fix handling of deletion outside app
2019-01-23 14:48:45 +05:30
Roopesh Chander
b6ad3f39e0
macOS: reload: Iterate in reverse
2019-01-22 20:06:52 +05:30
Jason A. Donenfeld
5ddb81b654
TunnelsManager: refresh status after replacing insides
2019-01-22 15:35:14 +01:00
Jason A. Donenfeld
465b9037ba
TunnelsManager: use new helper
2019-01-22 15:20:57 +01:00
Roopesh Chander
f1cec084da
macOS: Tunnel edit: Handle deletion outside app
2019-01-22 19:30:21 +05:30
Roopesh Chander
f281b932c2
macOS: Tunnel detail: Handle deletion outside app
2019-01-22 19:30:21 +05:30
Roopesh Chander
c477f721fb
macOS: Handle tunnel deletions outside the app
2019-01-22 19:30:21 +05:30
Jason A. Donenfeld
d3db8519b0
macOS: remove mobile network tweeks
2019-01-22 13:11:28 +01:00
Jason A. Donenfeld
b3d9d582bf
MacOS: StatusMenu: Properly localize menu title
...
Partially revert "macOS: StatusMenu: Remove unused menu title"
2019-01-22 11:26:07 +01:00
Roopesh Chander
658c54f59c
macOS: Disable save button if the syntax highlighter detects any errors
2019-01-22 12:57:32 +05:30
Roopesh Chander
d056732e27
macOS: Fix crash when importing using NoTunnelsDetailVC's button
2019-01-22 05:00:39 +05:30
Roopesh Chander
592ea5cfca
macOS: StatusMenu: Remove unused menu title
2019-01-22 04:41:52 +05:30
Roopesh Chander
8b89c29ace
Let there be newlines at the end of all files
2019-01-22 04:40:47 +05:30
Roopesh Chander
4f28737dbf
Fix localization
...
- Use Unicode ellipses
- Use single quotes everywhere
- Use smart quotes
- Minor text change ("You cannot undo this action.")
2019-01-22 04:35:13 +05:30
Roopesh Chander
927ce4c129
macOS: Use Unicode version of '...' for menu text
2019-01-22 04:16:22 +05:30
Roopesh Chander
0f140d2222
macOS: Fix status-related menu items
2019-01-22 04:11:24 +05:30
Roopesh Chander
ca827d2d10
Better os() directives
2019-01-22 04:06:37 +05:30
Jason A. Donenfeld
c0883e37c4
macOS: Tunnel edit: actually clean up error handling
2019-01-21 23:21:47 +01:00
Jason A. Donenfeld
b69dbfda52
XCode: set default signing identity back
2019-01-21 23:17:08 +01:00
Roopesh Chander
808c95567a
macOS: Tunnel edit: Clean up error handling when saving
2019-01-22 03:26:01 +05:30
Jason A. Donenfeld
285c21c84c
macOS: Observe private key changes for new tunnels too
2019-01-21 22:55:25 +01:00
Jason A. Donenfeld
5b6b34d9c6
macOS: Better highlighter default value and move c implementation
2019-01-21 22:22:20 +01:00
Jason A. Donenfeld
015e94d0a1
macOS: Make highlighter themes static
2019-01-21 22:13:14 +01:00
Roopesh Chander
ef54cae788
Avoid using return in single-line closures
2019-01-22 02:01:32 +05:30
Roopesh Chander
1df572218d
macOS: Make color theme use a dict
2019-01-22 02:01:32 +05:30
Roopesh Chander
dd38cbe7ac
macOS: Reset attributes for each syntax highlight cycle
2019-01-22 01:19:16 +05:30
Roopesh Chander
053ea9fc54
macOS: Refactor syntax highlighting
2019-01-22 01:18:07 +05:30
Roopesh Chander
a1608819f9
macOS: Simplify NSColor extension
2019-01-21 19:07:42 +05:30
Jason A. Donenfeld
150fd25569
macOS: show icon for inactive state
2019-01-18 21:17:53 +01:00
Jason A. Donenfeld
6b5b8f3c27
highlighter: do not rely on localized case comparisons
2019-01-18 09:32:49 +01:00
Jason A. Donenfeld
919c46af69
Xcode: move directives to toplevel project when possible
2019-01-18 09:32:49 +01:00
Jason A. Donenfeld
aefd7425cf
global: Fix up copyright headers
2019-01-18 09:32:49 +01:00
Roopesh Chander
02dbb4f94d
TunnelsManager: Remove unused variable
2019-01-18 09:32:49 +01:00
Roopesh Chander
9dc6d68b80
macOS: Tunnel detail: Better alignment for bottom controls
2019-01-18 09:32:49 +01:00
Roopesh Chander
5c4b43bcaf
macOS: Rafactor by introducing a TunnelsTracker
...
The TunnelTracker is now the central place to track what the current
tunnel is, and for keeping track of the tunnel list.
2019-01-18 01:34:24 +05:30
Roopesh Chander
a61a043537
macOS: Fix autolayout errors on Add Empty Tunnel
2019-01-17 14:20:09 +05:30
Roopesh Chander
1e25c4f554
macOS: Update copyright year
2019-01-17 14:08:11 +05:30
Roopesh Chander
b345005645
macOS: Make sure app is active when showing the About dialog
2019-01-17 14:05:23 +05:30
Roopesh Chander
50f6ff311c
macOS: Application: Fix comment
2019-01-17 14:03:59 +05:30
Roopesh Chander
19a738b509
macOS: Manage tunnels: Make keyboard shortcuts discoverable
2019-01-17 02:43:24 +05:30
Roopesh Chander
3e850963fc
macOS: Manage tunnels: Keyboard shortcuts
2019-01-17 01:44:50 +05:30
Roopesh Chander
4c8c397fac
macOS: Tunnel edit: Rename action handling methods
2019-01-17 01:28:57 +05:30
Roopesh Chander
8530ce1545
macOS: Tunnel detail: Rename action handling methods
2019-01-17 00:41:32 +05:30
Roopesh Chander
e116365ea4
macOS: Tunnels list: Rename action handling methods
2019-01-17 00:38:44 +05:30
Roopesh Chander
e7b40cf993
macOS: Support window management keyboard shortcuts
2019-01-16 18:01:59 +05:30
Jason A. Donenfeld
fe1840b028
macOS: Networks should show allowedIPs and disappear when inactive
2019-01-15 22:35:30 +01:00
Roopesh Chander
670673cccc
macOS: Use tunnelOverheadBytes for automatic MTU in macOS
2019-01-16 01:51:56 +05:30
Roopesh Chander
b6d159ac96
macOS: Different status bar icon looks for different states
...
- Looks dimmed when no tunnel is active
- Looks normal when a tunnel is active
- Animates when a tunnel is activating
2019-01-16 01:26:10 +05:30
Roopesh Chander
02814ba546
macOS: Add About dialog
2019-01-14 14:52:37 +05:30
Roopesh Chander
e1d329707a
macOS: Add app icon
2019-01-14 14:52:37 +05:30
Roopesh Chander
93b9b0442b
macOS: Edit view: Auto hide editor scrollbars
2019-01-14 14:52:37 +05:30
Roopesh Chander
ea053c2701
macOS: To set default size, change frame instead of min size
2019-01-14 14:52:37 +05:30
Roopesh Chander
bec0cb1e75
macOS: Fix editor scrolling
2019-01-14 14:52:37 +05:30
Eric Kuck
1c3cf52c7d
Default view controller sizes
2019-01-14 14:52:36 +05:30
Jason A. Donenfeld
40cabd6e66
ConfTextView: enable undo and disable junk
...
Double space stil makes a period, unfortunately.
2019-01-14 14:52:36 +05:30
Eric Kuck
ab48f7bed8
Cut/copy/paste now work
2019-01-14 14:52:36 +05:30
Jason A. Donenfeld
171989ec56
Resync highlighter
2019-01-14 14:52:36 +05:30
Eric Kuck
2617eab35e
Syntax highlighter color updates
2019-01-14 14:52:36 +05:30
Roopesh Chander
1e848c5ef8
macOS: Support for on-demand activation
2019-01-14 14:52:36 +05:30
Roopesh Chander
59f8cc792b
macOS: Quit menu item
2019-01-14 14:52:36 +05:30
Roopesh Chander
d681e70ce5
macOS: Get the app back in focus after macOS' VPN prompt
2019-01-14 14:52:35 +05:30
Roopesh Chander
f68648f874
macOS: Fix 'Network' entry in menu
2019-01-14 14:52:35 +05:30
Roopesh Chander
341f15678f
macOS: Ensure a tunnel is selected when '-' is clicked
2019-01-14 14:52:35 +05:30
Roopesh Chander
874057fb9e
macOS: Handle errors from TunnelsManager.create()
2019-01-14 14:52:35 +05:30
Roopesh Chander
2724a99733
iOS: Export log: Should present error from the main thread
2019-01-14 14:52:35 +05:30
Roopesh Chander
5cd3859b47
macOS: Localize export sheets
2019-01-14 14:52:35 +05:30
Roopesh Chander
3969cc6ee3
macOS: Import sheet button should say 'Import'
2019-01-14 14:52:35 +05:30
Roopesh Chander
0b8d18b842
macOS: Tunnel detail: Ensure long keys fit
2019-01-14 14:52:35 +05:30
Roopesh Chander
718c316933
macOS: Manage tunnels: Add empty tunnel pulldown menu implementation
2019-01-14 14:52:35 +05:30
Roopesh Chander
14decf0146
macOS: Update detail view after editing
2019-01-14 14:52:35 +05:30
Roopesh Chander
e428708631
macOS: Edit view: Update public key as you edit
2019-01-14 14:52:35 +05:30
Roopesh Chander
5802c74245
Highlighter: Report each key type separately
2019-01-14 14:52:34 +05:30
Roopesh Chander
728b3ef61f
Parsing: Always error on unrecognized keys
2019-01-14 14:52:34 +05:30
Roopesh Chander
bc9f050d7f
Parsing: Error on duplicate entries
2019-01-14 14:52:34 +05:30
Roopesh Chander
3830499ac1
macOS: Edit view: Validate and save
2019-01-14 14:52:34 +05:30
Roopesh Chander
309d06217f
macOS: Refactor config file parsing
...
- To report more fine grained errors
- To make the parse errors conform to WireGuardAppError
2019-01-14 14:52:34 +05:30
Eric Kuck
e0aaf0661f
Syntax highlighter color updates
2019-01-14 14:52:34 +05:30
Jason A. Donenfeld
1c7ae7a334
Highlighter: use original file from contrib/examples/highlighter
...
This makes it easier to track updates and make diffs. Also, disable
things we don't support in the NetworkExtension app.
2019-01-14 14:52:34 +05:30
Eric Kuck
3795a06e92
Added syntax highlighting conf textview
2019-01-14 14:52:34 +05:30
Roopesh Chander
b5cfa60c8a
macOS: Tunnel edit view
2019-01-14 14:52:33 +05:30
Roopesh Chander
b35ebd8a67
macOS: Rename *Cell to *Row
2019-01-14 14:52:33 +05:30
Roopesh Chander
ab077422d8
macOS: On adding the first tunnel, select it
2019-01-14 14:52:33 +05:30
Roopesh Chander
6b587b4a11
macOS: Consolidate presenting of the import panel
2019-01-14 14:52:33 +05:30
Roopesh Chander
4b4fa6519a
macOS: Manage tunnels: Handle the case when there are no tunnels
2019-01-14 14:52:33 +05:30
Roopesh Chander
eddfee90f1
macOS: Present tunnel activation errors from the window when possible
2019-01-14 14:52:33 +05:30
Roopesh Chander
c14e156926
macOS: Present errors as a sheet when applicable
2019-01-14 14:52:32 +05:30
Roopesh Chander
ca5e90a70e
macOS: Manage tunnels: Remove tunnel
2019-01-14 14:52:32 +05:30
Roopesh Chander
78c11a1f14
macOS: Manage tunnels: Update tunnels list on changes
2019-01-14 14:52:32 +05:30
Roopesh Chander
37d84f9f3b
macOS: Manage tunnels: Export log pulldown menu implementation
2019-01-14 14:52:32 +05:30
Roopesh Chander
fde0d67dda
macOS: Manage tunnels: Export tunnels pulldown menu implementation
2019-01-14 14:52:32 +05:30
Roopesh Chander
ae991167f2
macOS: Xcode: Add ablity to save files
2019-01-14 14:52:32 +05:30
Roopesh Chander
fda8a5d83b
macOS: Manage tunnels: Select first tunnel on showing the window
2019-01-14 14:52:32 +05:30
Roopesh Chander
14fa8530d7
macOS: Manage tunnels: Set window title
2019-01-14 14:52:32 +05:30
Roopesh Chander
59e5247e0f
macOS: Manage tunnels: Import pulldown menu implementation
2019-01-14 14:52:32 +05:30
Roopesh Chander
005a2c37c2
macOS: Manage tunnels: Localize pulldown menu items
2019-01-14 14:52:32 +05:30
Roopesh Chander
79feef3d1d
macOS: Show open panel as sheet on manage window
2019-01-14 14:52:32 +05:30
Roopesh Chander
8a08b9cc2c
macOS: Manage tunnels: Adjust spacings
2019-01-14 14:52:32 +05:30
Roopesh Chander
f26f4b5e7d
macOS: Manage tunnels: Add a box around the detail view
2019-01-14 14:52:31 +05:30
Roopesh Chander
5ed147aa3e
macOS: Manage tunnels: Show status checkbox and edit button
2019-01-14 14:52:31 +05:30
Roopesh Chander
9535a0c585
macOS: s/macMenuStatus/macStatus/g;
2019-01-14 14:52:31 +05:30
Roopesh Chander
50ed363ef2
macOS: Manage tunnels: Tunnel detail view
2019-01-14 14:52:31 +05:30
Roopesh Chander
5bd9b6f9d4
macOS: Manage tunnels: Add a filler button
2019-01-14 14:52:31 +05:30
Roopesh Chander
301dc81770
macOS: Manage tunnels: Fix list view look
2019-01-14 14:52:31 +05:30
Roopesh Chander
3bfcfe61a6
macOS: Manage tunnels: Add buttons to the bottom of the list view
2019-01-14 14:52:30 +05:30
Roopesh Chander
8d39a2725c
macOS: Manage tunnels window: Tunnels list
2019-01-14 14:52:30 +05:30
Roopesh Chander
8008498ffc
macOS: Capitalize All Rights Reserved
2019-01-14 14:52:30 +05:30
Roopesh Chander
b024887052
macOS: Show status as disabled menu items
2019-01-14 14:52:30 +05:30
Roopesh Chander
e61da844bd
macOS: Ability to activate / deactivate a tunnel
2019-01-14 14:52:30 +05:30
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
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
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
cfdb4ec233
Attempt to strongly recommend things
2018-12-22 01:55:42 +01:00
Jason A. Donenfeld
30cf9a1d1d
Move model helpers to model directory
2018-12-22 01:36:42 +01:00
Eric Kuck
0d841609f6
Fixes mock tunnels
2018-12-21 18:35:01 -06:00
Jason A. Donenfeld
bfb0eb5dae
Do not set copyable back to true on reuse
2018-12-22 01:31:59 +01:00
Jason A. Donenfeld
e1c3d9b57a
Move name from interface to tunnel
2018-12-22 00:28:18 +01:00
Jason A. Donenfeld
41af6d863e
Fix paren typo
...
"I am very anti-paren." --Eric
2018-12-21 23:45:20 +01:00
Jason A. Donenfeld
775e174967
Nuke trailing spaces
2018-12-21 23:34:56 +01:00
Eric Kuck
c62c56da13
providerConfiguration is now a WgQuickConfig
2018-12-21 16:32:08 -06:00
Jason A. Donenfeld
137d453c0d
Do not require NetworkExtension to know its own name
2018-12-21 22:05:47 +01:00
Eric Kuck
d7a27426e9
All migration stuff moved to one gross file
2018-12-21 12:51:14 -06:00
Jason A. Donenfeld
d540c1811c
Simplify versioning of stored data
2018-12-21 18:58:06 +01:00
Jason A. Donenfeld
df698658d2
Get rid of superflous isActivateOnDemandEnabled key
2018-12-21 18:50:32 +01:00
Eric Kuck
f39893685f
Updated NETunnelProvider save format
2018-12-21 16:42:16 +01:00
Jason A. Donenfeld
cab80f8fc0
NE: simplify logic
2018-12-21 15:56:03 +01:00
Roopesh Chander
b02754a7bd
NE: Simplify DNS resolution
2018-12-21 19:24:22 +05:30
Roopesh Chander
6b48cb3095
Localize all the things
2018-12-21 18:34:09 +05:30
Roopesh Chander
01ea8f5f30
Tunnel detail: iPad: Handle deletion of tunnel correctly
2018-12-21 18:02:18 +05:30
Roopesh Chander
939e96e5c1
NE: Update listen port only when first interface changes
...
When handling network path changes, change the listen port
only when the first interface has changed.
2018-12-21 17:32:44 +05:30
Roopesh Chander
115e057d96
NE: Change handling of bad domain names and Activate On Demand
...
The solution implemented in commit b8c331c
causes the tunnel to
remain in 'Activating' state, without the ability to cancel that.
So, in this commit, instead of retrying DNS silently on
Activated-On-Demand tunnels, we fail the startTunnel() silently.
To summarize, if activate-on-demand is on:
- If started from the WireGuard app, show error using lastErrorFile
mechanism, suggesting a way to turn off Activate On Demand
- If not started from WireGuard app, don't call displayMessage()
(don't show error to user) and silently fail starting the tunnel
2018-12-21 15:52:47 +05:30
Eric Kuck
7ce5cb9d58
Added missing param in MockTunnels
2018-12-20 13:51:44 -06:00
Eric Kuck
9c7f27f19f
Enabled more swiftlint rules
2018-12-20 11:22:37 -06:00
Eric Kuck
cba41de73a
Added a String->[String] helper
2018-12-20 10:46:26 -06:00
Roopesh Chander
f141cf83a6
TunnelErrors: Remove unused error
2018-12-20 19:44:57 +05:30
Roopesh Chander
d82aedebbd
Tunnel edit: init() need not take a tunnelConfiguration argument
2018-12-19 18:35:53 +05:30
Roopesh Chander
d36b764e20
NE: Log whether tunnel was activated from the app or not
2018-12-19 18:35:53 +05:30
Roopesh Chander
8f46713b0d
Remove non-helpful comments
2018-12-19 18:35:53 +05:30
Roopesh Chander
61c3928459
Tunnel edit: Fix comment
2018-12-19 18:35:53 +05:30
Roopesh Chander
4c1c1f013c
TunnelsManager: If only Activate On Demand has changed, don't restart tunnel
2018-12-19 18:35:53 +05:30
Roopesh Chander
b8c331c72d
NE: Handle bad domain names and Activate On Demand
...
This combination causes iOS to keep trying to bring up the tunnel,
leading to a lot of displayMessage() alerts.
In this fix, if we get a DNS resolution error in an Activate On Demand
enabled tunnel, we silently retry 9 times (with a 4-second delay before
each retry) and then show the displayMessage() alert.
2018-12-19 15:38:00 +05:30
Roopesh Chander
82ca9f7c5a
NE: No need for two startTunnel() methods
2018-12-19 13:10:42 +05:30
Roopesh Chander
fe69fe57e4
TunnelsManager: Handle waiting on a stale tunnel
...
If we have a stale tunnel on which we don't get status updates we rely
on a timer to update the status (see commit 34a7e5b
). Previously, if
the user tries to activate another tunnel, that resulted in both tunnels
waiting indefinitely. This commit fixes that.
2018-12-19 12:48:10 +05:30
Roopesh Chander
efc593f7da
Remove buttons and text from LaunchScreen.storyboard
...
With state restoration, we're not guaranteed that the
list view will get shown immediately after the launch screen.
So, generalize the launch screen as much as possible.
2018-12-18 23:00:27 +05:30
Roopesh Chander
332e684ad0
s/Observervation/Observation/g;
2018-12-18 23:00:27 +05:30
Roopesh Chander
bc253b1aa8
Tunnel detail: Update restorationIdentifier when tunnel name changes
2018-12-18 19:27:31 +05:30
Roopesh Chander
b1bba11785
TunnelsManager: Add periods to end the system error messages
...
Because they can be part of a multi-sentence message when displayed
in the alert.
2018-12-18 15:47:20 +05:30
Roopesh Chander
92903e5b63
Error handling: Add info on the underlying system error to error alerts
2018-12-17 19:04:17 +05:30
Jason A. Donenfeld
321358271d
Version bump
...
This is our first release to the real app store.
2018-12-17 14:08:17 +01:00
Eric Kuck
d1825d6b6c
Got TunnelsManager back under the max file length by splitting out NEVPNStatus+CustomStringConvertible
2018-12-16 23:51:25 -06:00
Eric Kuck
92781a6eb9
Potential fix for insertRowAtIndexPath crash
2018-12-16 21:11:33 -06:00
Jason A. Donenfeld
395486b950
Improve mock tunnels generation
2018-12-16 01:51:14 +01:00