Commit 5314843f authored by Ingo Klöcker's avatar Ingo Klöcker
Browse files

Add possibility to filter out bad (i.e. practically unusable) keys

"bad" is a shorthand for revoked or expired or disabled or invalid.
parent 665fd662
Pipeline #39380 passed with stage
in 10 minutes and 14 seconds
...@@ -47,6 +47,7 @@ public: ...@@ -47,6 +47,7 @@ public:
mIsOpenPGP(DoesNotMatter), mIsOpenPGP(DoesNotMatter),
mWasValidated(DoesNotMatter), mWasValidated(DoesNotMatter),
mIsDeVs(DoesNotMatter), mIsDeVs(DoesNotMatter),
mBad(DoesNotMatter),
mOwnerTrust(LevelDoesNotMatter), mOwnerTrust(LevelDoesNotMatter),
mOwnerTrustReferenceLevel(Key::Unknown), mOwnerTrustReferenceLevel(Key::Unknown),
mValidity(LevelDoesNotMatter), mValidity(LevelDoesNotMatter),
...@@ -78,6 +79,7 @@ public: ...@@ -78,6 +79,7 @@ public:
TriState mIsOpenPGP; TriState mIsOpenPGP;
TriState mWasValidated; TriState mWasValidated;
TriState mIsDeVs; TriState mIsDeVs;
TriState mBad;
LevelState mOwnerTrust; LevelState mOwnerTrust;
GpgME::Key::OwnerTrust mOwnerTrustReferenceLevel; GpgME::Key::OwnerTrust mOwnerTrustReferenceLevel;
...@@ -122,6 +124,7 @@ bool DefaultKeyFilter::matches(const Key &key, MatchContexts contexts) const ...@@ -122,6 +124,7 @@ bool DefaultKeyFilter::matches(const Key &key, MatchContexts contexts) const
return false; return false;
} }
MATCH(d_ptr->mHasSecret, hasSecret); MATCH(d_ptr->mHasSecret, hasSecret);
IS_MATCH(Bad);
  • @kloecker I guess we need to bump the gpgme dependency now, since Key::isBad() is available since gpgme 1.12.0.

    Alternatively make this optional based on gpgme version.

  • Thanks, for the heads-up! It's not worth the trouble making it optional. I've reverted the change until libkleo depends on a sufficiently new version of gpgme (>= 1.13.0 according to gpgme's NEWS file).

Please register or sign in to reply
#undef MATCH #undef MATCH
if (d_ptr->mIsOpenPGP != DoesNotMatter && if (d_ptr->mIsOpenPGP != DoesNotMatter &&
bool(key.protocol() == GpgME::OpenPGP) != bool(d_ptr->mIsOpenPGP == Set)) { bool(key.protocol() == GpgME::OpenPGP) != bool(d_ptr->mIsOpenPGP == Set)) {
...@@ -348,6 +351,11 @@ void DefaultKeyFilter::setIsDeVs(DefaultKeyFilter::TriState value) const ...@@ -348,6 +351,11 @@ void DefaultKeyFilter::setIsDeVs(DefaultKeyFilter::TriState value) const
d_ptr->mIsDeVs = value; d_ptr->mIsDeVs = value;
} }
void DefaultKeyFilter::setIsBad(DefaultKeyFilter::TriState value) const
{
d_ptr->mBad = value;
}
QColor DefaultKeyFilter::fgColor() const QColor DefaultKeyFilter::fgColor() const
{ {
return d_ptr->mFgColor; return d_ptr->mFgColor;
...@@ -497,3 +505,8 @@ DefaultKeyFilter::TriState DefaultKeyFilter::isDeVS() const ...@@ -497,3 +505,8 @@ DefaultKeyFilter::TriState DefaultKeyFilter::isDeVS() const
{ {
return d_ptr->mIsDeVs; return d_ptr->mIsDeVs;
} }
DefaultKeyFilter::TriState DefaultKeyFilter::isBad() const
{
return d_ptr->mBad;
}
...@@ -87,6 +87,7 @@ public: ...@@ -87,6 +87,7 @@ public:
TriState isOpenPGP() const; TriState isOpenPGP() const;
TriState wasValidated() const; TriState wasValidated() const;
TriState isDeVS() const; TriState isDeVS() const;
TriState isBad() const;
LevelState ownerTrust() const; LevelState ownerTrust() const;
GpgME::Key::OwnerTrust ownerTrustReferenceLevel() const; GpgME::Key::OwnerTrust ownerTrustReferenceLevel() const;
...@@ -112,6 +113,7 @@ public: ...@@ -112,6 +113,7 @@ public:
void setIsOpenPGP(const TriState) const; void setIsOpenPGP(const TriState) const;
void setWasValidated(const TriState) const; void setWasValidated(const TriState) const;
void setIsDeVs(const TriState) const; void setIsDeVs(const TriState) const;
void setIsBad(const TriState) const;
void setOwnerTrust(const LevelState) const; void setOwnerTrust(const LevelState) const;
void setOwnerTrustReferenceLevel(const GpgME::Key::OwnerTrust) const; void setOwnerTrustReferenceLevel(const GpgME::Key::OwnerTrust) const;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment