Refactored fingerprint file path logic #4525
This commit is contained in:
parent
36a6bb9218
commit
80fd3cc01b
|
@ -34,20 +34,9 @@ Fingerprint::Fingerprint(const QString& filename)
|
||||||
|
|
||||||
void Fingerprint::trust(const QString& fingerprintText)
|
void Fingerprint::trust(const QString& fingerprintText)
|
||||||
{
|
{
|
||||||
CoreInterface coreInterface;
|
Fingerprint::persistDirectory();
|
||||||
QString profileDir = coreInterface.getProfileDir();
|
|
||||||
|
|
||||||
QString dirName = QString("%1/%2")
|
QFile file(filePath());
|
||||||
.arg(profileDir)
|
|
||||||
.arg(kDirName);
|
|
||||||
|
|
||||||
QDir dir(dirName);
|
|
||||||
if (!dir.exists()) {
|
|
||||||
dir.mkpath(".");
|
|
||||||
}
|
|
||||||
|
|
||||||
QString path = QString("%1/%2").arg(dirName).arg(m_Filename);
|
|
||||||
QFile file(path);
|
|
||||||
if (file.open(QIODevice::Append))
|
if (file.open(QIODevice::Append))
|
||||||
{
|
{
|
||||||
QTextStream out(&file);
|
QTextStream out(&file);
|
||||||
|
@ -58,19 +47,12 @@ void Fingerprint::trust(const QString& fingerprintText)
|
||||||
|
|
||||||
bool Fingerprint::exists(const QString& fingerprintText)
|
bool Fingerprint::exists(const QString& fingerprintText)
|
||||||
{
|
{
|
||||||
CoreInterface coreInterface;
|
QString dirName = Fingerprint::directoryPath();
|
||||||
QString profileDir = coreInterface.getProfileDir();
|
|
||||||
|
|
||||||
QString dirName = QString("%1/%2")
|
|
||||||
.arg(profileDir)
|
|
||||||
.arg(kDirName);
|
|
||||||
|
|
||||||
if (!QDir(dirName).exists()) {
|
if (!QDir(dirName).exists()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString path = QString("%1/%2").arg(dirName).arg(m_Filename);
|
QFile file(filePath());
|
||||||
QFile file(path);
|
|
||||||
|
|
||||||
if (file.open(QIODevice::ReadOnly))
|
if (file.open(QIODevice::ReadOnly))
|
||||||
{
|
{
|
||||||
|
@ -88,6 +70,30 @@ bool Fingerprint::exists(const QString& fingerprintText)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString Fingerprint::filePath() const
|
||||||
|
{
|
||||||
|
QString dir = Fingerprint::directoryPath();
|
||||||
|
return QString("%1/%2").arg(dir).arg(m_Filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Fingerprint::persistDirectory()
|
||||||
|
{
|
||||||
|
QDir dir(Fingerprint::directoryPath());
|
||||||
|
if (!dir.exists()) {
|
||||||
|
dir.mkpath(".");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Fingerprint::directoryPath()
|
||||||
|
{
|
||||||
|
CoreInterface coreInterface;
|
||||||
|
QString profileDir = coreInterface.getProfileDir();
|
||||||
|
|
||||||
|
return QString("%1/%2")
|
||||||
|
.arg(profileDir)
|
||||||
|
.arg(kDirName);
|
||||||
|
}
|
||||||
|
|
||||||
bool Fingerprint::localFingerprintExists()
|
bool Fingerprint::localFingerprintExists()
|
||||||
{
|
{
|
||||||
CoreInterface coreInterface;
|
CoreInterface coreInterface;
|
||||||
|
|
|
@ -27,14 +27,16 @@ private:
|
||||||
public:
|
public:
|
||||||
void trust(const QString& fingerprintText);
|
void trust(const QString& fingerprintText);
|
||||||
bool exists(const QString& fingerprintText);
|
bool exists(const QString& fingerprintText);
|
||||||
|
QString filePath() const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static Fingerprint local();
|
static Fingerprint local();
|
||||||
static Fingerprint trustedServers();
|
static Fingerprint trustedServers();
|
||||||
static Fingerprint trustedClients();
|
static Fingerprint trustedClients();
|
||||||
|
static QString directoryPath();
|
||||||
static QString localFingerprint();
|
static QString localFingerprint();
|
||||||
static bool localFingerprintExists();
|
static bool localFingerprintExists();
|
||||||
|
static void persistDirectory();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString m_Filename;
|
QString m_Filename;
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include "DataDownloader.h"
|
#include "DataDownloader.h"
|
||||||
#include "QUtility.h"
|
#include "QUtility.h"
|
||||||
#include "ProcessorArch.h"
|
#include "ProcessorArch.h"
|
||||||
|
#include "Fingerprint.h"
|
||||||
|
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
|
@ -40,8 +41,6 @@ static QString kCertificateLifetime = "365";
|
||||||
static QString kCertificateSubjectInfo = "/CN=Synergy";
|
static QString kCertificateSubjectInfo = "/CN=Synergy";
|
||||||
static QString kCertificateFilename = "Synergy.pem";
|
static QString kCertificateFilename = "Synergy.pem";
|
||||||
static QString kUnixOpenSslCommand = "openssl";
|
static QString kUnixOpenSslCommand = "openssl";
|
||||||
static const char kFingerprintDir[] = "ssl/fingerprints";
|
|
||||||
static const char kFingerprintLocalFilename[] = "local.txt";
|
|
||||||
|
|
||||||
#if defined(Q_OS_WIN)
|
#if defined(Q_OS_WIN)
|
||||||
static const char kWinPluginExt[] = ".dll";
|
static const char kWinPluginExt[] = ".dll";
|
||||||
|
@ -233,13 +232,7 @@ void PluginManager::generateCertificate()
|
||||||
|
|
||||||
// write the standard output into file
|
// write the standard output into file
|
||||||
filename.clear();
|
filename.clear();
|
||||||
filename.append(m_ProfileDir);
|
filename.append(Fingerprint::local().filePath());
|
||||||
filename.append(QDir::separator()).append(kFingerprintDir);
|
|
||||||
QDir dir(filename);
|
|
||||||
if (!dir.exists()) {
|
|
||||||
dir.mkpath(".");
|
|
||||||
}
|
|
||||||
filename.append(QDir::separator()).append(kFingerprintLocalFilename);
|
|
||||||
|
|
||||||
// only write the fingerprint part
|
// only write the fingerprint part
|
||||||
int i = m_standardOutput.indexOf("=");
|
int i = m_standardOutput.indexOf("=");
|
||||||
|
|
Loading…
Reference in New Issue