Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: golang/net
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.38.0
Choose a base ref
...
head repository: golang/net
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.41.0
Choose a head ref
  • 13 commits
  • 109 files changed
  • 6 contributors

Commits on Apr 7, 2025

  1. go.mod: update golang.org/x dependencies

    Update golang.org/x dependencies to their latest tagged versions.
    
    Change-Id: I9999157ec9379b23f07925ac574003001fdd773c
    Reviewed-on: https://go-review.googlesource.com/c/net/+/662836
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Auto-Submit: Gopher Robot <gobot@golang.org>
    Reviewed-by: Carlos Amedee <carlos@golang.org>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    gopherbot committed Apr 7, 2025
    Configuration menu
    Copy the full SHA
    b8d8877 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2025

  1. quic: remove go1.21 build constraint

    The x/net go.mod now depends on go1.23.
    
    Change-Id: I24960949d84753f84f75fbdc97b7dfb92191a4d2
    Reviewed-on: https://go-review.googlesource.com/c/net/+/664295
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Jonathan Amsterdam <jba@google.com>
    Auto-Submit: Damien Neil <dneil@google.com>
    neild authored and gopherbot committed Apr 9, 2025
    Configuration menu
    Copy the full SHA
    dd0b200 View commit details
    Browse the repository at this point in the history
  2. quic: decode packet numbers >255 in tests

    Decoding QUIC packet numbers requires keeping track of the largest
    packet number received so far from the peer. Our tests haven't
    bothered doing that so far, so tests can't work with packet
    numbers past 255.
    
    Fix that so we can write tests that use more packets.
    
    Change-Id: Icb795e5cf69794381c12a3a03b0da6bcf47a69c0
    Reviewed-on: https://go-review.googlesource.com/c/net/+/664296
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Jonathan Amsterdam <jba@google.com>
    Auto-Submit: Damien Neil <dneil@google.com>
    neild authored and gopherbot committed Apr 9, 2025
    Configuration menu
    Copy the full SHA
    22500a6 View commit details
    Browse the repository at this point in the history
  3. quic: don't re-lose packets when discarding keys

    When discarding keys for a packet number space, we remove any
    in-flight packets in that space from our count of bytes in flight.
    Skip any packets in the space that were already acked or declared lost.
    
    Also skip over acked/lost packets when discarding state in response
    to a Reset message. This change shouldn't have any effect, since we
    never declare packets acked/lost until we receive an ACK, and we
    never handle a Reset after receiving an ACK.
    
    Change-Id: I8842f03aa06e57a834a211f1284a48fe5d469db3
    Reviewed-on: https://go-review.googlesource.com/c/net/+/664335
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Jonathan Amsterdam <jba@google.com>
    Auto-Submit: Damien Neil <dneil@google.com>
    neild authored and gopherbot committed Apr 9, 2025
    Configuration menu
    Copy the full SHA
    a3b6e77 View commit details
    Browse the repository at this point in the history
  4. quic: use an enum for sentPacket state

    The sentPacket type tracks the state of a packet sent to the peer.
    Packets can be in progress, acknowledged, or lost.
    Track this state with an enum rather than a set of bools,
    to avoid the possibility of nonsensical states such as a packet
    being both acknowledged and lost.
    
    This also simplifies a following change to add an "unsent" state
    for intentionally skipped packet numbers.
    
    Change-Id: I87c8fc399c72337c033ab7ec5ec8db2c56c732f9
    Reviewed-on: https://go-review.googlesource.com/c/net/+/664297
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Jonathan Amsterdam <jba@google.com>
    Auto-Submit: Damien Neil <dneil@google.com>
    neild authored and gopherbot committed Apr 9, 2025
    Configuration menu
    Copy the full SHA
    3f563d3 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2025

  1. quic: skip packet numbers for optimistic ack defense

    An "optimistic ACK attack" involves an attacker sending ACKs
    for packets it hasn't received, causing the victim's
    congestion controller to improperly send at a higher rate.
    
    The standard defense against this attack is to skip the occasional
    packet number, and to close the connection with an error if the
    peer ACKs an unsent packet.
    
    Implement this defense, increasing the gap between skipped
    packet numbers as a connection's lifetime grows and correspondingly
    the amount of work required on the part of the attacker.
    
    Change-Id: I01f44f13367821b86af6535ffb69d380e2b4d7b7
    Reviewed-on: https://go-review.googlesource.com/c/net/+/664298
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Jonathan Amsterdam <jba@google.com>
    Auto-Submit: Damien Neil <dneil@google.com>
    neild authored and gopherbot committed Apr 10, 2025
    Configuration menu
    Copy the full SHA
    3e7a445 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2025

  1. internal/timeseries: use built-in max/min to simplify the code

    Change-Id: I3d408025af072559cac1f2b403a90518995d0a5a
    Reviewed-on: https://go-review.googlesource.com/c/net/+/664855
    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: Dmitri Shuralyov <dmitshur@google.com>
    cuishuang authored and gopherbot committed Apr 16, 2025
    Configuration menu
    Copy the full SHA
    ea0c1d9 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2025

  1. go.mod: update golang.org/x dependencies

    Update golang.org/x dependencies to their latest tagged versions.
    
    Change-Id: Id9bf9fda6785763f418cbe165472193bb23c7401
    Reviewed-on: https://go-review.googlesource.com/c/net/+/670096
    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>
    gopherbot committed May 5, 2025
    Configuration menu
    Copy the full SHA
    7d6e62a View commit details
    Browse the repository at this point in the history

Commits on May 12, 2025

  1. trace: add missing td tag

    Change-Id: I4f99953e028a6e397c62605f39b73872abf960bd
    Reviewed-on: https://go-review.googlesource.com/c/net/+/670995
    Reviewed-by: Sean Liao <sean@liao.dev>
    Auto-Submit: Sean Liao <sean@liao.dev>
    Reviewed-by: Cherry Mui <cherryyz@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    egonelbre authored and gopherbot committed May 12, 2025
    Configuration menu
    Copy the full SHA
    bae01a7 View commit details
    Browse the repository at this point in the history
  2. http2: use an array instead of a map in typeFrameParser

    FrameType is a dense integer range, so we can store the frameParsers
    in an array instead of a map. This should be a very small performance
    win on all Go http2 servers. For high QPS gRPC services, this function
    is visible in the Go profiler. For example, it shows up as 0.16% of
    all CPU time on one production service at Datadog.
    
    Change FrameType.String() to use the same pattern.
    
    Add a test for testFrameType with unknown FrameTypes.
    
    Fixes golang/go#73613
    
    Change-Id: I5f5b523e011a99d6b428cbdbfd97415e488169d1
    Reviewed-on: https://go-review.googlesource.com/c/net/+/670415
    Reviewed-by: Sean Liao <sean@liao.dev>
    Reviewed-by: Cherry Mui <cherryyz@google.com>
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    evanj authored and seankhliao committed May 12, 2025
    Configuration menu
    Copy the full SHA
    919c6bc View commit details
    Browse the repository at this point in the history

Commits on May 22, 2025

  1. internal/http3: use bubbled context in synctest tests

    Avoid using T.Context within a synctest bubble. If the Context's
    Done channel is created outside the bubble, waiting on it within
    the bubble is durably blocking. If it's created within the bubble,
    the testing package encounters a panic when closing it after
    CL 671960.
    
    Instead, create our own Context within the bubble and cancel it
    before the bubble is destroyed.
    
    This will be entirely obviated by synctest.Test, which creates
    a testing.T that returns a properly bubbled context.
    
    Change-Id: Iff93c296ccbc1ece8172cb0a60e626ea1bd895ad
    Reviewed-on: https://go-review.googlesource.com/c/net/+/675615
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Auto-Submit: Damien Neil <dneil@google.com>
    Reviewed-by: Jonathan Amsterdam <jba@google.com>
    neild authored and gopherbot committed May 22, 2025
    Configuration menu
    Copy the full SHA
    ef33bc0 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2025

  1. http2: correctly wrap ErrFrameTooLarge in Framer.ReadFrame

    In Framer.ReadFrame's frame-too-large check, the code that checks for
    HTTP/1.1 looking frames accidentally wrapped the unrelated err from the
    previous readFrameHeader call instead of ErrFrameTooLarge. Fix that.
    
    Change-Id: I2237759eaad8c6e06e7195c50410abb5792e57ea
    Reviewed-on: https://go-review.googlesource.com/c/net/+/676218
    Reviewed-by: Chressie Himpel <chressie@google.com>
    Reviewed-by: Damien Neil <dneil@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    chressie committed May 28, 2025
    Configuration menu
    Copy the full SHA
    15f7d40 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2025

  1. go.mod: update golang.org/x dependencies

    Update golang.org/x dependencies to their latest tagged versions.
    
    Change-Id: Ief62c666e731ea5aa7bbf9b6be66c47cb463f867
    Reviewed-on: https://go-review.googlesource.com/c/net/+/679315
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    Reviewed-by: David Chase <drchase@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Auto-Submit: Gopher Robot <gobot@golang.org>
    gopherbot committed Jun 5, 2025
    Configuration menu
    Copy the full SHA
    6e41cae View commit details
    Browse the repository at this point in the history
Loading