[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498

Maximiliano Curia maxy at moszumanska.debian.org
Fri Oct 14 14:27:17 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=599efe5

The following commit has been merged in the master branch:
commit 599efe541c1d411e05e144ebd7872697ff93e9b8
Author: Samoilenko Yuri <kinnalru at gmail.com>
Date:   Fri Jan 17 00:47:21 2014 +0400

    bugfixes
---
 kded/daemon.cpp | 13 +++++++------
 kded/device.cpp | 10 +++++++---
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/kded/daemon.cpp b/kded/daemon.cpp
index 2633c5d..85df7ea 100644
--- a/kded/daemon.cpp
+++ b/kded/daemon.cpp
@@ -56,11 +56,12 @@ Daemon::Daemon(QObject *parent, const QList<QVariant>&)
     //kDebug(kdeconnect_kded()) << "QCA supported capabilities:" << QCA::supportedFeatures().join(",");
     if(!QCA::isSupported("rsa")) {
         //TODO: Maybe display this in a more visible way?
-        qWarning() << "Error: KDE Connect could not find support for RSA in your QCA installation, if your distribution provides"
+        kWarning(kdeconnect_kded()) << "Error: KDE Connect could not find support for RSA in your QCA installation, if your distribution provides"
                    << "separate packages for QCA-ossl and QCA-gnupg plugins, make sure you have them installed and try again";
         return;
     }
 
+    const QFile::Permissions strict = QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::WriteUser;
     if (!config->group("myself").hasKey("privateKey"))
     {
         const QString privateKeyPath = KStandardDirs::locateLocal("appdata", "key.pem", true, KComponentData("kdeconnect", "kdeconnect"));
@@ -69,13 +70,13 @@ Daemon::Daemon(QObject *parent, const QList<QVariant>&)
         
         if (!privKey.open(QIODevice::ReadWrite | QIODevice::Truncate))
         {
-            qWarning() << "Error: KDE Connect could not create private keys file: " << privateKeyPath;
+            kWarning(kdeconnect_kded()) << "Error: KDE Connect could not create private keys file: " << privateKeyPath;
             return;
         }
         
-        if (!privKey.setPermissions(QFile::ReadOwner | QFile::WriteOwner))
+        if (!privKey.setPermissions(strict))
         {
-            qWarning() << "Error: KDE Connect could not set permissions for private file: " << privateKeyPath;
+            kWarning(kdeconnect_kded()) << "Error: KDE Connect could not set permissions for private file: " << privateKeyPath;
             return;
         }
 
@@ -86,9 +87,9 @@ Daemon::Daemon(QObject *parent, const QList<QVariant>&)
         config->group("myself").writeEntry("privateKey", privateKeyPath);
     }
     
-    if (QFileInfo(config->group("myself").readEntry("privateKey")).permissions() != (QFile::ReadOwner | QFile::WriteOwner))
+    if (QFile::permissions(config->group("myself").readEntry("privateKey")) != strict)
     {
-        qWarning() << "Error: KDE Connect detects wrong permissions for private file " << config->group("myself").readEntry("privateKey");
+        kWarning(kdeconnect_kded()) << "Error: KDE Connect detects wrong permissions for private file " << config->group("myself").readEntry("privateKey");
         return;
     }
 
diff --git a/kded/device.cpp b/kded/device.cpp
index 0b27b9c..3d5c7a6 100644
--- a/kded/device.cpp
+++ b/kded/device.cpp
@@ -54,6 +54,12 @@ Device::Device(const NetworkPackage& identityPackage, DeviceLink* dl)
 {
     addLink(identityPackage, dl);
 
+    QFile privKey(KSharedConfig::openConfig("kdeconnectrc")->group("myself").readEntry("privateKey"));
+    if (privKey.open(QIODevice::ReadOnly))
+    {
+        m_privateKey = QCA::PrivateKey::fromPEM(privKey.readAll());
+    }
+    
     //Register in bus
     QDBusConnection::sessionBus().registerObject(dbusPath(), this, QDBusConnection::ExportScriptableContents | QDBusConnection::ExportAdaptors);
 }
@@ -356,9 +362,7 @@ bool Device::sendOwnPublicKey()
 {
     NetworkPackage np(PACKAGE_TYPE_PAIR);
     np.set("pair", true);
-    KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
-    const QString& key = config->group("myself").readEntry<QString>("publicKey", QString());
-    np.set("publicKey",key);
+    np.set("publicKey", m_privateKey.toPublicKey().toPEM());
     bool success = sendPackage(np);
     return success;
 }

-- 
kdeconnect packaging



More information about the pkg-kde-commits mailing list