Diffusion GpgOL 31f9a4c0ed5e

Add recipient class to carry key and type

Authored by aheinecke on Jan 27 2020, 1:45 PM.

Description

Add recipient class to carry key and type

* src/Makefile.am: Add new source files.
* src/addressbook.cpp (Addressbook::check_o): Adapt to new API.
* src/cryptcontroller.cpp, src/cryptcontroller.h:
Use recipient class. Rename m_recipients to m_enc_keys.
* src/debug.h: Add missing include.
* src/keycache.cpp (KeyCache::isMailResolvable): Adapt to new API.
* src/mail.cpp (Mail::getRecipients_o, Mail::getCachedRecipients):
Use Recipients Objects.
(Mail::getCachedRecipientAddresses): New, helper to get only mbox
strings.
(Mail::setSigningKey): New helper.
(Mail::m_resolved_signing_key): New. Can carry a resolved key.
* src/oomhelp.cpp (try_resolve_group): Handle type, too.
* src/oomhelp.cpp (get_oom_recipients),
(get_oom_recipients_with_addrEntry): Use Recipient objects.
* src/wks-helper.cpp (WKSHelper::handle_confirmation_read): Adapt
to new API.

With the recipientType we can determine now if a recipient
comes from BCC and handle it accordingly.
The recipient class also is prepared to carry around
key information, which keys should be used to encrypt for
which recipients. This is not used yet but the mail object
is also prepared to carry a signing key. That way we
can have completely resolved Mail Objects.

Preperation for:

Details