}
}
-void Account::setAppPassword(QString appPassword){
+void Account::writeAppPasswordOnce(QString appPassword){
+ if(_wroteAppPassword)
+ return;
+
const QString kck = AbstractCredentials::keychainKey(
url().toString(),
davUser() + app_password,
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();
}
/// Used in RemoteWipe
void retrieveAppPassword();
- void setAppPassword(QString appPassword);
+ void writeAppPasswordOnce(QString appPassword);
void deleteAppPassword();
public slots:
QString _davPath; // defaults to value from theme, might be overwritten in brandings
ClientSideEncryption _e2e;
+ /// Used in RemoteWipe
+ bool _wroteAppPassword = false;
+
friend class AccountManager;
};
}