diff options
author | qmuntal <quimmuntal@gmail.com> | 2024-02-28 16:07:27 +0100 |
---|---|---|
committer | Quim Muntal <quimmuntal@gmail.com> | 2024-03-04 20:38:54 +0000 |
commit | b09ac10badb169828240a3b0bfaa4a428eaca969 (patch) | |
tree | 254dbf7873244b6989775b506b2d57748ad3c52f /doc | |
parent | 2b22fc10459dff0fb4b3e5b08bc14ffb349aa4dd (diff) | |
download | go-b09ac10badb169828240a3b0bfaa4a428eaca969.tar.gz go-b09ac10badb169828240a3b0bfaa4a428eaca969.zip |
os: don't normalize volumes to drive letters in os.Readlink
This CL updates os.Readlink so it no longer tries to normalize volumes
to drive letters, which was not always even possible.
This behavior is controlled by the `winreadlinkvolume` setting.
For Go 1.23, it defaults to `winreadlinkvolume=1`.
Previous versions default to `winreadlinkvolume=0`.
Fixes #63703.
Cq-Include-Trybots: luci.golang.try:gotip-windows-amd64-longtest,gotip-windows-arm64
Change-Id: Icd6fabbc8f0b78e23a82eef8db89940e89e9222d
Reviewed-on: https://go-review.googlesource.com/c/go/+/567735
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/godebug.md | 6 | ||||
-rw-r--r-- | doc/next/6-stdlib/99-minor/os/63703.md | 11 | ||||
-rw-r--r-- | doc/next/6-stdlib/99-minor/path/filepath/63703.md | 6 |
3 files changed, 23 insertions, 0 deletions
diff --git a/doc/godebug.md b/doc/godebug.md index 83b4bda89a..2b8852a7ec 100644 --- a/doc/godebug.md +++ b/doc/godebug.md @@ -139,6 +139,12 @@ At previous versions (`winsymlink=0`), mount points are treated as symlinks, and other reparse points with non-default [`os.ModeType`](/pkg/os#ModeType) bits (such as [`os.ModeDir`](/pkg/os#ModeDir)) do not have the `ModeIrregular` bit set. +Go 1.23 changed [`os.Readlink`](/pkg/os#Readlink) and [`filepath.EvalSymlinks`](/pkg/path/filepath#EvalSymlinks) +to avoid trying to normalize volumes to drive letters, which was not always even possible. +This behavior is controlled by the `winreadlinkvolume` setting. +For Go 1.23, it defaults to `winreadlinkvolume=1`. +Previous versions default to `winreadlinkvolume=0`. + ### Go 1.22 Go 1.22 adds a configurable limit to control the maximum acceptable RSA key size diff --git a/doc/next/6-stdlib/99-minor/os/63703.md b/doc/next/6-stdlib/99-minor/os/63703.md new file mode 100644 index 0000000000..581ea142ab --- /dev/null +++ b/doc/next/6-stdlib/99-minor/os/63703.md @@ -0,0 +1,11 @@ +On Windows, the [`os.Readlink`](/os#Readlink) function no longer tries +to resolve mount points to a canonical path. +This behavior is controlled by the `winsymlink` setting. +For Go 1.23, it defaults to `winsymlink=1`. +Previous versions default to `winsymlink=0`. + +On Windows, [`os.Readlink`](/pkg/path/filepath#EvalSymlinks) no longer tries +to normalize volumes to drive letters, which was not always even possible. +This behavior is controlled by the `winreadlinkvolume` setting. +For Go 1.23, it defaults to `winreadlinkvolume=1`. +Previous versions default to `winreadlinkvolume=0`.
\ No newline at end of file diff --git a/doc/next/6-stdlib/99-minor/path/filepath/63703.md b/doc/next/6-stdlib/99-minor/path/filepath/63703.md index f5dc76c46a..0aa0ba6fe3 100644 --- a/doc/next/6-stdlib/99-minor/path/filepath/63703.md +++ b/doc/next/6-stdlib/99-minor/path/filepath/63703.md @@ -3,3 +3,9 @@ mount points, which was a source of many inconsistencies and bugs. This behavior is controlled by the `winsymlink` setting. For Go 1.23, it defaults to `winsymlink=1`. Previous versions default to `winsymlink=0`. + +On Windows, [`filepath.EvalSymlinks`](/pkg/path/filepath#EvalSymlinks) no longer tries +to normalize volumes to drive letters, which was not always even possible. +This behavior is controlled by the `winreadlinkvolume` setting. +For Go 1.23, it defaults to `winreadlinkvolume=1`. +Previous versions default to `winreadlinkvolume=0`.
\ No newline at end of file |