aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update copyrightJason A. Donenfeld2019-02-0555-467/+141
|
* Properly bubble up setsockopt error from closureJason A. Donenfeld2018-12-251-2/+9
|
* version: bump snapshot0.0.20181222Jason A. Donenfeld2018-12-221-1/+1
|
* Make error messages consistentJason A. Donenfeld2018-12-193-6/+9
|
* Freebsd is finally normal in sys/unixJason A. Donenfeld2018-12-112-24/+0
|
* Separate out mark setting for WindowsJason A. Donenfeld2018-12-113-46/+69
|
* Use upstream's xchacha20poly1305Jason A. Donenfeld2018-12-104-288/+5
|
* Update go x/ librariesJason A. Donenfeld2018-12-102-9/+9
| | | | | | | | | Android 9's Bionic disallows inotify_init with seccomp, so we want the latest unix change, and while we're at it, we update the others too. Reported-by: Berk D. Demir <bdd@mindcast.org> Go CL: https://go-review.googlesource.com/c/sys/+/153318 Fixes: https://lists.zx2c4.com/pipermail/wireguard/2018-December/003642.html
* tun: remove nonblock hack for linuxJason A. Donenfeld2018-12-061-10/+0
| | | | | | This is no longer necessary and actually breaks things Reported-by: Chris Branch <cbranch@cloudflare.com>
* tai64n: use proper nanoseconds offsetJason A. Donenfeld2018-11-081-1/+1
| | | | | | The code before was obviously wrong. Reported-by: Vlad Krasnov <vlad@cloudflare.com>
* Use darwin tun on iosJason A. Donenfeld2018-11-061-2/+0
|
* uapi: typoJason A. Donenfeld2018-11-051-1/+1
|
* receive: make started status uniformJason A. Donenfeld2018-11-011-1/+1
|
* send: do not unlock already freed objectJason A. Donenfeld2018-10-181-1/+0
|
* version: bump snapshot0.0.20181018Jason A. Donenfeld2018-10-181-1/+1
|
* Makefile: rename default to allJason A. Donenfeld2018-10-171-2/+2
|
* tun: only call .Fd() onceJason A. Donenfeld2018-10-174-61/+67
| | | | | Doing so tends to make the tunnel blocking, so we only retrieve it once before we call SetNonblock, and then cache the result.
* Use go modules alwaysJason A. Donenfeld2018-10-121-0/+1
|
* Do not build if nothing to doJason A. Donenfeld2018-10-121-12/+19
|
* Switch to go modulesJason A. Donenfeld2018-10-096-81/+20
|
* version: bump snapshot0.0.20181001Jason A. Donenfeld2018-10-011-1/+1
|
* Adding missing queueconstants fileJason A. Donenfeld2018-10-011-0/+16
|
* Fix transport message length checkChris Branch2018-09-251-1/+1
| | | | | | wireguard-go has a bad length check in its transport message handling. Although it cannot be exploited because of another length check earlier in the function, this should be fixed regardless.
* Make it easy to restrict queue sizes moreJason A. Donenfeld2018-09-252-24/+18
|
* Fix shutdown racesJason A. Donenfeld2018-09-243-12/+42
|
* More poolingJason A. Donenfeld2018-09-244-56/+148
|
* Fixup buffer freeingJason A. Donenfeld2018-09-223-9/+21
|
* send: more precise padding calculationJason A. Donenfeld2018-09-161-5/+7
|
* device: preallocated buffers schemeJason A. Donenfeld2018-09-161-7/+26
| | | | Not useful now but quite possibly later.
* Change queueing drop order and fix memory leaksJason A. Donenfeld2018-09-162-75/+47
| | | | | | If the queues are full, we drop the present packet, which is better for network traffic flow. Also, we try to fix up the memory leaks with not putting buffers from our shared pool.
* send: use accessor function for buffer poolJason A. Donenfeld2018-09-161-1/+1
|
* Fixed port overwrite issue on kernels without ipv6Mathias Hall-Andersen2018-09-161-13/+35
| | | | | | | | | | | | Fixed an issue in CreateBind for Linux: If ipv6 was not supported the error code would be correctly identified as EAFNOSUPPORT and ipv4 binding attempted. However the port would be set to 0, which results in the subsequent create4 call requesting a random port rather than the one provided to CreateBind. This issue was identified by: Kent Friis <leeloored@gmx.com>
* global: fix up copyright headersJason A. Donenfeld2018-09-1652-89/+52
|
* uapi: insert peer version placeholderJason A. Donenfeld2018-09-021-0/+8
| | | | | | | While we don't want people to ever use old protocols, people will complain if the API "changes", so explicitly make the unset protocol mean the latest, and add a dummy mechanism of specifying the protocol on a per-peer basis, which we hope nobody actually ever uses.
* Fix duplicate copyright lineJason A. Donenfeld2018-07-301-2/+0
|
* uapi: allow overriding socket directory at compile timeJason A. Donenfeld2018-07-242-2/+4
|
* send: better debug message for failed data packetJason A. Donenfeld2018-07-161-1/+2
|
* version: bump snapshot0.0.20180613Jason A. Donenfeld2018-06-132-1/+3
|
* Support IPv6-less kernelsJason A. Donenfeld2018-06-122-52/+106
|
* Do not build tun device on iosJason A. Donenfeld2018-06-091-0/+2
|
* Fix duplicated wordingJason A. Donenfeld2018-06-021-4/+4
|
* Makefile: export PWD for OpenBSD's ksh(1)Jason A. Donenfeld2018-06-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Interestingly, ksh(1) on OpenBSD does not export PWD by default, and it also has a notion of the "logical cwd" vs the "physical cwd", with the latter being passed to chdir, but the former being stored in the non-exported PWD and displayed to the user. This means that if you `cd` into a directory that's comprised of symlinks, exec'd processes will see the physical path. Observe: # ksh # mkdir a # ln -s a b # cd b # pwd /root/b # ksh -c pwd /root/a The fact of separating physical and logical paths is not too uncommon for shells (bash does it too), but not exporting PWD is very odd. Since this is common behavior for many shells, libraries that return the working directory will do something strange: they `stat(".")` and then `stat(getenv("PWD"))`, and if these point to the same inode, they roll with the value of `getenv("PWD")`, or otherwise fallback to asking the kernel for the cwd. Since PWD was not exported by ksh(1), Go's dep utility did not understand it was operating inside of our faked GOPATH and became upset. This patch works around the whole situation by simply exporting PWD before executing dep.
* version: bump snapshot0.0.20180531Jason A. Donenfeld2018-05-311-1/+1
|
* Print version number in logJason A. Donenfeld2018-05-301-0/+2
|
* Update depsJason A. Donenfeld2018-05-281-3/+3
|
* Fix typo in timersJason A. Donenfeld2018-05-271-1/+1
|
* Disable broadcast mode on *BSDJason A. Donenfeld2018-05-272-26/+0
| | | | Keeping it on makes IPv6 problematic and confuses routing daemons.
* Disappointing anti-sticky experimentJason A. Donenfeld2018-05-274-29/+22
|
* Fix testsJason A. Donenfeld2018-05-241-4/+5
|
* Trick for being extra sensitive to route changesJason A. Donenfeld2018-05-241-5/+16
|