mirror of https://github.com/golang/go.git
doc: update the minimum support Windows version
Also, remove some test code that was trying to work on XP and fix up some comments referencing XP. Fixes #26191 Updates #23380 Change-Id: I0b7319fe1954afddb22d396e5ec91d8c960268d8 Reviewed-on: https://go-review.googlesource.com/123415 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
cda1947fd1
commit
4b74506da1
|
|
@ -50,7 +50,7 @@ If your OS or architecture is not on the list, you may be able to
|
||||||
<tr><td>FreeBSD 10.3 or later</td> <td>amd64, 386</td> <td>Debian GNU/kFreeBSD not supported</td></tr>
|
<tr><td>FreeBSD 10.3 or later</td> <td>amd64, 386</td> <td>Debian GNU/kFreeBSD not supported</td></tr>
|
||||||
<tr valign='top'><td>Linux 2.6.23 or later with glibc</td> <td>amd64, 386, arm, arm64,<br>s390x, ppc64le</td> <td>CentOS/RHEL 5.x not supported.<br>Install from source for other libc.</td></tr>
|
<tr valign='top'><td>Linux 2.6.23 or later with glibc</td> <td>amd64, 386, arm, arm64,<br>s390x, ppc64le</td> <td>CentOS/RHEL 5.x not supported.<br>Install from source for other libc.</td></tr>
|
||||||
<tr><td>macOS 10.10 or later</td> <td>amd64</td> <td>use the clang or gcc<sup>†</sup> that comes with Xcode<sup>‡</sup> for <code>cgo</code> support</td></tr>
|
<tr><td>macOS 10.10 or later</td> <td>amd64</td> <td>use the clang or gcc<sup>†</sup> that comes with Xcode<sup>‡</sup> for <code>cgo</code> support</td></tr>
|
||||||
<tr><td>Windows XP SP2 or later</td> <td>amd64, 386</td> <td>use MinGW gcc<sup>†</sup>. No need for cygwin or msys.</td></tr>
|
<tr><td>Windows 7, Server 2008R2 or later</td> <td>amd64, 386</td> <td>use MinGW gcc<sup>†</sup>. No need for cygwin or msys.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
// Copyright 2015 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package x509
|
|
||||||
|
|
||||||
import "syscall"
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
v, err := syscall.GetVersion()
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if major := byte(v); major < 6 {
|
|
||||||
// Windows XP SP2 and Windows 2003 do not support SHA2.
|
|
||||||
// https://blogs.technet.com/b/pki/archive/2010/09/30/sha2-and-windows.aspx
|
|
||||||
supportSHA2 = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -15,8 +15,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
var supportSHA2 = true
|
|
||||||
|
|
||||||
type verifyTest struct {
|
type verifyTest struct {
|
||||||
leaf string
|
leaf string
|
||||||
intermediates []string
|
intermediates []string
|
||||||
|
|
@ -427,9 +425,6 @@ func testVerify(t *testing.T, useSystemRoots bool) {
|
||||||
if runtime.GOOS == "windows" && test.testSystemRootsError {
|
if runtime.GOOS == "windows" && test.testSystemRootsError {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if useSystemRoots && !supportSHA2 && test.sha2 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
opts := VerifyOptions{
|
opts := VerifyOptions{
|
||||||
Intermediates: NewCertPool(),
|
Intermediates: NewCertPool(),
|
||||||
|
|
|
||||||
|
|
@ -34,12 +34,11 @@ var (
|
||||||
|
|
||||||
var canCancelIO bool // determines if CancelIoEx API is present
|
var canCancelIO bool // determines if CancelIoEx API is present
|
||||||
|
|
||||||
// This package uses SetFileCompletionNotificationModes Windows API
|
// This package uses the SetFileCompletionNotificationModes Windows
|
||||||
// to skip calling GetQueuedCompletionStatus if an IO operation completes
|
// API to skip calling GetQueuedCompletionStatus if an IO operation
|
||||||
// synchronously. Unfortuently SetFileCompletionNotificationModes is not
|
// completes synchronously. There is a known bug where
|
||||||
// available on Windows XP. Also there is a known bug where
|
// SetFileCompletionNotificationModes crashes on some systems (see
|
||||||
// SetFileCompletionNotificationModes crashes on some systems
|
// https://support.microsoft.com/kb/2568167 for details).
|
||||||
// (see https://support.microsoft.com/kb/2568167 for details).
|
|
||||||
|
|
||||||
var useSetFileCompletionNotificationModes bool // determines is SetFileCompletionNotificationModes is present and safe to use
|
var useSetFileCompletionNotificationModes bool // determines is SetFileCompletionNotificationModes is present and safe to use
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -65,9 +65,8 @@ func interfaceTable(ifindex int) ([]Interface, error) {
|
||||||
}
|
}
|
||||||
// For now we need to infer link-layer service
|
// For now we need to infer link-layer service
|
||||||
// capabilities from media types.
|
// capabilities from media types.
|
||||||
// We will be able to use
|
// TODO: use MIB_IF_ROW2.AccessType now that we no longer support
|
||||||
// MIB_IF_ROW2.AccessType once we drop support
|
// Windows XP.
|
||||||
// for Windows XP.
|
|
||||||
switch aa.IfType {
|
switch aa.IfType {
|
||||||
case windows.IF_TYPE_ETHERNET_CSMACD, windows.IF_TYPE_ISO88025_TOKENRING, windows.IF_TYPE_IEEE80211, windows.IF_TYPE_IEEE1394:
|
case windows.IF_TYPE_ETHERNET_CSMACD, windows.IF_TYPE_ISO88025_TOKENRING, windows.IF_TYPE_IEEE80211, windows.IF_TYPE_IEEE1394:
|
||||||
ifi.Flags |= FlagBroadcast | FlagMulticast
|
ifi.Flags |= FlagBroadcast | FlagMulticast
|
||||||
|
|
|
||||||
|
|
@ -107,11 +107,12 @@ func syscall_loadsystemlibrary(filename *uint16) (handle, err uintptr) {
|
||||||
}{filename, 0, _LOAD_LIBRARY_SEARCH_SYSTEM32}
|
}{filename, 0, _LOAD_LIBRARY_SEARCH_SYSTEM32}
|
||||||
c.args = uintptr(noescape(unsafe.Pointer(&args)))
|
c.args = uintptr(noescape(unsafe.Pointer(&args)))
|
||||||
} else {
|
} else {
|
||||||
// User is on Windows XP or something ancient.
|
// User doesn't have KB2533623 installed. The caller
|
||||||
// The caller wanted to only load the filename DLL
|
// wanted to only load the filename DLL from the
|
||||||
// from the System32 directory but that facility
|
// System32 directory but that facility doesn't exist,
|
||||||
// doesn't exist, so just load it the normal way. This
|
// so just load it the normal way. This is a potential
|
||||||
// is a potential security risk, but so is Windows XP.
|
// security risk, but so is not installing security
|
||||||
|
// updates.
|
||||||
c.fn = getLoadLibrary()
|
c.fn = getLoadLibrary()
|
||||||
c.n = 1
|
c.n = 1
|
||||||
c.args = uintptr(noescape(unsafe.Pointer(&filename)))
|
c.args = uintptr(noescape(unsafe.Pointer(&filename)))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue