mirror of
https://github.com/seiichiro0185/sailotp.git
synced 2024-11-24 00:19:41 +00:00
Fix Empty Token List after Restart for New Installs
This commit is contained in:
parent
78b9e561bd
commit
90314355e0
4 changed files with 35 additions and 4 deletions
|
@ -15,7 +15,7 @@ From the main view a token can be copied to the clipboard by tapping on it.
|
||||||
From the pulley menu the token database can be exported to a file for backup purposes. The backup is a AES-256-CBC encrypted and
|
From the pulley menu the token database can be exported to a file for backup purposes. The backup is a AES-256-CBC encrypted and
|
||||||
Base64 encoded file containing a JSON-representation of the database. It can be decrypted with openssl using the following command:
|
Base64 encoded file containing a JSON-representation of the database. It can be decrypted with openssl using the following command:
|
||||||
|
|
||||||
openssl enc -d -a -A -md md5 -aes-256-cbc -in <file>
|
openssl enc -d -a -aes-256-cbc -in <file>
|
||||||
|
|
||||||
if you need the information outside of SailOTP.
|
if you need the information outside of SailOTP.
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
* Sun Feb 26 2023 Stefan Brand <sailfish@seiichiro0185.org> 1.11.1-1
|
||||||
|
- Fix Empty Token List after Restart for New Installs.
|
||||||
|
|
||||||
* Mon Feb 20 2023 Stefan Brand <sailfish@seiichiro0185.org> 1.11.0-1
|
* Mon Feb 20 2023 Stefan Brand <sailfish@seiichiro0185.org> 1.11.0-1
|
||||||
- Rework Export/Import File Encryption to use C++
|
- Rework Export/Import File Encryption to use C++
|
||||||
- Switch to SHA256 for Export/Import Encryption instead of MD5
|
- Switch to SHA256 for Export/Import Encryption instead of MD5
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Name: harbour-sailotp
|
Name: harbour-sailotp
|
||||||
Summary: SailOTP
|
Summary: SailOTP
|
||||||
Version: 1.11.0
|
Version: 1.11.1
|
||||||
Release: 1
|
Release: 1
|
||||||
Group: Security
|
Group: Security
|
||||||
URL: https://github.com/seiichiro0185/sailotp/
|
URL: https://github.com/seiichiro0185/sailotp/
|
||||||
|
|
|
@ -35,6 +35,31 @@
|
||||||
#include "qzxing.h"
|
#include "qzxing.h"
|
||||||
#include "qqrencode.h"
|
#include "qqrencode.h"
|
||||||
|
|
||||||
|
void migrateLocalStorage()
|
||||||
|
{
|
||||||
|
// The new location of the LocalStorage database
|
||||||
|
QDir newDbDir(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + "/QML/OfflineStorage/Databases/");
|
||||||
|
|
||||||
|
if(newDbDir.exists())
|
||||||
|
return;
|
||||||
|
|
||||||
|
newDbDir.mkpath(newDbDir.path());
|
||||||
|
|
||||||
|
QString dbname = QString(QCryptographicHash::hash(("harbour-sailotp"), QCryptographicHash::Md5).toHex());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// The old LocalStorage database
|
||||||
|
QFile oldDb(QStandardPaths::writableLocation(QStandardPaths::HomeLocation) + "/.local/share/harbour-sailotp/harbour-sailotp/QML/OfflineStorage/Databases/" + dbname + ".sqlite");
|
||||||
|
QFile oldIni(QStandardPaths::writableLocation(QStandardPaths::HomeLocation) + "/.local/share/harbour-sailotp/harbour-sailotp/QML/OfflineStorage/Databases/" + dbname + ".ini");
|
||||||
|
|
||||||
|
qDebug() << "Migrating " + oldDb.fileName() + " to " + newDbDir.absolutePath() + "/" + dbname + ".sqlite";
|
||||||
|
|
||||||
|
// Copy to new Database Location
|
||||||
|
oldDb.copy(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + "/QML/OfflineStorage/Databases/" + dbname + ".sqlite");
|
||||||
|
oldIni.copy(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + "/QML/OfflineStorage/Databases/" + dbname + ".ini");
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
// Get App and QML-View objects
|
// Get App and QML-View objects
|
||||||
|
@ -51,9 +76,12 @@ int main(int argc, char *argv[])
|
||||||
translator.load(locale,SailfishApp::pathTo(QString("i18n")).toLocalFile());
|
translator.load(locale,SailfishApp::pathTo(QString("i18n")).toLocalFile());
|
||||||
app->installTranslator(&translator);
|
app->installTranslator(&translator);
|
||||||
|
|
||||||
|
// Migrate to new Storage Directory
|
||||||
|
migrateLocalStorage();
|
||||||
|
|
||||||
// Set some global values
|
// Set some global values
|
||||||
app->setOrganizationName("harbour-sailotp");
|
app->setOrganizationName("org.seiichiro0185");
|
||||||
app->setOrganizationDomain("harbour-sailotp");
|
app->setOrganizationDomain("org.seiichiro0185");
|
||||||
app->setApplicationName("harbour-sailotp");
|
app->setApplicationName("harbour-sailotp");
|
||||||
app->setApplicationVersion(APP_VERSION);
|
app->setApplicationVersion(APP_VERSION);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue