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.44.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.46.0
Choose a head ref
  • 16 commits
  • 48 files changed
  • 5 contributors

Commits on Sep 16, 2025

  1. all: fix some comments

    Including mismatched function names/struct names, repeated words, typos, etc.
    
    Change-Id: Ia576274bce6e6fbfe4d2fca6dcd6d31bf00936fb
    Reviewed-on: https://go-review.googlesource.com/c/net/+/683875
    Auto-Submit: Sean Liao <sean@liao.dev>
    Reviewed-by: Mark Freeman <markfreeman@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    Reviewed-by: Sean Liao <sean@liao.dev>
    cuishuang authored and gopherbot committed Sep 16, 2025
    Configuration menu
    Copy the full SHA
    875d966 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2025

  1. http2: disambiguate the existing priority WriteScheduler.

    This change renames the file for the RFC 7540 priority write scheduler
    to writesched_priority_rfc7540.go file. Existing symbols have also been
    renamed to make it explicit that they are only used for the RFC 7540
    priority implementation.
    
    This is done so that when we introduce the new RFC 9218 priority write
    scheduler, we will not cause confusion with regards to which symbols are
    used for which scheduler.
    
    This CL only renames and moves symbols, no behavior changes have been
    introduced.
    
    For golang/go#75500
    
    Change-Id: I5c31bd51bc0d25415ff72909cc0b8f9fef44c052
    Reviewed-on: https://go-review.googlesource.com/c/net/+/704757
    Reviewed-by: Damien Neil <dneil@google.com>
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    nicholashusin committed Sep 18, 2025
    Configuration menu
    Copy the full SHA
    653f4f6 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2025

  1. http2: introduce a new write scheduler based on RFC 9218 priority scheme

    This change introduces a new write scheduler that prioritizes writes
    based on RFC 9218. Eventually, this scheduler will be used to replace
    the existing priority scheduler based on RFC 7540, which has been
    deprecated in RFC 9113.
    
    No behavioral changes has been introduced as this scheduler is not used
    anywhere yet.
    
    goos: linux
    goarch: amd64
    pkg: golang.org/x/net/http2
    cpu: AMD EPYC 7B13
    BenchmarkWriteSchedulerThroughputRoundRobin-64                            100000            140884 ns/op          139201 B/op       2900 allocs/op
    BenchmarkWriteSchedulerLifetimeRoundRobin-64                              100000            149632 ns/op          139202 B/op       2900 allocs/op
    BenchmarkWriteSchedulerThroughputRandom-64                                100000            218311 ns/op          139201 B/op       2900 allocs/op
    BenchmarkWriteSchedulerLifetimeRandom-64                                  100000            216559 ns/op          139203 B/op       2900 allocs/op
    BenchmarkWriteSchedulerThroughputPriorityRFC7540-64                       100000            587625 ns/op          139201 B/op       2900 allocs/op
    BenchmarkWriteSchedulerThroughputPriorityRFC9218Incremental-64            100000            149563 ns/op          139200 B/op       2900 allocs/op
    BenchmarkWriteSchedulerLifetimePriorityRFC9218Incremental-64              100000            163697 ns/op          139201 B/op       2900 allocs/op
    BenchmarkWriteSchedulerThroughputPriorityRFC9218NonIncremental-64         100000            145364 ns/op          139201 B/op       2900 allocs/op
    BenchmarkWriteSchedulerLifetimePriorityRFC9218NonIncremental-64           100000            159316 ns/op          139203 B/op       2900 allocs/op
    
    For golang/go#75500
    
    Change-Id: Id5db195f6f75970f9cc3c7b7a292df96a139de8b
    Reviewed-on: https://go-review.googlesource.com/c/net/+/704758
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Damien Neil <dneil@google.com>
    Reviewed-by: Nicholas Husin <husin@google.com>
    nicholashusin committed Sep 19, 2025
    Configuration menu
    Copy the full SHA
    1034247 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2025

  1. internal/httpsfv: add functionality to walk Parameters in HTTP SFV.

    This change implements the minimum set of functionality within RFC 8491
    that is needed in order for us to be able to extract information out of
    Parameters type.
    
    Rather than parsing the given Structured Field Values as usual, we
    instead allow users to give us functions that will be invoked as we walk
    through the SFV. This allows users to still extract information out of
    SFV, without incurring significant memory allocation, especially when
    the input is large.
    
    If the current API & approach is good, we will proceed further by
    implementing walk functionality for the rest of the types within RFC
    8491: Dictionary, List, Item, and Inner List. After that, we will also
    add support for Date and Display String to fully support RFC 9651.
    
    For golang/go#75500
    
    Change-Id: I838a7267a54fcd64b019be0ac10fe86b1e3e2c8b
    Reviewed-on: https://go-review.googlesource.com/c/net/+/706755
    Auto-Submit: Nicholas Husin <nsh@golang.org>
    Reviewed-by: Nicholas Husin <husin@google.com>
    Reviewed-by: Damien Neil <dneil@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    nicholashusin authored and gopherbot committed Sep 25, 2025
    Configuration menu
    Copy the full SHA
    c492e3c View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2025

  1. http2: support HTTP2Config.StrictMaxConcurrentRequests

    When HTTP2Config.StrictMaxConcurrentRequests is set
    (added in Go 1.26), use it to override the value of
    Transport.StrictMaxConcurrentStreams.
    
    Permits configuring this parameter from net/http
    without importing x/net/http2.
    
    For golang/go#67813
    
    Change-Id: Ie7fa5a8ac033b1827cf7fef4e23b5110a05dc95f
    Reviewed-on: https://go-review.googlesource.com/c/net/+/707315
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Nicholas Husin <husin@google.com>
    Reviewed-by: Nicholas Husin <nsh@golang.org>
    neild committed Sep 29, 2025
    Configuration menu
    Copy the full SHA
    fe9bcbc View commit details
    Browse the repository at this point in the history
  2. internal/httpsfv: add support for Bare Inner List and Item type.

    This change implements the consume and Parse functions for both the Item
    and Bare Inner List type. This is part of a chain of changes that is needed
    in order for us to fully support HTTP Structured Field Values parsing as
    defined in RFC 9651.
    
    In future changes, we will utilize the support for Bare Inner List and Item
    that is added here to support more complex types, namely Dictionary and
    List.
    
    Note that Bare Inner List is something we define on our own. We define a
    Bare Inner List as an Inner List without the top-most parameter meant
    for the Inner List. For example, the Inner List `(a;b c;d);e` would
    translate to the Bare Inner List `(a;b c;d)`. We have done this because
    the parameter of an Inner List will be exposed to the user via
    ParseDictionary() or ParseList() too. By implementing Bare Inner List,
    we can avoid having two ways of accessing the Inner List parameter, and
    incurring the cost of a more complex implementation for Inner List and
    other types that utilize Inner List (e.g. if we have consumeInnerList,
    ParseDictionary will have to use consumeInnerList and backtrack the
    consumption to separate out the InnerList parameter).
    
    For go/golang#75500
    
    Change-Id: I9b418d10b5755195d1cc3ff5f7ea211423bc4b48
    Reviewed-on: https://go-review.googlesource.com/c/net/+/707099
    Reviewed-by: Damien Neil <dneil@google.com>
    Reviewed-by: Nicholas Husin <husin@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    nicholashusin committed Sep 29, 2025
    Configuration menu
    Copy the full SHA
    7d8cfce View commit details
    Browse the repository at this point in the history
  3. internal/httpsfv: implement parsing support for Dictionary and List t…

    …ype.
    
    This change implements the Parse functions for the Dictionary and List
    type. At this point, we should be able to use internal/httpsfv package
    to extract information from any HTTP SFV that follows RFC 8941.
    
    In future changes, we will add additional types introduced in RFC 9651
    to achieve feature parity with it. Additionally, we will add Parse
    functions for all the HTTP SFV types, such that users of the package do
    not need to do their own type assertions and conversions.
    
    Note that the Dictionary and List type do not have a consume function.
    This is because both types never appear as a child of other types,
    meaning it is guaranteed to always consume its entire string input.
    
    For go/golang#75500
    
    Change-Id: I376dca274d920a4bea276ebb4d49a9cd768c79fe
    Reviewed-on: https://go-review.googlesource.com/c/net/+/707100
    Reviewed-by: Damien Neil <dneil@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Nicholas Husin <husin@google.com>
    nicholashusin committed Sep 29, 2025
    Configuration menu
    Copy the full SHA
    f2e909b View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2025

  1. webdav/internal/xml: use the built-in min function

    Starting from Go 1.21, the min functions are built-in.
    
    Therefore, we can remove the custom functions with the same name.
    
    Change-Id: Ia13e609358e19cf3863edc0f5a34e737cdcc291f
    Reviewed-on: https://go-review.googlesource.com/c/net/+/707555
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Carlos Amedee <carlos@golang.org>
    Reviewed-by: Junyang Shao <shaojunyang@google.com>
    Reviewed-by: Sean Liao <sean@liao.dev>
    Auto-Submit: Sean Liao <sean@liao.dev>
    cuishuang authored and gopherbot committed Sep 30, 2025
    Configuration menu
    Copy the full SHA
    51f657b View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2025

  1. http2: make the error channel pool per-Server

    Channels can't be shared across synctest bubbles, so a global pool causes
    panics when using an http2.Server in a bubble. Make the pool per-Server.
    A Server can't be shared across bubbles anyway (it contains channels)
    and outside of tests most programs will have a single Server.
    
    Fixes golang/go#75674
    
    Change-Id: I966f985e1b9644bdf8ae81d9abb142d80320cc82
    Reviewed-on: https://go-review.googlesource.com/c/net/+/708135
    Auto-Submit: Nicholas Husin <nsh@golang.org>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
    Reviewed-by: Nicholas Husin <husin@google.com>
    Reviewed-by: Nicholas Husin <nsh@golang.org>
    neild authored and gopherbot committed Oct 1, 2025
    Configuration menu
    Copy the full SHA
    47a241f View commit details
    Browse the repository at this point in the history
  2. internal/httpsfv: add support for consuming Display String and Date type

    This CL adds consumeDisplayString() and consumeDate() function, meaning
    that we can now consume all types that are defined within RFC 9651. In
    future CL, we will add the corresponding parsing function for all the
    types, so callers of this package will not have to implement their own
    parsing / formatting.
    
    For golang/go#75500
    
    Change-Id: I90aa132d3ab1385b310d821997da13a095cd71bc
    Reviewed-on: https://go-review.googlesource.com/c/net/+/708015
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Damien Neil <dneil@google.com>
    Reviewed-by: Nicholas Husin <husin@google.com>
    nicholashusin committed Oct 1, 2025
    Configuration menu
    Copy the full SHA
    fbba2c2 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2025

  1. internal/httpsfv: add parsing functionality for types defined in RFC …

    …8941
    
    This change introduces parsing functions for all item types defined in
    RFC 8941, namely: integers, decimals, strings, tokens, byte sequences,
    and booleans.
    
    At this point, internal/httpsfv should be usable for parsing any RFC
    8941-compliant HTTP Structured Field Values.
    
    In a future CL, we will add support for parsing display strings and
    dates, so that this package fully supports RFC 9651.
    
    For golang/go#75500
    
    Change-Id: Ib8ad2caa5f6ea4285d00506faa4b8127c2cc9419
    Reviewed-on: https://go-review.googlesource.com/c/net/+/708435
    Auto-Submit: Nicholas Husin <nsh@golang.org>
    Reviewed-by: Damien Neil <dneil@google.com>
    Reviewed-by: Nicholas Husin <husin@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    nicholashusin authored and gopherbot committed Oct 2, 2025
    Configuration menu
    Copy the full SHA
    edb764c View commit details
    Browse the repository at this point in the history
  2. internal/httpsfv: implement parsing support for date and display string

    This change adds support for parsing date and display string, meaning
    this package can now fully parse any HTTP SFV that is compliant with
    RFC 9651.
    
    This package is still intended only for internal use at this point.
    
    For golang/go#75500
    
    Change-Id: I07626b45f01e0c5cb4e92aa3fea04cc7e2d0c814
    Reviewed-on: https://go-review.googlesource.com/c/net/+/708437
    Reviewed-by: Damien Neil <dneil@google.com>
    Reviewed-by: Carlos Amedee <carlos@golang.org>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    nicholashusin committed Oct 2, 2025
    Configuration menu
    Copy the full SHA
    b2ab371 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2025

  1. http2: fix RFC 9218 write scheduler not being idempotent

    Previously, the RFC 9218 write scheduler had a bug where AdjustStream()
    did not update the stream's metadata after adjusting its priority. This
    results in the function not being idempotent, where repeated calls to it
    for the same stream can instead remove an unrelated stream from our
    scheduler, and duplicate the stream whose priority is being updated.
    
    For go/golang#75500
    
    Change-Id: Iaf3dd819d02839bc6cff65027c4916f9f2fa3e5b
    Reviewed-on: https://go-review.googlesource.com/c/net/+/709477
    Reviewed-by: Nicholas Husin <husin@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Damien Neil <dneil@google.com>
    nicholashusin committed Oct 7, 2025
    Configuration menu
    Copy the full SHA
    5393563 View commit details
    Browse the repository at this point in the history
  2. html: align in row insertion mode with spec

    Update inRowIM to match the HTML specification. This fixes an issue
    where a specific HTML document could cause the parser to enter an
    infinite loop when trying to parse a </tbody> and implied </tr> next to
    each other.
    
    Fixes CVE-2025-58190
    Fixes golang/go#70179
    
    Change-Id: Idcb133c87c7d475cc8c7eb1f1550ea21d8bdddea
    Reviewed-on: https://go-review.googlesource.com/c/net/+/709875
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Damien Neil <dneil@google.com>
    rolandshoemaker committed Oct 7, 2025
    Configuration menu
    Copy the full SHA
    6ec8895 View commit details
    Browse the repository at this point in the history
  3. html: impose open element stack size limit

    The HTML specification contains a number of algorithms which are
    quadratic in complexity by design. Instead of adding complicated
    workarounds to prevent these cases from becoming extremely expensive in
    pathological cases, we impose a limit of 512 to the size of the stack of
    open elements. It is extremely unlikely that non-adversarial HTML
    documents will ever hit this limit (but if we see cases of this, we may
    want to make the limit configurable via a ParseOption).
    
    Thanks to Guido Vranken and Jakub Ciolek for both independently
    reporting this issue.
    
    Fixes CVE-2025-47911
    Fixes golang/go#75682
    
    Change-Id: I890517b189af4ffbf427d25d3fde7ad7ec3509ad
    Reviewed-on: https://go-review.googlesource.com/c/net/+/709876
    Reviewed-by: Damien Neil <dneil@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    rolandshoemaker committed Oct 7, 2025
    Configuration menu
    Copy the full SHA
    59706cd View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2025

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

    Update golang.org/x dependencies to their latest tagged versions.
    
    Change-Id: I2715ca45bf0dbe31bf912ab365632cb80be544ca
    Reviewed-on: https://go-review.googlesource.com/c/net/+/710079
    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>
    Reviewed-by: David Chase <drchase@google.com>
    gopherbot committed Oct 8, 2025
    Configuration menu
    Copy the full SHA
    2002a06 View commit details
    Browse the repository at this point in the history
Loading