Commit Graph
100 Commits
Author SHA1 Message Date
Jeroen Leenarts 8326735fcb Show public key on interface. Do not generate public key on peer on generate. Add public key copy buttons.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-16 22:38:32 +02:00
Jeroen Leenarts c863adce85 Start a new peer without an allowed ips entry.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-16 21:23:20 +02:00
Jeroen Leenarts d6e0838677 New peers should begin with zero peers.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-16 21:22:00 +02:00
Jeroen Leenarts 0af4dadd70 Back button for tunnel table view renamed to "Tunnels"
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-16 21:19:14 +02:00
Jeroen Leenarts 484bef1777 Clean up old school headers.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-16 21:17:54 +02:00
Jeroen Leenarts 878f6c54d1 We do not support "on demand" right now.
On demand has the effect of the VPN tunnel being started "on demand" based on a set of triggering criteria. Currently there are no criteria in place, so it always triggers.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-15 21:26:07 +02:00
Jeroen Leenarts 6104546fc6 Add intermediate "Info" screen.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-15 21:24:52 +02:00
Jeroen Leenarts 3a8f8ef9e6 Prevent crash on add and deletion of config.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-15 21:23:47 +02:00
Jeroen Leenarts b8abaa5283 Re-center app icon.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-15 20:29:28 +02:00
Jeroen Leenarts 3802a5c50b Rename "WireGuard tunnels" to "WireGuard".
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-15 20:27:14 +02:00
Jeroen Leenarts 3dcaaa4e6c Fix provisioning.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-15 20:26:17 +02:00
Jeroen Leenarts ad7fc0b554 Add note about availability of Go.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-13 23:36:48 +02:00
Jeroen Leenarts 1379d97bbe Switch copyright assignment from Jason to WireGuard LLC.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-06 07:42:23 +02:00
Jeroen Leenarts d729a7686e Working zip import.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-05 20:25:54 +02:00
Jeroen Leenarts 24623c4ea3 Remove item from provider managers on delete.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-05 20:25:32 +02:00
Jeroen Leenarts b7755b97a3 Make sure to refresh provider managers after saving.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-05 20:10:09 +02:00
Jeroen Leenarts 56c543f1fc Import of zip.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-03 00:08:34 +02:00
Jeroen Leenarts 9bd251fe79 Lazy WGContext made connection unstable.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-02 23:23:30 +02:00
Jeroen Leenarts 8766750bb8 Zip export.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-02 22:47:41 +02:00
Jeroen Leenarts 2572c4781c Add import and export logic.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-01 00:18:12 +02:00
Jeroen Leenarts 4950254013 Add addresses, dns and mtu to export string.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-31 21:40:24 +02:00
Jeroen Leenarts b1aadaf82c Add string conversion for tunnel config.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-29 15:01:59 +02:00
Jeroen Leenarts cd6cb37163 Replace NSLog with os_log.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-28 14:05:34 +02:00
Jeroen Leenarts 8382fddbdc Cleanup config extraction.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-28 14:05:19 +02:00
Jeroen Leenarts 0e2fb3eace Move connection logic into seperate function.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-28 14:04:38 +02:00
Jeroen Leenarts 0c19d713f2 Extract log config to a function and base log level on wg level.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-28 14:03:53 +02:00
Jeroen Leenarts 88d84f702b Make wgContext lazy.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-28 14:02:59 +02:00
Jeroen Leenarts 2e9a12c63f Initial merge of rc's work.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-27 22:32:47 +02:00
Jeroen Leenarts 2c3a36078e Select correct IP version identifier based on packet contents.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-27 13:52:02 +02:00
Jeroen Leenarts 56362ebd68 Move, modify and add key generation functions to project.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-27 13:38:50 +02:00
Jeroen Leenarts 8c8030e5c7 Add autorelease pool markers in Go callback functions.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-23 09:17:04 +02:00
Jeroen Leenarts e93e562f38 Use a Switch on each tunnel cell.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-21 22:27:44 +02:00
Jeroen Leenarts dc1a3865af Line selection configures the tunnel.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-21 20:04:14 +02:00
Jeroen Leenarts c2b591cc44 Use first peer's endpoint as the tunnel remote address.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-17 22:07:01 +02:00
Jeroen Leenarts 5a7e67b53c Extend validators to work for DNS entries as well.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-16 22:41:45 +02:00
Jeroen Leenarts bf3510765a Use commaSeparatedToArray utility everywhere.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-16 22:39:08 +02:00
Jeroen Leenarts 603953a8b8 If the selected tunnel is not "enabled", make it enabled.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-16 22:05:22 +02:00
Jeroen Leenarts a95212fcc8 Add on demand rule.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-16 22:04:35 +02:00
Jeroen Leenarts 0adb454bd6 Do not perform optional try, this ate errors in the addressess and DNS input.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-16 22:03:40 +02:00
Jeroen Leenarts d1223eb085 Disable warning for function body length.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-16 21:46:54 +02:00
Jeroen Leenarts d341c8e8e8 Calculate and apply CIDR.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-16 21:26:24 +02:00
Jeroen Leenarts 449bd53b1e Apply endpoint config to routes.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-15 22:57:40 +02:00
Jeroen Leenarts 91daed0c80 Improve validator for IPv6.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-15 22:52:37 +02:00
Jeroen Leenarts 15cb942368 Assign correct copyright.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-15 20:38:56 +02:00
Jeroen Leenarts 9037b90747 Add Validator for Endpoints.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-15 20:35:21 +02:00
Jeroen Leenarts 04454b8451 Remove old import.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-15 19:41:19 +02:00
Jeroen Leenarts bedb1df05d Remove unused pods.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-15 08:35:54 +02:00
Jeroen Leenarts 335907309c Make sure the reference is not nil to packet flow. Thanks go out to "The Eskimo".
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-14 21:40:20 +02:00
Jeroen Leenarts fc72697d82 Use config key for DNS config setting.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-13 13:49:14 +02:00
Jeroen Leenarts aa92fd7dfc Do all packet reading from dispatch queue.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-13 13:48:08 +02:00
Jeroen Leenarts 6d18b6cccb Do not set MTU if none available or zero.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-13 13:46:56 +02:00
Jeroen Leenarts a81e8dcf3c Log on VPNStatusDidChange.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-12 21:50:54 +02:00
Jeroen Leenarts 41f9a64d9f Config tweaking.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-12 21:49:38 +02:00
Jeroen Leenarts f6fc8cd9bd Universal logging.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-12 21:40:44 +02:00
Jeroen Leenarts a27328ed72 Do not read from packetFlow when tunnel is not yet fully initialized and configured.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-12 21:39:39 +02:00
Jeroen Leenarts d38a81c301 Add back addresses.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-12 21:37:56 +02:00
Jeroen Leenarts 9e8feb05f3 Fix config generation.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-09 22:45:28 +02:00
Jeroen Leenarts bee5363dfa Switch from using a single VPN manager to a VPN manager per configuration.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-08 07:04:42 +02:00
Jeroen Leenarts 2b7aa04d40 Add tunnel provider identifier.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-08 06:59:56 +02:00
Jeroen Leenarts 762618ee5a Generate split allowed IPs in protocol configuration.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-07 21:33:19 +02:00
Jeroen Leenarts 4eca5e814c Remove Address and related code.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-06 23:28:52 +02:00
Jeroen Leenarts 6707802e60 Update dependencies and remove unused dependencies.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-06 21:33:41 +02:00
Jeroen Leenarts 7a4cbfa609 Remove incorrect core data model fields.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-06 09:04:54 +02:00
Jeroen Leenarts 5697d6e7e2 Add provider configuration generation.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-06 09:04:29 +02:00
Jeroen Leenarts 2a0b84eeb9 Update submodule.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-05 23:00:05 +02:00
Jeroen Leenarts bacf61d153 Call read packets on background queue to allow waiting for signal.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-05 22:59:34 +02:00
Jeroen Leenarts 17d4460df0 A handle of zero is also correct.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-05 22:59:01 +02:00
Jeroen Leenarts ed18f66a6f Set a tunnel (routing) configuration. Still very rough.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-05 22:58:48 +02:00
Jeroen Leenarts b2950694d3 Fix binding.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-05 19:05:41 +02:00
Jeroen Leenarts b6d8219244 Clean up do_read.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-05 16:02:45 +02:00
Jeroen Leenarts a1a5e73a5d Add default allowed IPs.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-05 15:58:01 +02:00
Jeroen Leenarts 978296c965 Update steps in READMe.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-05 14:50:01 +02:00
Jeroen Leenarts 6cfab94713 Dump and expose WireGuard Go version info.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-05 08:07:04 +02:00
Jeroen Leenarts 2307bf25b5 Assign correct copyright.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-05 07:48:36 +02:00
Jeroen Leenarts 54c9305ae4 A server address is required for proper saving of protocol configuration.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-04 22:49:37 +02:00
Jeroen Leenarts 675227bac5 Remove some silly TODOs.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-04 22:49:03 +02:00
Jeroen Leenarts 40836c2150 Fix entitlement.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-04 22:48:51 +02:00
Jeroen Leenarts 660d5918ff Make sure logs are visible.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-04 22:47:50 +02:00
Jeroen Leenarts 2ae7984629 Add NETunnelProviderManager management to AppCoordinator.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-04 21:28:19 +02:00
Jeroen Leenarts efe177605e Finish trampoline code.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-03 22:24:41 +02:00
Jeroen Leenarts 241fe5ffd1 Add acknowledgement to derivation from Apple sample code.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-07-15 11:56:24 +02:00
Jeroen Leenarts f3bccfb5cc Change copyright notice.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-07-15 11:55:41 +02:00
Jeroen Leenarts b7cf84b7fa Start wire-up of logging and tunnel system.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-07-07 22:54:44 +02:00
Jeroen Leenarts f30f0d1a7b Objective-C wrapper around WireguardGo.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-22 08:23:39 +02:00
Jeroen Leenarts f7cbe841b7 Allow adding and deleting peers.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-29 22:47:52 +02:00
Jeroen Leenarts db7b24dd02 Allow adding unvalidated config.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-29 22:21:44 +02:00
Jeroen Leenarts 1407090f94 Wire up TunnelConfigurationTableViewController.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-27 22:38:44 +02:00
Jeroen Leenarts 14cb55dd8b A config having zero peers is allowed.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-27 14:23:36 +02:00
Jeroen Leenarts 49538c412e We are dealing with not just any tunnel, but with WireGuard tunnels.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-27 14:23:13 +02:00
Jeroen Leenarts ef67aa7dc4 Deal with final folder name issues due to Apple's case insensitive case preserving behavior.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-27 14:20:15 +02:00
Jeroen Leenarts e14faf6fea Add trash can icon.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-26 09:41:19 +02:00
Jeroen Leenarts ed28691e4c Some casing trouble in WireGuard strings.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-26 09:41:09 +02:00
Jeroen Leenarts 9154c7702b Ad some color based on icon theme.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-26 09:20:12 +02:00
Jeroen Leenarts 15e62d7f02 Everything is a tunnel.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-26 09:17:36 +02:00
Jeroen Leenarts 9724073447 Add bare bones ProfileConfigurationTableViewController.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-24 22:07:04 +02:00
Jeroen Leenarts e6c6fd0b34 Basic setup of ConnectionsTableViewController.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-24 20:16:17 +02:00
Jeroen Leenarts d15972d2ce Fix casing from Wireguard to WireGuard.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-24 20:13:21 +02:00
Jeroen Leenarts 5d3f97133d Add app icon.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-24 09:03:21 +02:00
Jeroen Leenarts d2dd61cf0c Add wg-quick related model properties.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-24 09:02:47 +02:00
Jeroen Leenarts c5237d5342 Add data model.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-23 22:13:09 +02:00