diff options
author | Ingo Klöcker <[email protected]> | 2024-10-21 12:47:10 +0000 |
---|---|---|
committer | Ingo Klöcker <[email protected]> | 2024-10-21 12:47:10 +0000 |
commit | 2a0595906970505debf64e166b9a35cccbf1b424 (patch) | |
tree | 9253f314d839a7e1d06a7c7db3ff7db224e2425c | |
parent | doc: Fix, update, add API documentation (diff) | |
download | gpgme-2a0595906970505debf64e166b9a35cccbf1b424.tar.gz gpgme-2a0595906970505debf64e166b9a35cccbf1b424.zip |
cpp: Add support for new flag fields beta_compliance
* lang/cpp/src/decryptionresult.cpp, lang/cpp/src/decryptionresult.h
(class DecryptionResult): Add method isBetaCompliance.
* lang/cpp/src/decryptionresult.cpp (operator<<): Add new flag.
* lang/cpp/src/key.cpp, lang/cpp/src/key.h (class Key): Add method
isBetaCompliance.
(class Subkey): Add method isBetaCompliance.
* lang/cpp/src/key.cpp:
(Key::isDeVs): Remove duplicate check of is_de_vs of first subkey.
(operator<<): Add new flag.
* lang/cpp/src/verificationresult.cpp, lang/cpp/src/verificationresult.h
(class Signature): Add method isBetaCompliance.
* lang/cpp/src/verificationresult.cpp (operator<<): Add new flag.
--
GnuPG-bug-id: 7346
-rw-r--r-- | lang/cpp/src/decryptionresult.cpp | 10 | ||||
-rw-r--r-- | lang/cpp/src/decryptionresult.h | 1 | ||||
-rw-r--r-- | lang/cpp/src/key.cpp | 22 | ||||
-rw-r--r-- | lang/cpp/src/key.h | 2 | ||||
-rw-r--r-- | lang/cpp/src/verificationresult.cpp | 8 | ||||
-rw-r--r-- | lang/cpp/src/verificationresult.h | 1 |
6 files changed, 38 insertions, 6 deletions
diff --git a/lang/cpp/src/decryptionresult.cpp b/lang/cpp/src/decryptionresult.cpp index ad1d1cb6..dd515015 100644 --- a/lang/cpp/src/decryptionresult.cpp +++ b/lang/cpp/src/decryptionresult.cpp @@ -122,6 +122,11 @@ bool GpgME::DecryptionResult::isDeVs() const return d && d->res.is_de_vs; } +bool GpgME::DecryptionResult::isBetaCompliance() const +{ + return d && d->res.beta_compliance; +} + bool GpgME::DecryptionResult::isMime() const { return d && d->res.is_mime; @@ -257,8 +262,9 @@ std::ostream &GpgME::operator<<(std::ostream &os, const DecryptionResult &result << "\n fileName: " << protect(result.fileName()) << "\n unsupportedAlgorithm: " << protect(result.unsupportedAlgorithm()) << "\n isWrongKeyUsage: " << result.isWrongKeyUsage() - << "\n isDeVs " << result.isDeVs() - << "\n legacyCipherNoMDC " << result.isLegacyCipherNoMDC() + << "\n isDeVs: " << result.isDeVs() + << "\n isBetaCompliance: " << result.isBetaCompliance() + << "\n legacyCipherNoMDC: " << result.isLegacyCipherNoMDC() << "\n symkeyAlgo: " << protect(result.symkeyAlgo()) << "\n recipients:\n"; const std::vector<DecryptionResult::Recipient> recipients = result.recipients(); diff --git a/lang/cpp/src/decryptionresult.h b/lang/cpp/src/decryptionresult.h index 316d0413..3a87e181 100644 --- a/lang/cpp/src/decryptionresult.h +++ b/lang/cpp/src/decryptionresult.h @@ -75,6 +75,7 @@ public: } bool isWrongKeyUsage() const; bool isDeVs() const; + bool isBetaCompliance() const; bool isMime() const; const char *fileName() const; diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index 2465cf06..42046aa0 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -264,14 +264,24 @@ bool Key::isQualified() const bool Key::isDeVs() const { - if (!key) { + if (!key || !key->subkeys) { return false; } - if (!key->subkeys || !key->subkeys->is_de_vs) { + for (gpgme_sub_key_t subkey = key->subkeys ; subkey ; subkey = subkey->next) { + if (!subkey->is_de_vs) { + return false; + } + } + return true; +} + +bool Key::isBetaCompliance() const +{ + if (!key || !key->subkeys) { return false; } for (gpgme_sub_key_t subkey = key->subkeys ; subkey ; subkey = subkey->next) { - if (!subkey->is_de_vs) { + if (!subkey->beta_compliance) { return false; } } @@ -586,6 +596,11 @@ bool Subkey::isDeVs() const return subkey && subkey->is_de_vs; } +bool Subkey::isBetaCompliance() const +{ + return subkey && subkey->beta_compliance; +} + bool Subkey::isCardKey() const { return subkey && subkey->is_cardkey; @@ -1390,6 +1405,7 @@ std::ostream &operator<<(std::ostream &os, const Subkey &subkey) << "\n isGroupOwned: " << subkey.isGroupOwned() << "\n isQualified: " << subkey.isQualified() << "\n isDeVs: " << subkey.isDeVs() + << "\n isBetaCompliance:" << subkey.isBetaCompliance() << "\n isCardKey: " << subkey.isCardKey() << "\n cardSerialNumber:" << protect(subkey.cardSerialNumber()); } diff --git a/lang/cpp/src/key.h b/lang/cpp/src/key.h index a1648884..215eb9ff 100644 --- a/lang/cpp/src/key.h +++ b/lang/cpp/src/key.h @@ -129,6 +129,7 @@ public: bool canAuthenticate() const; bool isQualified() const; bool isDeVs() const; + bool isBetaCompliance() const; /** Returns true, if the key has a certification subkey. */ bool hasCertify() const; @@ -289,6 +290,7 @@ public: bool isGroupOwned() const; bool isQualified() const; bool isDeVs() const; + bool isBetaCompliance() const; bool isCardKey() const; bool isSecret() const; diff --git a/lang/cpp/src/verificationresult.cpp b/lang/cpp/src/verificationresult.cpp index 1c657721..0299fcec 100644 --- a/lang/cpp/src/verificationresult.cpp +++ b/lang/cpp/src/verificationresult.cpp @@ -283,6 +283,11 @@ bool GpgME::Signature::isDeVs() const return !isNull() && d->sigs[idx]->is_de_vs; } +bool GpgME::Signature::isBetaCompliance() const +{ + return !isNull() && d->sigs[idx]->beta_compliance; +} + GpgME::Signature::PKAStatus GpgME::Signature::pkaStatus() const { if (!isNull()) { @@ -600,7 +605,8 @@ std::ostream &GpgME::operator<<(std::ostream &os, const Signature &sig) << "\n publicKeyAlgorithm: " << protect(sig.publicKeyAlgorithmAsString()) << "\n hashAlgorithm: " << protect(sig.hashAlgorithmAsString()) << "\n policyURL: " << protect(sig.policyURL()) - << "\n isDeVs " << sig.isDeVs() + << "\n isDeVs: " << sig.isDeVs() + << "\n isBetaCompliance: " << sig.isBetaCompliance() << "\n notations:\n"; const std::vector<Notation> nota = sig.notations(); std::copy(nota.begin(), nota.end(), diff --git a/lang/cpp/src/verificationresult.h b/lang/cpp/src/verificationresult.h index f43bd39f..04c439de 100644 --- a/lang/cpp/src/verificationresult.h +++ b/lang/cpp/src/verificationresult.h @@ -139,6 +139,7 @@ public: bool isWrongKeyUsage() const; bool isVerifiedUsingChainModel() const; bool isDeVs() const; + bool isBetaCompliance() const; enum PKAStatus { UnknownPKAStatus, PKAVerificationFailed, PKAVerificationSucceeded |