Commit graph

66 commits

Author SHA1 Message Date
Ivailo Monev
6d1d1b7112 kutils: sync password store on write
in case kded crashes for example

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 14:08:53 +02:00
Ivailo Monev
75b9cfddd3 generic: const-ify private data pointers where copying is disabled
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-23 06:49:59 +02:00
Ivailo Monev
b9deac7325 kutils: use KSettings to get the cookie type from getCookie() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 04:01:23 +02:00
Ivailo Monev
1a3f533744 kutils: do not reparse the kpasswdstore config on get and set
with password stores being giant-locked (so that opening password stores
happens once even with multiple attempts to open before the first has
finished) it can be assumed that kpasswdstore has not been tempered with
even tho that may not hold true (it can be manually edited via text editor
but do not expect support for that)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-21 03:56:04 +02:00
Ivailo Monev
5064d34b04 kutils: correct placeholders in getLockName() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-16 21:20:41 +02:00
Ivailo Monev
a72d1f48ce kutils: adjust to Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-11-05 00:29:10 +02:00
Ivailo Monev
47c8c442c2 kutils: rename kpasswdstore data file
not ending with "rc" as such files are config files while the kpasswdstore
is stored data file (like kweatherdata of plasma weather applet)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-23 12:18:46 +03:00
Ivailo Monev
c4ae9e0460 kdecore: save lock files in the global temporary directory
O_CLOEXEC won't do it but saving the locks in /tmp or other directory that
is purged across reboot will remove stale locks

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-09 21:16:04 +03:00
Ivailo Monev
e482da9067 kded: rework phases logic to take any desktop session into account
much like XDG autostart except for KDED modules, requires adjustments to
modules that are automatically loaded in phase-1

in the future the logic may apply not only to modules during startup but
also when attempting to load a module in general

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-31 23:01:34 +03:00
Ivailo Monev
6d0274d417 generic: adjust to Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-06 23:37:03 +03:00
Ivailo Monev
3fdb845769 kutils: multi-backend knetworkmanager implementation
essentially moving my code from the old networkstatus module, see the
following commits in the kde-workspace repo:
809b90a113bb559a94266464e03cba6f0ed197ae
c46a5297cc49bf4f19f81ee109833fb0abab9a99
3e01d82f44bf587251455368f7502e9e4e204176

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-08 21:10:54 +03:00
Ivailo Monev
ee0d50c901 generic: purge most manual tests
long overdue, have no use for them

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-03 07:03:28 +03:00
Ivailo Monev
c311f7032f kutils: new KPasswdStore::stores() method to get all current stores
to be used by the KCM

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-20 00:14:23 +03:00
Ivailo Monev
ed79c859b2 generic: merge KDELibs4ToolsTargets and KDELibs4LibraryTargets
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 23:57:38 +03:00
Ivailo Monev
5613e5483c generic: remove redundant build varibles
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 20:25:52 +03:00
Ivailo Monev
36c910c653 generic: move stuff from KDE4Internal module to KDELibs4Config
large-scale changes to the build system, nothing a user sees tho - it is
all under the hood

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 19:01:40 +03:00
Ivailo Monev
ff34ec1167 kutils: ensure there is interface in KPasswdStore::setCacheOnly()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-15 19:41:34 +03:00
Ivailo Monev
81aed7d9ce kutils: fix regression since c38afd7556
oops

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-15 03:43:59 +03:00
Ivailo Monev
c38afd7556 kutils: replace KConfig with KSettings in KPasswdStoreImpl
KConfig uses internal lock for synchronization, KSettings does not and
since the password stores are giant-locked now it is faster to not lock in
the underlaying implementation

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-14 16:40:32 +03:00
Ivailo Monev
5b5f24078e kutils: giant-lock KPasswdStore
because multiple KIO slaves may use the same password store (e.g. sftp and
thumbnail)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-14 03:03:31 +03:00
Ivailo Monev
78933232a2 generic: remove build variable used to specify library type
only shared builds are supported now

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-10 23:19:17 +03:00
Ivailo Monev
ea98009a53 kutils: build fix for the case when OPENSSL_VERSION_PREREQ() macro is not defined
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-01-01 06:08:43 +02:00
Ivailo Monev
d298d73a50 kutils: deprecation warning fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-01-01 04:57:07 +02:00
Ivailo Monev
e20d610997 kutils: load kpasswdstore module in phase 1
see the hack in kdirshare module

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-25 19:01:10 +02:00
Ivailo Monev
90928e8320 generic: store package found definitions in config header
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 05:41:21 +02:00
Ivailo Monev
decb354a0d generic: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-14 16:16:22 +03:00
Ivailo Monev
285b8f1490 kutils: create org.kde.kded interface on demand in KPasswdStore
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-04 02:42:56 +03:00
Ivailo Monev
7dc5187778 kdecore: replace most of KRandomSequence with new KRandom::randomMax() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-26 12:58:37 +03:00
Ivailo Monev
7026d992e9 kutils: switch password store cipher to AES-256 CBC
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-21 02:03:46 +03:00
Ivailo Monev
43e773758a kutils: build fix for the case when HAVE_OPENSSL is not defined
for reference:
https://github.com/fluxer/katana/issues/33

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-07-19 21:00:13 +03:00
Ivailo Monev
4a4c85431e kdecore: move K_EXPORT_PLUGIN() macro to kpluginfactory header [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-31 09:06:11 +03:00
Ivailo Monev
e4c7b66490 kdecore: move K_EXPORT_PLUGIN() macro to kpluginloader header
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-30 22:01:35 +03:00
Ivailo Monev
926345627a generic: bump minimum Katie version requirement to 4.12.0
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 03:54:07 +03:00
Ivailo Monev
400f5bfe01 kutils: KPasswdRouletteDialog clarification
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-12 20:33:31 +03:00
Ivailo Monev
aad42e8b56 kutils: not so generic KDED modules descriptions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-12 01:15:06 +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
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