Port Kdeconnectconfig to reference based singleton
It's more expressive in the sense that it makes clear that the user should not delete the object
This commit is contained in:
parent
8d6136f953
commit
39fe270cd1
13 changed files with 53 additions and 70 deletions
|
@ -56,7 +56,7 @@ void LanDeviceLink::reset(QSslSocket* socket, ConnectionStarted connectionSource
|
||||||
|
|
||||||
m_connectionSource = connectionSource;
|
m_connectionSource = connectionSource;
|
||||||
|
|
||||||
QString certString = KdeConnectConfig::instance()->getDeviceProperty(deviceId(), QStringLiteral("certificate"));
|
QString certString = KdeConnectConfig::instance().getDeviceProperty(deviceId(), QStringLiteral("certificate"));
|
||||||
DeviceLink::setPairStatus(certString.isEmpty()? PairStatus::NotPaired : PairStatus::Paired);
|
DeviceLink::setPairStatus(certString.isEmpty()? PairStatus::NotPaired : PairStatus::Paired);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,9 +89,9 @@ bool LanDeviceLink::sendPacket(NetworkPacket& np)
|
||||||
if (!m_compositeUploadJob || !m_compositeUploadJob->isRunning()) {
|
if (!m_compositeUploadJob || !m_compositeUploadJob->isRunning()) {
|
||||||
m_compositeUploadJob = new CompositeUploadJob(deviceId(), true);
|
m_compositeUploadJob = new CompositeUploadJob(deviceId(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_compositeUploadJob->addSubjob(new UploadJob(np));
|
m_compositeUploadJob->addSubjob(new UploadJob(np));
|
||||||
|
|
||||||
if (!m_compositeUploadJob->isRunning()) {
|
if (!m_compositeUploadJob->isRunning()) {
|
||||||
m_compositeUploadJob->start();
|
m_compositeUploadJob->start();
|
||||||
}
|
}
|
||||||
|
@ -100,7 +100,7 @@ bool LanDeviceLink::sendPacket(NetworkPacket& np)
|
||||||
fireAndForgetJob->addSubjob(new UploadJob(np));
|
fireAndForgetJob->addSubjob(new UploadJob(np));
|
||||||
fireAndForgetJob->start();
|
fireAndForgetJob->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
int written = m_socketLineReader->write(np.serialize());
|
int written = m_socketLineReader->write(np.serialize());
|
||||||
|
@ -177,9 +177,9 @@ void LanDeviceLink::setPairStatus(PairStatus status)
|
||||||
|
|
||||||
DeviceLink::setPairStatus(status);
|
DeviceLink::setPairStatus(status);
|
||||||
if (status == Paired) {
|
if (status == Paired) {
|
||||||
Q_ASSERT(KdeConnectConfig::instance()->trustedDevices().contains(deviceId()));
|
Q_ASSERT(KdeConnectConfig::instance().trustedDevices().contains(deviceId()));
|
||||||
Q_ASSERT(!m_socketLineReader->peerCertificate().isNull());
|
Q_ASSERT(!m_socketLineReader->peerCertificate().isNull());
|
||||||
KdeConnectConfig::instance()->setDeviceProperty(deviceId(), QStringLiteral("certificate"), QString::fromLatin1(m_socketLineReader->peerCertificate().toPem().data()));
|
KdeConnectConfig::instance().setDeviceProperty(deviceId(), QStringLiteral("certificate"), QString::fromLatin1(m_socketLineReader->peerCertificate().toPem().data()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -212,7 +212,7 @@ void LanLinkProvider::udpBroadcastReceived()
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (receivedPacket->get<QString>(QStringLiteral("deviceId")) == KdeConnectConfig::instance()->deviceId()) {
|
if (receivedPacket->get<QString>(QStringLiteral("deviceId")) == KdeConnectConfig::instance().deviceId()) {
|
||||||
//qCDebug(KDECONNECT_CORE) << "Ignoring my own broadcast";
|
//qCDebug(KDECONNECT_CORE) << "Ignoring my own broadcast";
|
||||||
delete receivedPacket;
|
delete receivedPacket;
|
||||||
continue;
|
continue;
|
||||||
|
@ -281,7 +281,7 @@ void LanLinkProvider::tcpSocketConnected()
|
||||||
// if ssl supported
|
// if ssl supported
|
||||||
if (receivedPacket->get<int>(QStringLiteral("protocolVersion")) >= MIN_VERSION_WITH_SSL_SUPPORT) {
|
if (receivedPacket->get<int>(QStringLiteral("protocolVersion")) >= MIN_VERSION_WITH_SSL_SUPPORT) {
|
||||||
|
|
||||||
bool isDeviceTrusted = KdeConnectConfig::instance()->trustedDevices().contains(deviceId);
|
bool isDeviceTrusted = KdeConnectConfig::instance().trustedDevices().contains(deviceId);
|
||||||
configureSslSocket(socket, deviceId, isDeviceTrusted);
|
configureSslSocket(socket, deviceId, isDeviceTrusted);
|
||||||
|
|
||||||
qCDebug(KDECONNECT_CORE) << "Starting server ssl (I'm the client TCP socket)";
|
qCDebug(KDECONNECT_CORE) << "Starting server ssl (I'm the client TCP socket)";
|
||||||
|
@ -403,7 +403,7 @@ void LanLinkProvider::dataReceived()
|
||||||
|
|
||||||
if (np->get<int>(QStringLiteral("protocolVersion")) >= MIN_VERSION_WITH_SSL_SUPPORT) {
|
if (np->get<int>(QStringLiteral("protocolVersion")) >= MIN_VERSION_WITH_SSL_SUPPORT) {
|
||||||
|
|
||||||
bool isDeviceTrusted = KdeConnectConfig::instance()->trustedDevices().contains(deviceId);
|
bool isDeviceTrusted = KdeConnectConfig::instance().trustedDevices().contains(deviceId);
|
||||||
configureSslSocket(socket, deviceId, isDeviceTrusted);
|
configureSslSocket(socket, deviceId, isDeviceTrusted);
|
||||||
|
|
||||||
qCDebug(KDECONNECT_CORE) << "Starting client ssl (but I'm the server TCP socket)";
|
qCDebug(KDECONNECT_CORE) << "Starting client ssl (but I'm the server TCP socket)";
|
||||||
|
@ -453,12 +453,12 @@ void LanLinkProvider::configureSslSocket(QSslSocket* socket, const QString& devi
|
||||||
sslConfig.setCiphers(socketCiphers);
|
sslConfig.setCiphers(socketCiphers);
|
||||||
|
|
||||||
socket->setSslConfiguration(sslConfig);
|
socket->setSslConfiguration(sslConfig);
|
||||||
socket->setLocalCertificate(KdeConnectConfig::instance()->certificate());
|
socket->setLocalCertificate(KdeConnectConfig::instance().certificate());
|
||||||
socket->setPrivateKey(KdeConnectConfig::instance()->privateKeyPath());
|
socket->setPrivateKey(KdeConnectConfig::instance().privateKeyPath());
|
||||||
socket->setPeerVerifyName(deviceId);
|
socket->setPeerVerifyName(deviceId);
|
||||||
|
|
||||||
if (isDeviceTrusted) {
|
if (isDeviceTrusted) {
|
||||||
QString certString = KdeConnectConfig::instance()->getDeviceProperty(deviceId, QStringLiteral("certificate"), QString());
|
QString certString = KdeConnectConfig::instance().getDeviceProperty(deviceId, QStringLiteral("certificate"), QString());
|
||||||
socket->addCaCertificate(QSslCertificate(certString.toLatin1()));
|
socket->addCaCertificate(QSslCertificate(certString.toLatin1()));
|
||||||
socket->setPeerVerifyMode(QSslSocket::VerifyPeer);
|
socket->setPeerVerifyMode(QSslSocket::VerifyPeer);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -94,7 +94,7 @@ void Daemon::init()
|
||||||
}
|
}
|
||||||
|
|
||||||
//Read remembered paired devices
|
//Read remembered paired devices
|
||||||
const QStringList& list = KdeConnectConfig::instance()->trustedDevices();
|
const QStringList& list = KdeConnectConfig::instance().trustedDevices();
|
||||||
for (const QString& id : list) {
|
for (const QString& id : list) {
|
||||||
addDevice(new Device(this, id));
|
addDevice(new Device(this, id));
|
||||||
}
|
}
|
||||||
|
@ -253,14 +253,14 @@ void Daemon::onDeviceStatusChanged()
|
||||||
void Daemon::setAnnouncedName(const QString& name)
|
void Daemon::setAnnouncedName(const QString& name)
|
||||||
{
|
{
|
||||||
qCDebug(KDECONNECT_CORE()) << "Announcing name";
|
qCDebug(KDECONNECT_CORE()) << "Announcing name";
|
||||||
KdeConnectConfig::instance()->setName(name);
|
KdeConnectConfig::instance().setName(name);
|
||||||
forceOnNetworkChange();
|
forceOnNetworkChange();
|
||||||
Q_EMIT announcedNameChanged(name);
|
Q_EMIT announcedNameChanged(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Daemon::announcedName()
|
QString Daemon::announcedName()
|
||||||
{
|
{
|
||||||
return KdeConnectConfig::instance()->name();
|
return KdeConnectConfig::instance().name();
|
||||||
}
|
}
|
||||||
|
|
||||||
QNetworkAccessManager* Daemon::networkAccessManager()
|
QNetworkAccessManager* Daemon::networkAccessManager()
|
||||||
|
@ -324,5 +324,5 @@ Daemon::~Daemon()
|
||||||
|
|
||||||
QString Daemon::selfId() const
|
QString Daemon::selfId() const
|
||||||
{
|
{
|
||||||
return KdeConnectConfig::instance()->deviceId();
|
return KdeConnectConfig::instance().deviceId();
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,7 @@ Device::Device(QObject* parent, const QString& id)
|
||||||
, d(new Device::DevicePrivate(id))
|
, d(new Device::DevicePrivate(id))
|
||||||
{
|
{
|
||||||
d->m_protocolVersion = NetworkPacket::s_protocolVersion;
|
d->m_protocolVersion = NetworkPacket::s_protocolVersion;
|
||||||
KdeConnectConfig::DeviceInfo info = KdeConnectConfig::instance()->getTrustedDevice(d->m_deviceId);
|
KdeConnectConfig::DeviceInfo info = KdeConnectConfig::instance().getTrustedDevice(d->m_deviceId);
|
||||||
|
|
||||||
d->m_deviceName = info.deviceName;
|
d->m_deviceName = info.deviceName;
|
||||||
d->m_deviceType = str2type(info.deviceType);
|
d->m_deviceType = str2type(info.deviceType);
|
||||||
|
@ -216,7 +216,7 @@ void Device::reloadPlugins()
|
||||||
|
|
||||||
QString Device::pluginsConfigFile() const
|
QString Device::pluginsConfigFile() const
|
||||||
{
|
{
|
||||||
return KdeConnectConfig::instance()->deviceConfigDir(id()).absoluteFilePath(QStringLiteral("config"));
|
return KdeConnectConfig::instance().deviceConfigDir(id()).absoluteFilePath(QStringLiteral("config"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Device::requestPair()
|
void Device::requestPair()
|
||||||
|
@ -241,14 +241,14 @@ void Device::unpair()
|
||||||
for (DeviceLink* dl : qAsConst(d->m_deviceLinks)) {
|
for (DeviceLink* dl : qAsConst(d->m_deviceLinks)) {
|
||||||
dl->userRequestsUnpair();
|
dl->userRequestsUnpair();
|
||||||
}
|
}
|
||||||
KdeConnectConfig::instance()->removeTrustedDevice(id());
|
KdeConnectConfig::instance().removeTrustedDevice(id());
|
||||||
Q_EMIT trustedChanged(false);
|
Q_EMIT trustedChanged(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Device::pairStatusChanged(DeviceLink::PairStatus status)
|
void Device::pairStatusChanged(DeviceLink::PairStatus status)
|
||||||
{
|
{
|
||||||
if (status == DeviceLink::NotPaired) {
|
if (status == DeviceLink::NotPaired) {
|
||||||
KdeConnectConfig::instance()->removeTrustedDevice(id());
|
KdeConnectConfig::instance().removeTrustedDevice(id());
|
||||||
|
|
||||||
for (DeviceLink* dl : qAsConst(d->m_deviceLinks)) {
|
for (DeviceLink* dl : qAsConst(d->m_deviceLinks)) {
|
||||||
if (dl != sender()) {
|
if (dl != sender()) {
|
||||||
|
@ -256,7 +256,7 @@ void Device::pairStatusChanged(DeviceLink::PairStatus status)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
KdeConnectConfig::instance()->addTrustedDevice(id(), name(), type());
|
KdeConnectConfig::instance().addTrustedDevice(id(), name(), type());
|
||||||
}
|
}
|
||||||
|
|
||||||
reloadPlugins(); //Will load/unload plugins
|
reloadPlugins(); //Will load/unload plugins
|
||||||
|
@ -419,7 +419,7 @@ void Device::privateReceivedPacket(const NetworkPacket& np)
|
||||||
|
|
||||||
bool Device::isTrusted() const
|
bool Device::isTrusted() const
|
||||||
{
|
{
|
||||||
return KdeConnectConfig::instance()->trustedDevices().contains(id());
|
return KdeConnectConfig::instance().trustedDevices().contains(id());
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList Device::availableLinks() const
|
QStringList Device::availableLinks() const
|
||||||
|
@ -542,13 +542,13 @@ QString Device::encryptionInfo() const
|
||||||
QString result;
|
QString result;
|
||||||
QCryptographicHash::Algorithm digestAlgorithm = QCryptographicHash::Algorithm::Sha1;
|
QCryptographicHash::Algorithm digestAlgorithm = QCryptographicHash::Algorithm::Sha1;
|
||||||
|
|
||||||
QString localSha1 = QString::fromLatin1(KdeConnectConfig::instance()->certificate().digest(digestAlgorithm).toHex());
|
QString localSha1 = QString::fromLatin1(KdeConnectConfig::instance().certificate().digest(digestAlgorithm).toHex());
|
||||||
for (int i = 2; i<localSha1.size(); i += 3) {
|
for (int i = 2; i<localSha1.size(); i += 3) {
|
||||||
localSha1.insert(i, QStringLiteral(":")); // Improve readability
|
localSha1.insert(i, QStringLiteral(":")); // Improve readability
|
||||||
}
|
}
|
||||||
result += i18n("SHA1 fingerprint of your device certificate is: %1\n", localSha1);
|
result += i18n("SHA1 fingerprint of your device certificate is: %1\n", localSha1);
|
||||||
|
|
||||||
std::string remotePem = KdeConnectConfig::instance()->getDeviceProperty(id(), QStringLiteral("certificate")).toStdString();
|
std::string remotePem = KdeConnectConfig::instance().getDeviceProperty(id(), QStringLiteral("certificate")).toStdString();
|
||||||
QSslCertificate remoteCertificate = QSslCertificate(QByteArray(remotePem.c_str(), (int)remotePem.size()));
|
QSslCertificate remoteCertificate = QSslCertificate(QByteArray(remotePem.c_str(), (int)remotePem.size()));
|
||||||
QString remoteSha1 = QString::fromLatin1(remoteCertificate.digest(digestAlgorithm).toHex());
|
QString remoteSha1 = QString::fromLatin1(remoteCertificate.digest(digestAlgorithm).toHex());
|
||||||
for (int i = 2; i < remoteSha1.size(); i += 3) {
|
for (int i = 2; i < remoteSha1.size(); i += 3) {
|
||||||
|
|
|
@ -58,9 +58,9 @@ struct KdeConnectConfigPrivate {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
KdeConnectConfig* KdeConnectConfig::instance()
|
KdeConnectConfig& KdeConnectConfig::instance()
|
||||||
{
|
{
|
||||||
static KdeConnectConfig* kcc = new KdeConnectConfig();
|
static KdeConnectConfig kcc;
|
||||||
return kcc;
|
return kcc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -369,7 +369,7 @@ QString KdeConnectConfig::privateDBusAddress()
|
||||||
}
|
}
|
||||||
|
|
||||||
qCDebug(KDECONNECT_CORE) << "Private dbus address: " << addr;
|
qCDebug(KDECONNECT_CORE) << "Private dbus address: " << addr;
|
||||||
|
|
||||||
d->m_privateDBusAddress = addr;
|
d->m_privateDBusAddress = addr;
|
||||||
|
|
||||||
return addr;
|
return addr;
|
||||||
|
|
|
@ -35,7 +35,7 @@ public:
|
||||||
QString deviceType;
|
QString deviceType;
|
||||||
};
|
};
|
||||||
|
|
||||||
static KdeConnectConfig* instance();
|
static KdeConnectConfig& instance();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Our own info
|
* Our own info
|
||||||
|
|
|
@ -37,7 +37,7 @@ struct KdeConnectPluginConfigPrivate
|
||||||
KdeConnectPluginConfig::KdeConnectPluginConfig(const QString& deviceId, const QString& pluginName)
|
KdeConnectPluginConfig::KdeConnectPluginConfig(const QString& deviceId, const QString& pluginName)
|
||||||
: d(new KdeConnectPluginConfigPrivate())
|
: d(new KdeConnectPluginConfigPrivate())
|
||||||
{
|
{
|
||||||
d->m_configDir = KdeConnectConfig::instance()->pluginConfigDir(deviceId, pluginName);
|
d->m_configDir = KdeConnectConfig::instance().pluginConfigDir(deviceId, pluginName);
|
||||||
QDir().mkpath(d->m_configDir.path());
|
QDir().mkpath(d->m_configDir.path());
|
||||||
|
|
||||||
d->m_config = new QSettings(d->m_configDir.absoluteFilePath(QStringLiteral("config")), QSettings::IniFormat);
|
d->m_config = new QSettings(d->m_configDir.absoluteFilePath(QStringLiteral("config")), QSettings::IniFormat);
|
||||||
|
|
|
@ -57,14 +57,13 @@ NetworkPacket::NetworkPacket(const QString& type, const QVariantMap& body)
|
||||||
|
|
||||||
void NetworkPacket::createIdentityPacket(NetworkPacket* np)
|
void NetworkPacket::createIdentityPacket(NetworkPacket* np)
|
||||||
{
|
{
|
||||||
KdeConnectConfig* config = KdeConnectConfig::instance();
|
|
||||||
np->m_id = QString::number(QDateTime::currentMSecsSinceEpoch());
|
np->m_id = QString::number(QDateTime::currentMSecsSinceEpoch());
|
||||||
np->m_type = PACKET_TYPE_IDENTITY;
|
np->m_type = PACKET_TYPE_IDENTITY;
|
||||||
np->m_payload = QSharedPointer<QIODevice>();
|
np->m_payload = QSharedPointer<QIODevice>();
|
||||||
np->m_payloadSize = 0;
|
np->m_payloadSize = 0;
|
||||||
np->set(QStringLiteral("deviceId"), config->deviceId());
|
np->set(QStringLiteral("deviceId"), KdeConnectConfig::instance().deviceId());
|
||||||
np->set(QStringLiteral("deviceName"), config->name());
|
np->set(QStringLiteral("deviceName"), KdeConnectConfig::instance().name());
|
||||||
np->set(QStringLiteral("deviceType"), config->deviceType());
|
np->set(QStringLiteral("deviceType"), KdeConnectConfig::instance().deviceType());
|
||||||
np->set(QStringLiteral("protocolVersion"), NetworkPacket::s_protocolVersion);
|
np->set(QStringLiteral("protocolVersion"), NetworkPacket::s_protocolVersion);
|
||||||
np->set(QStringLiteral("incomingCapabilities"), PluginLoader::instance()->incomingCapabilities());
|
np->set(QStringLiteral("incomingCapabilities"), PluginLoader::instance()->incomingCapabilities());
|
||||||
np->set(QStringLiteral("outgoingCapabilities"), PluginLoader::instance()->outgoingCapabilities());
|
np->set(QStringLiteral("outgoingCapabilities"), PluginLoader::instance()->outgoingCapabilities());
|
||||||
|
|
|
@ -82,7 +82,7 @@ void Mounter::onPackageReceived(const NetworkPacket& np)
|
||||||
unmount(false);
|
unmount(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (np.has(QStringLiteral("errorMessage"))) {
|
if (np.has(QStringLiteral("errorMessage"))) {
|
||||||
Q_EMIT failed(np.get<QString>(QStringLiteral("errorMessage")));
|
Q_EMIT failed(np.get<QString>(QStringLiteral("errorMessage")));
|
||||||
return;
|
return;
|
||||||
|
@ -136,7 +136,7 @@ void Mounter::onPackageReceived(const NetworkPacket& np)
|
||||||
<< QStringLiteral("-s") // This fixes a bug where file chunks are sent out of order and get corrupted on reception
|
<< QStringLiteral("-s") // This fixes a bug where file chunks are sent out of order and get corrupted on reception
|
||||||
<< QStringLiteral("-f")
|
<< QStringLiteral("-f")
|
||||||
<< QStringLiteral("-F") << QStringLiteral("/dev/null") //Do not use ~/.ssh/config
|
<< QStringLiteral("-F") << QStringLiteral("/dev/null") //Do not use ~/.ssh/config
|
||||||
<< QStringLiteral("-o") << QStringLiteral("IdentityFile=") + KdeConnectConfig::instance()->privateKeyPath()
|
<< QStringLiteral("-o") << QStringLiteral("IdentityFile=") + KdeConnectConfig::instance().privateKeyPath()
|
||||||
<< QStringLiteral("-o") << QStringLiteral("StrictHostKeyChecking=no") //Do not ask for confirmation because it is not a known host
|
<< QStringLiteral("-o") << QStringLiteral("StrictHostKeyChecking=no") //Do not ask for confirmation because it is not a known host
|
||||||
<< QStringLiteral("-o") << QStringLiteral("UserKnownHostsFile=/dev/null") //Prevent storing as a known host
|
<< QStringLiteral("-o") << QStringLiteral("UserKnownHostsFile=/dev/null") //Prevent storing as a known host
|
||||||
<< QStringLiteral("-o") << QStringLiteral("HostKeyAlgorithms=+ssh-dss") //https://bugs.kde.org/show_bug.cgi?id=351725
|
<< QStringLiteral("-o") << QStringLiteral("HostKeyAlgorithms=+ssh-dss") //https://bugs.kde.org/show_bug.cgi?id=351725
|
||||||
|
|
|
@ -58,9 +58,8 @@ void DeviceTest::initTestCase()
|
||||||
|
|
||||||
void DeviceTest::testPairedDevice()
|
void DeviceTest::testPairedDevice()
|
||||||
{
|
{
|
||||||
KdeConnectConfig* kcc = KdeConnectConfig::instance();
|
KdeConnectConfig::instance().addTrustedDevice(deviceId, deviceName, deviceType);
|
||||||
kcc->addTrustedDevice(deviceId, deviceName, deviceType);
|
KdeConnectConfig::instance().setDeviceProperty(deviceId, QStringLiteral("certificate"), QString::fromLatin1(KdeConnectConfig::instance().certificate().toPem())); // Using same certificate from kcc, instead of generating one
|
||||||
kcc->setDeviceProperty(deviceId, QStringLiteral("certificate"), QString::fromLatin1(kcc->certificate().toPem())); // Using same certificate from kcc, instead of generating one
|
|
||||||
|
|
||||||
Device device(this, deviceId);
|
Device device(this, deviceId);
|
||||||
|
|
||||||
|
@ -94,8 +93,7 @@ void DeviceTest::testPairedDevice()
|
||||||
|
|
||||||
void DeviceTest::testUnpairedDevice()
|
void DeviceTest::testUnpairedDevice()
|
||||||
{
|
{
|
||||||
KdeConnectConfig* kcc = KdeConnectConfig::instance();
|
KdeConnectConfig::instance().removeTrustedDevice(deviceId);
|
||||||
kcc->removeTrustedDevice(deviceId);
|
|
||||||
|
|
||||||
LanLinkProvider linkProvider;
|
LanLinkProvider linkProvider;
|
||||||
QSslSocket socket;
|
QSslSocket socket;
|
||||||
|
|
|
@ -32,26 +32,17 @@ class KdeConnectConfigTest : public QObject
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void initTestCase();
|
|
||||||
void addTrustedDevice();
|
void addTrustedDevice();
|
||||||
/*
|
/*
|
||||||
void remoteCertificateTest();
|
void remoteCertificateTest();
|
||||||
*/
|
*/
|
||||||
void removeTrustedDevice();
|
void removeTrustedDevice();
|
||||||
|
|
||||||
private:
|
|
||||||
KdeConnectConfig* kcc;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void KdeConnectConfigTest::initTestCase()
|
|
||||||
{
|
|
||||||
kcc = KdeConnectConfig::instance();
|
|
||||||
}
|
|
||||||
|
|
||||||
void KdeConnectConfigTest::addTrustedDevice()
|
void KdeConnectConfigTest::addTrustedDevice()
|
||||||
{
|
{
|
||||||
kcc->addTrustedDevice(QStringLiteral("testdevice"), QStringLiteral("Test Device"), QStringLiteral("phone"));
|
KdeConnectConfig::instance().addTrustedDevice(QStringLiteral("testdevice"), QStringLiteral("Test Device"), QStringLiteral("phone"));
|
||||||
KdeConnectConfig::DeviceInfo devInfo = kcc->getTrustedDevice(QStringLiteral("testdevice"));
|
KdeConnectConfig::DeviceInfo devInfo = KdeConnectConfig::instance().getTrustedDevice(QStringLiteral("testdevice"));
|
||||||
QCOMPARE(devInfo.deviceName, QStringLiteral("Test Device"));
|
QCOMPARE(devInfo.deviceName, QStringLiteral("Test Device"));
|
||||||
QCOMPARE(devInfo.deviceType, QStringLiteral("phone"));
|
QCOMPARE(devInfo.deviceType, QStringLiteral("phone"));
|
||||||
}
|
}
|
||||||
|
@ -83,8 +74,8 @@ void KdeConnectConfigTest::remoteCertificateTest()
|
||||||
|
|
||||||
void KdeConnectConfigTest::removeTrustedDevice()
|
void KdeConnectConfigTest::removeTrustedDevice()
|
||||||
{
|
{
|
||||||
kcc->removeTrustedDevice(QStringLiteral("testdevice"));
|
KdeConnectConfig::instance().removeTrustedDevice(QStringLiteral("testdevice"));
|
||||||
KdeConnectConfig::DeviceInfo devInfo = kcc->getTrustedDevice(QStringLiteral("testdevice"));
|
KdeConnectConfig::DeviceInfo devInfo = KdeConnectConfig::instance().getTrustedDevice(QStringLiteral("testdevice"));
|
||||||
QCOMPARE(devInfo.deviceName, QStringLiteral("unnamed"));
|
QCOMPARE(devInfo.deviceName, QStringLiteral("unnamed"));
|
||||||
QCOMPARE(devInfo.deviceType, QStringLiteral("unknown"));
|
QCOMPARE(devInfo.deviceType, QStringLiteral("unknown"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -178,7 +178,6 @@ void LanLinkProviderTest::pairedDeviceTcpPacketReceived()
|
||||||
LanLinkProvider testlanLinkProvider(true, udpBroadcastPort, udpListenPort);
|
LanLinkProvider testlanLinkProvider(true, udpBroadcastPort, udpListenPort);
|
||||||
testlanLinkProvider.onStart();
|
testlanLinkProvider.onStart();
|
||||||
|
|
||||||
KdeConnectConfig* kcc = KdeConnectConfig::instance();
|
|
||||||
addTrustedDevice();
|
addTrustedDevice();
|
||||||
|
|
||||||
QUdpSocket* mUdpServer = new QUdpSocket;
|
QUdpSocket* mUdpServer = new QUdpSocket;
|
||||||
|
@ -217,9 +216,9 @@ void LanLinkProviderTest::pairedDeviceTcpPacketReceived()
|
||||||
QSignalSpy spy3(&socket, SIGNAL(encrypted()));
|
QSignalSpy spy3(&socket, SIGNAL(encrypted()));
|
||||||
|
|
||||||
setSocketAttributes(&socket);
|
setSocketAttributes(&socket);
|
||||||
socket.addCaCertificate(kcc->certificate());
|
socket.addCaCertificate(KdeConnectConfig::instance().certificate());
|
||||||
socket.setPeerVerifyMode(QSslSocket::VerifyPeer);
|
socket.setPeerVerifyMode(QSslSocket::VerifyPeer);
|
||||||
socket.setPeerVerifyName(kcc->name());
|
socket.setPeerVerifyName(KdeConnectConfig::instance().name());
|
||||||
|
|
||||||
socket.startServerEncryption();
|
socket.startServerEncryption();
|
||||||
QVERIFY(spy3.wait());
|
QVERIFY(spy3.wait());
|
||||||
|
@ -235,7 +234,6 @@ void LanLinkProviderTest::pairedDeviceTcpPacketReceived()
|
||||||
|
|
||||||
void LanLinkProviderTest::pairedDeviceUdpPacketReceived()
|
void LanLinkProviderTest::pairedDeviceUdpPacketReceived()
|
||||||
{
|
{
|
||||||
KdeConnectConfig* kcc = KdeConnectConfig::instance();
|
|
||||||
addTrustedDevice();
|
addTrustedDevice();
|
||||||
|
|
||||||
m_server = new Server(this);
|
m_server = new Server(this);
|
||||||
|
@ -269,9 +267,9 @@ void LanLinkProviderTest::pairedDeviceUdpPacketReceived()
|
||||||
this, [](QAbstractSocket::SocketError error){ qDebug() << "error:" << error; }));
|
this, [](QAbstractSocket::SocketError error){ qDebug() << "error:" << error; }));
|
||||||
|
|
||||||
setSocketAttributes(serverSocket);
|
setSocketAttributes(serverSocket);
|
||||||
serverSocket->addCaCertificate(kcc->certificate());
|
serverSocket->addCaCertificate(KdeConnectConfig::instance().certificate());
|
||||||
serverSocket->setPeerVerifyMode(QSslSocket::VerifyPeer);
|
serverSocket->setPeerVerifyMode(QSslSocket::VerifyPeer);
|
||||||
serverSocket->setPeerVerifyName(kcc->deviceId());
|
serverSocket->setPeerVerifyName(KdeConnectConfig::instance().deviceId());
|
||||||
|
|
||||||
serverSocket->startClientEncryption(); // Its TCP server. but SSL client
|
serverSocket->startClientEncryption(); // Its TCP server. but SSL client
|
||||||
QVERIFY(!serverSocket->isEncrypted());
|
QVERIFY(!serverSocket->isEncrypted());
|
||||||
|
@ -432,15 +430,13 @@ void LanLinkProviderTest::setSocketAttributes(QSslSocket* socket)
|
||||||
|
|
||||||
void LanLinkProviderTest::addTrustedDevice()
|
void LanLinkProviderTest::addTrustedDevice()
|
||||||
{
|
{
|
||||||
KdeConnectConfig* kcc = KdeConnectConfig::instance();
|
KdeConnectConfig::instance().addTrustedDevice(m_deviceId, m_name, QStringLiteral("phone"));
|
||||||
kcc->addTrustedDevice(m_deviceId, m_name, QStringLiteral("phone"));
|
KdeConnectConfig::instance().setDeviceProperty(m_deviceId, QStringLiteral("certificate"), QString::fromLatin1(m_certificate.toPem()));
|
||||||
kcc->setDeviceProperty(m_deviceId, QStringLiteral("certificate"), QString::fromLatin1(m_certificate.toPem()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LanLinkProviderTest::removeTrustedDevice()
|
void LanLinkProviderTest::removeTrustedDevice()
|
||||||
{
|
{
|
||||||
KdeConnectConfig* kcc = KdeConnectConfig::instance();
|
KdeConnectConfig::instance().removeTrustedDevice(m_deviceId);
|
||||||
kcc->removeTrustedDevice(m_deviceId);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LanLinkProviderTest::socketBindErrorFail(const QUdpSocket& socket)
|
void LanLinkProviderTest::socketBindErrorFail(const QUdpSocket& socket)
|
||||||
|
|
|
@ -101,13 +101,12 @@ class TestSendFile : public QObject
|
||||||
const QString destFile = QDir::tempPath() + QStringLiteral("/kdeconnect-test-sentfile");
|
const QString destFile = QDir::tempPath() + QStringLiteral("/kdeconnect-test-sentfile");
|
||||||
QFile(destFile).remove();
|
QFile(destFile).remove();
|
||||||
|
|
||||||
const QString deviceId = KdeConnectConfig::instance()->deviceId()
|
const QString deviceId = KdeConnectConfig::instance().deviceId()
|
||||||
, deviceName = QStringLiteral("testdevice")
|
, deviceName = QStringLiteral("testdevice")
|
||||||
, deviceType = KdeConnectConfig::instance()->deviceType();
|
, deviceType = KdeConnectConfig::instance().deviceType();
|
||||||
|
|
||||||
KdeConnectConfig* kcc = KdeConnectConfig::instance();
|
KdeConnectConfig::instance().addTrustedDevice(deviceId, deviceName, deviceType);
|
||||||
kcc->addTrustedDevice(deviceId, deviceName, deviceType);
|
KdeConnectConfig::instance().setDeviceProperty(deviceId, QStringLiteral("certificate"), QString::fromLatin1(KdeConnectConfig::instance().certificate().toPem())); // Using same certificate from kcc, instead of generating
|
||||||
kcc->setDeviceProperty(deviceId, QStringLiteral("certificate"), QString::fromLatin1(kcc->certificate().toPem())); // Using same certificate from kcc, instead of generating
|
|
||||||
|
|
||||||
//We need the device to be loaded on the daemon, otherwise CompositeUploadJob will get a null device
|
//We need the device to be loaded on the daemon, otherwise CompositeUploadJob will get a null device
|
||||||
Device* device = new Device(this, deviceId);
|
Device* device = new Device(this, deviceId);
|
||||||
|
@ -120,7 +119,7 @@ class TestSendFile : public QObject
|
||||||
CompositeUploadJob* job = new CompositeUploadJob(deviceId, false);
|
CompositeUploadJob* job = new CompositeUploadJob(deviceId, false);
|
||||||
UploadJob* uj = new UploadJob(np);
|
UploadJob* uj = new UploadJob(np);
|
||||||
job->addSubjob(uj);
|
job->addSubjob(uj);
|
||||||
|
|
||||||
QSignalSpy spyUpload(job, &KJob::result);
|
QSignalSpy spyUpload(job, &KJob::result);
|
||||||
job->start();
|
job->start();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue