Request for deprecation of KDESu::SshProcess and removal of kdesu_stub/kdessh
Friedrich W. H. Kossebau
kossebau at kde.org
Fri Dec 18 20:02:47 GMT 2009
Hi,
KDESu::SshProcess (in kdelibs) and the commandline shell for it, kdessh (in
kdeutils) are horribly broken (as in: do not work and may be insecure) and (at
least for me) seem not easy to be fixed.
I guess most of you do not even know these things exist, so:
kdessh is a wrapper to ssh and, instead of executing the original remote
command, first (via KDESu::SshProcess) fires up kdesu_stub on the remote
computer to setup the environment variables as needed for a better integration
into the local session, only then executes the original command.
Additionally it also caches the passwords (but does not use KWallet).
It is not working at all currently, as this commit
"Move kdesu_stub to libexec"
http://websvn.kde.org/?view=revision&revision=666108
moved kdesu_stub out of the $PATH, so the ssh server will not find it.
Is there a chance somebody remembers why it was moved to ? And not
perhaps renamed kdesu_stub to kdesu_stub4? Or just have it conflict with the
KDE 3 version, like e.g. KWrite has a conflict, too.
The class KDESu::SshProcess/StubProcess itself has a wild mixtures of
undocumented return values, seems to forget about child processes in some
conditions, has password strings in unsecured memory, does not reuse the
running ssh connection after testing for password needs, does not do a proper
check for false passwords and whatelse.
From lxr.kde.org it seems kdessh is the only user of KDESu::SshProcess,
besides kvpnc in playground/network (no idea about its state). And with zero
reports about this problem on b.k.o kdessh also seems without any users.
As noone has ever had a closer look at kdessh until now (starting kdessh did
nothing, including no obvious harm, so it got ignored), including the kdeutils
coordinator (who is writing here) it was only now decided to move kdessh from
kdeutils to tags/unmaintained after the Beta2 release. Sorry for any
inconvenience.
Additionally the class KDESu::SshProcess in kdelibs should be marked as
deprecated. Perhaps it could be even removed, as I do not think anyone is
using this class/these symbols?
Also kdesu_stub does no longer needed to be built and installed, as long as it
ends in lib/kde4/libexec.
Still I think such a utility for the integrated execution of remote programs
is nice to have. But with X11-forwarding-enabled ssh client/servers and ssh-
agent/-add it should perhaps have another approach, including integration of
KWallet. I also wonder how much remote X clients can and should be integrated
in the local session at all, including the Session D-Bus?
Cheers
Friedrich
PS: In case you are interested find attached two patches which made kdessh at
least working again, until I found SshProcess too broken to continue to clean
up for all possible conditions. Patches do s/magic numbers/enums/g, renames
kdesu_stub to kdesu_stub4 and installes it to bin/ again, code style cleanup,
more caring for child processes.
--
Okteta - KDE Hex Editor - http://utils.kde.org/projects/okteta
-------------- next part --------------
A non-text attachment was scrubbed...
Name: attemptToFixSshProcess.patch
Type: text/x-patch
Size: 14804 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20091218/98077365/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: adaptKdesshToSshProcessFix.patch
Type: text/x-patch
Size: 1003 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20091218/98077365/attachment-0001.bin>
More information about the kde-core-devel
mailing list