Commit Graph
91 Commits
Author SHA1 Message Date
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
Jeroen Leenarts ae73b78935 Initial project setup.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-23 21:50:42 +02:00