Jason A. Donenfeld
38a6ba7091
KeyEncoding: rename file to match extension filename style
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-08 16:15:10 +01:00
Jason A. Donenfeld
407b367c8d
Key: we already do len checking in C
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-08 14:39:59 +01:00
Jason A. Donenfeld
a231410c52
Info.plist: Add missing key types
...
I worry that LSMinimumSystemVersion in the extension's plist might be
problematic, since that same plist runs on macOS and iOS. We _might_
need to bifurcate.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-08 03:47:36 +01:00
Jason A. Donenfeld
f518c00722
Version bump
...
First Mac App Store release if all goes well.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-08 03:28:28 +01:00
Jason A. Donenfeld
0539929d0c
Key: Use C implementation instead
...
Swift compiles so slowly and it's unclear all of the insane type punning
was even correct.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-08 03:23:15 +01:00
Jason A. Donenfeld
05547861b6
Key: Constant time encoding
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-08 03:23:15 +01:00
Jason A. Donenfeld
631e9bb70d
wireguard-go: Bump
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-07 21:09:53 +01:00
Jason A. Donenfeld
446c3e3698
Enable hardened runtime
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-07 19:17:27 +01:00
Jason A. Donenfeld
02e9172940
NetworkExtensionMac: Don't forget to link to the networkextension framework
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-07 19:13:43 +01:00
Jason A. Donenfeld
8676f3a663
StatusItemController: Show animation when deactivating
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-07 18:19:15 +01:00
Jason A. Donenfeld
394a0cbeb0
PacketTunnelProvider: proper fix for 32073323
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-07 15:01:37 +01:00
Jason A. Donenfeld
0cddb562fc
macOS: prohibit multiple instances of app
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-06 06:20:23 +01:00
Jason A. Donenfeld
bebcaa012b
PrivateDataConfirmation: prompt with touch/face/pin/password ID for viewing/exporting keys
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-06 06:20:23 +01:00
Jason A. Donenfeld
ed8dc516dc
LegacyConfig: Remove and support plaintext for .mobileconfig
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-06 06:20:23 +01:00
Jason A. Donenfeld
8c3557a907
Keychain: store configurations in keychain instead of providerConfig
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-06 06:20:23 +01:00
Jason A. Donenfeld
a26d620f11
TunnelsManager: cache access to configuration object
...
Supposedly we never change it once per object, so we do the objective C
hack of adding it cached to the extension. This prevents 1000s of calls
to the keychain and improves the speed of imports.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-06 01:52:31 +01:00
Jason A. Donenfeld
30a73a75fd
Project: Remove OS name from appex file name
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-06 01:52:31 +01:00
Jason A. Donenfeld
71d26b4122
TunnelsManager: Wait for 6 seconds on deactivation instead of 5
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-06 01:52:31 +01:00
Jason A. Donenfeld
f7a31ca7bb
x25519: demand RNG is successful
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-05 00:49:48 +01:00
Jason A. Donenfeld
3c61db3a21
Config: Add template for macOS key
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-03 13:47:42 +01:00
Jason A. Donenfeld
ca61e09536
wireguard-go: bump
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-03 00:20:24 +01:00
Jason A. Donenfeld
0c5739db82
Strings: fix backwards clock wording
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-02-01 14:49:38 +01:00
Jason A. Donenfeld
2fe9f83ba5
macOS: show runtime configuration in tunnel manager
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-24 01:37:57 +01:00
Jason A. Donenfeld
22625e8cc4
Tunnel: support getting runtime configuration
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-24 01:37:57 +01:00
Jason A. Donenfeld
ab3cbee6a2
wireguard-go-bridge: allow querying internal settings
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-24 01:22:04 +01:00
Jason A. Donenfeld
fadef52e1b
wireguard-go-bridge: fix standalone build
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-23 21:59:51 +01:00
Jason A. Donenfeld
704de3b26c
TunnelsManager: refresh status after replacing insides
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-22 15:35:14 +01:00
Jason A. Donenfeld
d05b735703
TunnelsManager: use new helper
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-22 15:20:57 +01:00
Jason A. Donenfeld
668c4a475c
macOS: remove mobile network tweeks
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-22 13:11:28 +01:00
Jason A. Donenfeld
557b093232
MacOS: StatusMenu: Properly localize menu title
...
Partially revert "macOS: StatusMenu: Remove unused menu title"
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-22 11:26:07 +01:00
Jason A. Donenfeld
e2b068af1a
macOS: Tunnel edit: actually clean up error handling
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-21 23:21:47 +01:00
Jason A. Donenfeld
4e2f4e7124
XCode: set default signing identity back
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-21 23:17:08 +01:00
Jason A. Donenfeld
0b2a4c2811
macOS: Observe private key changes for new tunnels too
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-21 22:55:25 +01:00
Jason A. Donenfeld
e1198b6e08
macOS: Better highlighter default value and move c implementation
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-21 22:22:20 +01:00
Jason A. Donenfeld
d7a88300f6
macOS: Make highlighter themes static
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-21 22:13:14 +01:00
Jason A. Donenfeld
5aa0f1a25f
macOS: show icon for inactive state
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-18 21:17:53 +01:00
Jason A. Donenfeld
602639ee25
highlighter: do not rely on localized case comparisons
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-18 09:32:49 +01:00
Jason A. Donenfeld
d06887d435
Xcode: move directives to toplevel project when possible
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-18 09:32:49 +01:00
Jason A. Donenfeld
470e4e7f7f
global: Fix up copyright headers
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-18 09:32:49 +01:00
Jason A. Donenfeld
811714e21a
macOS: Networks should show allowedIPs and disappear when inactive
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-15 22:35:30 +01:00
Jason A. Donenfeld and Roopesh Chander
470532d146
ConfTextView: enable undo and disable junk
...
Double space stil makes a period, unfortunately.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-14 14:52:36 +05:30
Jason A. Donenfeld and Roopesh Chander
ba731e0099
Resync highlighter
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-14 14:52:36 +05:30
Jason A. Donenfeld and Roopesh Chander
64fe415879
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.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-14 14:52:34 +05:30
Jason A. Donenfeld
5f15b664fc
Version bump
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-08 02:13:44 +01:00
Jason A. Donenfeld
49f287439e
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.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-08 01:51:12 +01:00
Jason A. Donenfeld
150cd119c7
Avoid dynamic MTU calculations for now
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-07 19:23:39 -05:00
Jason A. Donenfeld
e2384e143c
Update copyright
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2019-01-07 19:23:39 -05:00
Jason A. Donenfeld
52c59704de
Version bump
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-28 19:43:11 +01:00
Jason A. Donenfeld
0b828f9b96
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.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-28 19:38:03 +01:00
Jason A. Donenfeld
51a3e5c0b4
Version bump
...
A Christmas Special, for TestFlight, and possibly for release if things
go well there.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-26 01:41:22 +01:00
Jason A. Donenfeld
c9c343cde2
NetworkExtension: rescope socket instead of tearing down socket
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-26 01:17:55 +01:00
Jason A. Donenfeld
129f94dccd
Rely on availability of fd only after setting network settings
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 18:29:54 +01:00
Jason A. Donenfeld
aaee3c5cbe
Bump to latest wireguard-go release
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 17:38:25 +01:00
Jason A. Donenfeld
dddbf3b370
Retain aggressive socket reestablishment for now
...
This can be reverted once we've done more testing.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 15:45:09 +01:00
Jason A. Donenfeld
56ad5f74e9
Also refresh status
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 07:07:53 +01:00
Jason A. Donenfeld
49bf55021f
Reassign tunnelProvider if it changes from outside the app
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 06:56:12 +01:00
Jason A. Donenfeld
d36e7e27ff
Clean up trailing whitespace
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 05:30:35 +01:00
Jason A. Donenfeld
b0b6866c51
Do not crash if we can't get socket.fileDescriptor
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 05:13:04 +01:00
Jason A. Donenfeld
8365adf435
Localize remaining strings in network extension
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 03:42:01 +01:00
Jason A. Donenfeld
f2000aa1da
Combine double log invocations
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 02:21:07 +01:00
Jason A. Donenfeld
82de3e3090
Bump go bridge
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 01:58:02 +01:00
Jason A. Donenfeld
41a4c6362a
Attempt to strongly recommend things
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 01:55:42 +01:00
Jason A. Donenfeld
aede9f6e45
Move model helpers to model directory
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 01:36:42 +01:00
Jason A. Donenfeld
c1c5f7a7c7
Do not set copyable back to true on reuse
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 01:31:59 +01:00
Jason A. Donenfeld
4ed646973e
Move name from interface to tunnel
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-22 00:28:18 +01:00
Jason A. Donenfeld
9295895e3a
Fix paren typo
...
"I am very anti-paren." --Eric
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-21 23:45:20 +01:00
Jason A. Donenfeld
7b9d4cb9e3
Nuke trailing spaces
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-21 23:34:56 +01:00
Jason A. Donenfeld
accf60b82f
Do not require NetworkExtension to know its own name
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-21 22:05:47 +01:00
Jason A. Donenfeld
78b38a4eba
Simplify versioning of stored data
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-21 18:58:06 +01:00
Jason A. Donenfeld
ec031b1f19
Get rid of superflous isActivateOnDemandEnabled key
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-21 18:50:32 +01:00
Jason A. Donenfeld
38445114e0
NE: simplify logic
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-21 15:56:03 +01:00
Jason A. Donenfeld
b23578dc7c
wireguard-go-bridge: SDK_DIR is not defined for simulator
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-20 20:47:49 +01:00
Jason A. Donenfeld
9556901a33
Version bump
...
This is our first release to the real app store.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-17 14:08:17 +01:00
Jason A. Donenfeld
d775682ef4
More proper way to get sdk root directory
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-17 00:23:11 +01:00
Jason A. Donenfeld
ae339a000e
Further generalize makefile
...
This should allow us to eventually build on macOS
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-16 03:51:43 +01:00
Jason A. Donenfeld
a80cf6a0dc
Bump the go runtime
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-16 01:55:04 +01:00
Jason A. Donenfeld
727992f5d2
Improve mock tunnels generation
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-16 01:51:14 +01:00
Jason A. Donenfeld
b3f5635f4e
Nuke duplicate file
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-15 06:21:49 +01:00
Jason A. Donenfeld
946524aa8b
Bump the go runtime
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-15 06:14:05 +01:00
Jason A. Donenfeld
1450538846
Version bump
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-15 05:08:31 +01:00
Jason A. Donenfeld
1e9c806614
Fix confusing indentation
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-15 04:42:46 +01:00
Jason A. Donenfeld
83c95dc26d
Prettier log time format
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-15 00:08:54 +01:00
Jason A. Donenfeld
e0bc5e12b3
Simplify logging tags
...
This was roop's initial idea, and it turns out to be the better one, now
that we can pass cstrings more easily.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-14 22:53:42 +01:00
Jason A. Donenfeld
73be704b01
Deduplicate functions
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-14 00:01:50 +01:00
Jason A. Donenfeld
2699c613bd
Simplify filemanager extension
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-13 23:25:18 +01:00
Jason A. Donenfeld
74e983ea6f
Can't -> cannot
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-13 23:17:05 +01:00
Jason A. Donenfeld
77a26e4cd2
Localize swiftlint
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-13 20:06:37 +01:00
Jason A. Donenfeld
7323a00612
Avoid escaping heap allocation
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-13 19:43:12 +01:00
Jason A. Donenfeld
a6912ca7a2
Tidy up str to gostr conversion
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-13 19:36:51 +01:00
Jason A. Donenfeld
154774ada2
Simplify C strings
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-13 19:08:38 +01:00
Jason A. Donenfeld
642b627d27
Rewrite Logger
...
This reverts all of Roop's changes to the C code, and then rewrites the
logger logic to be cleaner.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-13 18:06:37 +01:00
Jason A. Donenfeld
e11224f394
Commit untested ringlogger code
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-13 06:14:24 +01:00
Jason A. Donenfeld
5971c197bd
Remove useless whitespace
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-13 05:26:04 +01:00
Jason A. Donenfeld
ecbab37e0e
Settings: better padding calculation
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-13 05:22:13 +01:00
Jason A. Donenfeld
034a1a12f7
Supply missing pieces of path change
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-12 01:11:43 +01:00
Jason A. Donenfeld
63e67a5e13
Revert pure-go network monitoring and add wgSetConfig
...
This reverts commit 99f0e457c34480f25582d7b4ed509404712c648c and adds a
function too.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-11 22:25:54 +01:00
Jason A. Donenfeld
2fa2f58aad
Version bump
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-07 23:58:53 +01:00
Jason A. Donenfeld
1eddb2c86d
PacketTunnelProvider: Show log timestamp
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-07 23:56:26 +01:00
Jason A. Donenfeld
ddccd6da4c
wireguard-go-bridge: account for network changes
...
Everytime the network changes, we need to recreate the UDP socket,
because the ephemeral listen port is tied to the old physical interface.
As well, we need to re-set the IP addresses for each endpoint, so that
they're passed to getaddrinfo and are then resolved using DNS46.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-07 21:50:19 +01:00
Jason A. Donenfeld
b7e5638681
Plist: Handle crypto export
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com >
2018-12-07 18:52:14 +01:00