Commit Graph

1322 Commits

Author SHA1 Message Date
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
Paolo Barbolini
9d3ebfab1a Prepare 0.11.7 (#961) v0.11.7 2024-04-23 16:04:19 +02:00
rezabet
6fb69086fb style: Maintain message consistency (#960) 2024-04-21 16:10:32 +02:00