<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go, branch go1.23.5</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=go1.23.5</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=go1.23.5'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2025-01-16T20:07:56Z</updated>
<entry>
<title>[release-branch.go1.23] go1.23.5</title>
<updated>2025-01-16T20:07:56Z</updated>
<author>
<name>Gopher Robot</name>
<email>gobot@golang.org</email>
</author>
<published>2025-01-16T19:41:53Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=d04e3cbc9240e25de449dcae2ec33d03062f347b'/>
<id>urn:sha1:d04e3cbc9240e25de449dcae2ec33d03062f347b</id>
<content type='text'>
Change-Id: I849328cf93adf24c223f103f5b834635970ea652
Reviewed-on: https://go-review.googlesource.com/c/go/+/643137
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
Auto-Submit: Gopher Robot &lt;gobot@golang.org&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.23] net/http: persist header stripping across repeated redirects</title>
<updated>2025-01-16T19:00:39Z</updated>
<author>
<name>Damien Neil</name>
<email>dneil@google.com</email>
</author>
<published>2024-11-22T20:34:11Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=bb8230f80535945648e8b56739ad450cf433eba9'/>
<id>urn:sha1:bb8230f80535945648e8b56739ad450cf433eba9</id>
<content type='text'>
When an HTTP redirect changes the host of a request, we drop
sensitive headers such as Authorization from the redirected request.
Fix a bug where a chain of redirects could result in sensitive
headers being sent to the wrong host:

  1. request to a.tld with Authorization header
  2. a.tld redirects to b.tld
  3. request to b.tld with no Authorization header
  4. b.tld redirects to b.tld
  3. request to b.tld with Authorization header restored

Thanks to Kyle Seely for reporting this issue.

For #70530
Fixes ##71211
Fixes CVE-2024-45336

Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/1641
Reviewed-by: Roland Shoemaker &lt;bracewell@google.com&gt;
Reviewed-by: Tatiana Bradley &lt;tatianabradley@google.com&gt;
Commit-Queue: Roland Shoemaker &lt;bracewell@google.com&gt;
Change-Id: I326544358de71ff892d9e9fe338252a5dd04001f
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/1764
Reviewed-on: https://go-review.googlesource.com/c/go/+/643104
Auto-Submit: Michael Knyszek &lt;mknyszek@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.23] crypto/x509: properly check for IPv6 hosts in URIs</title>
<updated>2025-01-16T19:00:37Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>bracewell@google.com</email>
</author>
<published>2024-12-09T19:31:22Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=fdb8413fe588ec6dc31f1deaf43eb7202a76bb79'/>
<id>urn:sha1:fdb8413fe588ec6dc31f1deaf43eb7202a76bb79</id>
<content type='text'>
When checking URI constraints, use netip.ParseAddr, which understands
zones, unlike net.ParseIP which chokes on them. This prevents zone IDs
from mistakenly satisfying URI constraints.

Thanks to Juho Forsén of Mattermost for reporting this issue.

For #71156
Fixes #71208
Fixes CVE-2024-45341

Change-Id: Iecac2529f3605382d257996e0fb6d6983547e400
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/1700
Reviewed-by: Tatiana Bradley &lt;tatianabradley@google.com&gt;
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
(cherry picked from commit 22ca55d396ba801e6ae9b2bd67a059fcb30562fd)
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/1762
Reviewed-by: Roland Shoemaker &lt;bracewell@google.com&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/643103
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Auto-Submit: Michael Knyszek &lt;mknyszek@google.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.23] runtime: hold traceAcquire across casgstatus in injectglist</title>
<updated>2025-01-08T18:02:57Z</updated>
<author>
<name>Michael Anthony Knyszek</name>
<email>mknyszek@google.com</email>
</author>
<published>2024-12-23T17:21:07Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=1dde0b484489653136a54df9932cc8d1c0fb6d1b'/>
<id>urn:sha1:1dde0b484489653136a54df9932cc8d1c0fb6d1b</id>
<content type='text'>
Currently injectglist emits all the trace events before actually calling
casgstatus on each goroutine. This is a problem, since tracing can
observe an inconsistent state (gstatus does not match tracer's 'emitted
an event' state).

This change fixes the problem by having injectglist do what every other
scheduler function does, and that's wrap each call to casgstatus in
traceAcquire/traceRelease.

For #70883.
Fixes #71147.

Change-Id: I857e96cec01688013597e8efc0c4c3d0b72d3a70
Reviewed-on: https://go-review.googlesource.com/c/go/+/638558
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
(cherry picked from commit f025d19e7b3f0c66242760c213cc2b54cb100f69)
Reviewed-on: https://go-review.googlesource.com/c/go/+/641378
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.23] crypto/tls: fix Config.Time in tests using expired certificates</title>
<updated>2025-01-08T17:33:16Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2025-01-02T00:34:40Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=3417000c69bc89c173cfafcf3f2a06a408b32880'/>
<id>urn:sha1:3417000c69bc89c173cfafcf3f2a06a408b32880</id>
<content type='text'>
Updates #71077
Fixes #71104

Change-Id: I6a6a465685f3bd50a5bb35a160f87b59b74fa6af
Reviewed-on: https://go-review.googlesource.com/c/go/+/639655
Auto-Submit: Ian Lance Taylor &lt;iant@google.com&gt;
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Auto-Submit: Filippo Valsorda &lt;filippo@golang.org&gt;
Auto-Submit: Damien Neil &lt;dneil@google.com&gt;
Reviewed-by: Joel Sing &lt;joel@sing.id.au&gt;
Reviewed-by: Ian Lance Taylor &lt;iant@google.com&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/640315
Reviewed-by: Filippo Valsorda &lt;filippo@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.23] net: don't use sendfile for irregular files; handle EOPNOTSUPP/ENOTSUP</title>
<updated>2024-12-18T17:42:15Z</updated>
<author>
<name>Ian Lance Taylor</name>
<email>iant@golang.org</email>
</author>
<published>2024-12-11T22:18:42Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=1576793c513c5cd8396d1a5b004b546e82efc033'/>
<id>urn:sha1:1576793c513c5cd8396d1a5b004b546e82efc033</id>
<content type='text'>
This is not a cherry pick, because the code has changed on tip.

For #70763
Fixes #70789

Change-Id: If9fcfee17e86a746cf8c72293dc34f80b430f6e6
Reviewed-on: https://go-review.googlesource.com/c/go/+/635397
Auto-Submit: Ian Lance Taylor &lt;iant@google.com&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.23] runtime: update and restore g0 stack bounds at cgocallback</title>
<updated>2024-12-13T19:18:11Z</updated>
<author>
<name>Cherry Mui</name>
<email>cherryyz@google.com</email>
</author>
<published>2024-07-22T20:23:43Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=59b7d40774b29bd1da1aa624f13233111aff4ad2'/>
<id>urn:sha1:59b7d40774b29bd1da1aa624f13233111aff4ad2</id>
<content type='text'>
Currently, at a cgo callback where there is already a Go frame on
the stack (i.e. C-&gt;Go-&gt;C-&gt;Go), we require that at the inner Go
callback the SP is within the g0's stack bounds set by a previous
callback. This is to prevent that the C code switches stack while
having a Go frame on the stack, which we don't really support. But
this could also happen when we cannot get accurate stack bounds,
e.g. when pthread_getattr_np is not available. Since the stack
bounds are just estimates based on the current SP, if there are
multiple C-&gt;Go callbacks with various stack depth, it is possible
that the SP of a later callback falls out of a previous call's
estimate. This leads to runtime throw in a seemingly reasonable
program.

This CL changes it to save the old g0 stack bounds at cgocallback,
update the bounds, and restore the old bounds at return. So each
callback will get its own stack bounds based on the current SP,
and when it returns, the outer callback has the its old stack
bounds restored.

Also, at a cgo callback when there is no Go frame on the stack,
we currently always get new stack bounds. We do this because if
we can only get estimated bounds based on the SP, and the stack
depth varies a lot between two C-&gt;Go calls, the previous
estimates may be off and we fall out or nearly fall out of the
previous bounds. But this causes a performance problem: the
pthread API to get accurate stack bounds (pthread_getattr_np) is
very slow when called on the main thread. Getting the stack bounds
every time significantly slows down repeated C-&gt;Go calls on the
main thread.

This CL fixes it by "caching" the stack bounds if they are
accurate. I.e. at the second time Go calls into C, if the previous
stack bounds are accurate, and the current SP is in bounds, we can
be sure it is the same stack and we don't need to update the bounds.
This avoids the repeated calls to pthread_getattr_np. If we cannot
get the accurate bounds, we continue to update the stack bounds
based on the SP, and that operation is very cheap.

On a Linux/AMD64 machine with glibc:

name                     old time/op  new time/op  delta
CgoCallbackMainThread-8  96.4µs ± 3%   0.1µs ± 2%  -99.92%  (p=0.000 n=10+9)

Updates #68285.
Updates #68587.
Fixes #69988.

Change-Id: I3422badd5ad8ff63e1a733152d05fb7a44d5d435
Reviewed-on: https://go-review.googlesource.com/c/go/+/600296
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
(cherry picked from commit 76a8409eb81eda553363783dcdd9d6224368ae0e)
Reviewed-on: https://go-review.googlesource.com/c/go/+/635775
</content>
</entry>
<entry>
<title>[release-branch.go1.23] cmd/compile/internal/importer: enable aliases</title>
<updated>2024-12-11T19:17:27Z</updated>
<author>
<name>Tim King</name>
<email>taking@google.com</email>
</author>
<published>2024-08-09T17:50:00Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=69c8cfe29bb677614c01f8dae3901d6954411af8'/>
<id>urn:sha1:69c8cfe29bb677614c01f8dae3901d6954411af8</id>
<content type='text'>
Flips the pkgReader.enableAlias flag to true when reading unified IR.
This was disabled while resolving #66873. This resolves the TODO to
flip it back to true.

Fixes #70394
Fixes #70517
Updates #66873

Change-Id: Ifd52b0f9510d6bcf151de1c9a18d71ab548c14e4
Reviewed-on: https://go-review.googlesource.com/c/go/+/604099
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
(cherry picked from commit 209ed1a9c75d17046285c416b74a14bb89799757)
Reviewed-on: https://go-review.googlesource.com/c/go/+/631855
Commit-Queue: Tim King &lt;taking@google.com&gt;
Reviewed-by: Robert Griesemer &lt;gri@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.23] go1.23.4</title>
<updated>2024-12-03T18:27:46Z</updated>
<author>
<name>Gopher Robot</name>
<email>gobot@golang.org</email>
</author>
<published>2024-12-03T17:22:32Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=194de8fbfaf4c3ed54e1a3c1b14fc67a830b8d95'/>
<id>urn:sha1:194de8fbfaf4c3ed54e1a3c1b14fc67a830b8d95</id>
<content type='text'>
Change-Id: I8d26e5231e868476949390ec900f0273c816d807
Reviewed-on: https://go-review.googlesource.com/c/go/+/633217
Reviewed-by: Veronica Silina &lt;veronicasilina@google.com&gt;
Auto-Submit: Gopher Robot &lt;gobot@golang.org&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.23] cmd/trace: also show end stack traces</title>
<updated>2024-11-27T20:24:20Z</updated>
<author>
<name>Felix Geisendörfer</name>
<email>felix.geisendoerfer@datadoghq.com</email>
</author>
<published>2024-11-26T08:10:22Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=5164a865e3de723f07976edac234c4d6a814128e'/>
<id>urn:sha1:5164a865e3de723f07976edac234c4d6a814128e</id>
<content type='text'>
Fix a regression that appeared in 1.23 when it comes to the stack traces
shown in the trace viewer. In 1.22 and earlier, the viewer was always
showing end stack traces. In 1.23 and later the viewer started to
exclusively show start stack traces.

Showing only the start stack traces made it impossible to see the last
stack trace produced by a goroutine. It also made it hard to understand
why a goroutine went off-cpu, as one had to hunt down the next running
slice of the same goroutine.

Emit end stack traces in addition to start stack traces to fix the
issue.

Fixes #70592

Change-Id: Ib22ea61388c1d94cdbc99fae2d207c4dce011a59
Reviewed-on: https://go-review.googlesource.com/c/go/+/631895
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
Auto-Submit: Felix Geisendörfer &lt;felix.geisendoerfer@datadoghq.com&gt;
Reviewed-by: Nick Ripley &lt;nick.ripley@datadoghq.com&gt;
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
(cherry picked from commit 6405e60ca6be798c1f8c1d0365fd63b89b524df5)
Reviewed-on: https://go-review.googlesource.com/c/go/+/632075
Reviewed-by: Veronica Silina &lt;veronicasilina@google.com&gt;
Auto-Submit: Veronica Silina &lt;veronicasilina@google.com&gt;
</content>
</entry>
</feed>
