{Name: "tlsmaxrsasize", Package: "crypto/tls"},
{Name: "tlsrsakex", Package: "crypto/tls", Changed: 22, Old: "1"},
{Name: "tlsunsafeekm", Package: "crypto/tls", Changed: 22, Old: "1"},
- {Name: "winreadlinkvolume", Package: "os", Changed: 22, Old: "0", Opaque: true}, // bug #66215: remove Opaque
- {Name: "winsymlink", Package: "os", Changed: 22, Old: "0", Opaque: true}, // bug #66215: remove Opaque
+ {Name: "winreadlinkvolume", Package: "os", Changed: 22, Old: "0"},
+ {Name: "winsymlink", Package: "os", Changed: 22, Old: "0"},
{Name: "x509sha1", Package: "crypto/x509"},
{Name: "x509usefallbackroots", Package: "crypto/x509"},
{Name: "x509usepolicies", Package: "crypto/x509"},
if winreadlinkvolume.Value() != "0" {
return `\\?\` + path[4:], nil
}
+ winreadlinkvolume.IncNonDefault()
h, err := openSymlink(path)
if err != nil {
var winsymlink = godebug.New("winsymlink")
-func (fs *fileStat) Mode() (m FileMode) {
+func (fs *fileStat) Mode() FileMode {
+ m := fs.mode()
if winsymlink.Value() == "0" {
- return fs.modePreGo1_23()
+ old := fs.modePreGo1_23()
+ if old != m {
+ winsymlink.IncNonDefault()
+ m = old
+ }
}
+ return m
+}
+
+func (fs *fileStat) mode() (m FileMode) {
if fs.FileAttributes&syscall.FILE_ATTRIBUTE_READONLY != 0 {
m |= 0444
} else {
The number of non-default behaviors executed by the crypto/tls
package due to a non-default GODEBUG=tlsunsafeekm=... setting.
+ /godebug/non-default-behavior/winreadlinkvolume:events
+ The number of non-default behaviors executed by the os package
+ due to a non-default GODEBUG=winreadlinkvolume=... setting.
+
+ /godebug/non-default-behavior/winsymlink:events
+ The number of non-default behaviors executed by the os package
+ due to a non-default GODEBUG=winsymlink=... setting.
+
/godebug/non-default-behavior/x509sha1:events
The number of non-default behaviors executed by the crypto/x509
package due to a non-default GODEBUG=x509sha1=... setting.