core: Change the way TOFU information are represented.
authorWerner Koch <wk@gnupg.org>
Tue, 23 Aug 2016 13:22:28 +0000 (15:22 +0200)
committerWerner Koch <wk@gnupg.org>
Tue, 23 Aug 2016 13:24:10 +0000 (15:24 +0200)
commitbe4ff75d7d5ac6ed15feb245ef3cec59b4bad561
tree67dffdf32235e3e459aa52cd1b248420a6dc480f
parent3955dce06e9d056599e5ec7d40301e66b9305195
core: Change the way TOFU information are represented.

* src/gpgme.h.in (struct _gpgme_signature): Remove field 'tofu'.  Add
field 'key'.
(struct _gpgme_key): Add field 'fpr'.
(struct _gpgme_user_id): Add field 'tofu'.
(struct _gpgme_tofu_info): Remove fields 'address' and 'fpr'.
* src/key.c (gpgme_key_unref): Release TOFU and FPR.
* src/keylist.c (keylist_colon_handler): Store the fingerprint of the
first subkey also in KEY.
* src/verify.c (release_tofu_info): Remove.
(release_op_data): Release KEY.
(parse_tofu_user): Rewrite for new data structure.
(parse_tofu_stats): Ditto.
(parse_tofu_stats_long): Ditto.
* tests/run-verify.c (print_result): Ditto.
* tests/run-keylist.c (main): Print more fields.
--

TOFU information are now associated with the user ID and not with a
separate object.

Note that this breaks code relying on the former non-released TOFU
feature.  The C++ bindings won't work right now.

Signed-off-by: Werner Koch <wk@gnupg.org>
NEWS
doc/gpgme.texi
src/gpgme.h.in
src/key.c
src/keylist.c
src/ops.h
src/verify.c
tests/run-keylist.c
tests/run-verify.c