Commit Graph

249 Commits (fb0f60cc2e2ad4bde5150582395b2c61ff40d5fe)

Author SHA1 Message Date
Alex Kent Hajnal 6eec2a60a2
Adds thumbnail generation for WebP images
This resolves issue #380

Signed-off-by: Alex Kent Hajnal <software@alephnull.net>
(cherry picked from commit 50c75e9ada)
9 months ago
Michele Calgaro 3dd373bc1d
Replace KDE_DEPRECATED with TDE_DEPRECATED
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 1759a437e3)
9 months ago
Michele Calgaro beb289c9a9
Replace KDE_[NO_]EXPORT with TDE_[NO_]EXPORT
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 026828840f)
10 months ago
Alexander Golubev e3c4e755a7
tdeioslave/sftp: make source c++11-compatible
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 0e615e5c90)
12 months ago
Alexander Golubev e41e8b9e6a
tdeioslave/sftp: get rid of goto in openConnection()
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 3a4538b4c3)
12 months ago
Alexander Golubev e55cf59eba
tdeioslave/sftp: use unsigned to store auth method flags/bitsets
The libssh defines those flags as unsigned. Technically ssh_auth_list()
still returns int, but its guranteed to be bitset of those flags.

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 5b9585e429)
12 months ago
Alexander Golubev 11c1ec5047
tdeioslave/sftp: better erros for unsupported auth methods
Also:
- do not translate auth methods names as the names appear in config
  files verbatim
- libssh actually doesn't supports hostbased auth, so exclude it from
  bitset of supported

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 1597d5f384)
12 months ago
Alexander Golubev c1a256a31f
tdeioslave/sftp: better cancelation handling in case of several publickeys
Consider publickey auth canceled only if user canceled it for each of
the prompted keys.

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 4b4b72db8f)
12 months ago
Alexander Golubev ef56a87ffe
tdeioslave/sftp: save/restore seqNr for multi-factor auth
In case the server is set up for multi-factor authentication we could
be have to query several things from the user like password, a key
passphrase, their mother's maiden name etc. It doesn't make a big
difference during an initial connection, but it butchers the
reconnection process: it can retrieve the answer of the user to the
first question (e.g. their password), but it fails to retrieve the
second one (e.g. the key passphrase). So the user would be forced to
reenter the answer for the second question upon each reconnection.

The reason for this is the passwdserver's desig (see DESIGN [1]):
Each query for AuthInfo with the openPassDlg() has an secNr number
associated with it. If it's smaller than the one of the one stored for
the privious request, than the one from the cache will be returned
automagically, if it's bigger the dialog will be prompted to the user.
Each call to openPassDlg() advances s_seqNr to the last value reported
by the passwdserver. So the first call will return the cached value and
subsequent calls will actually display the dialog to the user (assuming
authentication with the cached data failed).

But in case of multi-factor auth we have to query user for several
independent values. And we want to try to retrieve each one of those
from the cache. So we have to get a bit hacky and manually manipulate
the SlaveBase::s_seqNr value.

[1]: https://mirror.git.trinitydesktop.org/gitea/TDE/tdelibs/src/branch/master/tdeio/kpasswdserver/DESIGN

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 95b18e6338)
12 months ago
Alexander Golubev fae96a29fb
tdeioslave/sftp: imbue error messages with errors from libssh
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 4d88b3eddd)
12 months ago
Alexander Golubev a9d6ae553a
tdeioslave/sftp: cache passwords in case they were passed to setHost()
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit ee73349644)
12 months ago
Alexander Golubev 7ae4741709
tdeioslave/sftp: prevent infinite looping in kb-interactive auth
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit f8f0b8815c)
12 months ago
Alexander Golubev 16ad368674
tdeioslave/sftp: purge password in the destructor
This could be useful in case the destructor will be called before
openConnection()

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 21ce69f338)
12 months ago
Alexander Golubev dbd135cce4
tdeioslave/sftp: enable changing user during kb-interactive auth
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 009382772d)
12 months ago
Alexander Golubev 15815002b2
tdeioslave/sftp: pass correct username to openPassDlg()
We should always pass to the openPassDlg() exactly the same username
otherwise it may result in incorrect caching of passwords especially in
case if the username is changed by the user.

Also don't allow username change in case it was passed to setHost()
(i.e. it was specified in the URL like e.g. sftp://username@host/).
In such a case after changing it'd be impossible to properly cache it.

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 581d266ae6)
12 months ago
Alexander Golubev c5ae0c2aa7
tdeioslave/sftp: even bigger authentication overhaul
- Move authentication methods into separate functions so it would be
  easier to correctly handle error after those and select which should
  be called in which order.
- A lot of minor improvements along the way

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 2756ae762f)
12 months ago
Alexander Golubev dbde9a19a0
tdeioslave/sftp: use realmValue to distinguish different prompts
This will help kpasswdserver not to confuse different user's answers to
different questions.

Also avoid passing/returning TDE::AuthInfo for kb-interactive auth as it
isn't really necessary when we don't manually caching passwords anymore.

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit d316ff14bd)
12 months ago
Alexander Golubev c950ace00f
tdeioslave/sftp: avoid explicit password caching
All password caching we need actually already autmagically
done by openPassDlg().

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit a19610bb73)
12 months ago
Alexander Golubev c01b334583
tdeioslave/sftp: use a scope guards to close connection
There were a couple of missing closeConnection() calls after connection
errors. The probably haven't caused any major bugs, but use scope guards
to be on the safe side.

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 9c0a0ce976)
12 months ago
Alexander Golubev e389595606
tdeioslave/sftp: split off connection init to a dedicated function
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 75349be43e)
12 months ago
Alexander Golubev 9a9f857054
tdeioslave/sftp: use free to destroy mCallbacks
As it allocated via malloc() rather than new.

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 688544193f)
12 months ago
Alexander Golubev 39ee836ae4
tdeioslave/sftp: overhaul publickey auth
Several enhancements to public key authentication and some other stuff:
- Fix passphrase entry for encrypted keys (was either hanging up or
  segfaulting)
- Use scope guard idiom for cleanup calls for more reliable cleanup in
  case of errors
- Add normal prompt for public key's passphrase entry dialog
- Correctly differentiate passphrase to password when cached (yes they
  are getting cached regardless of keepPassword, at least for some
  duration of time)
- Centrilize AuthInfo initialization and some rejig of it
  kbd-interactive authentification

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit b91e220389)
12 months ago
Alexander Golubev 2d6f4a3312
tdeioslave/sftp: fix keyboard-interactive authentication
This is a partial fix to the sftp ioslave. Subsequent commits will fix
other issues.

Closes: https://mirror.git.trinitydesktop.org/gitea/TDE/tdebase/issues/443
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit a1fa8a79bb)
12 months ago
Michele Calgaro b2fcd6f201
Replace Q_WS_* defines with TQ_WS_* equivalents
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 2d7d2122cf)
1 year ago
Michele Calgaro 28b6fb9bca
Replace Q_SIGNALS and Q_SLOTS
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 0d9263f836)
1 year ago
Michele Calgaro 71079cacc2
Replace auto_ptr
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 4484e51ca6)
1 year ago
Michele Calgaro 1c65be77cd
Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit a4241b7911)
1 year ago
Michele Calgaro 0e5ef873f0
Replace various '#define' strings - part 6
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit c4a6487c82)
1 year ago
Alexander Golubev c55cad68e9
Make dependency upon libssh optional
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit f2dbf5b903)
1 year ago
Michele Calgaro 71b2eaec09
Replaced various '#define' with actual strings - part 4
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 82c1dbe490)
1 year ago
Michele Calgaro 139b166e1a
Replaced various '#define' with actual strings - part 3
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 36f2e08fd3)
1 year ago
Michele Calgaro a49b0e2c53
Replace Qt with TQt
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit b965cbac5b)
1 year ago
Michele Calgaro 0bfe293635
Replace QObject, QWidget, QImage, QPair, QRgb, QColor, QChar, QString, QIODevice with TQ* version
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 33c7d15989)
1 year ago
Michele Calgaro 0587e5ec31
Replace various Q_* and QT_* defines with TQ_* and TQT_*
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 75a74bedae)
1 year ago
Michele Calgaro 8e1816900b
Drop USE_TQT4 code
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 014f6d2586)
2 years ago
Michele Calgaro 196b1629b9
Drop TQT_TQ*_OBJECT defines
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 7bc43c68b3)
2 years ago
Michele Calgaro 5c10665b72
Replace Q_OBJECT with TQ_OBJECT
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 814bf5fc4f)
2 years ago
Michele Calgaro 76fa61f90d
Replace _OBJECT_NAME_STRING defines with actual strings. This relates to the merging of tqtinterface with tqt3.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 22625693f1)
2 years ago
Denis Kozadaev d984205f2e
SunOS specific patches
Signed-off-by: Denis Kozadaev <denis@dilos.org>
(cherry picked from commit 4d58a4ea8d)
2 years ago
Michele Calgaro ef300a683d
hwmanager: use alphabetically sorted menus in tdehwdevicetray.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
2 years ago
Michele Calgaro e35bb1ed56
tdeioslave mediamanager: show the device node in the label also for removable drives and CD/DVD disks.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
2 years ago
Mavridis Philippe d6db1a583c
SFTP: compatibility with older libssh versions
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
3 years ago
Mavridis Philippe 7f277bc5e1
SFTP: Various fixes and improvements
For details see PR #279.

Portions of code borrowed from KDE5 SFTP ioslave:

Source:  https://invent.kde.org/network/kio-extras/-/blob/master/sftp/kio_sftp.cpp
Licence: LGPLv2 or later

Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
3 years ago
Mavridis Philippe fd94618b63
Replaced old sftp ioslave with backported version
Source:  https://github.com/sandsmark/kde2-kio-sftp-kde4
Licence: GPLv2 or later

This resolves issue #276.

Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
3 years ago
Mavridis Philippe d59c8ee79f
FISH: Security fix backport from KDE
"Only store password in KWallet if the user asked for it"
d813cef3ce

Author:  David Faure
Licence: GPLv2

This mitigates CVE-2020-12755.

Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
3 years ago
Michele Calgaro cc94c3dc36
tdeio-man: add TDE specific man folder to the list of the search paths.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
3 years ago
Michele Calgaro 4974727d50
Add 'safeRemove' and 'safeRemoveByNode' to mediamanager DCOP interface.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
3 years ago
Michele Calgaro 88d92af3c1
hwmanager: use tdeio_media_mounthelper process to
mount/unmout/lock/unlock/ejct media devices.
This ensures a consistent media device status also with complex
partition structures and LUKS encryption.

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
3 years ago
Michele Calgaro 40ef766f02
tdeio media: add releaseHolders parameter to lock/lockByNode dcop calls.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
3 years ago
Michele Calgaro c787e7a715
mediamanager: fix name of available backends in error messages.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
3 years ago