diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-08-24 15:43:43 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-08-24 18:43:48 +0200 |
commit | 69b8b302afc413e612215397696bfaff76542cc8 (patch) | |
tree | fda2b17419fb718c41f250e5e65fd4f49e016bf3 /version/os_windows.go | |
parent | tunnel: move Run into own module to reduce file size (diff) | |
download | wireguard-windows-69b8b302afc413e612215397696bfaff76542cc8.tar.xz wireguard-windows-69b8b302afc413e612215397696bfaff76542cc8.zip |
version: use upstream RtlGetVersion
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'version/os_windows.go')
-rw-r--r-- | version/os_windows.go | 35 |
1 files changed, 3 insertions, 32 deletions
diff --git a/version/os_windows.go b/version/os_windows.go index 2f5e8d44..70d3e82f 100644 --- a/version/os_windows.go +++ b/version/os_windows.go @@ -7,8 +7,8 @@ package version import ( "fmt" - "unsafe" + "golang.org/x/sys/windows" "golang.org/x/sys/windows/registry" ) @@ -167,35 +167,9 @@ const ( PRODUCT_UNLICENSED = 0xABCDABCD ) -type OsVersionInfo struct { - osVersionInfoSize uint32 - MajorVersion uint32 - MinorVersion uint32 - BuildNumber uint32 - PlatformId uint32 - CsdVersion [128]uint16 - ServicePackMajor uint16 - ServicePackMinor uint16 - SuiteMask uint16 - ProductType byte - _ byte -} - -//sys rtlGetVersion(versionInfo *OsVersionInfo) (err error) [failretval!=0] = ntdll.RtlGetVersion - -func OsVersion() (versionInfo OsVersionInfo, err error) { - versionInfo.osVersionInfoSize = uint32(unsafe.Sizeof(versionInfo)) - err = rtlGetVersion(&versionInfo) - return -} func OsIsCore() bool { - versionInfo := OsVersionInfo{osVersionInfoSize: uint32(unsafe.Sizeof(OsVersionInfo{}))} - err := rtlGetVersion(&versionInfo) - if err != nil { - return false - } - + versionInfo := windows.RtlGetVersion() if versionInfo.MajorVersion > 6 || (versionInfo.MajorVersion == 6 && versionInfo.MinorVersion >= 2) { k, err := registry.OpenKey(registry.LOCAL_MACHINE, `Software\Microsoft\Windows NT\CurrentVersion\Server\ServerLevels`, registry.READ) if err != nil { @@ -219,10 +193,7 @@ func OsIsCore() bool { } func OsName() string { - versionInfo, err := OsVersion() - if err != nil { - return "Windows Unknown" - } + versionInfo := windows.RtlGetVersion() winType := "" switch versionInfo.ProductType { case 3: |