Project

General

Profile

Feature #20563

Updated by nobu (Nobuyoshi Nakada) 4 months ago

This is the table of APIs that we are calling dynamically, and the available Windows versions. 

 DLL        | API                  		   | Client | Server | 
 ---------|--------------------------------|--------|--------| 
 iphlpapi | ConvertInterfaceGuidToLuid       | Vista    | 2008     | 
 iphlpapi | ConvertInterfaceLuidToNameA      | Vista    | 2008     | 
 kernel32 | CreateSymbolicLinkW              | Vista    | 2008     | 
 kernel32 | GetFileInformationByHandleEx     | Vista    | 2008     | 
 kernel32 | GetFinalPathNameByHandleW        | Vista    | 2008     | 
 kernel32 | SetFileInformationByHandle 	   | Vista    | 2008     | 
 shell32    | SHGetPathFromIDListEx 	   | Vista    | 2008     | 
 ws2_32     | inet_ntop 			   | Vista    | 2008     | 
 ws2_32     | inet_pton 			   | Vista    | 2008     | 
 kernel32 | GetSystemTimePreciseAsFileTime | 8        | 2012     | 
 kernel32 | SetThreadDescription 		   | 10       | 2016     | 

 However, already random.c directly uses `BCryptGenRandom` that is available since Windows Vista/Server 2008. 

 So I propose explicitly dropping support for Windows older than ~~Vista/2008~~ 8/Server 2012. 
 https://github.com/ruby/ruby/pull/11279 Vista/2008. 

 Update: added iphlpapi APIs.

Back