Commit Graph

77 Commits

Author SHA1 Message Date
Andrius Štikonas a06d4ba0f7 Return QByteArray instead of bool in readData. 2020-11-29 23:34:29 +00:00
Andrius Štikonas b0e5fa66c4 Add an explicit ReadData method to polkit helper instead of relying on copyblocks with empty target device. 2020-11-29 23:14:08 +00:00
Andrius Štikonas e085ba9ed9 Do not link to KAuth. But there is still a build time dependency on kauth-policy-gen. 2020-10-12 20:23:37 +01:00
Andrius Štikonas 6cff70567b Fix signals between helper and client. 2020-10-12 20:23:37 +01:00
Andrius Štikonas cd4d9b1985 Rename helper interfaces. 2020-10-12 20:23:37 +01:00
Andrius Štikonas a2ee82e021 Simplify createFile function, it was checking for authorization twice. 2020-10-12 20:23:37 +01:00
Andrius Štikonas 296f281ffb WIP: cleanup polkit port: licenses, dead code and kauth removal, add TODO about signals. 2020-10-12 20:18:55 +01:00
David Edmundson edfabb90dc WIP: port to polkit 2020-10-12 20:18:55 +01:00
Andrius Štikonas d68ffeadef REUSE: SPDX style license headers for src/util. 2020-10-01 00:33:19 +01:00
Andrius Štikonas 2ed9953694 Simplify some External Command functions. 2020-09-11 20:27:24 +01:00
Andrius Štikonas 5b80c6045c Fix fstab editing functionality.
In the old code QByteArray fstabContents was actually empty.
Also, writeData function was opening file in append mode,
thus nothing was actually written.

Split writeData function into two:
  * one for block devices
  * another for writing fstab file

BUG: 417205
2020-09-10 23:54:23 +01:00
Yuri Chornoivan 62aaa90a29
Fix minor EBN issues 2020-03-21 11:22:15 +00:00
Andrius Štikonas 76ca72eccd Revert "Create a timer to wait for system to free resources"
This reverts commit 2627d476f4.
2019-09-26 23:47:34 +01:00
Shubham Jangra d1a82f65d4 Revert "Remove redundant includes and refactor"
This reverts commit 4229b02fd2.
2019-06-12 22:11:11 +05:30
Shubham Jangra 4229b02fd2 Remove redundant includes and refactor 2019-06-10 23:07:06 +05:30
Shubham Jangra 2627d476f4 Create a timer to wait for system to free resources
Reviewers: stikonas

Reviewed By: stikonas

Differential Revision: https://phabricator.kde.org/D21696
2019-06-09 22:41:13 +05:30
Shubham Jangra f481109417 Do not move further if system bus is not connected
Reviewers: stikonas, cjlcarvalho

Reviewed By: stikonas

Differential Revision: https://phabricator.kde.org/D21506
2019-05-30 23:27:50 +05:30
Shubham Jangra a7532d4041 Scrap Public Key Cryptography code based on QCA as QDbus is secure enough
Summary: QDbus already provides enough security to the calls made by the application to the helper. Hence no need to encrypt, sign the requests of the application and verify their integrity at the helper side.

Reviewers: stikonas, cjlcarvalho

Reviewed By: stikonas

Subscribers: #kde_partition_manager

Tags: #kde_partition_manager

Differential Revision: https://phabricator.kde.org/D21275
2019-05-19 22:53:13 +05:30
Shubham Jangra 73a21e6739 Simplify test conditions
Reviewers: stikonas, cjlcarvalho

Reviewed By: stikonas

Subscribers: #kde_partition_manager

Tags: #kde_partition_manager

Differential Revision: https://phabricator.kde.org/D21241
2019-05-17 23:03:15 +05:30
Shubham Jangra 5e4efa89ec Fix typo and constantify arguments
Reviewers: stikonas, cjlcarvalho, #kde_partition_manager

Reviewed By: cjlcarvalho

Subscribers: #kde_partition_manager

Tags: #kde_partition_manager

Differential Revision: https://phabricator.kde.org/D20269
2019-04-05 11:45:08 -06:00
Shubham Jangra 4986b514b5 Fix typo
Reviewers: stikonas, cjlcarvalho, #kde_partition_manager

Reviewed By: cjlcarvalho, #kde_partition_manager

Subscribers: #kde_partition_manager

Tags: #kde_partition_manager

Differential Revision: https://phabricator.kde.org/D20110
2019-03-29 11:55:10 -06:00
Shubham Jangra c78b35eb41 Do not use C data type
Summary: unsigned long long is a "C" data type

Reviewers: stikonas, cjlcarvalho

Reviewed By: cjlcarvalho

Subscribers: #kde_partition_manager

Tags: #kde_partition_manager

Differential Revision: https://phabricator.kde.org/D20076
2019-03-27 10:15:10 -06:00
Andrius Štikonas bfa6a327af
Also print command input if KPMCORE_DEBUG is set. 2019-02-09 13:39:33 +00:00
Andrius Štikonas 09e4d47e07 Do not use external process dd.
BUG: 398154
2018-11-25 20:50:22 +00:00
Andrius Štikonas 4f3a9db348 Print commands that are being run if KPMCORE_DEBUG is set 2018-11-12 00:22:24 +00:00
Andrius Štikonas 2007f2b8ea Allow copyblocks to be used together with small QByteArrays.
Add CopyTargetByteArray. CopySourceByteArray is not implemented yet.

This is only suitable for reading small amount of data such as GPT header
or FAT boot sector location. Not meant for copying whole partition because
data has to be transfered over DBus.

Differential Revision: https://phabricator.kde.org/D16487
2018-10-29 00:02:12 +00:00
Caio Carvalho 84c742404d Check if command string is empty in ExternalCommand::start 2018-08-16 23:42:43 +02:00
Andrius Štikonas 872715f4e0 Switch DBus calls to classes generated from XML. 2018-08-05 21:15:33 +01:00
Andrius Štikonas 3d6aa8c333 Remove ExternalCommand::onFinished. 2018-07-21 21:29:36 +01:00
Andrius Štikonas 2579d04229 Remove ExternalCommand::waitFor.
This is no longer used with KAuth.
ExternalCommand::start now waits until command finishes.
2018-07-21 21:19:34 +01:00
Andrius Štikonas 938ec7fa8b Make ExternalCommandHelper::getNonce() reentrant.
Store previously generated values of nonce, and remove them from
the container when they are used.

BUG: 396312
2018-07-21 11:03:25 +01:00
Andrius Štikonas c50e04c9d1 Use cryptographic nonce instead of counters. 2018-07-20 21:12:13 +01:00
Andrius Štikonas 3f65e94659 Return false when external command helper reports failure. 2018-07-18 21:40:39 +01:00
Andrius Štikonas e5b63b0d6f Fix support for QProcess::ProcessChannelMode. 2018-07-15 17:37:29 +01:00
Andrius Štikonas ce425ee04d Exit if the previous KAuth helper is still running. 2018-07-15 01:13:54 +01:00
Andrius Štikonas 51780a6297 Stop KAuth helper if application crashes.
This is implemented by pinging application from KAuth helper via DBus.
If it is busy  then KAuth helper also waits for the current job to finish.
2018-07-15 00:09:39 +01:00
Andrius Štikonas 5814c6c02a Allow setting KAuth parent widget. 2018-04-15 01:35:29 +03:00
Andrius Štikonas 145f54f18c Move KAuth helper setup code to ExternalCommand class.
Delay helper startup until it is actually required.
2018-04-14 23:55:05 +03:00
Andrius Štikonas 231bfbd331 Cryptographically sign copyblocks and exit KAuth helper calls. 2018-04-13 14:24:05 +03:00
Andrius Štikonas 24e1e83152 Try to fix QString encoding issues in KAuth helper.
For now set text codec to UTF-8
Needs more investigation if locale of the GUI program is not UTF-8.
2018-04-13 02:44:12 +03:00
Andrius Štikonas 428ee5b6c8 First attempt at using RSA to sign requests to KAuth helper. 2018-04-13 00:43:12 +03:00
Andrius Štikonas 221d7aded6 d-pointerize ExternalCommand class. 2018-04-12 00:47:40 +03:00
Andrius Štikonas 738842799a Make kpmcore link libraries private. 2018-03-31 16:30:53 +01:00
Andrius Štikonas ca136dfcaa Add some comments.
Move copyblocks function lower in a file.
2018-03-22 17:52:59 +00:00
Andrius Štikonas 2cef3f6ec6 Cleanup ExternalCommand interface:
* Remove a separate constructor for copyblocks.
 * Remove kauthThread and finished() signal.
2018-03-22 17:29:40 +00:00
Andrius Štikonas 39d3592c23 Actually check if the caller is authorized. 2018-03-22 17:41:49 +01:00
Caio Carvalho dac3372a78 - Including ExternalCommandHelper asynchronous DBus call in ExternalCommand::execute
- Stop helper before starting a new in CoreBackendManager::startExternalCommandHelper
- Unregister org.kde.kpmcore.helperinterface service in ExternalCommandHelper::exit
2018-03-22 02:32:59 -03:00
Andrius Štikonas 4b91f2c07e Convert copyblocks dbus call to asynchronous call. 2018-03-21 21:51:30 +01:00
Andrius Štikonas 97d7076481 Increase DBus call timeout to 10 days. 2018-03-21 21:11:09 +01:00
Andrius Štikonas bd54ba7c5d Convert copyblocks code from KAuth to DBus calls to helper daemon. 2018-03-21 18:01:40 +01:00