Commit graph

453 commits

Author SHA1 Message Date
Nicolas Fella
67efdc4fef s/Q_DECL_OVERRIDE/override 2019-05-09 01:03:20 +02:00
Albert Vaca Cintora
5ddaadd471 More logging and remove redundant check as per CR 2019-05-09 00:03:59 +02:00
Albert Vaca
3fc7df550b Better error handling when loading cert and key
BUG: 405207
2019-05-09 00:03:59 +02:00
Nicolas Fella
0692295ae7 s/Q_NULLPTR/nullptr/ 2019-05-05 15:45:50 +02:00
Nicolas Fella
89987eb025 Coding style 2019-05-04 19:27:04 +02:00
Nicolas Fella
eef04f124b [backends/lan] Don't fail silently when a UDP packet could not be unserialized 2019-05-04 18:34:59 +02:00
Nicolas Fella
aff3d20e7e [lanlinkprovider] Improve method names 2019-05-04 13:10:27 +00:00
Erik Duisters
6fb67d0261 Delete partially downloaded file when transfer is canceled locally 2019-05-03 17:34:17 +02:00
Nicolas Fella
ecacb0eb80 Remove unneeded disconnects 2019-05-02 12:05:52 +00:00
Nicolas Fella
d3b6d1717d Port old connects 2019-05-01 23:42:24 +02:00
Nicolas Fella
ad0acbfae3 move initialization to initializer list 2019-05-01 23:26:07 +02:00
Nicolas Fella
d4026861ab Clean up includes 2019-04-30 19:03:24 +02:00
Nicolas Fella
b50b794250 Fix crash in daemon 2019-04-14 17:25:02 +00:00
Nicolas Fella
147fb6f35f Tweak Upload job finished notification 2019-03-31 19:19:28 +00:00
Nicolas Fella
3b8fedea1a Replace http GNU urls with https 2019-03-23 17:29:26 +01:00
Nicolas Fella
1f21cffb3e Add CMake flag to activate loop backend 2019-03-13 00:30:24 +00:00
Nicolas Fella
d587bbeeaa Remove unneeded link 2019-03-11 17:35:07 +01:00
Matthijs Tijink
97705c3c76 Retry the network packet if it failed to unserialize
This happens if the network packet is big enough to not transfer in one
go.
2019-03-09 18:29:55 +01:00
Nicolas Fella
5c268466c3 Don't use empty QStringLiteral 2019-02-28 14:20:22 +01:00
Nicolas Fella
c9533ff64e Don't make signals const 2019-02-28 14:13:35 +01:00
Albert Vaca Cintora
10c370cc51 More useful error text
This helped me figure out the error in the test
2019-02-13 00:11:03 +01:00
Albert Vaca Cintora
a8e9c0d002 Make test not crash 2019-02-13 00:09:04 +01:00
Albert Vaca Cintora
395536b382 Remove unused include 2019-02-12 22:51:04 +01:00
Nicolas Fella
1f23fa27b2 Don't use QString::null 2019-02-03 02:00:36 +01:00
Nicolas Fella
8548ebd032 Clean up includes 2019-02-03 01:44:22 +01:00
Nicolas Fella
8f31862098 Add email to copyright 2019-02-03 01:20:02 +01:00
Erik Duisters
805795af07 Do not send an update packet until we have actually begun processing sub-jobs 2019-01-27 16:44:05 +01:00
Erik Duisters
0f2a60065a Add packet type "kdeconnect.share.request.update" to allow android to update the share notification 2019-01-27 11:33:02 +01:00
Erik Duisters
205eb8f497 Do not overload kuiserver 2019-01-26 17:44:16 +00:00
Matthijs Tijink
e77c1c87ac Add description of bluetooth multiplexing protocol
Summary:
As mentioned on telegram, there are some fundamental issues with bluetooth. The only approach I could get working was multiplexing: manually sending multiple streams of data over a single connection.

This is the description of that multiplexing protocol. I have an implementation of this protocol, but I'd first like some feedback to see if this is what we're going to use before finishing up those patches.

See the document itself for more details. I make the protocol forward-compatible, although I don't expect we will need ever that.

Test Plan: None, this is just a description.

Reviewers: #kde_connect, andyholmes, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17987
2019-01-19 14:03:37 +01:00
Nicolas Fella
1b20ecec32 Allow newer TLS versions
Summary:
Instead of mandating TLS V1.0 use 1.0 or later.
BUG: 400338

Test Plan: Phone connects

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: thomasp, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D18217
2019-01-18 08:59:45 +01:00
Erik Duisters
9f5cdf1a21 Do not close m_socket in socketError()
Summary:
When android closes the payload socket (cancel share) calling m_socket.close() results
in a recursive call to onError eventually leading to a segmentation violation

Test Plan:
Install D16491, share a large file from desktop to android and cancel the share on Android through
 the notification. kdeconnectd crashes almost 100% of the time. (It doesn't crash when it detects
 a disconnect in sendNextPacket)

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17628
2019-01-06 12:43:10 +01:00
Matthijs Tijink
97551d09ff Add handling for the identity packet to be split across two messages.
Summary: If the identity packet is split across two packets, then save it until we get a notification that more data is available for reading over the bluetooth link.

Test Plan: Connect a phone and laptop over Bluetooth, and verify that both the phone and laptop are able to see each other, and that either side can start and successfully go through the pairing process.

Reviewers: #kde_connect, mtijink

Reviewed By: #kde_connect, mtijink

Subscribers: mtijink, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17789
2018-12-31 13:25:59 +01:00
Nicolas Fella
23703423fb Coding style 2018-12-25 01:52:16 +01:00
Nicolas Fella
a45921685b Extract code to methods 2018-12-25 01:42:42 +01:00
Nicolas Fella
b73472735f Remove comment 2018-12-25 01:04:22 +01:00
Nicolas Fella
8f16c3fd9a Remove unneeded methods
Remove unneeded declaration
2018-12-25 00:58:03 +01:00
Nicolas Fella
b4e61678a4 Remove unneeded variable 2018-12-25 00:35:32 +01:00
Yuri Chornoivan
5c468f0ecd Fix minor typos 2018-12-11 19:23:06 +02:00
Erik Duisters
b6c15289f5 Combine multiple upload jobs into a single KCompositeJob so only 1 notification will be shown
Summary:
Combine multiple upload jobs for files into a single KCompositeJob so only 1 notification will be shown
Includes changes introduced in D16279

Test Plan:
1. Share of multiple files is performed using 1 composite job

   Setup:
	- Select multiple (big) files in dolphin and share with an Android device
   Result:
	- The files will be transferred using 1 CompositeUploadJob and showing only 1 notification

2. Share of file while another share is already running adds job to existing composite job

   Setup:
	- Select multiple (big) files in dolphin and share with an Android device
	- Share an additional file with the same Android device
   Result:
	- The files are all transferred using 1 CompositeUploadJob and showing only 1 notification
	- The notification is updated after adding the last file

3. Other packets are transmitted as usual

   Setup:
        - Setup sharing desktop notification with device
	- Share a big file with an Android device
	- Generate a desktop notification (eg. sending or receiving an email)

   Result:
	- Notification packet is send immediately

Reviewers: #kde_connect, nicolasfella, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka, apol, nicolasfella, broulik, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17081
2018-11-30 08:26:00 +01:00
Erik Duisters
2c9fde483a Show progress when sending a file from desktop
Summary:
Show progress when sending a file from the desktop

BUG: 355044

Test Plan:
Complete transfer:
-Right click on a big file in dolphin
-Select Send to xx via KDE Connect
-Open the Notifications widget and verify progress is shown correctly

Stop transfer:
-Right click on a big file in dolphin
-Select Send to xx via KDE Connect
-Open The Notifications widget and press the stop/kill button
-Observe that the file upload is stopped

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: apol, broulik, nicolasfella, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16279
2018-11-26 18:32:43 +01:00
Nicolas Fella
ded463eb49 [clazy] Properly emit signals
Test Plan: Receive a file

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17166
2018-11-26 13:25:16 +01:00
Nicolas Fella
bd17dc2041 Fix container detach warnings from clazy
Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17164
2018-11-26 13:21:39 +01:00
Albert Vaca
b9932769c9 Fix env variable on Windows 2018-11-20 21:49:46 +01:00
Erik Duisters
fb0990743a QTcpServer already has a list of pending connections and emits newConnection after calling incomingConnection
Summary:
No need to emit newConnection in Server::incomingConnection because QTcpServer will emit it after incomingConnection returns
QTcpServer also already has a list of pending connections so use that

Test Plan: Send a file from desktop to android and observe that newConnection is only called once

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17009
2018-11-19 14:13:41 +01:00
Erik Duisters
931d3974ec Why cast sender() to server when we have m_server
Summary: Why cast sender() to server when we have m_server

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16760
2018-11-10 11:45:17 +01:00
Erik Duisters
7cb4de20c1 Test if file was received completely if not delete the partial file
Summary: If the number of bytes received != m_size report failure and delete the partial file

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16778
2018-11-10 11:41:39 +01:00
Albert Vaca
06d4cb580e Disable bad cipher suites now that we dropped support for Android<14
BUG: 400722
2018-11-07 16:31:54 +01:00
Nicolas Fella
276d18a02a Fix clang-tidy warning 2018-11-03 02:17:25 +01:00
Simon Redman
0f5c9cd96c Make NetworkPacket Metatype-capable
Summary: I am open to discussion for whether this is desireable. The use-case is for moving NetworkPacket receive handling to a thread other than the one handling the rest of the device. In order to do this, we need to use a QtConnectionType::QueuedConnection. In order for that to work (with NetworkPackets), NetworkPacket has to be registered in the Metatype system.

Test Plan: Nothing should be functionally different from before

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka, apol, nicolasfella, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16469
2018-10-29 10:42:12 -06:00