Commit Graph
74 Commits
Author SHA1 Message Date
Jason A. Donenfeld 18a21064b2 Not horribly broken
Instead it's just mostly broken. Maybe someday it will only be partially
broken. Then a bit broken. And then maybe not broken at all? Before, of
course, it's broken again.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-06 19:02:46 +01:00
Jason A. Donenfeld 0a55a284d5 wireguard-go-bridge: take fd instead of fnptr
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-06 16:27:25 +01:00
Jason A. Donenfeld 02c31c89f6 Xcode: enable more warnings
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-06 16:27:25 +01:00
Jason A. Donenfeld 24575a5cf9 Version bump
We update the build number, not the version number, so that test flight
doesn't need a new review.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-05 21:44:00 +01:00
Jason A. Donenfeld e228ac9d99 global: convert to Swift 4.2
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-05 06:31:25 +01:00
Jason A. Donenfeld 8860abc89e TunnelsManager: account for no or many endpoints
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-05 06:23:26 +01:00
Jason A. Donenfeld 03cce06292 wireguard-go-bridge: work around DWARF generation issue
Golang bug 25148 upstream.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-05 04:47:11 +01:00
Jason A. Donenfeld a08a9ba4c4 PacketTunnelProvider: clamp v6 addresses to /120
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-05 03:11:11 +01:00
Jason A. Donenfeld 8ec38e1d2b Settings: account for bottom padding on iPhone X
Reported-by: Jeffrey A. Donenfeld <jad@runblue.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-05 02:09:40 +01:00
Jason A. Donenfeld 4bd1ea63c6 XCode: use old network extension ID
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-04 05:42:25 +01:00
Jason A. Donenfeld fe76d6eed9 wireguard-go-bridge: xcode expects install target
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-04 03:56:15 +01:00
Jason A. Donenfeld 6c40479863 XCode: unify version strings
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-04 03:51:50 +01:00
Jason A. Donenfeld 897c873296 Settings: anchor logo to bottom
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-04 03:37:18 +01:00
Jason A. Donenfeld c4e5bde1d9 Revert "Settings: Swap table view sections"
This reverts commit 1108f8248946f80d29012d8d43658db8461c0fed.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 19:53:04 +01:00
Jason A. Donenfeld e43de890e0 Settings: simplify
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 19:48:10 +01:00
Jason A. Donenfeld 955de09c9e Global: run through swiftlint
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 19:35:25 +01:00
Jason A. Donenfeld 6738ebb356 Settings: limit size of logo
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 19:20:21 +01:00
Jason A. Donenfeld b28a62c114 Settings: use updated wireguard banner logo
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 18:37:51 +01:00
Jason A. Donenfeld 1568ae57e3 TunnelsManager: restore sanity
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 18:20:25 +01:00
Jason A. Donenfeld 4bcfdfa08e Update readme
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 07:25:43 +01:00
Jason A. Donenfeld ec943587fa TunnelsManager: initialize observer on correct thread
Because of the callback recursion, this function needs to always be called from the right thread

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 07:03:23 +01:00
Jason A. Donenfeld 6405b76941 TunnelsManager: do not track currentTunnel
It's error prone and does not give us anything.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 06:22:57 +01:00
Jason A. Donenfeld 9e9898f17d TunnelsManager: do not change back to inactive if we are resolving the endpoint
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 06:09:57 +01:00
Jason A. Donenfeld 5845db4568 TunnelsManager: fix use of arrayslice in addMultiple
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 04:37:56 +01:00
Jason A. Donenfeld f57c40c38b TunnelsManager: get rid of name set
Instead, tunnels itself should be a sorted-set. For now it's a list,
which is probably fine though.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 03:53:08 +01:00
Jason A. Donenfeld 007d6d9c58 TunnelsManager: get rid of index management
No need for premature optimization. There aren't that many tunnels most
of the time, and calling sort on a partially sorted array is fast.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 03:43:09 +01:00
Jason A. Donenfeld 9439e00047 Global: no periods at the end of error messages
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 03:43:09 +01:00
Jason A. Donenfeld 95101dce5c Import: rework addMultiple logic
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-03 03:43:09 +01:00
Jason A. Donenfeld 7fc0e3ee94 DNSResolver: getaddrinfo returns a sockaddr and inet_ntop takes strlen
The way this was written before was totally wrong.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-02 05:34:17 +01:00
Jason A. Donenfeld 6676e557f1 wireguard-go-bridge: use boottime instead of monotonic
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-01 23:39:06 +01:00
Jason A. Donenfeld b21de2e398 NetworkExtension: check isTunnelClosed before packet existence
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-01 22:01:52 +01:00
Jason A. Donenfeld cf569fd0d2 Global: OK over Ok
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-01 21:22:12 +01:00
Jason A. Donenfeld c2d76b9c45 Global: fix up strings
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-01 19:01:43 +01:00
Jason A. Donenfeld c5e35fee1e Export: fix up export format
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-01 17:31:50 +01:00
Jason A. Donenfeld fff1a70ab9 UI: not all subclasses of CopyableLabelTableViewCell have a detailTextLabel, so generalize
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-31 16:38:05 +01:00
Jason A. Donenfeld ecb6035d36 TunnelManager: bound recursion in startActivation
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-31 15:58:03 +01:00
Jason A. Donenfeld 9f5612f93f wireguard-go-bridge: extract version for consumption by network extension
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-31 04:08:13 +01:00
Jason A. Donenfeld 2a9c7e4745 wireguard-go-bridge: simplify logging and remove tags
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-31 03:22:22 +01:00
Jason A. Donenfeld d2f3a29f45 NetworkExtension: close context before turning off go
The go turnOff code waits for all readers to have completed. In order to
make readers complete, we must send the signal to unblock the request.
Thus, we must reorder these.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-31 03:03:00 +01:00
Jason A. Donenfeld 3ed88cd858 wireguard-go-bridge: handle errors in makefile
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-31 02:49:59 +01:00
Jason A. Donenfeld 2e78aecd68 UI: More elegant copy-to-clipboard behavior
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-31 02:17:47 +01:00
Jason A. Donenfeld 935dc9bf4e wireguard-go: pull in recent change
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-30 22:51:05 +01:00
Jason A. Donenfeld 5b6ef1ca38 Global: fix up captialization in headers
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-30 03:57:35 +01:00
Jason A. Donenfeld dd1e800348 Style: simplify remaining headers
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-30 03:55:43 +01:00
Jason A. Donenfeld fc6bee0b8c XCode: fall back to default settings
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-30 03:54:00 +01:00
Jason A. Donenfeld 8bf6ae8729 ZIP: fix linter warnings
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-30 00:50:01 +01:00
Jason A. Donenfeld 95fefbdb39 Allow customizing MTU
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-27 01:03:28 +02:00
Jason A. Donenfeld e1ebe64a47 bridge: go get requires arch paths
So we move it into the build phase. This makes sense, since ostensibly
different archs might have different required modules.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-26 22:40:07 +02:00
Jason A. Donenfeld ac5d2b2a9e MIT license
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-10 22:34:18 +02:00
Jason A. Donenfeld add2b2c09c Use go modules
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-09 19:51:53 +02:00
Jason A. Donenfeld c10532acd9 Remove extra comment cruft
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-03 01:21:59 +02:00
Jason A. Donenfeld cd86ba92ec Rewrite bridge build system
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-02 19:15:03 +02:00
Jason A. Donenfeld 412a5ed445 Keep tabs on memory usage
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-25 02:50:03 +02:00
Jason A. Donenfeld 83def0a52b Prevent signal and wait from racing
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-24 03:15:21 +02:00
Jason A. Donenfeld 2ccbe0eb42 Update go submodule
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-24 01:53:35 +02:00
Jason A. Donenfeld 8a99806257 Truth
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-22 04:14:48 +02:00
Jason A. Donenfeld 99b9a6b80a PacketTunnelProvider: fix locking logic
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-22 04:13:02 +02:00
Jason A. Donenfeld 1c7cf59059 Give team to release
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-17 00:43:46 +02:00
Jason A. Donenfeld e8031be03d Update go snapshot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-17 00:40:28 +02:00
Jason A. Donenfeld f16260db25 Preallocate buffers so we don't explode limit
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-17 00:40:09 +02:00
Jason A. Donenfeld 477433c9d5 Let XCode mess with stuff
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-15 16:13:50 +02:00
Jason A. Donenfeld e379854dcb Update bundle names
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-15 02:22:10 +02:00
Jason A. Donenfeld c7855a0d27 Remove testing id
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-15 01:33:48 +02:00
Jason A. Donenfeld d520420cc3 Set correct team
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-15 01:32:41 +02:00
Jason A. Donenfeld 721202c65b wireguard-go-bridge: include header for free function
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-31 10:29:27 -06:00
Jason A. Donenfeld 388e652315 wireguard-go-bridge: free C strings
Reported-by: Anders Bergh <anders1@gmail.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-26 21:11:39 -06:00
Jason A. Donenfeld 9d9307ce03 Import 25519 functions, to be reorganized later
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-21 16:14:17 -07:00
Jason A. Donenfeld 76a001dbe0 bridge: don't put on another thread
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-12 23:05:21 -07:00
Jason A. Donenfeld 5fa1283466 Fix bizarre name
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-23 02:15:43 +02:00
Jason A. Donenfeld 17529b300b Generate fat archive
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-13 02:30:12 +02:00
Jason A. Donenfeld b861590195 Correct archive file extension
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-13 00:35:15 +02:00
Jason A. Donenfeld 2ec6a90044 Build using c-archive instead
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-12 05:19:21 +02:00
Jason A. Donenfeld 831640312c First stab at Go bridge
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-09 04:22:11 +02:00
Jason A. Donenfeld 5b6b71c6e8 Initial commit
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-20 15:09:03 +02:00