knewstuff's gpg use
Harald Sitter
sitter at kde.org
Thu Jan 19 11:58:52 UTC 2017
Morning,
I had the most peculiar incident just now. KNewstuff shouted at me
because I have no bin/gpg(2). As it turns out core/security.cpp
implements some form of gpg signing verification. Based on the gpg CLI
app.
Naturally, I am perplexed by this because CMake doesn't actually
report gpg as a RUNTIME dep. that's not really the problem though. The
problem is in core/installation.cpp where the Security class is
"used".
It is used by: ctoring and setting up signal connections and then the
following marvel happens:
> // ==== FIXME: security code below must go above, when async handling is complete ====
>
> // FIXME: security object lifecycle - it is a singleton!
> Security *sec = Security::ref();
>
> // FIXME: change to accept filename + signature
> sec->checkValidity(QString());
I am pretty sure that is no-op. Except for the fact that knewstuff
will complain visually [1] if gpg is not found in $PATH.
There is a bunch of issues with all of this:
- Security isn't actually used
- Security operates the bin/gpg CLI rather than using libgpgme which
supposedly would fit here?
- The gpg requirement is not codified in cmake
- The class while saying it is private and not meant to be used,
actually installs its header and exports itself -.-
- The class doesn't even have an actual development history in git
(sans mass refactoring and a workaround for the very noop code seen
above)
I move that we remove every "usage" of the Security class, mark the
entire thing deprecated and rip it out with KF6.
If no one has objections I'll prep a review for this tomorrow.
[1] http://i.imgur.com/joGDtfT.png
HS
More information about the Kde-frameworks-devel
mailing list