Previously when Husk encountered an email which it could not encrypt, because it couldn’t get an authenticated certificate for the recipient, it let the email pass without modifications. This was especially true for emails with several recipients – if just one of them was without a certificate, the email was not encrypted.
With milestone 5, Husk now deals with the above situation. In that case, the email processing is split into two flows, producing a encrypted mail for all recipients with an authenticated certificate and sending the mail unencrypted for those recipients who don’t. The email headers are modified accordingly to avoid email loops and a footer is added so that a recipient still knows who else got this email.
This milestone also includes fixing of minor bugs and code improvements, to mention a few:
- Introducers where listed for each authentication path, now this list is deduplicated.
- Detect ANSI control characters in User ID as they can be used for malicious proposes.
- Husk will wrap an email it encrypts into a fitting mime structure
so that MTUs (Mail user agent, like Thunderbird) can display the
message properly.
- Husk now can deal which attachments.
- Header protection will be used with encrypted emails.
- Husk can sign messages if you provide it with an appropriate key.
- Hush can now send itself into the background. It now understands start, stop
and status.
- When building Husk from source, files for shell completion are generated.
- When listing introducers their associated domains are also displayed.