Skip to content

Commit 394e66f

Browse files
committed
Use user name for storing credentials
1 parent 90a5a37 commit 394e66f

3 files changed

Lines changed: 94 additions & 80 deletions

File tree

ShellDLL/AuthPage.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,8 @@ LRESULT CHostAuthPage::OnSearchPKeyFile(WPARAM wParam, LPARAM lParam)
185185
LRESULT 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

Comments
 (0)