Commit 7a8e861a authored by Marcel Raad's avatar Marcel Raad Committed by Jay Satiro
Browse files

schannel: Replace deprecated GetVersion with VerifyVersionInfo

parent ad324576
Loading
Loading
Loading
Loading
+14 −5
Original line number Original line Diff line number Diff line
@@ -1120,12 +1120,21 @@ cleanup:
  */
  */
  if(len && !connssl->decdata_offset && connssl->recv_connection_closed &&
  if(len && !connssl->decdata_offset && connssl->recv_connection_closed &&
     !connssl->recv_sspi_close_notify) {
     !connssl->recv_sspi_close_notify) {
    DWORD winver_full, winver_major, winver_minor;
    BOOL isWin2k;
    winver_full = GetVersion();
    ULONGLONG cm;
    winver_major = (DWORD)(LOBYTE(LOWORD(winver_full)));
    OSVERSIONINFOEX osver = { sizeof osver, 5, };
    winver_minor = (DWORD)(HIBYTE(LOWORD(winver_full)));


    if(winver_major == 5 && winver_minor == 0 && sspi_status == SEC_E_OK)
    cm = VerSetConditionMask(0, VER_MAJORVERSION, VER_EQUAL);
    cm = VerSetConditionMask(cm, VER_MINORVERSION, VER_EQUAL);
    cm = VerSetConditionMask(cm, VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL);
    cm = VerSetConditionMask(cm, VER_SERVICEPACKMINOR, VER_GREATER_EQUAL);

    isWin2k = VerifyVersionInfo(&osver,
                                (VER_MAJORVERSION | VER_MINORVERSION |
                                 VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR),
                                cm);

    if(isWin2k && sspi_status == SEC_E_OK)
      connssl->recv_sspi_close_notify = true;
      connssl->recv_sspi_close_notify = true;
    else {
    else {
      *err = CURLE_RECV_ERROR;
      *err = CURLE_RECV_ERROR;