-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Comparing changes
Open a pull request
base repository: golang/net
base: v0.30.0
head repository: golang/net
compare: v0.32.0
- 17 commits
- 55 files changed
- 9 contributors
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 -
quic: add LocalAddr and RemoteAddr to quic.Conn
These are missing for quic.Conn. Fixes golang/go#70138 Change-Id: Ia443ffe0e73e143be5c29233a1ceb7cb16951acd GitHub-Last-Rev: a326378 GitHub-Pull-Request: #225 Reviewed-on: https://go-review.googlesource.com/c/net/+/623157 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: David Chase <drchase@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 d7f220d - Browse repository at this point
Copy the full SHA d7f220dView commit details
Commits on Nov 8, 2024
-
go.mod: update golang.org/x dependencies
Update golang.org/x dependencies to their latest tagged versions. Change-Id: Ic3d15c610f766d40730157ea878be90dd9e9c084 Reviewed-on: https://go-review.googlesource.com/c/net/+/626378 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: David Chase <drchase@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 334afa0 - Browse repository at this point
Copy the full SHA 334afa0View commit details
Commits on Nov 22, 2024
-
http2: add SETTINGS_ENABLE_CONNECT_PROTOCOL support
For golang/go#49918 Change-Id: Ibcd8fb189200c0976cf1bd03a796abae4afa4cfd GitHub-Last-Rev: cba5ecd GitHub-Pull-Request: #221 Reviewed-on: https://go-review.googlesource.com/c/net/+/610977 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: Roland Shoemaker <roland@golang.org>
Configuration menu - View commit details
-
Copy full SHA for 9a51899 - Browse repository at this point
Copy the full SHA 9a51899View commit details
Commits on Nov 25, 2024
-
route: fix parse of zero-length sockaddrs in RIBs
Zero-length sockaddrs were observed in RIBs within golang/go#70528. These records are to be skipped, and an invariant for later slice manipulation is to be enforced by a defensive check in parseAddr. Fixes golang/go#70528 Change-Id: I4b8b5bd2339bbadc1d1be1ce14deeb6dd3b8e536 GitHub-Last-Rev: 066ba8a GitHub-Pull-Request: #228 Reviewed-on: https://go-review.googlesource.com/c/net/+/631475 Auto-Submit: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Damien Neil <dneil@google.com>
Configuration menu - View commit details
-
Copy full SHA for e9cd716 - Browse repository at this point
Copy the full SHA e9cd716View commit details
Commits on Dec 2, 2024
-
http2: limit number of PINGs bundled with RST_STREAMs
gRPC has an unfortunate behavior of stictly rate limiting the number of PING frames that it will receive. The default is two PING frames every two hours when no requests are in flight; two PING frames every five minutes when a request is in flight; and the limit resets every time the gRPC endpoint sends a HEADERS or DATA frame. When sending a RST_STREAM frame, the Transport can bundle a PING frame with it to confirm the server is responding. When canceling several requests in succession, this can result in hitting the gRPC ping limit. Work around this gRPC behavior by sending at most one bundled PING per HEADERS or DATA frame received. We already limit ourselves to one PING in flight at a time; now, when we receive a PING response, disable sending additional bundled PINGs until we read a HEADERS/DATA frame. This does not affect keep-alive pings. Fixes golang/go#70575. Change-Id: I7c4003039bd2dc52106b2806ca31eeeee37b7e09 Reviewed-on: https://go-review.googlesource.com/c/net/+/632995 Reviewed-by: Jonathan Amsterdam <jba@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 bc37675 - Browse repository at this point
Copy the full SHA bc37675View commit details -
route: change from syscall to x/sys/unix
This lets us drop some of the defs files and cgo usage. Change-Id: I5a00e77610da36c752d28ea07e40b8a9c7c59ae4 Reviewed-on: https://go-review.googlesource.com/c/net/+/632816 Auto-Submit: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: 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 4be1253 - Browse repository at this point
Copy the full SHA 4be1253View commit details
Commits on Dec 3, 2024
-
http2: fix benchmarks using common frame read/write functions
CL 586249 unified frame read/write functions used by client and server tests, but inadvertently broke some benchmarks. Fix those benchmarks. This mostly restores the previous behavior of the affected benchmarks (for example, testing only to see that a DATA frame contains an END_STREAM marker, ignoring the number of bytes in the frame). Fixes golang/go#70647 Change-Id: I2b0099c3513ac8754d11c4e37b7d63277a0fb0b1 Reviewed-on: https://go-review.googlesource.com/c/net/+/633055 Auto-Submit: Damien Neil <dneil@google.com> Reviewed-by: Jonathan Amsterdam <jba@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Antonio Ojea <aojea@google.com>
Configuration menu - View commit details
-
Copy full SHA for 6e41410 - Browse repository at this point
Copy the full SHA 6e41410View commit details -
route: remove unused sizeof* consts on freebsd
The sizeofSockaddr* consts were replaced by the respective x/sys/unix consts by CL 632816. The sizeofIfDataFreeBSD* consts were never used since they were added. Cq-Include-Trybots: luci.golang.try:x_net-gotip-freebsd-amd64 Change-Id: Ieb0e01353199e08659d45cdc3293e817b679fed5 Reviewed-on: https://go-review.googlesource.com/c/net/+/633155 Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.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 d0a1049 - Browse repository at this point
Copy the full SHA d0a1049View commit details
Commits on Dec 4, 2024
-
go.mod: update golang.org/x dependencies
Update golang.org/x dependencies to their latest tagged versions. Change-Id: I5db578f0e340dbf37012f580b307155806d55993 Reviewed-on: https://go-review.googlesource.com/c/net/+/633584 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Auto-Submit: Gopher Robot <gobot@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com>
Configuration menu - View commit details
-
Copy full SHA for 285e1cf - Browse repository at this point
Copy the full SHA 285e1cfView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.30.0...v0.32.0