Review Request 124312: Initial SSL implementation

Vineet Garg grg.vineet at gmail.com
Mon Jul 27 15:42:35 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124312/
-----------------------------------------------------------

(Updated July 27, 2015, 3:42 p.m.)


Review request for kdeconnect.


Changes
-------

Reimplemented pairing handler interface.
Each type of pairing handler belongs to device and contains latest link pointer and device pointer.
Pair package is immediately transferred to pairing handlers.
Link name is added which is used to judge which link sent the pair package and other stuff.


Repository: kdeconnect-kde


Description
-------

* Similar to Android version, this SSL implementation supports old version also.
* Certificate is generated when public key is generated using QCA, but used as QSslCertificate because QSslSocket don't like QCA certificate.
* A new server is written overriding QTcpServer for setting socket descriptor to QSslSocket.
* QSslSocket works as plain socket to transfer identity package and then either uses encrypted mode or normal mode according to the received package.
* If connetion is to be on SSL, new link is only added after successful handshake.
* Certificate is embedded into identity package on start of encrypted mode and then set in device using it.
* PairingHandler is added like in Android version so that each LinkProvider manage pairing according to its own rules.

P.S. : Uploaded the patch with some debug statements, will comment out them.


Diffs (updated)
-----

  core/backends/devicelink.h 0ae6c00 
  cli/kdeconnect-cli.cpp 536c754 
  core/CMakeLists.txt dd8fedb 
  core/backends/lan/CMakeLists.txt 7c5be38 
  core/backends/lan/downloadjob.h eeeab07 
  core/backends/lan/downloadjob.cpp bba2e98 
  core/backends/lan/landevicelink.h 7d31881 
  core/backends/lan/landevicelink.cpp 0987057 
  core/backends/lan/lanlinkprovider.h b379434 
  core/backends/lan/lanlinkprovider.cpp f5d2b22 
  core/backends/lan/lanpairinghandler.h PRE-CREATION 
  core/backends/lan/lanpairinghandler.cpp PRE-CREATION 
  core/backends/lan/server.h PRE-CREATION 
  core/backends/lan/server.cpp PRE-CREATION 
  core/backends/lan/socketlinereader.h b3be55a 
  core/backends/lan/socketlinereader.cpp a6bd85e 
  core/backends/lan/uploadjob.h 12b6f7e 
  core/backends/lan/uploadjob.cpp b0d35fc 
  core/backends/linkprovider.h f4fc309 
  core/backends/loopback/loopbackdevicelink.h 9d1ae14 
  core/backends/loopback/loopbackdevicelink.cpp 718c5b8 
  core/backends/pairinghandler.h PRE-CREATION 
  core/backends/pairinghandler.cpp PRE-CREATION 
  core/daemon.h 674ca01 
  core/daemon.cpp af4c67b 
  core/device.h 03f528c 
  core/device.cpp c2dc609 
  core/kdeconnectconfig.h af6c6df 
  core/kdeconnectconfig.cpp 919505c 
  core/networkpackage.h 6a0bf9c 
  core/networkpackage.cpp 64cfab7 
  plugins/sftp/mounter.h 76ac860 
  tests/CMakeLists.txt b00a574 
  tests/testsocketlinereader.cpp 77a9b4b 

Diff: https://git.reviewboard.kde.org/r/124312/diff/


Testing
-------

* Working fine, tested using connection to Android devices.
* Pairing handler needs to be tested using two LinkProvider, working fine with one, but there be some problems with two LinkProviders simultaneouly.


Thanks,

Vineet Garg

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdeconnect/attachments/20150727/9ed6934c/attachment.html>


More information about the KDEConnect mailing list