Commit Graph

11 Commits (26eb061792d05364259c7e8747c76a27bea9968b)

Author SHA1 Message Date
Ofer Erez d6f61e54b8
Merge branch 'main' into claude/analyze-test-coverage-01BnJsiXhLinMJyRe78R29e9
Signed-off-by: Ofer Erez <ofer43211@users.noreply.github.com>
2 weeks ago
Claude dead70fee3
Add tests for 25 additional core packages
Massive test coverage expansion across utilities, types, and core components:

Types packages (7):
- types/empty, types/ptr, types/structs, types/preftype
- types/flagtype, types/nettype

Core infrastructure (6):
- paths: File path handling tests
- tsconst: Constants validation
- tsd: System daemon tests
- omit: Omit error tests
- proxymap: Proxy mapping tests
- sessionrecording: Session recording tests

Utilities (12):
- util/must: Must helper tests
- util/lineread: Line reader tests
- util/groupmember: Group membership tests
- util/systemd: Systemd integration tests
- util/cibuild: CI detection tests
- util/osshare: OS sharing tests
- util/quarantine: File quarantine tests
- util/racebuild: Race detection tests
- util/precompress: Precompression tests
- util/progresstracking: Progress tracking tests

Network & Engine:
- net/wsconn: WebSocket connection tests
- wgengine/wgcfg/nmcfg: WireGuard config tests
- wf: Windows Firewall tests

All tests include basic validation and edge case coverage.
3 weeks ago
Brad Fitzpatrick 99b06eac49 syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging
Updates #17852

Change-Id: I477340fb8e40686870e981ade11cd61597c34a20
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
3 weeks ago
kscooo f80c7e7c23 net/wsconn: clarify package comment
Explain that this file stays forked from coder/websocket until we can
depend on an upstream release for the helper.

Updates #cleanup

Signed-off-by: kscooo <kscowork@gmail.com>
2 months ago
Kyle Carberry 6c852fa817 go.{mod,sum}: migrate from nhooyr.io/websocket to github.com/coder/websocket
Coder has just adopted nhooyr/websocket which unfortunately changes the import path.

`github.com/coder/coder` imports `tailscale.com/net/wsconn` which was still pointing
to `nhooyr.io/websocket`, but this change updates it.

See https://coder.com/blog/websocket

Updates #13154

Change-Id: I3dec6512472b14eae337ae22c5bcc1e3758888d5
Signed-off-by: Kyle Carberry <kyle@carberry.com>
1 year ago
Andrew Dunham 0323dd01b2 ci: enable checklocks workflow for specific packages
This turns the checklocks workflow into a real check, and adds
annotations to a few basic packages as a starting point.

Updates #12625

Signed-off-by: Andrew Dunham <andrew@du.nham.ca>
Change-Id: I2b0185bae05a843b5257980fc6bde732b1bdd93f
1 year ago
David Anderson 8b492b4121 net/wsconn: accept a remote addr string and plumb it through
This makes wsconn.Conns somewhat present reasonably when they are
the client of an http.Request, rather than just put a placeholder
in that field.

Updates tailscale/corp#13777

Signed-off-by: David Anderson <danderson@tailscale.com>
2 years ago
Will Norris 71029cea2d all: update copyright and license headers
This updates all source files to use a new standard header for copyright
and license declaration.  Notably, copyright no longer includes a date,
and we now use the standard SPDX-License-Identifier header.

This commit was done almost entirely mechanically with perl, and then
some minimal manual fixes.

Updates #6865

Signed-off-by: Will Norris <will@tailscale.com>
3 years ago
Mihai Parparita 9d04ffc782 net/wsconn: add back custom wrapper for turning a websocket.Conn into a net.Conn
We removed it in #4806 in favor of the built-in functionality from the
nhooyr.io/websocket package. However, it has an issue with deadlines
that has not been fixed yet (see nhooyr/websocket#350). Temporarily
go back to using a custom wrapper (using the fix from our fork) so that
derpers will stop closing connections too aggressively.

Updates #5921

Signed-off-by: Mihai Parparita <mihai@tailscale.com>
3 years ago
Mihai Parparita edc90ebc61 net/wsconn: remove homegrown wrapper for turning a websocket.Conn into a net.Conn
The one from the nhooyr/websocket package seems to work equally well.

Signed-off-by: Mihai Parparita <mihai@tailscale.com>
4 years ago
Mihai Parparita a9f32656f5 control/controlhttp: allow client and server to communicate over WebSockets
We can't do Noise-over-HTTP in Wasm/JS (because we don't have bidirectional
communication), but we should be able to do it over WebSockets. Reuses
derp WebSocket support that allows us to turn a WebSocket connection
into a net.Conn.

Updates #3157

Signed-off-by: Mihai Parparita <mihai@tailscale.com>
4 years ago