aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEllie Huxtable <ellie@atuin.sh>2024-08-06 15:00:34 +0100
committerGitHub <noreply@github.com>2024-08-06 15:00:34 +0100
commit58c904996d39e62ad420a4f4ede75ee761f396b4 (patch)
tree256daa70019c8788a8c77613c9c7745d695b187b
parentfix(mail): incorrect alias and error logs (#2346) (diff)
downloadatuin-58c904996d39e62ad420a4f4ede75ee761f396b4.zip
fix(mail): enable correct tls features for postmark client (#2347)
-rw-r--r--Cargo.lock154
-rw-r--r--crates/atuin-server/Cargo.toml2
-rw-r--r--crates/atuin-server/src/handlers/user.rs1
3 files changed, 141 insertions, 16 deletions
diff --git a/Cargo.lock b/Cargo.lock
index e21e7a76..29c23bf8 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -437,7 +437,7 @@ dependencies = [
"postmark",
"rand",
"reqwest 0.11.27",
- "rustls",
+ "rustls 0.21.12",
"rustls-pemfile 2.1.2",
"semver",
"serde",
@@ -557,10 +557,10 @@ dependencies = [
"hyper 1.4.1",
"hyper-util",
"pin-project-lite",
- "rustls",
+ "rustls 0.21.12",
"rustls-pemfile 2.1.2",
"tokio",
- "tokio-rustls",
+ "tokio-rustls 0.24.1",
"tower",
"tower-service",
]
@@ -1885,9 +1885,27 @@ dependencies = [
"futures-util",
"http 0.2.12",
"hyper 0.14.30",
- "rustls",
+ "rustls 0.21.12",
"tokio",
- "tokio-rustls",
+ "tokio-rustls 0.24.1",
+]
+
+[[package]]
+name = "hyper-rustls"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155"
+dependencies = [
+ "futures-util",
+ "http 1.1.0",
+ "hyper 1.4.1",
+ "hyper-util",
+ "rustls 0.23.12",
+ "rustls-pki-types",
+ "tokio",
+ "tokio-rustls 0.26.0",
+ "tower-service",
+ "webpki-roots 0.26.3",
]
[[package]]
@@ -2906,9 +2924,9 @@ checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
[[package]]
name = "postmark"
-version = "0.10.1"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8242c7fef1cb19b2ae4fb81d71903f9bb80ca8550aa67d6c6b1ccc07d8d9a29a"
+checksum = "a8c1982389836857cc378c3f46992bb6712464aa30567831ba0985495b0f6d83"
dependencies = [
"async-trait",
"bytes",
@@ -3081,6 +3099,54 @@ dependencies = [
]
[[package]]
+name = "quinn"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156"
+dependencies = [
+ "bytes",
+ "pin-project-lite",
+ "quinn-proto",
+ "quinn-udp",
+ "rustc-hash 2.0.0",
+ "rustls 0.23.12",
+ "socket2",
+ "thiserror",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "quinn-proto"
+version = "0.11.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba92fb39ec7ad06ca2582c0ca834dfeadcaf06ddfc8e635c80aa7e1c05315fdd"
+dependencies = [
+ "bytes",
+ "rand",
+ "ring",
+ "rustc-hash 2.0.0",
+ "rustls 0.23.12",
+ "slab",
+ "thiserror",
+ "tinyvec",
+ "tracing",
+]
+
+[[package]]
+name = "quinn-udp"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285"
+dependencies = [
+ "libc",
+ "once_cell",
+ "socket2",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
name = "quote"
version = "1.0.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3263,7 +3329,7 @@ dependencies = [
"http 0.2.12",
"http-body 0.4.6",
"hyper 0.14.30",
- "hyper-rustls",
+ "hyper-rustls 0.24.2",
"ipnet",
"js-sys",
"log",
@@ -3271,7 +3337,7 @@ dependencies = [
"once_cell",
"percent-encoding",
"pin-project-lite",
- "rustls",
+ "rustls 0.21.12",
"rustls-native-certs",
"rustls-pemfile 1.0.4",
"serde",
@@ -3280,7 +3346,7 @@ dependencies = [
"sync_wrapper 0.1.2",
"system-configuration",
"tokio",
- "tokio-rustls",
+ "tokio-rustls 0.24.1",
"tower-service",
"url",
"wasm-bindgen",
@@ -3303,6 +3369,7 @@ dependencies = [
"http-body 1.0.0",
"http-body-util",
"hyper 1.4.1",
+ "hyper-rustls 0.27.2",
"hyper-util",
"ipnet",
"js-sys",
@@ -3311,16 +3378,22 @@ dependencies = [
"once_cell",
"percent-encoding",
"pin-project-lite",
+ "quinn",
+ "rustls 0.23.12",
+ "rustls-pemfile 2.1.2",
+ "rustls-pki-types",
"serde",
"serde_json",
"serde_urlencoded",
"sync_wrapper 1.0.1",
"tokio",
+ "tokio-rustls 0.26.0",
"tower-service",
"url",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
+ "webpki-roots 0.26.3",
"winreg 0.52.0",
]
@@ -3413,6 +3486,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
+name = "rustc-hash"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152"
+
+[[package]]
name = "rustc_version"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3442,11 +3521,25 @@ checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
dependencies = [
"log",
"ring",
- "rustls-webpki",
+ "rustls-webpki 0.101.7",
"sct",
]
[[package]]
+name = "rustls"
+version = "0.23.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044"
+dependencies = [
+ "once_cell",
+ "ring",
+ "rustls-pki-types",
+ "rustls-webpki 0.102.6",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
name = "rustls-native-certs"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3494,6 +3587,17 @@ dependencies = [
]
[[package]]
+name = "rustls-webpki"
+version = "0.102.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e"
+dependencies = [
+ "ring",
+ "rustls-pki-types",
+ "untrusted",
+]
+
+[[package]]
name = "rustversion"
version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3915,7 +4019,7 @@ dependencies = [
"once_cell",
"paste",
"percent-encoding",
- "rustls",
+ "rustls 0.21.12",
"rustls-pemfile 1.0.4",
"serde",
"serde_json",
@@ -3929,7 +4033,7 @@ dependencies = [
"tracing",
"url",
"uuid",
- "webpki-roots",
+ "webpki-roots 0.25.4",
]
[[package]]
@@ -4317,7 +4421,7 @@ dependencies = [
"once_cell",
"pbkdf2",
"rand",
- "rustc-hash",
+ "rustc-hash 1.1.0",
"sha2",
"thiserror",
"unicode-normalization",
@@ -4376,7 +4480,18 @@ version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
- "rustls",
+ "rustls 0.21.12",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-rustls"
+version = "0.26.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"
+dependencies = [
+ "rustls 0.23.12",
+ "rustls-pki-types",
"tokio",
]
@@ -4936,6 +5051,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
[[package]]
+name = "webpki-roots"
+version = "0.26.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd"
+dependencies = [
+ "rustls-pki-types",
+]
+
+[[package]]
name = "weezl"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/crates/atuin-server/Cargo.toml b/crates/atuin-server/Cargo.toml
index 842245f9..7f8753b3 100644
--- a/crates/atuin-server/Cargo.toml
+++ b/crates/atuin-server/Cargo.toml
@@ -37,4 +37,4 @@ argon2 = "0.5"
semver = { workspace = true }
metrics-exporter-prometheus = "0.12.1"
metrics = "0.21.1"
-postmark = {version= "0.10.1", features=["reqwest"]}
+postmark = {version= "0.10.2", features=["reqwest", "reqwest-rustls-tls"]}
diff --git a/crates/atuin-server/src/handlers/user.rs b/crates/atuin-server/src/handlers/user.rs
index 6bdd5491..50defc4a 100644
--- a/crates/atuin-server/src/handlers/user.rs
+++ b/crates/atuin-server/src/handlers/user.rs
@@ -184,6 +184,7 @@ pub async fn send_verification<DB: Database>(
state: State<AppState<DB>>,
) -> Result<Json<SendVerificationResponse>, ErrorResponseStatus<'static>> {
let settings = state.0.settings;
+ debug!("request to verify user {}", user.username);
if !settings.mail.enabled {
return Ok(Json(SendVerificationResponse {