-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Comparing changes
Open a pull request
base repository: golang/net
base: 7bbe320
head repository: golang/net
compare: e1fcd82
Commits on Apr 4, 2024
-
quic: don't consider goroutines running when tests start as leaked
Change-Id: I138e284ee74c9402402f564d25e50ab753c51e9e Reviewed-on: https://go-review.googlesource.com/c/net/+/576536 Reviewed-by: Chressie Himpel <chressie@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for a130fcc - Browse repository at this point
Copy the full SHA a130fccView commit details
Commits on Apr 5, 2024
-
http2: send correct LastStreamID in stream-caused GOAWAY
When closing a connection because a stream contained a request we didn't like (for example, because the request headers exceed the maximum we will accept), set the LastStreamID in the GOAWAY frame to include the offending stream. This informs the client that retrying the request is unlikely to succeed, and avoids retry loops. This change requires passing the stream ID of the offending stream from Framer.ReadFrame up to the caller. The most sensible way to do this would probably be in the error. However, ReadFrame currently returns a defined error type for connection-ending errors (ConnectionError), and that type is a uint32 with no place to put the stream ID. Rather than changing the returned errors, ReadFrame now returns an error along with a non-nil Frame containing the stream ID, when a stream is responsible for a connection-ending error. For golang/go#66668 Change-Id: Iba07ccbd70ab4939aa56903605474d01703ac6e4 Reviewed-on: https://go-review.googlesource.com/c/net/+/576756 Reviewed-by: Jonathan Amsterdam <jba@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Auto-Submit: Damien Neil <dneil@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for b67a0f0 - Browse repository at this point
Copy the full SHA b67a0f0View commit details -
http2: don't retry the first request on a connection on GOAWAY error
When a server sends a GOAWAY frame, it indicates the ID of the last stream it processed. We use this to mark any requests after that stream as being safe to retry on a new connection. Change this to not retry the first request on a connection if we get a GOAWAY with an error, even if the GOAWAY has a stream ID of 0 indicating that it didn't process that request. If we're getting an error as the first result on a new connection, then there's either something wrong with the server or something wrong with our request; either way, retrying isn't likely to be productive and may be unsafe. This matches the behavior of the HTTP/1 client, which also avoids retrying the first request on a new connection. For golang/go#66668 Fixes golang/go#60636 Change-Id: I90ea7cfce2974dd413f7cd8b78541678850376a5 Reviewed-on: https://go-review.googlesource.com/c/net/+/576895 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Configuration menu - View commit details
-
Copy full SHA for ec05fdc - Browse repository at this point
Copy the full SHA ec05fdcView commit details
Commits on Apr 15, 2024
-
http/httpguts: speed up ValidHeaderFieldName
Eliminate bounds checks and eschews UTF-8 decoding in ValidHeaderFieldName, thereby doubling its speed without introducing any allocations. Also eliminate bounds checks in IsTokenRune. Add tests and benchmarks for both ValidHeaderFieldName and IsTokenRune. goos: darwin goarch: amd64 pkg: golang.org/x/net/http/httpguts cpu: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz │ before │ after │ │ sec/op │ sec/op vs base │ IsTokenRune-8 315.2n ± 0% 316.2n ± 1% ~ (p=0.245 n=20) ValidHeaderFieldName-8 62.77n ± 0% 29.16n ± 0% -53.55% (p=0.000 n=20) geomean 140.7n 96.02n -31.73% │ before │ after │ │ B/op │ B/op vs base │ IsTokenRune-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=20) ValidHeaderFieldName-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=20) geomean ² +0.00% │ before │ after │ │ allocs/op │ allocs/op vs base │ IsTokenRune-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=20) ValidHeaderFieldName-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=20) geomean ² +0.00% Fixes golang/go#66700 Change-Id: Ia3ea80e5f0d173e3a69eb7429023587fd7bc5933 GitHub-Last-Rev: 1f1d25d GitHub-Pull-Request: #207 Reviewed-on: https://go-review.googlesource.com/c/net/+/578075 Run-TryBot: Emmanuel Odeke <emmanuel@orijtech.com> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>Configuration menu - View commit details
-
Copy full SHA for 0a24555 - Browse repository at this point
Copy the full SHA 0a24555View commit details
Commits on Apr 18, 2024
-
Change-Id: I3cacfadc0396c8ef85addd062d991bb6f5b0483a Reviewed-on: https://go-review.googlesource.com/c/net/+/580035 Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Commit-Queue: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Damien Neil <dneil@google.com> Reviewed-by: Damien Neil <dneil@google.com>
Configuration menu - View commit details
-
Copy full SHA for f95a3b3 - Browse repository at this point
Copy the full SHA f95a3b3View commit details
Commits on May 3, 2024
-
quic: initiate key rotation earlier in connections
The QUIC interop runner "keyrotate" test requires that the client initiate a key rotation early in the connection. With our current ack frequency, it seems that we need to rotate within the first 300-400 packets for the test to pass. Reduce the initial key rotation from 1000 to 100 packets. Rotating earlier shouldn't have any real downsides (rotation is cheap and generally done once per connection, except for very long-lived connections), and this is simpler than providing a way to tune the rotation interval in one specific test. For golang/go#67138 Change-Id: I33d47ea35ed39f0a13c171adb2b0698f8c93050e Reviewed-on: https://go-review.googlesource.com/c/net/+/582855 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Configuration menu - View commit details
-
Copy full SHA for b20cd59 - Browse repository at this point
Copy the full SHA b20cd59View commit details
Commits on May 6, 2024
-
Use errors.Is(err, net.ErrClosed) instead of checking for a known string. net.ErrClosed is available since Go 1.16, the current minimum version in go.mod is Go 1.18. For golang/go#4373 Change-Id: Id98771874434bae7d9c6d1d4d36fddb28822eb39 Reviewed-on: https://go-review.googlesource.com/c/net/+/583016 Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for e0324fc - Browse repository at this point
Copy the full SHA e0324fcView commit details -
go.mod: update golang.org/x dependencies
Update golang.org/x dependencies to their latest tagged versions. Change-Id: If4b46b8a597f56ee25582b456ee4ac5f42e3fdd4 Reviewed-on: https://go-review.googlesource.com/c/net/+/583516 Auto-Submit: Gopher Robot <gobot@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Than McIntosh <thanm@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Configuration menu - View commit details
-
Copy full SHA for d27919b - Browse repository at this point
Copy the full SHA d27919bView commit details
Commits on May 8, 2024
-
http2: avoid panic on h2c upgrade failure
When performing an h2c upgrade, we would panic if an error occurred reading the client preface. *serverConn.closeStream assumes that a conn with an IdleTimeout > 0 will have an idleTimer, but in the h2c upgrade case the stream may have been created before the timer. Fixes golang/go#67168 Change-Id: I30b5a701c10753ddc344079b9498285f099155cf Reviewed-on: https://go-review.googlesource.com/c/net/+/584255 Reviewed-by: Jonathan Amsterdam <jba@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for 7fa635b - Browse repository at this point
Copy the full SHA 7fa635bView commit details
Commits on May 10, 2024
-
webdav: return 409 for PUT without parent collection
Aligning with the WebDAV RFC specification, changes the server response for PUT operations that would create a resource without an existing parent collection from HTTP 404 Not Found to HTTP 409 Conflict. RFC RFC4918, section 9.7.1 Fixes golang/go#67150 Change-Id: I5ce6c5ea147a6a450ef5ae2e0077eb0dce409743 Reviewed-on: https://go-review.googlesource.com/c/net/+/583055 Reviewed-by: Cherry Mui <cherryyz@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Damien Neil <dneil@google.com> Reviewed-by: Damien Neil <dneil@google.com>
Configuration menu - View commit details
-
Copy full SHA for ac99879 - Browse repository at this point
Copy the full SHA ac99879View commit details
Commits on May 13, 2024
-
Drop a trivial "gate" type used in exactly one location, replacing it with an equivalent channel operation. We've been using a "gate" with a different definition in the quic package; dropping this hapax legomenon type from the http2 package frees up the name if we want to use the same gate here. Change-Id: Id9c7d05daf7ee920c38090df960822fcc1168a4d Reviewed-on: https://go-review.googlesource.com/c/net/+/584896 Reviewed-by: Jonathan Amsterdam <jba@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for 2c14f51 - Browse repository at this point
Copy the full SHA 2c14f51View commit details
Commits on May 15, 2024
-
http2: cancel handler context on stream errors
When we reset a stream due to an error, cancel the handler context. Fixes golang/go#67036 Change-Id: I66941d9bffb35d8b4358ff8d85cc784c1846afa6 Reviewed-on: https://go-review.googlesource.com/c/net/+/585595 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Configuration menu - View commit details
-
Copy full SHA for 8aa6dbf - Browse repository at this point
Copy the full SHA 8aa6dbfView commit details
Commits on May 16, 2024
-
http2: set up the timer of closing idle connection after the initiali…
…zation Fixes golang/go#66763 Change-Id: I046028b6072a6da77e7f1b4d1f2e6b14f8edb042 Reviewed-on: https://go-review.googlesource.com/c/net/+/578115 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Damien Neil <dneil@google.com> Auto-Submit: Damien Neil <dneil@google.com>
Configuration menu - View commit details
-
Copy full SHA for c87a5b6 - Browse repository at this point
Copy the full SHA c87a5b6View commit details
Commits on May 20, 2024
-
Change-Id: Icca4cdbdc1fb964eda8e0fed559f8d4e5dc45073 Reviewed-on: https://go-review.googlesource.com/c/net/+/586115 Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Carlos Amedee <carlos@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for 49bf2d7 - Browse repository at this point
Copy the full SHA 49bf2d7View commit details -
http2: use implicit synchronization in tests
Rewrite the synchronization used in Transport tests. This replaces the explicit synchronization, which requires annotating every point where a goroutine in the code under test may block, with implicit syncronization based on parsing goroutine stacks to identify when all goroutines of interest are blocked. Change-Id: I02646e2752c359ed1b08126370a48f3d3c1fde77 Reviewed-on: https://go-review.googlesource.com/c/net/+/584895 Reviewed-by: Jonathan Amsterdam <jba@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for b1ec120 - Browse repository at this point
Copy the full SHA b1ec120View commit details -
http2: clearer distinction between test server types
newServerTester is used to create an HTTP/2 server for testing. It returns a *serverTester, which includes a number of methods for sending frames to and reading frames from a server connection under test. Many tests also use newServerTester to simply start an *httptest.Server. These tests pass an "optOnlyServer" to indicate that they don't need a client connection to interact with. They interact with the *httptest.Server, and use no methods or fields of *serverTester. Make a clearer distinction between test types. Add a newTestServer function which starts and returns an *httptest.Server. This function replaces use of newServerTester with optOnlyServer. Change-Id: Ia590c9b4dcc23c17e530b0cc273b9120965da11a Reviewed-on: https://go-review.googlesource.com/c/net/+/586155 Reviewed-by: Jonathan Amsterdam <jba@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for 9545aea - Browse repository at this point
Copy the full SHA 9545aeaView commit details
Commits on May 21, 2024
-
all: replace deprecated io/ioutil calls
The io/ioutil package's features were moved to the io and os packages in Go 1.16. x/net depends on Go 1.18. Drop ioutil calls, so gopls doesn't warn about them. Change-Id: Ibdb576d94f250808ae285aa142e2fd41e7e9afc9 Reviewed-on: https://go-review.googlesource.com/c/net/+/586244 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
Configuration menu - View commit details
-
Copy full SHA for c1f5833 - Browse repository at this point
Copy the full SHA c1f5833View commit details -
http2: remove spec coverage test
When run with -coverspec, tests track which portions of the specification they cover and the TestSpecCoverage test produces an error if any sections lack test coverage. This is a lovely idea, and perhaps we should resurrect it at some point, but there is currently exactly one coverage annotation, dating back to the first commit of this package. Change-Id: I5d2d8a1032b783d113ed0982f7e97a3bd1c07a33 Reviewed-on: https://go-review.googlesource.com/c/net/+/586243 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Configuration menu - View commit details
-
Copy full SHA for 332fe23 - Browse repository at this point
Copy the full SHA 332fe23View commit details -
http2: avoid racy access to clientStream.requestedGzip
clientStream.requestedGzip is set from clientStream.writeRequest, and examined by clientConn.readLoop. I'm not sure if there's any possible way for an actual data race to happen here in practice, since the read loop should only examine the field after the request is sent by writeRequest, but it's enough for the race detector to complain. Set the field in ClientConn.roundTrip instead, before the clientStream has become accessible to any other goroutines. No test, but a following CL has race detector failures without this change. Change-Id: Id30f1b95bcfcc35c213440e0e47cce3feaaff06d Reviewed-on: https://go-review.googlesource.com/c/net/+/586245 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Configuration menu - View commit details
-
Copy full SHA for 410d19e - Browse repository at this point
Copy the full SHA 410d19eView commit details -
http2: add a more full-featured test net.Conn
Add a net.Conn implementation that plays nicely with testsyncGroup, implements read/write timeouts, and gives control over buffering to let us write tests that cause writes to a Conn to block at specific points in time. Change-Id: I9d870b211ac9d938a8c4a221277981cdb821a6e4 Reviewed-on: https://go-review.googlesource.com/c/net/+/586246 Reviewed-by: Jonathan Amsterdam <jba@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for 022530c - Browse repository at this point
Copy the full SHA 022530cView commit details
Commits on May 28, 2024
-
http2: use synthetic time in server tests
Change newServerTester to return a server using fake time and a fake net.Conn. Change-Id: I9d5db0cbe75696aed6d99ff1cd2369c2dea426c3 Reviewed-on: https://go-review.googlesource.com/c/net/+/586247 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Configuration menu - View commit details
-
Copy full SHA for 03c24c2 - Browse repository at this point
Copy the full SHA 03c24c2View commit details -
http2: drop unused retry function
Change-Id: Ibe7e022a4863c8b0e502d7952b870046443acf7e Reviewed-on: https://go-review.googlesource.com/c/net/+/586248 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Configuration menu - View commit details
-
Copy full SHA for 9f5b79b - Browse repository at this point
Copy the full SHA 9f5b79bView commit details -
http2: factor out frame read/write test functions
Client and server tests both write frames to a test connection and read frames back. Frame reads are usually paired with test expectations. Unify the API used for frame reads/writes in tests. Introduce a testConnFramer type that implements a common set of read/write methods, and embed it in both client and server test types. Change-Id: I6927c43459ba24f150a21c058a92797754f82bf1 Reviewed-on: https://go-review.googlesource.com/c/net/+/586249 Reviewed-by: Jonathan Amsterdam <jba@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for 0d515a5 - Browse repository at this point
Copy the full SHA 0d515a5View commit details
Commits on May 30, 2024
-
http2: avoid corruption in priority write scheduler
When removing a stream containing children in the priority tree, it was possible for some children to not be correctly moved to the parent of the removed stream. Fixes golang/go#66514 Change-Id: Ie8a8743a6213a6b1a2426e023111878afff78f9e Reviewed-on: https://go-review.googlesource.com/c/net/+/589255 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Configuration menu - View commit details
-
Copy full SHA for 5608279 - Browse repository at this point
Copy the full SHA 5608279View commit details -
http2: report an error if goroutines outlive serverTester tests
Change-Id: Icd2152b4bddacf12120be16c32c8c2d52d235fbd Reviewed-on: https://go-review.googlesource.com/c/net/+/589075 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Configuration menu - View commit details
-
Copy full SHA for 67e8d0c - Browse repository at this point
Copy the full SHA 67e8d0cView commit details
Commits on Jun 3, 2024
-
quic: disable X25519Kyber768Draft00 in tests
Enabling this bloats the TLS handshake so flights no longer fit in a single datagram. Disable it in tests. Add a test using the crypto/tls defaults, to ensure we do handshake properly with them. Fixes golang/go#67783 Change-Id: I521188e7b5a313e9289e726935e5b26994090b4a Reviewed-on: https://go-review.googlesource.com/c/net/+/589855 Auto-Submit: Damien Neil <dneil@google.com> Reviewed-by: Jonathan Amsterdam <jba@google.com> Reviewed-by: Filippo Valsorda <filippo@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for 603e3e6 - Browse repository at this point
Copy the full SHA 603e3e6View commit details -
http2: avoid race in server handler SetReadDeadine/SetWriteDeadline
Can't safely access responseWriter.rws from on the server's serve loop. Change-Id: I477abe58cf9dd23813a0c5507aed2319696fdfaf Reviewed-on: https://go-review.googlesource.com/c/net/+/589856 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Auto-Submit: Damien Neil <dneil@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for 6249541 - Browse repository at this point
Copy the full SHA 6249541View commit details
Commits on Jun 4, 2024
-
go.mod: update golang.org/x dependencies
Update golang.org/x dependencies to their latest tagged versions. Change-Id: I472c3d990ea3c7c88a92bc0824034b112cec0eff Reviewed-on: https://go-review.googlesource.com/c/net/+/590237 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Than McIntosh <thanm@google.com> Auto-Submit: Gopher Robot <gobot@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for 66e838c - Browse repository at this point
Copy the full SHA 66e838cView commit details
Commits on Jun 12, 2024
-
http2: avoid Transport hang with Connection: close and AllowHTTP
CL 111835 changed Transport stream ID numbering to start at stream 3 when AllowHTTP is set. This was based on a misunderstanding: When a connection upgrades an HTTP/1.1 request to HTTP/2, the initial HTTP/1.1 request occupies stream 1. However, Transport does not perform HTTP protocol upgrades. When using a Transport to send unencrypted HTTP/2 requests, the entire connection uses HTTP/2, the first request is sent as HTTP/2, and there is no reason not to use stream 1 for this request. Starting from stream 3 is mostly harmless, but ClientConn.idleStateLocked assumes that client streams start from 1. This causes it to misidentify new single-use connections as having already sent a request (when AllowHTTP is set), and therefore not suitable for use. Revert to always starting stream IDs at 1. Fixes golang/go#67671 Change-Id: I97c89de4ae49623d916f9dbd200f8252d2fd4247 Reviewed-on: https://go-review.googlesource.com/c/net/+/591275 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Configuration menu - View commit details
-
Copy full SHA for 9617c63 - Browse repository at this point
Copy the full SHA 9617c63View commit details
Commits on Jul 5, 2024
-
quic: skip tests which depend on unimplemented UDP functions on Plan 9
The ReadMsgUDP and WriteMsgUDP methods of UDPConn are not implemented (yet?) on Plan 9. Skip tests which require them. Fixes golang/go#68288 Change-Id: Ic6c81b19322d589c10b16da61e9b89284294be05 Reviewed-on: https://go-review.googlesource.com/c/net/+/596795 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Than McIntosh <thanm@google.com>
Configuration menu - View commit details
-
Copy full SHA for 77708f7 - Browse repository at this point
Copy the full SHA 77708f7View commit details -
go.mod: update golang.org/x dependencies
Update golang.org/x dependencies to their latest tagged versions. Change-Id: Ibb0ab46488252d035430a654eed5dd4caab7509e Reviewed-on: https://go-review.googlesource.com/c/net/+/596895 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Gopher Robot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2Configuration menu - View commit details
-
Copy full SHA for e2310ae - Browse repository at this point
Copy the full SHA e2310aeView commit details
Commits on Jul 16, 2024
-
LICENSE: update per Google Legal
Very minor tweaks: - Remove (c) pseudosymbol. - Remove "All Rights Reserved." - Change "Google Inc." (no longer exists) to "Google LLC". [git-generate] echo ' ,s/\(c\) // ,s/ All rights reserved.// ,s/Google Inc./Google LLC/ w q ' | sam -d LICENSE Change-Id: Ibaa49e00dd08950a577e4343bfc574980d327995 Reviewed-on: https://go-review.googlesource.com/c/net/+/598579 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
Configuration menu - View commit details
-
Copy full SHA for 032e4e4 - Browse repository at this point
Copy the full SHA 032e4e4View commit details
Commits on Jul 22, 2024
-
xsrftoken: create no padding base64 string by RawURLEncoding
The XSRF token generation function creates the padded base64 string by base64.URLEncoding, then removes the padding. It is equivalent to the base64.RawURLEncoding but with more costs. Change-Id: I9cf5ad94e9cf3dca9bbfc1b6818ab07d41acf417 GitHub-Last-Rev: a8263b5 GitHub-Pull-Request: #217 Reviewed-on: https://go-review.googlesource.com/c/net/+/599895 Reviewed-by: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Damien Neil <dneil@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Commit-Queue: Damien Neil <dneil@google.com> Commit-Queue: Ian Lance Taylor <iant@google.com>
Configuration menu - View commit details
-
Copy full SHA for 765c7e8 - Browse repository at this point
Copy the full SHA 765c7e8View commit details
Commits on Aug 6, 2024
-
go.mod: update golang.org/x dependencies
Update golang.org/x dependencies to their latest tagged versions. Change-Id: I6a2e43cca79f719c018887e1d75b578fc27be8f1 Reviewed-on: https://go-review.googlesource.com/c/net/+/603399 Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Gopher Robot <gobot@golang.org>
Configuration menu - View commit details
-
Copy full SHA for 4542a42 - Browse repository at this point
Copy the full SHA 4542a42View commit details
Commits on Sep 4, 2024
-
websocket: fix printf(var) mistake detected by latest printf checker
For golang/go#69267. Change-Id: Ica6d123312495966ad6d222d67944fd602216853 Reviewed-on: https://go-review.googlesource.com/c/net/+/610799 Reviewed-by: Alan Donovan <adonovan@google.com> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for 9bf379f - Browse repository at this point
Copy the full SHA 9bf379fView commit details
Commits on Sep 5, 2024
-
go.mod: update golang.org/x dependencies
Update golang.org/x dependencies to their latest tagged versions. Change-Id: I4be730755989f3d982deaac30cf72c1f3546d4b7 Reviewed-on: https://go-review.googlesource.com/c/net/+/611198 Auto-Submit: Gopher Robot <gobot@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Pratt <mpratt@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Configuration menu - View commit details
-
Copy full SHA for 35b4aba - Browse repository at this point
Copy the full SHA 35b4abaView commit details
Commits on Sep 6, 2024
-
route: fix address parsing of messages on Darwin
sizeofSockaddrInet is 16, but first byte of sockaddr specifies actual size of sockaddr. Although, 16 works for most cases, it fails for Netmasks addresses. On Darwin only the significant bits of the netmask are in the msg. Take this route message as an example ``` // rt_msg_hdr 88 00 05 01 00 00 00 00 41 08 00 00 07 00 00 00 92 7b 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // metrics 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // SOCKADDRS - DST (100.113.0.0) 10 02 00 00 64 71 00 00 00 00 00 00 00 00 00 00 // GW utun4319 14 12 21 00 01 08 00 00 75 74 75 6e 34 33 31 39 00 00 00 00 // NETMASK 255.255.0.0 06 02 00 00 ff ff // NULL 00 00 ``` i.e. ipv4 ``` 06 02 00 00 ff ff ``` The above byte sequence is for a sockaddr that is 6 bytes long representing an ipv4 for address that is 255.255.0.0. i.e. ipv6 netmask ``` 0e 1e 00 00 00 00 00 00 ff ff ff ff ff ff 00 00 ``` The above is `/48` netmask that should also be parsed using `b[0]` of the sockaddr that contains the length. Confirmed by using `route monitor`. sources: https://github.com/apple/darwin-xnu/blob/main/bsd/net/route.h https://github.com/apple/darwin-xnu/blob/main/bsd/sys/socket.h#L603 Fixes golang/go#44740 Change-Id: I8153130d02d0a5e547fbf60a85762d3889e1d08c GitHub-Last-Rev: f7b9253 GitHub-Pull-Request: #220 Reviewed-on: https://go-review.googlesource.com/c/net/+/609577 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com>
Configuration menu - View commit details
-
Copy full SHA for 3c333c0 - Browse repository at this point
Copy the full SHA 3c333c0View commit details
Commits on Sep 23, 2024
-
http2: add Server.WriteByteTimeout
Transports support a WriteByteTimeout option which sets the maximum amount of time we can go without being able to write any bytes to a connection. Add an equivalent option to Server for consistency. Fixes golang/go#61777 Change-Id: Iaa8a69dfc403906eb224829320f901e5a6a5c429 Reviewed-on: https://go-review.googlesource.com/c/net/+/601496 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Carlos Amedee <carlos@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Configuration menu - View commit details
-
Copy full SHA for 541dbe5 - Browse repository at this point
Copy the full SHA 541dbe5View commit details
Commits on Sep 25, 2024
-
http2: add support for server-originated pings
Add configurable support for health-checking idle connections accepted by the HTTP/2 server, following the same configuration as the Transport. Fixes golang/go#67812 Change-Id: Ia4014e691546b2c29db8dad3af5f39966d0ceb93 Reviewed-on: https://go-review.googlesource.com/c/net/+/601497 Reviewed-by: Carlos Amedee <carlos@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for 4790dc7 - Browse repository at this point
Copy the full SHA 4790dc7View commit details -
http2: add support for net/http HTTP2 config field
For golang/go#67813 Change-Id: I6b7f857d6ed250ba8b09649730980a91b3e8d7e9 Reviewed-on: https://go-review.googlesource.com/c/net/+/607255 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Configuration menu - View commit details
-
Copy full SHA for 7191757 - Browse repository at this point
Copy the full SHA 7191757View commit details -
websocket: update nhooyr.io/websocket to github.com/coder/websocket
Maintenance of nhooyr.io/websocket has moved to github.com/coder/websocket. Read more about the transition at https://coder.com/blog/websocket Updates golang/go#18152 Change-Id: Ia2b11c9a57ad7ded775b50a5bbb7ea91562d39b5 GitHub-Last-Rev: 59cea5e GitHub-Pull-Request: #222 Reviewed-on: https://go-review.googlesource.com/c/net/+/614075 Reviewed-by: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Damien Neil <dneil@google.com> Auto-Submit: Damien Neil <dneil@google.com>
Configuration menu - View commit details
-
Copy full SHA for f88258d - Browse repository at this point
Copy the full SHA f88258dView commit details
Commits on Oct 4, 2024
-
go.mod: update golang.org/x dependencies
Update golang.org/x dependencies to their latest tagged versions. Change-Id: I57613519f6e5795e60d258865e81f6954d672606 Reviewed-on: https://go-review.googlesource.com/c/net/+/617959 Reviewed-by: David Chase <drchase@google.com> Auto-Submit: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Configuration menu - View commit details
-
Copy full SHA for 6cc5ac4 - Browse repository at this point
Copy the full SHA 6cc5ac4View commit details
Commits on Oct 10, 2024
-
http2: support ResponseController.EnableFullDuplex
The ResponseController.EnableFullDuplex method indicates that an HTTP handler intends to interleave reads from a request body with writes to the response body. Add an EnableFullDuplex method to the ResponseWriter so we don't return a not-supported error. The HTTP/2 server always supports full duplex, so this is a no-op. For golang/go#57786 Change-Id: I6529e6ce01d59b8b48fb67ba7c244255df57c174 Reviewed-on: https://go-review.googlesource.com/c/net/+/472717 Reviewed-by: Cherry Mui <cherryyz@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Дарья Бочкар <dasha7vanya@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 42b1186 - Browse repository at this point
Copy the full SHA 42b1186View commit details
Commits on Oct 11, 2024
-
internal/socket: execute gofmt
Change-Id: Ifc793d535c31da3ba183ee44e1808e0072d7f099 Reviewed-on: https://go-review.googlesource.com/c/net/+/619595 Reviewed-by: Damien Neil <dneil@google.com> Auto-Submit: Damien Neil <dneil@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
Configuration menu - View commit details
-
Copy full SHA for 5716b98 - Browse repository at this point
Copy the full SHA 5716b98View commit details
Commits on Oct 21, 2024
-
http2: limit 1xx based on size, do not limit when delivered
Replace Transport's limit of 5 1xx responses with a limit based on the maximum header size: The total size of all 1xx response headers must not exceed the limit we use on the size of the final response headers. (This differs slightly from the corresponding HTTP/1 change, which imposes a limit on all 1xx response headers *plus* the final response headers. The difference isn't substantial, and this implementation fits better with the HTTP/2 framer.) When the user is reading 1xx responses using a Got1xxResponse client trace hook, disable the limit: Each 1xx response is individually limited by the header size limit, but there is no limit on the total number of responses. The user is responsible for imposing a limit if they want one. For golang/go#65035 Change-Id: I9c19dbf068e0f580789d952f63113b3d21ad86fc Reviewed-on: https://go-review.googlesource.com/c/net/+/615295 Reviewed-by: Cherry Mui <cherryyz@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Damien Neil <dneil@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Configuration menu - View commit details
-
Copy full SHA for 4783315 - Browse repository at this point
Copy the full SHA 4783315View commit details
Commits on Oct 29, 2024
-
html: add Node.{Ancestors,ChildNodes,Descendants}()
Adds iterators for the parents, immediate children, and all children of a Node respectively. Fixes golang/go#62113 Change-Id: Iab015872cc3a20fe5e7cae3bc90b89cba68cc3f8 GitHub-Last-Rev: d99de58 GitHub-Pull-Request: #215 Reviewed-on: https://go-review.googlesource.com/c/net/+/594195 Reviewed-by: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Damien Neil <dneil@google.com>
Configuration menu - View commit details
-
Copy full SHA for 511cc3a - Browse repository at this point
Copy the full SHA 511cc3aView commit details
Commits on Nov 1, 2024
-
README: don't recommend go get
These days people will just import the packages and the go tool will do the right thing. We don't need to explain it. Add a pointer to the git repo, though. For golang/go#62645 Change-Id: Ia5a16d8d66395e3feee2029ea1c3140b4d3939e7 Reviewed-on: https://go-review.googlesource.com/c/net/+/624175 Auto-Submit: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
Configuration menu - View commit details
-
Copy full SHA for e883dae - Browse repository at this point
Copy the full SHA e883daeView commit details -
http2: detect hung client connections by confirming stream resets
Consider the case of an unresponsive client connection, where the server has stopped responding. We send an infinite sequence of requests to the connection in sequence, each with a timeout. Each request counts against the concurrency limit for the connection while active, but when a request times out we send a RST_STREAM and free up the concurrency slot it was using. We continue to try to send requests to the connection forever (or until the kernel closes the underlying TCP connection, or until ReadIdleTimeout/WriteByteTimeout results in us closing the connection). Defend against this scenario by counting a canceled request against the connection concurrency limit until we confirm the server is responding. Specifically: Track the number of in-flight request cancellations in cc.pendingResets. This total counts against the connection concurrency limit. When sending a RST_STREAM for a canceled request, increment cc.pendingResets. Send a PING frame to the server, unless a PING is already in flight. When receiving a PING response, set cc.pendingResets to 0. A hung connection will be used for at most SETTINGS_MAX_CONCURRENT_STREAMS requests. When StrictMaxConcurrentStreams is false, we will create a new connection after reaching the concurrency limit for a hung one. When StrictMaxConcurrentStreams is true, we will continue to wait for the existing connection until some timeout closes it or it becomes responsive again. For golang/go#59690 Change-Id: I0151f9a594af14b32bcb6005a239fa19eb103704 Reviewed-on: https://go-review.googlesource.com/c/net/+/617655 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Jonathan Amsterdam <jba@google.com> Reviewed-by: Carlos Amedee <carlos@golang.org>
Configuration menu - View commit details
-
Copy full SHA for f35fec9 - Browse repository at this point
Copy the full SHA f35fec9View commit details
Commits on Nov 5, 2024
-
http2: support unencrypted HTTP/2 handoff from net/http
Allow net/http to pass unencrypted net.Conns to Server/Transport. We don't have an existing way to pass a conn other than a *tls.Conn into this package, so (ab)use TLSNextProto to pass unencrypted connections: The http2 package adds an "unencrypted_http2" entry to the TLSNextProto maps. The net/http package calls this function with a *tls.Conn wrapping a net.Conn with an UnencryptedNetConn method returning the underlying, unencrypted net.Conn. For golang/go#67816 Change-Id: I31f9c1ba31a17c82c8ed651382bd94193acf09b9 Reviewed-on: https://go-review.googlesource.com/c/net/+/625175 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Configuration menu - View commit details
-
Copy full SHA for 0aa844c - Browse repository at this point
Copy the full SHA 0aa844cView commit details
Commits on Nov 6, 2024
-
http2: surface errors occurring very early in a client conn's lifetime
When we create a new connection for a request, the request should fail if the connection attempt fails. There is a race condition which can cause this to not happen: - net/http sends a request to a http2.Transport - the http2.Transport returns ErrNoCachedConn - net/http creates a new tls.Conn and passes it to the http2.Transport - the http2.Transport adds the conn to its connection pool - the connection immediately encounters an error - the http2.Transport removes the conn from its connection pool - net/http resends the request to the http2.Transport - the http2.Transport returns ErrNoCachedConn, and the process repeates If the request is sent to the http2.Transport before the connection encounters an error, then the request fails. But otherwise, we get stuck in an infinite loop of the http2.Transport asking for a new connection, receiving one, and throwing it away. To fix this, leave a dead connection in the pool for a short while if it has never had a request sent to it. If a dead connection is used for a new request, return an error and remove the connection from the pool. Change-Id: I64eb15a8f1512a6bda52db423072b945fab6f4b5 Reviewed-on: https://go-review.googlesource.com/c/net/+/625398 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Configuration menu - View commit details
-
Copy full SHA for 858db1a - Browse repository at this point
Copy the full SHA 858db1aView commit details
There are no files selected for viewing
Uh oh!
There was an error while loading. Please reload this page.