- Add support for using Tor via a socks5 proxy.
- Tor usage of the milter and the updater process are configured
separately.
- Restructure the config file and add some documentation.
- The updater looks for updates to certificates from the certificate
store.
- The updates are spaced by random time intervals so that the
reconstruction of the content of the cert store is made more
difficult.
- The updater can be send into the background - start, stop and status
are implemented.
- The state of the updater is persisted to disk so that the update
procedure survives a restart.
- 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.
- Upgrade Sequoia PGP to 2.4.0
- Remove deprecated `sequoia_wot::CertSynopsis::userids()` and replace
with `self_signed_userids()`.
- Add `lettre` as dependency for its SMTP functionality.
- Introduce option `--background` for `daemon start` to send the new
process into the background.
- Implement a `ProcessDescr` which identifies a Husk process. This pays
attention to the possibility of a rollover of the process ids.
- Implement `daemon status`.
- Implement `daemon stop` which sends `SIG_INT` to a running Husk
process.
- Husk now not only encrypts outgoing emails (if possible) but also adds
a signature.
- Rework the internal handling of the signing key.
- Integrate the signing into the workflow of the daemon.
- Add a configuration option for a subject replacement.
- Add a scheme on how to discover Husk signing keys. Siging keys mut be
certified by the `local trust root` with a signature having a notation
with a name equal to `signing_keys@husk-projet.org`.
- Fetch the key from the keystore.
- Expand `authenticate()` so that notation can be added to the
signature.
- Add a test to create a signing key and fetch it from the keystore.
- Create a command to add an introducer (with domains).
- Add a module for escaping regular expressions used in certifications
- Add some helper functions.