Commit graph

78 commits

Author SHA1 Message Date
Ivailo Monev
87686b2b7f kutils: fix build without openssl
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-06-01 05:38:13 +03:00
Ivailo Monev
f7c1f24284 kutils: force the cache only option of KPasswdStore to off after the timeout
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-06-01 05:36:16 +03:00
Ivailo Monev
d7d44d83c4 kutils: clear the password store cache when closing it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-06-01 05:34:43 +03:00
Ivailo Monev
9707bc6cb3 kutils: clear the store password when setup to cache only
for the internal password checks

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-06-01 05:27:59 +03:00
Ivailo Monev
37cfd2fd46 kutils: do not attempt to open already open KPasswdStore
purely for optimization purpose (e.g. not logging debug messages, the check
is cheap)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-06-01 04:43:28 +03:00
Ivailo Monev
71d51a985e kutils: fix build without openssl
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-06-01 04:03:37 +03:00
Ivailo Monev
07fecca8d0 kutils: store empty passwords from KPasswdStoreImpl
setting the password to empty may mean that password is no longer required

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-31 18:10:45 +03:00
Ivailo Monev
9fb18a72e5 kutils: drop unused KPasswdRouletteDialog class
was experimental

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-18 23:21:27 +03:00
Ivailo Monev
ddbcca439d kutils: implement option to not show the message box about passwords not being stored permanently
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-17 16:05:09 +03:00
Ivailo Monev
fa41515d34 kutils: lock from all KPasswdStore methods
also the implementation internally opens the store if it is not open
already

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 07:58:51 +03:00
Ivailo Monev
b3c1452d4e kutils: attempt to re-open the password store after the timeout
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-05 07:34:44 +03:00
Ivailo Monev
3716b1ffe5 kutils: allow storing and retreiving of temporary passwords via KPasswdStore
the implementation supports it and KIO now uses that feature

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-05 07:22:39 +03:00
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