Opened 11 months ago

Last modified 8 months ago

#28097 new defect

Get the actual Windows version from Kernel32.dll

Reported by: teor Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: windows, 040-deferred-201915
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Windows 8.1 and later pretend to be Windows 8 (#28096).

If we want to display the real Windows version, we can use GetFileVersionInfo() to check the version of Kernel32.dll:
https://docs.microsoft.com/en-au/windows/desktop/SysInfo/getting-the-system-version

Child Tickets

Change History (5)

comment:1 Changed 11 months ago by teor

If we implement this feature, we should fall back to the original code when:

  • the function isn't available, or
  • the sandbox stops us using the function

comment:2 Changed 11 months ago by nickm

Milestone: Tor: unspecifiedTor: 0.3.6.x-final

I think this is something we'll actually want: reporting the OS version is pretty important for successful debugging.

comment:3 in reply to:  2 Changed 11 months ago by teor

Replying to nickm:

I think this is something we'll actually want: reporting the OS version is pretty important for successful debugging.

When I was testing #28096, our Appveyor CI reported the correct Windows server versions. This behaviour is surprising, and does not match Microsoft's API documentation.

However, when I tested Tor 0.3.4.8 on my Windows 10 desktop, it said it was running on Windows 8.

So it looks like we'll need to implement this ticket for Windows Client 8.1 and later.

comment:4 Changed 10 months ago by nickm

Milestone: Tor: 0.3.6.x-finalTor: 0.4.0.x-final

Tor 0.3.6.x has been renamed to 0.4.0.x.

comment:5 Changed 8 months ago by nickm

Keywords: 040-deferred-201915 added
Milestone: Tor: 0.4.0.x-finalTor: unspecified

Deferring some tickets from 0.4.0 without proposing them for later. Please tag with 041-proposed if you want to do them.

Note: See TracTickets for help on using tickets.