diff --git a/client/amnezia_application.cpp b/client/amnezia_application.cpp index 43f352a2..4420f7dc 100644 --- a/client/amnezia_application.cpp +++ b/client/amnezia_application.cpp @@ -1,6 +1,7 @@ #include "amnezia_application.h" #include +#include #include #include @@ -49,6 +50,24 @@ #endif { setQuitOnLastWindowClosed(false); + + // Fix config file permissions +#ifdef Q_OS_LINUX + { + QSettings s(ORGANIZATION_NAME, APPLICATION_NAME); + s.setValue("permFixed", true); + } + + QString configLoc1 = QStandardPaths::standardLocations(QStandardPaths::ConfigLocation).first() + "/" + + ORGANIZATION_NAME + "/" + APPLICATION_NAME + ".conf"; + QFile::setPermissions(configLoc1, QFileDevice::ReadOwner | QFileDevice::WriteOwner); + + QString configLoc2 = QStandardPaths::standardLocations(QStandardPaths::ConfigLocation).first() + "/" + + ORGANIZATION_NAME + "/" + APPLICATION_NAME + "/" + APPLICATION_NAME + ".conf"; + QFile::setPermissions(configLoc2, QFileDevice::ReadOwner | QFileDevice::WriteOwner); + +#endif + m_settings = std::shared_ptr(new Settings); m_serverController = std::shared_ptr(new ServerController(m_settings, this)); m_configurator = std::shared_ptr(new VpnConfigurator(m_settings, m_serverController, this)); diff --git a/client/secure_qsettings.cpp b/client/secure_qsettings.cpp index b78863ba..a58ae7c4 100644 --- a/client/secure_qsettings.cpp +++ b/client/secure_qsettings.cpp @@ -162,7 +162,10 @@ QByteArray SecureQSettings::decryptText(const QByteArray& ba) const bool SecureQSettings::encryptionRequired() const { - // TODO: review on linux +#ifdef Q_OS_LINUX + // QtKeyChain failing on Linux + return false; +#endif return true; } diff --git a/deploy/data/linux/AmneziaVPN.service b/deploy/data/linux/AmneziaVPN.service index 5e7753e0..4f829312 100755 --- a/deploy/data/linux/AmneziaVPN.service +++ b/deploy/data/linux/AmneziaVPN.service @@ -8,6 +8,7 @@ Type=simple Restart=always RestartSec=1 ExecStart=/opt/AmneziaVPN/service/AmneziaVPN-service.sh +Environment=LD_LIBRARY_PATH=/opt/AmneziaVPN/client/lib [Install] WantedBy=multi-user.target