schannel: drop Windows 2000 compatibility logic

curl requires Windows XP as a minimum.

Co-authored-by: Jay Satiro

Closes #17447
This commit is contained in:
Viktor Szakats 2025-05-25 13:42:22 +02:00
parent 0d71b18153
commit 9ed34cc45b
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201

View file

@ -2142,23 +2142,11 @@ cleanup:
The behavior here is a matter of debate. We do not want to be vulnerable
to a truncation attack however there is some browser precedent for
ignoring the close_notify for compatibility reasons.
Additionally, Windows 2000 (v5.0) is a special case since it seems it
does not return close_notify. In that case if the connection was closed we
assume it was graceful (close_notify) since there does not seem to be a
way to tell.
*/
if(len && !backend->decdata_offset && backend->recv_connection_closed &&
!backend->recv_sspi_close_notify) {
bool isWin2k = curlx_verify_windows_version(5, 0, 0, PLATFORM_WINNT,
VERSION_EQUAL);
if(isWin2k && sspi_status == SEC_E_OK)
backend->recv_sspi_close_notify = TRUE;
else {
*err = CURLE_RECV_ERROR;
failf(data, "schannel: server closed abruptly (missing close_notify)");
}
*err = CURLE_RECV_ERROR;
failf(data, "schannel: server closed abruptly (missing close_notify)");
}
/* Any error other than CURLE_AGAIN is an unrecoverable error. */