Commit Graph
100 Commits
Author SHA1 Message Date
Jason A. Donenfeld b954e9a4fd Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-04-23 06:49:16 +02:00
Jason A. Donenfeld 571349bb3d Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-04-12 10:32:06 +02:00
Jason A. Donenfeld 8c7c4b6792 Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-04-09 10:49:48 +02:00
Jason A. Donenfeld 5b34f49166 wireguard-go-bridge: bump again for version file placement
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-04-09 10:43:24 +02:00
Jason A. Donenfeld db876647d6 wireguard-go-bridge: version bump to new tag
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-04-09 07:44:50 +02:00
Jason A. Donenfeld 0c2eb003a0 wireguard-go-bridge: update deps
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-28 15:55:53 +01:00
Jason A. Donenfeld fbe101eabb macOS: Privacy notice is provided by system dialogs
So it really doesn't make sense to add our own. This causes several
popups when trying to add a tunnel, which is madness.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-20 04:24:23 +01:00
Jason A. Donenfeld cda3170970 macOS: Login item: Add a simple login item
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-19 21:15:38 -06:00
Jason A. Donenfeld a5e7c3906b Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-19 21:25:38 +01:00
Jason A. Donenfeld b21fdfed67 wireguard-go-bridge: do not use getdirentries64 on macos
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-19 21:23:46 +01:00
Jason A. Donenfeld dca0fb29f6 Version: CFBundleVersion must always increase for macOS app store
So we'll just start doing it like that, then.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-19 06:00:40 +01:00
Jason A. Donenfeld af9c800af8 Swiftlint: variable_name -> identifier_name
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-18 22:26:13 -06:00
Jason A. Donenfeld a9b925c69b Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-18 22:13:27 -06:00
Jason A. Donenfeld f93f9d62f4 macos: TunnelsList: set allowsEmptySelection after making initial selection
Otherwise we never get the event that the selection changed, so we don't
wind up showing anything in the details pane.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-18 22:13:27 -06:00
Jason A. Donenfeld 51822f722a ringlogger: document races
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-18 12:50:00 -06:00
Jason A. Donenfeld b2b5e0e379 TunnelName: sort correctly with numbers and capitals
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-18 06:46:55 +01:00
Jason A. Donenfeld a6f80135ef ringlogger: support mpsc for singlefile
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-17 08:51:27 +01:00
Jason A. Donenfeld c750f28c67 wireguard-go-bridge: update deps
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-12 10:45:14 +01:00
Jason A. Donenfeld f6c70500a7 wg-quick parser: trim \r as well
The influx of Windows users has already begun to infect our nice
project.

Reported-by: Cosku Bas <cosku.bas@gmail.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-11 14:05:16 -06:00
Jason A. Donenfeld 4503c11b0c wireguard-go-bridge: use system go installation
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-08 05:56:00 +01:00
Jason A. Donenfeld d7b16ffb1f wireguard-go-bridge: use go modules
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-03 06:28:07 +01:00
Jason A. Donenfeld b1dabf5a00 wireguard-go-bridge: update to Go 1.12
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-27 06:24:56 +01:00
Jason A. Donenfeld c195760b15 macOS: Specify crypto compliance
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-19 16:12:33 +01:00
Jason A. DonenfeldandRoopesh Chander 6f7214ff38 ConfTextStorage: lowercase only once
Also fix submodule regression.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-16 17:18:10 +05:30
Jason A. Donenfeld 38ac66071c ConfTextStorage: keep track of single peer state for exclude private IPs
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-15 19:44:06 +01:00
Jason A. Donenfeld fda36b571d README: supports macOS
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-15 02:39:34 +01:00
Jason A. Donenfeld 1be3224d7a README: recursive cloning
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-15 02:37:02 +01:00
Jason A. Donenfeld ca088e9ddc README: Xcode has a lowercase 'c'
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-15 02:35:10 +01:00
Jason A. Donenfeld fcca2d4fec macOS: Show privacy notice on adding first tunnel
App store reviewers don't understand that this isn't a service.

Revert this as soon as they come to their senses.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-15 01:14:14 +01:00
Jason A. Donenfeld 58181a4d40 Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-14 23:07:06 +01:00
Jason A. Donenfeld cf816ede13 wireguard-go: bump for ARM64 ChaCha20
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-14 12:00:59 +01:00
Jason A. Donenfeld fbac282bdc .mobileconfig: fix formatting
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-13 14:31:02 +01:00
Jason A. Donenfeld 61f5e017c8 .mobileconfig: note keychain limitation
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-13 14:04:54 +01:00
Jason A. Donenfeld ea827e2ebd Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-08 17:32:38 +01:00
Jason A. Donenfeld bac4851e95 Project: don't embed swift binaries into appex
Otherwise we're rejected from the app store.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-08 17:26:05 +01:00
Jason A. Donenfeld 0e2556544e Global: fix swiftlint issues
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-08 17:07:28 +01:00
Jason A. Donenfeld 2ec51ba8cf wireguard-go-bridge: get rid of nopie warning
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-08 16:42:25 +01:00
Jason A. Donenfeld 998bbd73e4 wireguard-go-bridge: Cache go tarballs
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-08 16:23:40 +01:00
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. DonenfeldandRoopesh 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. DonenfeldandRoopesh Chander ba731e0099 Resync highlighter
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-01-14 14:52:36 +05:30
Jason A. DonenfeldandRoopesh 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