diff options
author | Ingo Klöcker <[email protected]> | 2023-04-18 11:16:22 +0000 |
---|---|---|
committer | Ingo Klöcker <[email protected]> | 2023-04-18 11:16:22 +0000 |
commit | 5bd84cfd3f092703bb4b9b993be7d89ca13b36b0 (patch) | |
tree | a6ca22536a79eafca309c33ebc057468bc5afa3e /lang/cpp/src/key.cpp | |
parent | core: Avoid printf format warnings due to gpgme_ssize_t. (diff) | |
download | gpgme-5bd84cfd3f092703bb4b9b993be7d89ca13b36b0.tar.gz gpgme-5bd84cfd3f092703bb4b9b993be7d89ca13b36b0.zip |
cpp: Fix Key::canSign()
* lang/cpp/src/key.h (canReallySign): Deprecate.
* lang/cpp/src/key.cpp (canSign): Remove workaround. Use implementation
of canReallySign.
(canReallySign): Use canSign().
(operator<<): Use canSign().
--
The workaround in canSign was added 19 years ago and canReallySign, the
workaround for the workaround, was added 13 years ago. Time to get rid
of those workarounds for a bug in gpgme which has been fixed long ago
and which cause bugs for any unsuspecting user of Key::canSign().
GnuPG-bug-id: 6456
Diffstat (limited to 'lang/cpp/src/key.cpp')
-rw-r--r-- | lang/cpp/src/key.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index b7a55aec..b18cfaee 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -208,17 +208,12 @@ bool Key::canEncrypt() const bool Key::canSign() const { -#ifndef GPGME_CAN_SIGN_ON_SECRET_OPENPGP_KEYLISTING_NOT_BROKEN - if (key && key->protocol == GPGME_PROTOCOL_OpenPGP) { - return true; - } -#endif - return canReallySign(); + return key && key->can_sign; } bool Key::canReallySign() const { - return key && key->can_sign; + return canSign(); } bool Key::canCertify() const @@ -1297,7 +1292,7 @@ std::ostream &operator<<(std::ostream &os, const Key &key) << "\n issuer: " << protect(key.issuerName()) << "\n fingerprint:" << protect(key.primaryFingerprint()) << "\n listmode: " << key.keyListMode() - << "\n canSign: " << key.canReallySign() + << "\n canSign: " << key.canSign() << "\n canEncrypt: " << key.canEncrypt() << "\n canCertify: " << key.canCertify() << "\n canAuth: " << key.canAuthenticate() |