Update to 2.6.2

This commit is contained in:
Michael Reifenberger 2019-12-25 10:52:38 +00:00
parent e039041ed8
commit 4deb7677d7
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=520847
4 changed files with 7 additions and 91 deletions

View File

@ -2,8 +2,8 @@
# $FreeBSD$
PORTNAME= nextcloudclient
PORTVERSION= 2.6.1
PORTREVISION= 1
PORTVERSION= 2.6.2
#PORTREVISION= 1
DISTVERSIONPREFIX= v
CATEGORIES= deskutils

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1573223167
SHA256 (nextcloud-desktop-v2.6.1_GH0.tar.gz) = 82f591ddc8ad6c39f48e9ac16e7320c9b5342ede37838bd89e1977655f2482ea
SIZE (nextcloud-desktop-v2.6.1_GH0.tar.gz) = 18947504
TIMESTAMP = 1577270816
SHA256 (nextcloud-desktop-v2.6.2_GH0.tar.gz) = bbcb6593134836226640b108da7ad3db061417681e2d843bc371b1d697fb0551
SIZE (nextcloud-desktop-v2.6.2_GH0.tar.gz) = 18982053

View File

@ -1,85 +0,0 @@
From dcc84d35085d790a53b472d1edba663832af238a Mon Sep 17 00:00:00 2001
From: Michael Schuster <michael@schuster.ms>
Date: Fri, 29 Nov 2019 04:28:50 +0100
Subject: [PATCH] Fix remote wipe keychain storage (issue #1592)
The app password for the remote wipe was constantly being written in
WebFlowCredentials::slotFinished to the keychain, leading to unnecessary
write and log overhead on the system.
This fix introduces a check to only store the app password once in
a lifetime of the Account class. Also the method used to store the
password will be renamed from setAppPassword to writeAppPasswordOnce
to be more expressive.
Signed-off-by: Michael Schuster <michael@schuster.ms>
---
src/gui/creds/webflowcredentials.cpp | 2 +-
src/libsync/account.cpp | 9 +++++++--
src/libsync/account.h | 5 ++++-
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/gui/creds/webflowcredentials.cpp b/src/gui/creds/webflowcredentials.cpp
index 49c80e1ff..e2dc10b35 100644
--- src/gui/creds/webflowcredentials.cpp
+++ src/gui/creds/webflowcredentials.cpp
@@ -420,7 +420,7 @@ void WebFlowCredentials::slotFinished(QNetworkReply *reply) {
_credentialsValid = true;
/// Used later for remote wipe
- _account->setAppPassword(_password);
+ _account->writeAppPasswordOnce(_password);
}
}
diff --git a/src/libsync/account.cpp b/src/libsync/account.cpp
index 32e58b2e4..33032e3f8 100644
--- src/libsync/account.cpp
+++ src/libsync/account.cpp
@@ -513,7 +513,10 @@ void Account::setNonShib(bool nonShib)
}
}
-void Account::setAppPassword(QString appPassword){
+void Account::writeAppPasswordOnce(QString appPassword){
+ if(_wroteAppPassword)
+ return;
+
const QString kck = AbstractCredentials::keychainKey(
url().toString(),
davUser() + app_password,
@@ -524,8 +527,10 @@ void Account::setAppPassword(QString appPassword){
job->setInsecureFallback(false);
job->setKey(kck);
job->setBinaryData(appPassword.toLatin1());
- connect(job, &WritePasswordJob::finished, [](Job *) {
+ connect(job, &WritePasswordJob::finished, [this](Job *) {
qCInfo(lcAccount) << "appPassword stored in keychain";
+
+ _wroteAppPassword = true;
});
job->start();
}
diff --git a/src/libsync/account.h b/src/libsync/account.h
index 1f3e46a96..2b843dca9 100644
--- src/libsync/account.h
+++ src/libsync/account.h
@@ -243,7 +243,7 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject
/// Used in RemoteWipe
void retrieveAppPassword();
- void setAppPassword(QString appPassword);
+ void writeAppPasswordOnce(QString appPassword);
void deleteAppPassword();
public slots:
@@ -319,6 +319,9 @@ protected Q_SLOTS:
QString _davPath; // defaults to value from theme, might be overwritten in brandings
ClientSideEncryption _e2e;
+ /// Used in RemoteWipe
+ bool _wroteAppPassword = false;
+
friend class AccountManager;
};
}

View File

@ -113,12 +113,13 @@ share/nextcloud/i18n/client_fi.qm
share/nextcloud/i18n/client_fr.qm
share/nextcloud/i18n/client_gl.qm
share/nextcloud/i18n/client_he.qm
share/nextcloud/i18n/client_hu.qm
share/nextcloud/i18n/client_hr.qm
share/nextcloud/i18n/client_hu.qm
share/nextcloud/i18n/client_id.qm
share/nextcloud/i18n/client_is.qm
share/nextcloud/i18n/client_it.qm
share/nextcloud/i18n/client_ja.qm
share/nextcloud/i18n/client_ko.qm
share/nextcloud/i18n/client_lt_LT.qm
share/nextcloud/i18n/client_lv.qm
share/nextcloud/i18n/client_nb_NO.qm