@@ -185,7 +185,8 @@ LRESULT CHostAuthPage::OnSearchPKeyFile(WPARAM wParam, LPARAM lParam)
185185LRESULT CHostAuthPage::OnApply (WPARAM wParam, LPARAM lParam)
186186{
187187 // Host name is necessary for storing credentials
188- CMyStringW strHost, strOldHost (m_pSettings->strHostName );
188+ CMyStringW strHost;
189+ CMyStringW strOldHost (m_pSettings->strHostName ), strOldUser (m_pSettings->strUserName );
189190 auto oldStoreType = m_pSettings->PassKeyStoreType ;
190191 {
191192 ::SyncDialogData (m_pHostSettingPage->GetSafeHwnd (), IDC_HOST_NAME, strHost, true);
@@ -247,7 +248,7 @@ LRESULT CHostAuthPage::OnApply(WPARAM wParam, LPARAM lParam)
247248 GetParentSheet ()->SetCurSel (this );
248249 return PSNRET_INVALID_NOCHANGEPAGE;
249250 }
250- m_pSettings->SetHostName (strHost);
251+ m_pSettings->SetHostAndUserName (strHost, strUserName );
251252 m_pSettings->PassKeyStoreType = nStoreType;
252253 BSTR bstrPKeyFile = ::MyStringToBSTR (strPKey);
253254 BSTR bstrPassword = ::MyStringToBSTR (strPassword);
@@ -260,7 +261,7 @@ LRESULT CHostAuthPage::OnApply(WPARAM wParam, LPARAM lParam)
260261 ::SysFreeString (bstrPassword);
261262 _SecureStringW::SecureEmptyString (strPassword);
262263 m_pSettings->PassKeyStoreType = oldStoreType;
263- m_pSettings->SetHostName (strOldHost);
264+ m_pSettings->SetHostAndUserName (strOldHost, strOldUser );
264265
265266 ERR_error_string_n (uErr, strHost.GetBufferA (MAX_PATH), MAX_PATH);
266267 strHost.ReleaseBufferA ();
@@ -280,15 +281,15 @@ LRESULT CHostAuthPage::OnApply(WPARAM wParam, LPARAM lParam)
280281 {
281282 BSTR bstrPassword = ::MyStringToBSTR (strPassword);
282283 m_pSettings->PassKeyStoreType = nStoreType;
283- m_pSettings->SetHostName (strHost);
284+ m_pSettings->SetHostAndUserName (strHost, strUserName );
284285 auto hr = m_pSettings->SetPassword (bstrPassword);
285286 if (FAILED (hr))
286287 {
287288 _SecureStringW::SecureEmptyBStr (bstrPassword);
288289 ::SysFreeString (bstrPassword);
289290 _SecureStringW::SecureEmptyString (strPassword);
290291 m_pSettings->PassKeyStoreType = oldStoreType;
291- m_pSettings->SetHostName (strOldHost);
292+ m_pSettings->SetHostAndUserName (strOldHost, strOldUser );
292293
293294 MyGetErrorMessageString (hr, strOldHost);
294295 ::MyMessageBoxW (m_hWnd, strOldHost, NULL , MB_ICONEXCLAMATION);
@@ -310,8 +311,8 @@ LRESULT CHostAuthPage::OnApply(WPARAM wParam, LPARAM lParam)
310311 nAuthType = EasySFTPAuthenticationMode::Password;
311312 nStoreType = EasySFTPPassKeyStoreType::Local;
312313 m_pSettings->ClearCredentials ();
314+ m_pSettings->strUserName .Empty ();
313315 }
314- m_pSettings->SetUserName (strUserName);
315316 m_pSettings->bAutoLogin = bAutoLogin;
316317 m_pSettings->AuthMode = nAuthType;
317318 m_pSettings->PassKeyStoreType = nStoreType;
0 commit comments