Index: src/ch/UpdaterDlg.cpp =================================================================== diff -u -ra27d1acf1bda3c25b6dcce0d0eb0278009ce63ae -rd0cfddc68b5ec4dc4e9b73b6f87aa97995c7cc54 --- src/ch/UpdaterDlg.cpp (.../UpdaterDlg.cpp) (revision a27d1acf1bda3c25b6dcce0d0eb0278009ce63ae) +++ src/ch/UpdaterDlg.cpp (.../UpdaterDlg.cpp) (revision d0cfddc68b5ec4dc4e9b73b6f87aa97995c7cc54) @@ -9,6 +9,7 @@ #include "StaticEx.h" #include #include +#include "WindowsVersion.h" #define UPDATER_TIMER 639 @@ -317,11 +318,11 @@ if(iCurSel == CB_ERR) return; - UpdateVersionInfo::EVersionType eFrequency = UpdateVersionInfo::eReleaseCandidate; + UpdateVersionInfo::EVersionType eVersionType = UpdateVersionInfo::eReleaseCandidate; if(iCurSel < UpdateVersionInfo::EVersionType::eMax) - eFrequency = (UpdateVersionInfo::EVersionType)iCurSel; + eVersionType = (UpdateVersionInfo::EVersionType)iCurSel; - SetPropValue(GetConfig(), eFrequency); + SetPropValue(GetConfig(), eVersionType); GetConfig().Write(); CheckForUpdates(); @@ -339,7 +340,38 @@ EnableUpdateRelatedControls(false); m_eLastState = CUpdateChecker::eResult_Undefined; - m_ucChecker.AsyncCheckForUpdates(_T(UPDATE_CHECK_LINK), GetPropValue(GetConfig()), (UpdateVersionInfo::EVersionType)GetPropValue(GetConfig()), m_bBackgroundMode); + CString strSite; + + EUseSecureConnection eUseSecureConnection = (EUseSecureConnection)GetPropValue(GetConfig()); + switch(eUseSecureConnection) + { + case eSecure_No: + strSite = _T(UPDATE_CHECK_LINK_NONSECURE); + break; + + case eSecure_Yes: + strSite = _T(UPDATE_CHECK_LINK_SECURE); + break; + + case eSecure_Auto: + default: + { + bool bUseSecureConnection = WindowsVersion::IsWindows7Or2008R2OrGreater(); + if(bUseSecureConnection) + strSite = _T(UPDATE_CHECK_LINK_SECURE); + else + strSite = _T(UPDATE_CHECK_LINK_NONSECURE); + + break; + } + } + + m_ucChecker.AsyncCheckForUpdates(strSite, + GetPropValue(GetConfig()), + (UpdateVersionInfo::EVersionType)GetPropValue(GetConfig()), + m_bBackgroundMode, + false // disabled sending headers as it is causing issues with WinInet on WinXP and Win Vista + ); } void CUpdaterDlg::EnableUpdateRelatedControls(bool bEnable)