- Reject user ids containing ANSI control characters when creating a new
signing key.
- Prevent adding certificates twice when querying online sources if they
contain multiple encryption keys.
- Dedup introducers if there are multiple authenticating paths.
- When listing locals, skip the signing key.
- Check if a mail can be encrypted at all due to available certificates.
If not tell the MTA that the processing is done.
- Make `Introducer` comparable (`PartialEq`, `Eq` and `Hash`).
- minor polishing
- Mark reinjected mails so that Husk can shortcut the processing.
- Fix Cargo.toml to correctly include the patched version of
sequoia-cert-store and sequoia-keystore.
- Add a footer to each mail resulting from a split into an encrypted and
an unencrypted version. The footer contains the recipients of the mail
which are excluded in the corresponding stream.
- Move the construction of the `HuskContext` to the `mail`
milter-command, as `helo` is used by scrapers to detect mailservers.
- Use `CertD::trust_root()` to get the trust root - it creates one if no
root can be found.
- Add `chrono` dependency.
- If a mail has more then one recipient and not for all recipients an
authenticated certificate can be obtained, the mail processing is
split into 2 streams - one that encrypts and an other which sends the
mail in plaintext.
- For both streams the header and the list of recipients is adjusted
accordingly.
- As the milter interface only allows one stream, the second stream is
reinjected into the MTA (via SMTP). The MTA is hardcoded to be
localhost:25.
- Create a command to add an introducer (with domains).
- Add a module for escaping regular expressions used in certifications
- Add some helper functions.