Commit graph

313 commits

Author SHA1 Message Date
Ivailo Monev
613c52bf26 kutils: remove unused QDir header inclusion
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-05 00:14:02 +03:00
Ivailo Monev
56c272bba5 kutils: cache cipher block size and fix build without OpenSSL
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-02 16:31:30 +03:00
Ivailo Monev
7d47c9b699 kutils: implement password generator for KPasswdRouletteDialog
fortune favours the brave:
https://ibb.co/G04BWRR

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-28 15:18:20 +03:00
Ivailo Monev
117eceef9b kutils: remove now unused isLidClosed() power manager interface method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-28 09:05:04 +03:00
Ivailo Monev
e3966570be kutils: remove now unused BatteryRemainingTimeChanged() power manager interface signal
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-27 15:01:12 +03:00
Ivailo Monev
9f51006580 generic: minor documentation corrections
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-23 09:48:34 +03:00
Ivailo Monev
87722e325e kutils: check if the default CPU governors or those set in the config are available from KPowerManager::isSupported()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-22 01:15:03 +03:00
Ivailo Monev
017c46542e kutils: warn when unhibition fails
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-22 01:13:46 +03:00
Ivailo Monev
f3e58f346a kutils: minor KPowerManager documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-21 06:55:38 +03:00
Ivailo Monev
5567b904fe kutils: implement methods to query if power manager is enabled and supported
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-21 02:58:51 +03:00
Ivailo Monev
c07d316cb9 kutils: watch the power manager config and CPU device governor file to emit signals
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-21 00:25:09 +03:00
Ivailo Monev
80c30dc690 kutils: poll on timer to emit power manager signals when ConsoleKit is used
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-20 11:59:56 +03:00
Ivailo Monev
3b388d2932 kutils: implement KPowerManager profiles and signals
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-20 11:51:03 +03:00
Ivailo Monev
2c6316c778 kutils: implement config option to disable automatic power management
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-20 05:54:13 +03:00
Ivailo Monev
28bf7489d7 kutils: fix uninhibition
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-20 05:38:40 +03:00
Ivailo Monev
cfaffe2f34 kutils: implement KPowerManager::setCPUGovernor()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-20 05:26:05 +03:00
Ivailo Monev
a67fb69ff7 kutils: implement power management on status change
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-20 04:26:05 +03:00
Ivailo Monev
15c9d77ea2 kutils: fallback to ConsoleKit for inhibition
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-20 03:42:20 +03:00
Ivailo Monev
0115a90c98 kutils: fallback to ConsoleKit for hibernation and sleep
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-20 02:46:00 +03:00
Ivailo Monev
98a4564326 generic: reimplement power manager
this was once on the TODO:
618622f767...fe9d951f17

the org.freedesktop.PowerManagement interface will be there for
compatibility only now since it is obsolete:
https://www.freedesktop.org/wiki/Specifications/power-management-spec/

side note:
powerdevil inhibition was broken

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-20 02:20:33 +03:00
Ivailo Monev
72cfa13c48 kutils: keep reference to the path in KExiv2
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-16 18:31:46 +03:00
Ivailo Monev
31976a9582 kutils: mark KPasswdStore and KPasswdRouletteDialog as stable
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-10 03:27:21 +03:00
Ivailo Monev
9eb97d4d78 kutils: use OpenSSL functions to get cipher key and initialization vector length
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-09 16:53:15 +03:00
Ivailo Monev
07ad923cf2 kutils: implement config options for the cookie type, number of retries and timeout
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-09 16:02:48 +03:00
Ivailo Monev
cea6ac00f4 kutils: limit the store password length to the key length
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-09 13:36:33 +03:00
Ivailo Monev
58a511fa8f kutils: switch password store cipher to Blowfish CFB 2022-04-09 01:52:08 +03:00
Ivailo Monev
cc1d2b01e0 kutils: KPasswdStore documentation clarification
here is what a store looks like:
https://ibb.co/Pc5Ky9w

things are different for both KPasswdStore and KWallet from the perspective
of `dbus-monitor` tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-07 04:02:42 +03:00
Ivailo Monev
87a765a21b kutils: do not assume password contains latin only characters in base64 implementation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-06 19:38:41 +03:00
Ivailo Monev
b8655d7296 kutils: somewhat automatic KPasswdStore test
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-06 19:04:48 +03:00
Ivailo Monev
92ddfed63a kutils: convert byte-generator method to static function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-06 16:55:39 +03:00
Ivailo Monev
c3c8b942a8 kutils: link kpasswdstore library to kdeui library
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-06 16:05:37 +03:00
Ivailo Monev
c1b2744596 kutils: separate the glue from the actual password store implementation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-06 15:39:18 +03:00
Ivailo Monev
a6dbc9fa93 kutils: reimplement password store as KDED module
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-06 06:42:21 +03:00
Ivailo Monev
fc6fa44f47 kutils: fix encryption and decryption of long passwords
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-06 03:43:19 +03:00
Ivailo Monev
2e3be50bfb kutils: do not attempt to encrypt empty passwords
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-06 02:40:06 +03:00
Ivailo Monev
0481bb3b61 kutils: optimize password store opening
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-05 21:11:45 +03:00
Ivailo Monev
e1701d2ec7 kutils: new KPasswdRouletteDialog class part of kpasswdstore library
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-05 20:34:15 +03:00
Ivailo Monev
ef663a874e kutils: add missing Q_OBJECT in KPasswdStore declaration
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-05 19:12:14 +03:00
Ivailo Monev
5ae08ac8a9 kutils: do not retry on storage open if dialogs are not accepted
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-05 18:10:50 +03:00
Ivailo Monev
08646e57ce kutils: use KPasswdStore::makeKey() for password hash
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-05 17:55:48 +03:00
Ivailo Monev
767b81e0c2 kutils: increase password inactivity time to 2 minutes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-05 17:38:24 +03:00
Ivailo Monev
2bca331971 kutils: use KNewPasswordDialog to get initial store password
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-05 17:33:51 +03:00
Ivailo Monev
33f2246be7 kutils: do not attempt to decrypt empty password if there is not entry for the key
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-05 17:01:15 +03:00
Ivailo Monev
1897ee447e kutils: brief KPasswdStore design documentation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-05 16:39:32 +03:00
Ivailo Monev
335d5b39d8 kutils: members of KPasswdStore data pointer no longer have to be mutable
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-05 16:38:27 +03:00
Ivailo Monev
4890b72db9 kutils: add method to open passwords store manually
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-05 00:35:59 +03:00
Ivailo Monev
1fe3f61065 generic: port KIO to KPasswdStore and drop kwallet and kwasswdserver
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-04 23:32:58 +03:00
Ivailo Monev
4634b5c14f kutils: verify the password when re-opening the store and fallback to cache-only mode
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-04 21:20:54 +03:00
Ivailo Monev
b76ccab478 kutils: generate password and initialization vector bytes when getting the password
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-04 20:08:54 +03:00
Ivailo Monev
c19956a9ca kutils: new kpasswdstore library
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-04 19:45:35 +03:00