<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/lang/cpp/src/key.cpp, branch gpgme-1.15.0</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.15.0</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.15.0'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2020-11-03T08:01:32Z</updated>
<entry>
<title>cpp: Mark helper functions as static</title>
<updated>2020-11-03T08:01:32Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2020-11-03T08:01:32Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=b41f5fec1c42e0113ccbdbb7c258899793631b0a'/>
<id>urn:sha1:b41f5fec1c42e0113ccbdbb7c258899793631b0a</id>
<content type='text'>
lang/cpp/src/key.cpp (find_subkey, verify_subkey, find_uid, verify_uid,
find_signature, verify_signature): Mark as static.
</content>
</entry>
<entry>
<title>cpp: Make signatures belonging to the same user ID sortable</title>
<updated>2020-11-03T07:59:54Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2020-11-03T07:59:54Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=6a6d2a27648490f08aaf0759a533aef08b32070d'/>
<id>urn:sha1:6a6d2a27648490f08aaf0759a533aef08b32070d</id>
<content type='text'>
lang/cpp/src/key.h, lang/cpp/src/key.cpp (UserID::Signature::operator&lt;):
New.
lang/cpp/src/key.cpp (signature_index): New.
--

operator&lt; defines a canonical sort order for signatures belonging to
the same user ID. It is based on the sort order defined by
cmp_signodes() in g10/keylist.c of gnupg. In particular, the ordering
of signatures made with the same key by creation time allows to see
easily whether the most recent signature is a certification or a
revocation.

GnuPG-bug-id: 5094
recent
</content>
</entry>
<entry>
<title>cpp: Update key with --with-secret instead of updating it twice</title>
<updated>2020-09-08T12:55:20Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2020-09-08T12:55:20Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=3dd7377e120f10576b3b4334b6149f027ceec126'/>
<id>urn:sha1:3dd7377e120f10576b3b4334b6149f027ceec126</id>
<content type='text'>
* lang/cpp/src/key.cpp (Key::update): Call Context::key() only once
with KeyListMode::WithSecret.
--

With gpg &gt;= 2.1, get the key with --with-secret instead of first trying
to get the secret key and, if that fails, getting the public key.

GnuPG-bug-id: 4794
</content>
</entry>
<entry>
<title>cpp: Copy some more subkey properties when merging keys</title>
<updated>2020-09-03T10:24:21Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2020-09-03T10:20:24Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=4d87ea2851ae1156cfb1d754cf32b5c9073d4252'/>
<id>urn:sha1:4d87ea2851ae1156cfb1d754cf32b5c9073d4252</id>
<content type='text'>
* lang/cpp/src/key.cpp (Key::mergeWith): Also merge secret flag and
keygrip
--

The keygrip was lost if the result of a public key listing was merged
with the result of a secret key listing as done by QGpgMEListAllKeysJob.

GnuPG-bug-id: 4794
</content>
</entry>
<entry>
<title>cpp: Add ostream operator for subkey</title>
<updated>2020-08-04T14:53:28Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2020-08-04T14:09:05Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=197ba151e70c0aef35ee713b119d49e4637c1d05'/>
<id>urn:sha1:197ba151e70c0aef35ee713b119d49e4637c1d05</id>
<content type='text'>
* lang/cpp/src/key.cpp (Subkey): Add ostream operator.
* lang/cpp/src/key.h: Update accordingly.
--

This is helpful for debugging / showing the state of a subkey.
</content>
</entry>
<entry>
<title>core: New keylist mode GPGME_KEYLIST_MODE_WITH_KEYGRIP.</title>
<updated>2020-07-15T12:11:17Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2020-07-15T12:10:32Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=c8048bf8eb988f22b20215197f4739bedafc4264'/>
<id>urn:sha1:c8048bf8eb988f22b20215197f4739bedafc4264</id>
<content type='text'>
* src/gpgme.h.in (GPGME_KEYLIST_MODE_WITH_KEYGRIP): New.
* src/gpgme-json.c (op_keylist): New flag "keygrip".
* src/engine-gpg.c (gpg_keylist_build_options): Pass the options.

* lang/cpp/src/global.h (WithKeygrip): New.
* lang/cpp/src/context.cpp: Add check.
* lang/cpp/src/key.cpp (Key::update): Handle WithKeygrip.
* lang/cpp/src/verificationresult.cpp: Ditto.
* lang/cpp/src/util.h (add_to_gpgme_keylist_mode_t): Ditto.
--

GnuPG-bug-id: 4939
Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>cpp, qt: Use uidhash to select uids for signing</title>
<updated>2019-12-13T17:06:00Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@gnupg.org</email>
</author>
<published>2019-12-13T17:06:00Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=194272dbc3e326cc32c1464bc6fda0c0d10b5559'/>
<id>urn:sha1:194272dbc3e326cc32c1464bc6fda0c0d10b5559</id>
<content type='text'>
* lang/cpp/src/gpgsignkeyeditinteractor.cpp (action):
Use uidhash instead of number.
(GpgSignKeyEditInteractor::setKey): New.
* lang/cpp/src/gpgsignkeyeditinteractor.h: Update accordingly.
* lang/cpp/src/key.h, lang/cpp/src/key.cpp: Wrap uidhash.
* lang/qt/src/qgpgmesignkeyjob.cpp: Set the key.

--
Using the uidhash avoids problems when the user ids
on --edit-key are different ones then the uids
captured by gpgme when listing keys. Or if
they are in a different order. This can happen
with cached keys or keys with user attributes.
</content>
</entry>
<entry>
<title>cpp: Add API to obtain mutliple remarks</title>
<updated>2019-11-04T12:54:55Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@gnupg.org</email>
</author>
<published>2019-11-04T12:54:55Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=cb7668caeb71429afce1aded9128334182b233e1'/>
<id>urn:sha1:cb7668caeb71429afce1aded9128334182b233e1</id>
<content type='text'>
* lang/cpp/src/key.cpp, lang/cpp/src/key.h (UserID::remarks): New.
* NEWS: Mention this.

--
This can be useful if we want to show remarks made by others, too.

For:
GnuPG-Bug-Id: T4734
</content>
</entry>
<entry>
<title>cpp: Minor optimization in remark lookup</title>
<updated>2019-11-01T11:04:41Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@gnupg.org</email>
</author>
<published>2019-11-01T11:04:41Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=174caaa6f53e1125724a47dad3a5c991298aee6d'/>
<id>urn:sha1:174caaa6f53e1125724a47dad3a5c991298aee6d</id>
<content type='text'>
* lang/cpp/src/key.cpp (UserID::remark): Use C-API.

--
The other parts of that function already use the C API
so we can also avoid function calls for the keyListMode.
</content>
</entry>
<entry>
<title>cpp: Add convenience API to obtain remarks</title>
<updated>2019-10-29T15:24:01Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@gnupg.org</email>
</author>
<published>2019-10-29T15:24:01Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=83ecf1686a9a4e7de3a7b176cf272d9f9f640445'/>
<id>urn:sha1:83ecf1686a9a4e7de3a7b176cf272d9f9f640445</id>
<content type='text'>
* lang/cpp/src/key.h, lang/cpp/src/key.cpp (UserID::remark): New.

--
A remark made by one key on another is a signature notation on
a user id certification signature with the name "rem@gnupg.org".

This helps with:
GnuPG-Bug-Id: T4734
</content>
</entry>
</feed>
