Commit Graph
10 Commits
Author SHA1 Message Date
David Crawshaw b84f1d4db2 device: export Bind and remove socketfd shims for android
Signed-off-by: David Crawshaw <[email protected]>
2020-06-22 10:42:28 +10:00
David Crawshaw dfb28757f7 ipc: add comment about socketDirectory linker override on android
Signed-off-by: David Crawshaw <[email protected]>
2020-06-22 10:41:19 +10:00
David Crawshaw 00bcd865e6 conn: add comments saying what uses these interfaces
Signed-off-by: David Crawshaw <[email protected]>
2020-06-22 10:40:59 +10:00
David Crawshaw bc77de2aca ipc: deduplicate some unix-specific code
Cleans up and splits out UAPIOpen to its own file.

Signed-off-by: David Crawshaw <[email protected]>
[zx2c4: changed const to var for socketDirectory]
Signed-off-by: Jason A. Donenfeld <[email protected]>
2020-05-02 02:05:41 -06:00
David Crawshaw c8596328e7 ipc: remove unnecessary error check
os.MkdirAll never returns an os.IsExist error.

Signed-off-by: David Crawshaw <[email protected]>
2020-05-02 02:02:09 -06:00
David Crawshaw de374bfb44 device: give handshake state a type
And unexport handshake constants.

Signed-off-by: David Crawshaw <[email protected]>
2020-05-02 01:46:42 -06:00
David Crawshaw 1a1c3d0968 tuntest: split out testing package
This code is useful to other packages writing tests.

Signed-off-by: David Crawshaw <[email protected]>
2020-05-02 01:46:42 -06:00
David Crawshaw 203554620d conn: introduce new package that splits out the Bind and Endpoint types
The sticky socket code stays in the device package for now,
as it reaches deeply into the peer list.

This is the first step in an effort to split some code out of
the very busy device package.

Signed-off-by: David Crawshaw <[email protected]>
2020-05-02 01:46:42 -06:00
David Crawshaw 224bc9e60c rwcancel: no-op builds for windows and darwin
This lets us include the package on those platforms in a
followup commit where we split out a conn package from device.
It also lets us run `go test ./...` when developing on macOS.

Signed-off-by: David Crawshaw <[email protected]>
2020-03-30 18:41:39 +11:00
David Crawshaw 9cd8909df2 ratelimiter: use a fake clock in tests and style cleanups
The existing test would occasionally flake out with:

	--- FAIL: TestRatelimiter (0.12s)
	    ratelimiter_test.go:99: Test failed for 127.0.0.1 , on: 7 ( not having refilled enough ) expected: false got: true
	FAIL
	FAIL    golang.zx2c4.com/wireguard/ratelimiter  0.171s

The fake clock also means the tests run much faster, so
testing this package with -count=1000 now takes < 100ms.

While here, several style cleanups. The most significant one
is unembeding the sync.Mutex fields in the rate limiter objects.
Embedded as they were, the lock methods were accessible
outside the ratelimiter package. As they aren't needed externally,
keep them internal to make them easier to reason about.

Passes `go test -race -count=10000 ./ratelimiter`

Signed-off-by: David Crawshaw <[email protected]>
2020-03-30 18:38:36 +11:00