<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/lang/cpp/src/key.h, 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-03T07:59:54Z</updated>
<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: 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>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: 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>
<entry>
<title>spelling: fix misspellings</title>
<updated>2018-11-08T05:34:27Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2018-11-08T05:34:27Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=2557d0ae6ff0336b041129b7bf5c1e3a8c20a805'/>
<id>urn:sha1:2557d0ae6ff0336b041129b7bf5c1e3a8c20a805</id>
<content type='text'>
Signed-off-by: Daniel Kahn Gillmor &lt;dkg@fifthhorseman.net&gt;
</content>
</entry>
<entry>
<title>cpp: Add some convenience functions</title>
<updated>2018-10-25T12:13:39Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2018-10-25T12:09:37Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=05a0e97f5c12c06082fbeab0fba6f86ddbfbe6b2'/>
<id>urn:sha1:05a0e97f5c12c06082fbeab0fba6f86ddbfbe6b2</id>
<content type='text'>
* lang/cpp/src/context.cpp (Context::create): New.
* lang/cpp/src/context.h: Update accordingly.
* lang/cpp/src/key.cpp, lang/cpp/src/key.h:
(Key::isBad, Subkey::isBad, UserID::isBad)
(UserID::Signature::isBad): Add shorthand for the isX checks.
* NEWS: Mention it.

--
I don't know how often I wrote:
if (key.isNull() || key.isExpired() || key.isRevoked() ...

And for the context it is good practice to use a unique ptr
so the API should make it easy.
</content>
</entry>
<entry>
<title>cpp: Add origin and last_update to UserID</title>
<updated>2018-04-19T09:56:15Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2018-04-19T09:56:15Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=d65d6329319bff8cc555999fc92a20e151762a10'/>
<id>urn:sha1:d65d6329319bff8cc555999fc92a20e151762a10</id>
<content type='text'>
* NEWS: Mention it.
* lang/cpp/src/key.cpp, lang/cpp/src/key.h (UserID::lastUpdate),
(UserID::origin): New.
(gpgme_origin_to_pp_origin): New helper.
</content>
</entry>
<entry>
<title>cpp: Add origin and last_update</title>
<updated>2018-04-19T08:46:34Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2018-04-19T08:44:01Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=0adaf7bafd352f1c3a1e797493780150e3bb0adc'/>
<id>urn:sha1:0adaf7bafd352f1c3a1e797493780150e3bb0adc</id>
<content type='text'>
* NEWS: mention interface change.
* lang/cpp/src/key.cpp (Key::origin, Key::lastUpdate): New.
* lang/cpp/src/key.h (Key::Origin): New enum.
</content>
</entry>
<entry>
<title>cpp: Add shorthand for key locate</title>
<updated>2018-02-16T12:00:49Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2018-02-16T11:58:54Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=7f9d5c6cd204bfd84ea477b284df795b1dadb1af'/>
<id>urn:sha1:7f9d5c6cd204bfd84ea477b284df795b1dadb1af</id>
<content type='text'>
* lang/cpp/src/key.cpp (Key::locate): New static helper.
* lang/cpp/src/key.h: Update accordingly.
</content>
</entry>
</feed>
