summaryrefslogblamecommitdiff
path: root/user/trojita/pwstorage.patch
blob: e0cec35bac43f8dd2ad5ef408502f6fbccc7f6e3 (plain) (tree)



















































                                                                                                                                      
From 7481e43116995d744d485655b1de6494d771227e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= <jkt@kde.org>
Date: Thu, 16 May 2019 19:28:14 +0200
Subject: [PATCH] SMTP: Store correct password into the password manager

The configuration ties the SMTP account with the IMAP account (in terms
of per-profile access), so it was wrong to use the default account name.
This fixes a rare configuration where the user is:

- using a non-default profile,
- requires SMTP auth,
- *and* uses a different set of credentials for SMTP access compared to IMAP.

Change-Id: Id6d341d14bf795943d8f3b7b42fac587a062141d
---
 src/Gui/ComposeWidget.cpp  | 4 ----
 src/Gui/SettingsDialog.cpp | 4 +++-
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/Gui/ComposeWidget.cpp b/src/Gui/ComposeWidget.cpp
index 104d2790..9fb3192a 100644
--- a/src/Gui/ComposeWidget.cpp
+++ b/src/Gui/ComposeWidget.cpp
@@ -660,10 +660,6 @@ void ComposeWidget::passwordRequested(const QString &user, const QString &host)
         return;
     }
 
-    // FIXME: use another account-id at some point in future
-    //        we are now using the profile to avoid overwriting passwords of
-    //        other profiles in secure storage
-    //        'account-0' is the hardcoded value when not using a profile
     Plugins::PasswordJob *job = password->requestPassword(m_submission->accountId(), QStringLiteral("smtp"));
     if (!job) {
         askPassword(user, host);
diff --git a/src/Gui/SettingsDialog.cpp b/src/Gui/SettingsDialog.cpp
index a6e9b6b6..2eeb8b12 100644
--- a/src/Gui/SettingsDialog.cpp
+++ b/src/Gui/SettingsDialog.cpp
@@ -1078,7 +1078,9 @@ OutgoingPage::OutgoingPage(SettingsDialog *parent, QSettings &s): QScrollArea(pa
     connect(smtpBurl, &QAbstractButton::toggled, m_smtpAccountSettings, &MSA::Account::setUseBurl);
     connect(sendmail, &LineEdit::textEditingFinished, m_smtpAccountSettings, &MSA::Account::setPathToSendmail);
 
-    m_pwWatcher = new UiUtils::PasswordWatcher(this, m_parent->pluginManager(), QStringLiteral("account-0"), QStringLiteral("smtp"));
+    m_pwWatcher = new UiUtils::PasswordWatcher(this, m_parent->pluginManager(),
+                                               profileName.isEmpty() ? QStringLiteral("account-0") : profileName,
+                                               QStringLiteral("smtp"));
     connect(m_pwWatcher, &UiUtils::PasswordWatcher::stateChanged, this, &OutgoingPage::updateWidgets);
     connect(m_pwWatcher, &UiUtils::PasswordWatcher::savingFailed, this, &OutgoingPage::saved);
     connect(m_pwWatcher, &UiUtils::PasswordWatcher::savingDone, this, &OutgoingPage::saved);
-- 
GitLab