summaryrefslogtreecommitdiff
path: root/user/trojita/pwstorage.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2022-11-18 03:11:50 -0600
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2022-11-21 02:08:32 -0600
commit4a4ac4b35fd5faf14e7143c0c8babe65c9c95e92 (patch)
treed7baad867fb90684d7d08e4221f363e72efd147f /user/trojita/pwstorage.patch
parent3ff4b8c8548f6b45f93367f2ea8d151844f43c8f (diff)
downloadpackages-4a4ac4b35fd5faf14e7143c0c8babe65c9c95e92.tar.gz
packages-4a4ac4b35fd5faf14e7143c0c8babe65c9c95e92.tar.bz2
packages-4a4ac4b35fd5faf14e7143c0c8babe65c9c95e92.tar.xz
packages-4a4ac4b35fd5faf14e7143c0c8babe65c9c95e92.zip
user/trojita: Fix build and add patches
* Ensures Trojitá does not crash using attachments. * Port to Qt 5.15. * Fix a security issue with STARTTLS. * Ensure passwords are stored correctly. * Fix signedness on unsigned char platforms (ARM, Power). Closes: #856
Diffstat (limited to 'user/trojita/pwstorage.patch')
-rw-r--r--user/trojita/pwstorage.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/user/trojita/pwstorage.patch b/user/trojita/pwstorage.patch
new file mode 100644
index 000000000..e0cec35ba
--- /dev/null
+++ b/user/trojita/pwstorage.patch
@@ -0,0 +1,52 @@
+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
+