Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
SagerNet
An anti-censorship community
Collective -
Host: opensource -
https://opencollective.com/sagernet
- Website: https://sagernet.org/
- Code: https://github.com/SagerNet
Signed-off-by: Brad Fitzpatrick <[email protected]>
github.com/SagerNet/wireguard-go - fecb8f482ad8bc4d56fa6202fe15d2a221d0dbe5 authored almost 4 years agoSigned-off-by: Brad Fitzpatrick <[email protected]>
github.com/SagerNet/wireguard-go - 0f4809f366daa77c6e2f5b09d3f05771fe9bf188 authored almost 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 8bf4204d2ea388e662bd58950c2f4a61b8f92b01 authored almost 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 4e439ea10e327d4894a5d2db2611e1fd03f54188 authored almost 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 7a0fb5bbb1720fdd9404a4cf41920e24a46e0dad authored almost 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - c7b799861998250c7847235aa373c98ffda3a405 authored almost 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - ef8115f63b226ad80b02ddab431b254cf06dc485 authored almost 4 years ago
This linked list implementation is awful, but maybe Go 2 will help
eventually, and at least we'r...
We're loosing our ownership of the port when bringing the device down,
which means another test ...
Signed-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - aabc3770bad3ac6674a7a3952cdcd88f11dd1a72 authored almost 4 years ago
In case some old packets snuck in there before, this flushes before
starting afresh.
Signed-off...
github.com/SagerNet/wireguard-go - 484a9fd32494176526e0ffe81413e73362a6f92d authored almost 4 years ago
Rather than racing with Start(), since we're never destroying these
queues, we just set the vari...
Signed-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 587a2b2a2028430893f14f9ac49e1efa5e3f8509 authored almost 4 years agoThis lets us collect FDs even if the GC doesn't do it for us.
Signed-off-by: Jason A. Donenfeld...
github.com/SagerNet/wireguard-go - 6f08a100410fb61093df5321b685b07ff8b801e6 authored almost 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - a97ef39cd4a8a7612ff744ff0e7a4efdf3837214 authored almost 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - c040dea7985b7b5a35ca2fa746c3385732c44bd1 authored almost 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 5cdb862f15fc4d0772ace2ca3fd0271233012185 authored almost 4 years ago
Since RoutineHandshake calls peer.SendKeepalive(), it potentially is a
writer into the encryptio...
RoutineReadFromTUN can trigger a call to SendStagedPackets.
SendStagedPackets attempts to protec...
Signed-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 30b96ba083e4ef61051f125770b50bd278712539 authored almost 4 years agoThis serves two purposes.
First, it makes repeatedly stopping then starting a peer cheaper.
Sec...
Signed-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - cae090d116d4aa61494f5951a9d6ab6902017dce authored almost 4 years ago
The high iteration count was useful when TestUpDown
was the nexus of new bugs to investigate.
N...
github.com/SagerNet/wireguard-go - 465261310b55898c3f67809bd56d58442bca4554 authored almost 4 years ago
On a many-core machine with the race detector enabled,
this test can take several minutes to com...
This is not necessary, and removing it speeds up detection of UAF bugs.
Signed-off-by: Josh Ble...
github.com/SagerNet/wireguard-go - ecceaadd168ce682695acf1a5c004ef89e4927eb authored almost 4 years agoThis matches the new naming scheme of upLocked and downLocked.
Signed-off-by: Jason A. Donenfel...
github.com/SagerNet/wireguard-go - 9e728c2eb07e9d551bef2bcb3681ea0afc2dd1a0 authored almost 4 years ago
It's never used and we won't have a use for it. Also, move to go-running
stringer, for those wit...
The test previously checked the offset within a substruct, not the
offset within the allocated s...
Signed-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 6548a682a9a06cf7041e25f7aa5ac57f1f4cf3b4 authored almost 4 years ago
Before, the code attached a finalizer to an object that wasn't returned,
resulting in immediate ...
Without this, we wind up freeing packets that the encryption/decryption
queues still have, resul...
Signed-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 02138f1f8185c0b578a7b57122f59d9c9681f64b authored almost 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - a816e8511eb45975e8e0e4199c3481989953fd56 authored almost 4 years ago
Part of being actually idempotent is that we shouldn't penalize code
that takes advantage of thi...
Signed-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - a60e6dab76f1e2ff44d77e75df02f76c3f66e1ca authored almost 4 years agoThe immediate motivation for this change is an observed deadlock.
1. A goroutine calls peer.Sto...
github.com/SagerNet/wireguard-go - d8dd1f254fc42878970d764b046ec5789ab30259 authored almost 4 years ago
We have a bunch of stupid channel tricks, and I'm about to add more.
Give them their own file. T...
Signed-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - af408eb9400bd94a01eea5ece8fa3da62c911818 authored almost 4 years ago
The old code silently accepted negative MTUs.
It also set MTUs above the maximum.
It also had ha...
We already track this state elsewhere. No need to duplicate.
The cost of calling changeState is ...
The TUN event reader does three things: Change MTU, device up, and device down.
Changing the MTU...
This commit simplifies device state management.
It creates a single unified state variable and d...
timersInit sets up the timers.
It need only be done once per peer.
timersStart does the work to...
github.com/SagerNet/wireguard-go - 15810daa2283e3cfe0c811c3632f053274f31950 authored almost 4 years agoelem.packet is always already nil.
Signed-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - da956772030b8b1fcbd37f82f08863070c93aa0f authored almost 4 years agoIt is no longer necessary.
Signed-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - 9c75f58f3d8656e9e5394959a67b630f51f9dc98 authored almost 4 years ago
It is no longer necessary, as of 454de6f3e64abd2a7bf9201579cd92eea5280996
(device: use channel c...
Signed-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 4192036acd3b6442a60a5852b78979dde4b53ba5 authored almost 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 9c7bd73be2cc7b706d471cd34d718852457e8cef authored almost 4 years agoThis papers over other unrelated races, unfortunately.
Signed-off-by: Jason A. Donenfeld <Jason...
github.com/SagerNet/wireguard-go - 01e176af3c2b36c7da3bfd8f92f7f578ecd4fbd6 authored almost 4 years ago
The leak test had rare flakes.
If a system goroutine started at just the wrong moment, you'd get...
Signed-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 7258a8973dfb2e3069fe1a8364966cfaadbdb4e1 authored almost 4 years agoThis makes it easier to tag things onto the end manually for quick hacks.
Signed-off-by: Jason ...
github.com/SagerNet/wireguard-go - d9d547a3f3f83f6ea23e140e3665ac41b6aca10a authored almost 4 years agoHere is the old implementation:
type WaitPool struct {
c chan interface{}
}
...
github.com/SagerNet/wireguard-go - c3bde5f59099a3b21b016bf809b83ee3de126f80 authored almost 4 years agoSigned-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - fd63a233c9fedad2be4e26edbc540e11d9ea5968 authored almost 4 years agoSigned-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - 8a374a35a0fe62dfd86df2c16166d2bb84115b93 authored almost 4 years agoChannels are FIFO which means we have guaranteed cache misses.
Signed-off-by: Jason A. Donenfel...
github.com/SagerNet/wireguard-go - 48460703229d73fbacdd0d6b0d0f01a54f7ce751 authored almost 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - a9f80d8c587df99c6e8f57704aef3fe1ac62d0db authored about 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - de51129e33a5fe4fad3da172539e9be640d39211 authored about 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - beb25cc4fd31da09590fed3200628baf4c701f8b authored about 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 9263014ed3f0a97800c893cb7346cc5109fc9e27 authored about 4 years ago
Suggested-by: Josh Bleecher Snyder <[email protected]>
Signed-off-by: Jason A. Donenfeld <Jason...
Signed-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - d4112d9096f4bdd68f1a109bb12df82f5f4ca5a0 authored about 4 years agoThis is what modules are for, and Go binaries can introspect.
Signed-off-by: Jason A. Donenfeld...
github.com/SagerNet/wireguard-go - bf3bb888512e74bee0b79bd38826cb019ca2a0ee authored about 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - 6a128dde71d925fd4865ebd86855213a429b4729 authored about 4 years ago
benchmark old ns/op new ns/op delta
BenchmarkUAPIGet-16 2872 ...
It's a separate type of key that gets hashed into the chain.
Signed-off-by: Jason A. Donenfeld ...
github.com/SagerNet/wireguard-go - d4725bc45685187088c84234a6d2be396a1373e5 authored about 4 years ago
This moves to a simple queue with no routine processing it, to reduce
scheduler pressure.
This ...
github.com/SagerNet/wireguard-go - 1b092ce584cbee0f86f3e25b5498870c8ca96652 authored about 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - a11dec5dc12255ee032ce730eef3c82e77c84ed2 authored about 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - ace50a0529bdd69f32f637ee84845bde45de07b6 authored about 4 years agoThis makes the IpcGet method much faster.
We also refactor the traversal API to use a callback ...
github.com/SagerNet/wireguard-go - 8cc99631d025f5013e40f8a5a7b3370bff1c577e authored about 4 years ago
There are very few cases, if any, in which a user only wants one of
these levels, so combine it ...
This commit overhauls wireguard-go's logging.
The primary, motivating change is to use a functi...
github.com/SagerNet/wireguard-go - 7139279cd0b08ebbd2c0322bc01d5678aa00cd0e authored about 4 years agoThe declaration of err in
nextByte, err := buffered.ReadByte
shadows the declaration of err i...
github.com/SagerNet/wireguard-go - 37efdcaccfb16e47137728b5462c90d0b2ae8460 authored about 4 years ago
Caught by go vet.
Signed-off-by: Josh Bleecher Snyder <[email protected]>
Plenty more to go, but a start:
name old time/op new time/op delta
UAPIGet-4 6.3...
Signed-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - e6ec3852a93c95ac55662cc34a25b71a84c6e7b0 authored about 4 years agoSigned-off-by: Brad Fitzpatrick <[email protected]>
github.com/SagerNet/wireguard-go - 23b2790aa06270485f3d951132609afaeb888c28 authored about 4 years agoThe original spec ends with \n\n especially for this reason.
Signed-off-by: Jason A. Donenfeld ...
github.com/SagerNet/wireguard-go - 18e47795e598973195887893e7d77baddec53ebb authored about 4 years agoSigned-off-by: Jason A. Donenfeld <[email protected]>
github.com/SagerNet/wireguard-go - a29767dda6db9811b547ceec593a7170dc33bd31 authored about 4 years agoInterleaves IpcSetOperations would spell trouble.
Signed-off-by: Josh Bleecher Snyder <josh@tai...
github.com/SagerNet/wireguard-go - cecb41515d780213fd6b37bd04686f5296edf84c authored about 4 years agoSigned-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - a9ce4b762cd8b9898ff69571194ad3f09ad6d7bd authored about 4 years ago
Also, a behavior change: Stop treating a blank value as 0.
It's not in the spec.
Signed-off-by:...
github.com/SagerNet/wireguard-go - d8f2cc87ee66958226157c5bb77464eee23156c2 authored about 4 years agoSigned-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - 2b8665f5f973cd0b36722ba0a8689b91b99eec7d authored about 4 years agoSigned-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - 674a4675a10ea7eb83fad2eada5bf7211c7575f3 authored about 4 years agoSigned-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - 87bdcb2ae472711c3b0b3679fbdb393e39b4dbc3 authored about 4 years ago
The goal of this change is to make the structure
of IpcSetOperation easier to follow.
IpcSetOpe...
github.com/SagerNet/wireguard-go - 6252de0db9331cbc20074e9d40165266b5816148 authored about 4 years ago
Unify the handling of unexpected UAPI errors.
The comment that says "should never happen" is inc...
Expand IPCError to contain a wrapped error,
and add a helper to make constructing such errors ea...
The code as written will drop any read errors on the floor.
Fix that.
Signed-off-by: Josh Bleec...
github.com/SagerNet/wireguard-go - 675aae24232750e5a41c0a10bb1195fa4bb63d42 authored about 4 years ago
If device.NewPeer returns a nil error,
then the returned peer is always non-nil.
Signed-off-by:...
github.com/SagerNet/wireguard-go - db3fa1409cae2113df73f1641d9fb1830fbcc696 authored about 4 years ago
In order to avoid even the flirtation with passing on these dependencies
to ordinary consumers o...
The Go linker isn't smart enough to prevent gvisor from being pulled
into modules that use other...
Until we depend on Go 1.16 (which isn't released yet), alias our own
variable to the private mem...
Type tcpip.Error is not an error.
I've filed https://github.com/google/gvisor/issues/5314
to fi...
Signed-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - 6a2ecb581b5940ab82814fe836cb599705da9b8a authored about 4 years agoSigned-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - 86a58b51c027feb3bf8836359fb3adf1c436c53d authored about 4 years agoMinor style fix.
Signed-off-by: Josh Bleecher Snyder <[email protected]>
github.com/SagerNet/wireguard-go - f07177c762bfc4aab7d44a4b32432b8575007bec authored about 4 years agoNewly allocated objects are already zeroed.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale...
github.com/SagerNet/wireguard-go - 7c5d1e355e6faa1551296c34aaced4ffe0b16d87 authored about 4 years ago
Now that we block when enqueueing to the decryption queue,
there is only one case in which we "d...
If we block when enqueuing encryption elements to the queue,
then we never drop them.
Signed-of...
github.com/SagerNet/wireguard-go - 7ee95e053c280796ecfb5533000915e7daa13f69 authored about 4 years ago