<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/lang, branch gpgme-1.20.0</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.20.0</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.20.0'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2023-04-18T11:16:22Z</updated>
<entry>
<title>cpp: Fix Key::canSign()</title>
<updated>2023-04-18T11:16:22Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-04-18T11:16:22Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=5bd84cfd3f092703bb4b9b993be7d89ca13b36b0'/>
<id>urn:sha1:5bd84cfd3f092703bb4b9b993be7d89ca13b36b0</id>
<content type='text'>
* lang/cpp/src/key.h (canReallySign): Deprecate.
* lang/cpp/src/key.cpp (canSign): Remove workaround. Use implementation
of canReallySign.
(canReallySign): Use canSign().
(operator&lt;&lt;): 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
</content>
</entry>
<entry>
<title>core,cpp: Add new key flags to gpgme_subkey_t</title>
<updated>2023-03-21T07:37:47Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2023-03-21T07:36:33Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=6d21256c9220df05bf92a695a787dde13fe44ca7'/>
<id>urn:sha1:6d21256c9220df05bf92a695a787dde13fe44ca7</id>
<content type='text'>
* src/gpgme.h.in (struct _gpgme_subkey): Add bit flags can_renc,
can_timestamp, adn is_group_owned. Reduce size of _unused.
* src/keylist.c (set_subkey_capability): Set them.
* tests/run-keylist.c (main): Print them.

* lang/cpp/src/key.h (Subkey::canRenc): New.
(Subkey::canTimestamp): New.
(Subkey::isGroupOwned): New.
* lang/cpp/src/key.cpp: Implement new methods.
(Subkey::isQualified): Print them.
(std::ostream &amp;operator&lt;&lt;): Print them.
--

GnuPG-bug-id: 6395
</content>
</entry>
<entry>
<title>qt: Add signals for file-based and data-based progress</title>
<updated>2023-02-14T08:25:21Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-02-13T14:56:20Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=73e46b34658c0130de5ab9e3f4ce1ac4ee35c5e2'/>
<id>urn:sha1:73e46b34658c0130de5ab9e3f4ce1ac4ee35c5e2</id>
<content type='text'>
* lang/qt/src/decryptverifyarchivejob.h (DecryptVerifyArchiveJob): Add
signals fileProgress and dataProgress.
* lang/qt/src/encryptarchivejob.h (EncryptArchiveJob): Ditto.
* lang/qt/src/signarchivejob.h (SignArchiveJob): Ditto.
* lang/qt/src/signencryptarchivejob.h (SignEncryptArchiveJob): Ditto.
* lang/qt/src/job_p.h (emitArchiveProgressSignals): New.
* lang/qt/src/qgpgmedecryptverifyarchivejob.cpp
(QGpgMEDecryptVerifyArchiveJob::QGpgMEDecryptVerifyArchiveJob): Emit
appropriate signal when receiving Job::rawProgress signal.
* lang/qt/src/qgpgmeencryptarchivejob.cpp
(QGpgMEEncryptArchiveJob::QGpgMEEncryptArchiveJob): Ditto.
* lang/qt/src/qgpgmesignarchivejob.cpp
(QGpgMESignArchiveJob::QGpgMESignArchiveJob): Ditto.
* lang/qt/src/qgpgmesignencryptarchivejob.cpp
(QGpgMESignEncryptArchiveJob::QGpgMESignEncryptArchiveJob): Ditto.
--

GnuPG-bug-id: 6342
</content>
</entry>
<entry>
<title>qt: Remove commented out code</title>
<updated>2023-02-14T08:25:21Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-02-13T14:48:57Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=ccff6a96fc2b0b069c6fd3a6d2991a9b372ad714'/>
<id>urn:sha1:ccff6a96fc2b0b069c6fd3a6d2991a9b372ad714</id>
<content type='text'>
--

GnuPG-bug-id: 6342
</content>
</entry>
<entry>
<title>qt: Add simple and extended progress signals replacing old signal</title>
<updated>2023-02-14T08:25:21Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-02-13T09:58:31Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=ea6f15ed602eeb9fa87766ba88acc78361a14b38'/>
<id>urn:sha1:ea6f15ed602eeb9fa87766ba88acc78361a14b38</id>
<content type='text'>
* lang/qt/src/job.h (Job): Add signals jobProgress and rawProgress.
Deprecate signal progress.
* lang/qt/src/multideletejob.cpp (MultiDeleteJob::slotResult): Emit
new progress signals.
* lang/qt/src/qgpgmerefreshsmimekeysjob.cpp
(QGpgMERefreshSMIMEKeysJob::slotStatus): Ditto.
* lang/qt/src/threadedjobmixin.h (ThreadedJobMixin::showProgress): Use
modern overload of QMetaObject::invokeMethod to forward the progress
signal and add the value of what. Add forwarding of progress to the new
signals.

* lang/qt/tests/t-encrypt.cpp (EncryptionTest::testProgress): Test
the new signals instead of the deprecated one.
--

The new signal jobProgress omits the what value which is useless for
most consumers. The new signal rawProgress makes all information
provided by the backend available to consumers. The latter is not
really meant to be used by users of gpgme. It will be used by the
archive jobs to provide more user-friendly signals.

GnuPG-bug-id: 6342
</content>
</entry>
<entry>
<title>cpp: Improve debug output of some enums</title>
<updated>2023-02-09T08:56:18Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-02-09T08:55:38Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=3aaed9cfbfd6821b2e812fbdd24448953d6ca279'/>
<id>urn:sha1:3aaed9cfbfd6821b2e812fbdd24448953d6ca279</id>
<content type='text'>
* lang/cpp/src/verificationresult.cpp (operator&lt;&lt;): Fix output of
Signature::PKAStatus which doesn't represent flags. Print corresponding
name of enum value if Signature::Summary or Notation::Flags are 0.
--

GnuPG-bug-id: 6368
</content>
</entry>
<entry>
<title>tests: Stop daemons after setting up test environment</title>
<updated>2023-02-09T08:33:07Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-02-08T13:59:28Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=7098c14b231113055535abb14b4cde0c845f8728'/>
<id>urn:sha1:7098c14b231113055535abb14b4cde0c845f8728</id>
<content type='text'>
* lang/python/tests/Makefile.am, lang/qt/tests/Makefile.am,
tests/gpg/Makefile.am, tests/json/Makefile.am (pubring-stamp): Call
`gpgconf --kill all` after importing test keys.
--

This ensures that no gpg-agents or other daemons are running after
"make".
</content>
</entry>
<entry>
<title>qt,tests: Add test for the previous commit</title>
<updated>2023-02-02T11:11:30Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-02-02T11:02:06Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=52fd0bcde47a676ee1021c870b50e2add78d6973'/>
<id>urn:sha1:52fd0bcde47a676ee1021c870b50e2add78d6973</id>
<content type='text'>
* lang/qt/tests/t-decryptverify.cpp: New.
* lang/qt/tests/Makefile.am: Add new test.
--

GnuPG-bug-id: 6342
</content>
</entry>
<entry>
<title>cpp: Return successful verification for signed but not encrypted data</title>
<updated>2023-02-02T11:11:29Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-02-02T10:59:55Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=1698eec2ae3ec1a97c739e892d9cf288c0ec4ccd'/>
<id>urn:sha1:1698eec2ae3ec1a97c739e892d9cf288c0ec4ccd</id>
<content type='text'>
* lang/cpp/src/context.cpp (Context::decrypt): Use decryptionResult().
(Context::verifyDetachedSignature, Context::verifyOpaqueSignature):
Use verificationResult().
(Context::verificationResult): Ignore "no data" error for signed but
not encrypted data.
(Context::decryptAndVerify): Use decryptionResult() and
verificationResult().
--

gpgme's decrypt operations set the error to GPG_ERR_NO_DATA if no
encrypted data was found. It makes sense to use this error for the
encryption result, but it doesn't make sense to use it also for the
verfication result if signed data was found.
This way using the combined decrypt-verify operations on data that
may be encrypted and/or signed doesn't produce confusing results.

GnuPG-bug-id: 6342
</content>
</entry>
<entry>
<title>qt: Add job for extracting encrypted and signed archives</title>
<updated>2023-02-02T11:11:29Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2023-02-02T09:12:34Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=c407728064ca0c9b2f365437c6a7f2acc40e6d84'/>
<id>urn:sha1:c407728064ca0c9b2f365437c6a7f2acc40e6d84</id>
<content type='text'>
* lang/qt/src/decryptverifyarchivejob.cpp,
lang/qt/src/decryptverifyarchivejob.h,
lang/qt/src/decryptverifyarchivejob_p.h,
lang/qt/src/qgpgmedecryptverifyarchivejob.cpp,
lang/qt/src/qgpgmedecryptverifyarchivejob.h: New.
* lang/qt/src/protocol.h (class Protocol): Add pure virtual member
function decryptVerifyArchiveJob
* lang/qt/src/protocol_p.h (Protocol::decryptVerifyArchiveJob): ... and
implement it.
* lang/qt/src/Makefile.am: Update accordingly.

* lang/qt/tests/run-decryptverifyarchivejob.cpp: New.
* lang/qt/tests/Makefile.am: Add new test runner.
--

GnuPG-bug-id: 6342
</content>
</entry>
</feed>
