Edward Kigwana
20e7790773
core: sslhelper: Check return of openssl functions
...
Use unique_ptr to manage object lifetime and also avoid use of deprecated
MACROS and functions.
2023-07-29 10:36:09 +02:00
Edward Kigwana
1bbd9ff6e3
core: sslhelper: Extern openssl headers and add getSslError helper
...
openssl headers include C headers prior to #ifdef __cplusplus.
Signed-off-by: Edward Kigwana <ekigwana@gmail.com>
2023-07-29 10:35:37 +02:00
Albert Vaca Cintora
d0786d1b62
Simplify using QSslKey
2023-07-29 10:35:37 +02:00
Albert Vaca Cintora
d948d882aa
Replace QCA with a simple OpenSSL wrapper
2023-07-29 08:19:17 +00:00
Albert Vaca Cintora
74e9cdbf12
Do not get deviceId by reference
2023-07-26 21:40:52 +02:00
Alexander Lohnau
a3fc5eaf9f
Make optional bluetooth and MDNS build against KF6 too
2023-07-25 18:29:38 +02:00
Alexander Lohnau
e00ffbb4f6
Use versionless cmake variable for KF requirements
...
Also, adjust find_package calls that are hidden behind a feature flag
2023-07-25 18:29:38 +02:00
Alexander Lohnau
a1195a72a3
Use versionless Qt targets where possible
...
We depend on 5.15 which allows us to use those
2023-07-25 18:29:38 +02:00
Alexander Lohnau
98040c3ffe
GIT_SILENT Re-run clang-format
2023-07-22 20:51:19 +00:00
Alexander Lohnau
f740a8bda8
Use target-centric CMake approach for declaring debug category
...
This makes it easier to read, because we do not have to handle a list of
files that get added to the targets. In other KDE projects, we also
prefer the target centric approach.
In case one wants to reuse the same category in multiple places, it
would be best to create a small static lib. But for now, this is not
needed.
2023-07-22 20:51:19 +00:00
Albert Vaca Cintora
dd4831f823
Add missing NOTIFY to properties
2023-07-22 20:09:46 +02:00
Alexander Lohnau
ac3d439a2a
Clean up unneeded version checks
...
With the min. version bumped, those can be safely removed
2023-07-22 16:17:24 +02:00
Alexander Lohnau
1ee75463e0
Get rid of QOverload/static_cast for overloaded signals
...
By exclusing deprecated API in the KF5 build, the deprecated signal no
longer cause an ambiguity
2023-07-22 16:17:24 +02:00
Alexander Lohnau
e97af9dc15
Provide default implementation for KdeConnectPlugin::connected
...
In most plugins, we just provided a dummy implementation
2023-07-22 16:06:21 +02:00
Albert Vaca Cintora
32abeb8ed0
Fix typo causing us to intersect with the wrong set
2023-07-22 15:21:26 +02:00
Albert Vaca Cintora
6c1b81a384
Use nullptr instead of 0
2023-07-20 18:26:24 +02:00
Albert Vaca Cintora
382ace9c69
Remove check for Qt > 5.14 when minimum is 5.15
2023-07-20 18:23:45 +02:00
Albert Vaca Cintora
8c97e56f23
Remove duplicated target_link_libraries
2023-07-20 18:23:14 +02:00
Alexander Lohnau
e9063d168d
LanLinkProvider: Restore previous network change behavior
2023-07-20 13:32:17 +03:00
Alexander Lohnau
1dadbd47b2
lanlinkprovider: Load backend explicitly to avoid nullptr warning
...
This is needed to make it work properly with Qt6 at runtime
2023-07-20 13:32:16 +03:00
Alexander Lohnau
5b5265f7a8
Port away from deprecated QtNetwork classes
2023-07-20 11:16:04 +03:00
Alexander Lohnau
b3163d8725
dbushelper: Use QRegularExpression instead of QRegExp
...
The pattern does not contain any wildcard specific text
2023-07-20 11:16:04 +03:00
Alexander Lohnau
042adebd0a
Port to updeprecated KJob::processedAmountChanged signal
2023-07-20 11:16:04 +03:00
Alexander Lohnau
77f44ce943
Port away from deprecated QList::toSet and QSet::toList
2023-07-20 11:15:50 +03:00
Alexander Lohnau
52b6d57942
Qt6 build fixes in plugins and KCM
2023-07-20 11:15:46 +03:00
Alexander Lohnau
a9292f651f
Port deprecated KPluginLoader usage
2023-07-20 11:15:46 +03:00
Alexander Lohnau
c5bfc4a5b0
Allow building against Qt6/KF6
2023-07-20 11:15:41 +03:00
Albert Vaca Cintora
495e3019e4
Reduce number of optional dependencies
...
Change some optional dependencies from being optional to being mandatory
or being mandatory but behind on-by-default cmake flags. Eg: instead of
only compiling Wayland support if we find the appropriate libraries, we
always require the libraries unless the user specifies WITH_WAYLAND=OFF.
Optional libraries are hard to discover by packagers (since they don't
see an error once we add them) and create lots of possible build flavors
with a different features that can confuse users.
2023-07-19 17:08:03 +00:00
Albert Vaca Cintora
22be63ae9e
Remove compatibility with Qt < 5.15
...
In theory we support Qt 5.6 (because of SailfishOS) but in practice we are not checking that in the CI so probably we broke the compatibility long ago. Also, I don't think anyone is using this code in SailfishOS, so we can greatly simplify the code by requiring Qt 5.15 or later.
2023-07-18 20:13:27 +00:00
Albert Vaca Cintora
20750b7d99
Fixes from code review
2023-07-17 20:41:15 +00:00
Albert Vaca Cintora
bb8e67efc9
Add CMake flag to enable MDNS (off by default)
2023-07-17 20:41:15 +00:00
Albert Vaca Cintora
17dcf80f2d
Send UDP identity packets without capabilities only if needed
...
Instead of always doing so on MacOS, do it only when we get a
DatagramTooLargeError. On MacOS, the size is limited only for
broadcast but not for unicast.
2023-07-17 20:41:15 +00:00
Albert Vaca Cintora
a04d9480a4
Add a way to disable UDP broadcasts for testing
2023-07-17 20:41:15 +00:00
Albert Vaca Cintora
34e0128fe9
Add MDNS discovery
2023-07-17 20:41:15 +00:00
Albert Vaca Cintora
f218c5f4e5
Fix windows build
2023-07-16 18:01:13 +02:00
Albert Vaca Cintora
9c87393b28
clang-format pass
2023-07-16 16:20:34 +02:00
Albert Vaca Cintora
af907cea83
Check for null devices in compositeuploadjob
2023-07-16 15:01:04 +02:00
Albert Vaca Cintora
12a1f33665
Fix crash when sending files
2023-07-16 14:44:31 +02:00
Albert Vaca Cintora
05f38b064d
Fix Windows build when linking against current KF5
...
We need to link against WinSock2 because we use WSAIoctl to set keepalive
2023-07-12 23:10:24 +02:00
Albert Vaca Cintora
5796b561bf
Simplify the code that reads from the socket line by line
...
Since sockets are buffered `QIODevices` we can use `canReadLine()` to check
if we have a full line, instead of using a custom `SocketLineReader` class
(and the copy-pasted `DeviceLineReader` in the Bluetooth backend).
We can also loop through all the lines instead of queuing calls to `dataReceived`.
And we don't need transactions.
2023-07-10 15:58:56 +00:00
Albert Vaca Cintora
9fa07a2361
Call connected only once in the lifetime of a plugin
2023-06-29 09:01:31 +00:00
Albert Vaca Cintora
beb7e94cbb
Cleanup
2023-06-27 13:15:11 +02:00
Albert Vaca Cintora
db546e7608
Add DeviceInfo class
...
Equivalent to this Android MR (see description there): https://invent.kde.org/network/kdeconnect-android/-/merge_requests/374
2023-06-27 11:10:59 +00:00
Albert Vaca Cintora
3018b3bf3d
Connect to QUdpSocket's errorOcurred to make errors visible
2023-06-25 21:58:50 +02:00
Albert Vaca Cintora
3c36384078
Fix loopback link pairing timing out when already paired
2023-06-24 17:40:46 +02:00
Albert Vaca Cintora
46dd0c59da
Remove unused priority() method
2023-06-22 23:46:44 +02:00
Albert Vaca Cintora
7ca8b7bf95
Fix infinite loop when already paired devices ask to pair
2023-06-16 19:49:50 +02:00
Albert Vaca Cintora
a56ff23770
Let Qt delete this when the parent is destroyed
2023-06-02 16:38:52 +00:00
Albert Vaca Cintora
fbaf5ade71
Remove unused name method
2023-06-02 16:38:52 +00:00
Albert Vaca Cintora
064ddfa3fe
Refactor PairingHandler
...
We now have a single PairingHandler for all types of links.
The implementation now is more aligned with the one for Android.
2023-06-02 16:38:52 +00:00