Background:
Our platform policy makes no reference to old versions of Windows. The primary Windows platforms are listed as "VC-WIN64A" and "mingw64" both on Windows 10. There are no community supported Windows platforms. There are a number of Windows platforms in the "unadopted" list - but none of them specify a specific Windows version that they apply to.
In the code we define the macro _WIN32_WINNT to the value 0x0501:
https://github.com/openssl/openssl/blob/4c149cf9f6a2ba665d74dbd4cf44f080816c900b/include/internal/e_os.h#L85-L100
According to the Microsoft documentation this corresponds to Windows XP:
https://docs.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt?view=msvc-170
This means that (by default) we are unable to use functions introduced later than that in the code. We do have some conditionally compiled code which checks the value of _WIN32_WINNT and, if it is sufficient high, uses more recent functions. It is possible to override the default value at Configure time (e.g. perl Configure -D_WIN32_WINNT=...) - but this possibility does not seem to be documented and it seems unlikely that many people do this.
PR openssl/openssl#18270 proposes updating the default value of _WIN32_WINNT to 0x0600 which would exclude Windows XP and Windows Server 2003 users. Microsoft ended support for Windows XP in April 2014 and for Windows Server 2003 in July 2015.
According to this tweet, 5.6% of Windows curl users say they use it on Windows XP:
https://twitter.com/bagder/status/1534465987269083136
Proposal:
This issue is proposing the following vote text in order that PR openssl/openssl#18270 may proceed:
"We will no longer support Windows XP or Windows Server 2003 from OpenSSL 3.1"
(Note: I am not actually calling this vote yet - just gathering feedback).
Background:
Our platform policy makes no reference to old versions of Windows. The primary Windows platforms are listed as "VC-WIN64A" and "mingw64" both on Windows 10. There are no community supported Windows platforms. There are a number of Windows platforms in the "unadopted" list - but none of them specify a specific Windows version that they apply to.
In the code we define the macro
_WIN32_WINNTto the value 0x0501:https://github.com/openssl/openssl/blob/4c149cf9f6a2ba665d74dbd4cf44f080816c900b/include/internal/e_os.h#L85-L100
According to the Microsoft documentation this corresponds to Windows XP:
https://docs.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt?view=msvc-170
This means that (by default) we are unable to use functions introduced later than that in the code. We do have some conditionally compiled code which checks the value of
_WIN32_WINNTand, if it is sufficient high, uses more recent functions. It is possible to override the default value at Configure time (e.g.perl Configure -D_WIN32_WINNT=...) - but this possibility does not seem to be documented and it seems unlikely that many people do this.PR openssl/openssl#18270 proposes updating the default value of
_WIN32_WINNTto 0x0600 which would exclude Windows XP and Windows Server 2003 users. Microsoft ended support for Windows XP in April 2014 and for Windows Server 2003 in July 2015.According to this tweet, 5.6% of Windows curl users say they use it on Windows XP:
https://twitter.com/bagder/status/1534465987269083136
Proposal:
This issue is proposing the following vote text in order that PR openssl/openssl#18270 may proceed:
"We will no longer support Windows XP or Windows Server 2003 from OpenSSL 3.1"
(Note: I am not actually calling this vote yet - just gathering feedback).