Commit Graph

1324 Commits

Author SHA1 Message Date
Paolo Barbolini cfa29743a8 refactor: replace rustls-pemfile with rustls-pki-types (#1050) 2025-02-22 08:59:14 +01:00
Paolo Barbolini 4a4a96d805 refactor: remove artifact from web-time refactor (#1049) 2025-02-22 07:44:56 +00:00
Paolo Barbolini f0b8052a52 build(deps): upgrade nom to v8 (#1048) 2025-02-22 08:36:56 +01:00
Paolo Barbolini 655cd8a140 style: cleanup Cargo.toml (#1047) 2025-02-22 08:30:01 +01:00
Paolo Barbolini dabc88a053 Prepare v0.11.13 (#1044) v0.11.13 2025-02-17 11:48:42 +01:00
Paolo Barbolini 9cdefcea09 refactor: simplify handling of WASM web-time (#1042) 2025-02-17 09:05:22 +00:00
Abid Omar 5748af4c98 feat: add WASM support via web-time (#1037)
Support WASM environments by using web-time.
This was tested on a Cloudflare worker environment.
2025-02-17 09:53:19 +01:00
André Cruz 3e9b1876d9 feat: add method to obtain TLS result (#1039)
Some TLS toolkits export a result that can be checked afterwards even if
the TLS negotation returned successfully. This can be used for example
if you disabled certificate checks by default, but then want to check
the outcome.

Currently this is only supported on boring TLS.
2025-02-17 09:51:45 +01:00
Popax21 795bedae76 fix: synchronous pool shutdowns being arbitrarily delayed (#1041)
Previously, the connection pool thread did not drop its upgraded `Arc` pool reference while sleeping until the next idle duration check. This causes a drop of the `SmtpTransport` to not shut down any connections until said thread wakes up again (since it still holds a reference to the pool), which can take up to 60s with default settings. In practice, this means that connections will most likely not be properly closed before the program exists, (since the `SmtpTransport` is most likely dropped when the program shuts down) which violates the SMTP specification which states that:
> The sender MUST NOT intentionally close the channel until it sends a QUIT command, and it SHOULD wait until it receives the reply (even if there was an error response to a command).
2025-02-07 08:29:06 +01:00
dependabot[bot] 891dd521ab build(deps): bump openssl from 0.10.68 to 0.10.70 (#1038)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.68 to 0.10.70.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.68...openssl-v0.10.70)

---
updated-dependencies:
- dependency-name: openssl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 20:51:45 +01:00
Paolo Barbolini 0fb89e23ad Prepare v0.11.12 (#1034) v0.11.12 2025-02-02 14:05:41 +01:00
Paolo Barbolini 097f7d5aaa docs: fix broken doc link (#1036) 2025-02-02 13:49:52 +01:00
Paolo Barbolini 32e066464a docs: improve SMTP transport from_url (#1032) 2025-02-02 13:38:03 +01:00
Paolo Barbolini 55c7f57f25 docs: improve transport::smtp (#1031) 2025-02-02 13:37:25 +01:00
Paolo Barbolini 3f7a57a417 docs: replace assert! with ? operator for send examples (#1033) 2025-02-02 13:33:34 +01:00
Paolo Barbolini bb64baec67 style: warn on more pedantic clippy lints and fix them (#1035) 2025-02-02 12:50:15 +01:00
Paolo Barbolini 5f13636b49 docs: document OpenSSL system dependencies (#1030) 2025-02-01 22:14:14 +01:00
Paolo Barbolini 4513e602d6 docs: fix credentials copy-paste error (#1019) 2024-12-25 09:05:34 +01:00
Paolo Barbolini 382e15013a docs: document (Async)SmtpTransport (#1018) 2024-12-25 09:05:24 +01:00
Paolo Barbolini 3ce31c5a6a docs: add missing ContentType to email building (#1017) 2024-12-23 22:08:08 +01:00
Paolo Barbolini a48cf92a5b docs: fix rustdoc warnings (#1016) 2024-12-23 17:19:24 +01:00
Paolo Barbolini 43f6f139d2 docs: improve docs for Tls enum (#1015) 2024-12-23 17:01:24 +01:00
Paolo Barbolini fd1425666d docs: warn against manually configuring port and tls configs (#1014) 2024-12-23 16:43:39 +01:00
Paolo Barbolini de075153b0 Prepare v0.11.11 (#1013) v0.11.11 2024-12-05 20:48:10 +01:00
Paolo Barbolini 02dfc7dd4a fix: off-by-one error reaching the min number of pooled connections (#1012) 2024-12-05 19:19:54 +01:00
Paolo Barbolini 83ce5872d7 Fix some clippy warnings (#1009) 2024-11-28 15:48:08 +00:00
Paolo Barbolini 272efeca74 build(deps): bump locked dependencies (#1006) 2024-11-27 10:21:13 +01:00
Paolo Barbolini ec6f5f3920 build: bump MSRV to 1.71 (#1008) 2024-11-27 10:15:59 +01:00
Paolo Barbolini b62d23bd87 build: fix -Zminimal-versions build (#1007) 2024-11-27 10:11:49 +01:00
Paolo Barbolini 51794aa912 Prepare v0.11.10 (#1002) v0.11.10 2024-10-23 23:04:45 +02:00
Paolo Barbolini eb42651401 Use case insensitive comparisons for login challenge requests (#1000) 2024-10-23 20:01:00 +02:00
Paolo Barbolini 99c6dc2a87 Replace quit with abort in transport connection drop code (#999) 2024-10-23 20:00:31 +02:00
Paolo Barbolini b6babbce00 Prepare v0.11.9 (#991) v0.11.9 2024-09-13 15:48:32 +02:00
Paolo Barbolini c9895c52de readme: add fn main to getting started example (#990) 2024-09-13 15:41:46 +02:00
Paolo Barbolini 575492b9ed Bump rustls-native-certs to v0.8 (#992) 2024-09-13 15:41:18 +02:00
Paolo Barbolini ad665cd01e chore: bump locked dependencies (#989)
And then downgrades:

cargo update -p clap --precise 4.3.24
cargo update -p clap_lex --precise 0.5.0
cargo update -p anstyle --precise 1.0.2
2024-09-13 02:37:04 +02:00
Arnaud de Bossoreille e2ac5dadfb Fix parsing Mailbox with spaces (#986) 2024-09-12 17:26:43 +02:00
Max Breitenfeldt 1c6a348eb8 Enable accept_invalid_hostnames for rustls (#988)
With #977 dangerous_accept_invalid_hostnames is implemented for rustls. This add the config flag so that the feature can actually be used when rustls-tls is enabled.
2024-09-10 09:58:48 +02:00
Paolo Barbolini e8b2498ad7 Prepare v0.11.8 (#985) v0.11.8 2024-09-03 15:43:04 +02:00
Paolo Barbolini bf48bd6b96 ci: bump dependencies (#984) 2024-09-02 17:37:44 +02:00
André Cruz fa6191983a feat(tls-peer-certificates): Provide peer certs (#976)
Add a method that, when using a TLS toolkit that supports it, returns
the entire certificate chain. This is useful, for example, when
implementing DANE support which has directives that apply to the issuer
and not just to the leaf certificate.

Not all TLS toolkits support this, so the code will panic if the method
is called when using a TLS toolkit that has no way to return these
certificates.
2024-09-02 17:26:46 +02:00
Paolo Barbolini ca405040ae chore: replace manual impl of #[non_exhaustive] for InvalidHeaderName (#981) 2024-08-29 05:43:23 +02:00
Paolo Barbolini f7a1b790df Make HeaderName comparisons case insensitive (#980) 2024-08-29 05:43:14 +02:00
Paolo Barbolini caff354cbf chore: bump vulnerable dependencies 2024-08-23 09:28:21 +02:00
Paolo Barbolini a81401c4cb Fix latest clippy warnings (#979) 2024-08-23 09:24:05 +02:00
Jonas Osburg 54df594d6c Implement accept_invalid_hostnames for rustls (#977)
Fixes #957

Co-authored-by: Paolo Barbolini <paolo.barbolini@m4ss.net>
2024-08-21 10:29:10 +02:00
Felix Rodemund cada01d039 Add mTLS Support (#974)
This adds support for mutual authentication to transport layer secured
connections used to deliver mails.

Client authentication requires the client certificate and the
corresponding private key in pem format to be passed to
Identity::from_pem. The resulting Identity needs then to be provided to
TlsParametersBuilder::identify_with.
2024-07-30 21:28:34 +02:00
Paolo Barbolini 0132bee59d Bump idna to v1 (#966) 2024-06-11 18:12:49 +02:00
Paolo Barbolini acdf189717 Fix clippy warnings (#967) 2024-06-11 18:12:32 +02:00
Ilka Schulz 3aea65315f resolve #806: forbid empty forward path when deserializing address::Envelop (#964) 2024-06-11 09:48:30 +00:00