<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tailscale/control/controlhttp/server.go, branch debug-testwrapper</title>
<subtitle>The easiest, most secure way to use WireGuard and 2FA</subtitle>
<id>http://git.waynecole.info/tailscale/atom?h=debug-testwrapper</id>
<link rel='self' href='http://git.waynecole.info/tailscale/atom?h=debug-testwrapper'/>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/'/>
<updated>2024-11-08T06:29:41Z</updated>
<entry>
<title>control/controlhttp/controlhttpserver: split out Accept to its own package</title>
<updated>2024-11-08T06:29:41Z</updated>
<author>
<name>Brad Fitzpatrick</name>
<email>bradfitz@tailscale.com</email>
</author>
<published>2024-11-07T23:59:19Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=c3306bfd15e761e0ad38e3e3970becd0d301e4c7'/>
<id>urn:sha1:c3306bfd15e761e0ad38e3e3970becd0d301e4c7</id>
<content type='text'>
Otherwise all the clients only using control/controlhttp for the
ts2021 HTTP client were also pulling in WebSocket libraries, as the
server side always needs to speak websockets, but only GOOS=js clients
speak it.

This doesn't yet totally remove the websocket dependency on Linux because
Linux has a envknob opt-in to act like GOOS=js for manual testing and force
the use of WebSockets for DERP only (not control). We can put that behind
a build tag in a future change to eliminate the dep on all GOOSes.

Updates #1278

Change-Id: I4f60508f4cad52bf8c8943c8851ecee506b7ebc9
Signed-off-by: Brad Fitzpatrick &lt;bradfitz@tailscale.com&gt;
</content>
</entry>
<entry>
<title>control/controlhttp: don't link ts2021 server + websocket code on iOS</title>
<updated>2024-10-10T01:25:02Z</updated>
<author>
<name>Brad Fitzpatrick</name>
<email>bradfitz@tailscale.com</email>
</author>
<published>2024-10-10T01:16:42Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=367fba8520cf7bc4ce9004c1861fce54db03d5d2'/>
<id>urn:sha1:367fba8520cf7bc4ce9004c1861fce54db03d5d2</id>
<content type='text'>
We probably shouldn't link it in anywhere, but let's fix iOS for now.

Updates #13762
Updates tailscale/corp#20099

Change-Id: Idac116e9340434334c256acba3866f02bd19827c
Signed-off-by: Brad Fitzpatrick &lt;bradfitz@tailscale.com&gt;
</content>
</entry>
<entry>
<title>go.{mod,sum}: migrate from nhooyr.io/websocket to github.com/coder/websocket</title>
<updated>2024-08-15T04:23:49Z</updated>
<author>
<name>Kyle Carberry</name>
<email>kyle@carberry.com</email>
</author>
<published>2024-08-09T19:32:24Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=6c852fa8170180d9d2193b6ea3a859e87eed2695'/>
<id>urn:sha1:6c852fa8170180d9d2193b6ea3a859e87eed2695</id>
<content type='text'>
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 &lt;kyle@carberry.com&gt;
</content>
</entry>
<entry>
<title>net/wsconn: accept a remote addr string and plumb it through</title>
<updated>2023-08-29T23:57:16Z</updated>
<author>
<name>David Anderson</name>
<email>danderson@tailscale.com</email>
</author>
<published>2023-08-29T23:27:30Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=8b492b41215603f50598bddd02f1f4e5efd2b4b9'/>
<id>urn:sha1:8b492b41215603f50598bddd02f1f4e5efd2b4b9</id>
<content type='text'>
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 &lt;danderson@tailscale.com&gt;
</content>
</entry>
<entry>
<title>all: update copyright and license headers</title>
<updated>2023-01-27T23:36:29Z</updated>
<author>
<name>Will Norris</name>
<email>will@tailscale.com</email>
</author>
<published>2023-01-27T21:37:20Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=71029cea2ddf82007b80f465b256d027eab0f02d'/>
<id>urn:sha1:71029cea2ddf82007b80f465b256d027eab0f02d</id>
<content type='text'>
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 &lt;will@tailscale.com&gt;
</content>
</entry>
<entry>
<title>control/controlhttp: fix header case-sensitivity</title>
<updated>2023-01-13T19:31:57Z</updated>
<author>
<name>Matthias Gabriel</name>
<email>matthias.gabriel@etit.tu-chemnitz.de</email>
</author>
<published>2023-01-13T10:53:13Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=355c3b2be7fe275480a5c3e5cecfe32693256da3'/>
<id>urn:sha1:355c3b2be7fe275480a5c3e5cecfe32693256da3</id>
<content type='text'>
Change-Id: I49269bc969a80382997ec5c9de33c4f56d9dc787
Signed-off-by: Matthias Gabriel &lt;matthias.gabriel@etit.tu-chemnitz.de&gt;
</content>
</entry>
<entry>
<title>control/controlhttp: add AcceptHTTP hook to add coalesced Server-&gt;Client write</title>
<updated>2022-10-27T22:07:53Z</updated>
<author>
<name>Brad Fitzpatrick</name>
<email>bradfitz@tailscale.com</email>
</author>
<published>2022-10-27T20:58:35Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=5e9e57ecf531f26692413ecddebfa6172550dd44'/>
<id>urn:sha1:5e9e57ecf531f26692413ecddebfa6172550dd44</id>
<content type='text'>
New plan for #5972. Instead of sending the public key in the clear
(from earlier unreleased 246274b8e91) where the client might have to
worry about it being dropped or tampered with and retrying, we'll
instead send it post-Noise handshake but before the HTTP/2 connection
begins.

This replaces the earlier extraHeaders hook with a different sort of
hook that allows us to combine two writes on the wire in one packet.

Updates #5972

Change-Id: I42cdf7c1859b53ca4dfa5610bd1b840c6986e09c
Signed-off-by: Brad Fitzpatrick &lt;bradfitz@tailscale.com&gt;
</content>
</entry>
<entry>
<title>net/wsconn: add back custom wrapper for turning a websocket.Conn into a net.Conn</title>
<updated>2022-10-18T22:39:32Z</updated>
<author>
<name>Mihai Parparita</name>
<email>mihai@tailscale.com</email>
</author>
<published>2022-10-18T21:20:43Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=9d04ffc7823dbd5fb18d5e5e9dea462846128969'/>
<id>urn:sha1:9d04ffc7823dbd5fb18d5e5e9dea462846128969</id>
<content type='text'>
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 &lt;mihai@tailscale.com&gt;
</content>
</entry>
<entry>
<title>control/controlhttp: allow setting, getting Upgrade headers in Noise upgrade</title>
<updated>2022-10-17T22:11:03Z</updated>
<author>
<name>Brad Fitzpatrick</name>
<email>bradfitz@tailscale.com</email>
</author>
<published>2022-10-17T21:50:52Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=246274b8e916746d175e41b3d9b3c942dd8c0df5'/>
<id>urn:sha1:246274b8e916746d175e41b3d9b3c942dd8c0df5</id>
<content type='text'>
Not currently used, but will allow us to usually remove a round-trip for
a future feature.

Updates #5972

Change-Id: I2770ea28e3e6ec9626d1cbb505a38ba51df7fba2
Signed-off-by: Brad Fitzpatrick &lt;bradfitz@tailscale.com&gt;
</content>
</entry>
<entry>
<title>cmd/derper, control/controlhttp: disable WebSocket compression</title>
<updated>2022-09-15T22:35:49Z</updated>
<author>
<name>Mihai Parparita</name>
<email>mihai@tailscale.com</email>
</author>
<published>2022-09-15T22:13:58Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=1ce0e558a792b792dd8cb24c2724eace759260c5'/>
<id>urn:sha1:1ce0e558a792b792dd8cb24c2724eace759260c5</id>
<content type='text'>
The data that we send over WebSockets is encrypted and thus not
compressible. Additionally, Safari has a broken implementation of compression
(see nhooyr/websocket#218) that makes enabling it actively harmful.

Fixes tailscale/corp#6943

Signed-off-by: Mihai Parparita &lt;mihai@tailscale.com&gt;
</content>
</entry>
</feed>
