Commit Graph

59 Commits

Author SHA1 Message Date
Hartmut Goebel c02d59aa6d Stop helper only if formerly started.
Differential Revision: https://phabricator.kde.org/D25161
BUG: 413851
2019-11-07 22:16:36 +00:00
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
Andrius Štikonas 645e16bb20 WIP: add some experimental code where helper is used as daemon
Caveats:
 * copyblocks are not converted yet, but should be similar.
 * There is no signaling back to main application which tells when even loop has started, so after password is entered, you need to click F5 to rescan devices
 * There are some security checks but are they sufficient
2018-03-19 11:42:49 +01:00
Huzaifa Faruqui 72da110996 Fix copyblocks exit status check 2018-02-06 22:32:26 +05:30
Andrius Štikonas 06139c85ac Remove unused function argument in startCopyBlocks. 2018-02-06 16:24:32 +00:00
Andrius Štikonas b35c21ed71 Fix an out of order compile warning.
Initialization should happen in the same order as variables are declared.
CC: huzaifafaruqui@gmail.com
2018-02-04 13:44:55 +00:00
Huzaifa Faruqui b143c139e5 Fix Report in copyBlocks 2018-01-29 16:45:21 +05:30
Andrius Štikonas 61fed73a5d Remove some debug output. 2018-01-24 15:35:11 +00:00
Huzaifa Faruqui e42a5c9289 Implement copyblocks function in KAuth helper.
Switch BackupFileSystemJob to thenew copyblocks function.

Reviewed and cleaned up by: Andrius Štikonas
2018-01-24 15:22:42 +00:00
Andrius Štikonas 47429dd1bf Proof of concept attempt to implement KAuth. 2017-12-10 17:36:39 +00:00
Andrius Štikonas 4bf5bb467f Fix conversion to/from QString/QByteArray
BUG: 384321
2017-12-03 12:37:21 +00:00
Andrius Štikonas 9f3b2b8fd4 Use qOverload in Qt signal/slots. 2017-10-09 13:39:34 +01:00
Andrius Štikonas 40e22c94f2 Store ExternalCommand output in QByteArray.
This makes it possible to run dd with ExternalCommand.
2017-10-03 02:27:47 +01:00
Andrius Štikonas 687e3fc7d4 Do not store more than 10M characters in ExternalCommand output.
BUG: 368674
2017-09-15 14:59:59 +01:00
Andrius Štikonas 2a118753ae Allow selecting different channels in ExternalCommand output. 2017-08-31 10:13:24 +01:00
Andrius Štikonas 9c7db501bf Use cached values for resizing volume groups. 2016-09-24 21:09:11 +01:00
Andrius Štikonas ec05aa36da Remove accidentally comitted debug code. 2016-09-05 12:56:12 +01:00
Andrius Štikonas d83ec394b1 Make Filesystem::create non-const. 2016-09-05 12:10:56 +01:00
Andrius Štikonas 2a62bc4b14 Fix crashes in LVM scanner when external device is unplugged without deactivating LVM partitions.
This commit removes stderror channel from output of external commands.
2016-08-15 17:20:50 +01:00
Chantara Tith aeaecad6fb Move from regex to LVM Field options 2016-08-15 17:20:50 +01:00