diff --git a/Cargo.lock b/Cargo.lock index c0d862c..6234fa4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -46,16 +46,16 @@ dependencies = [ [[package]] name = "actix-http" -version = "3.6.0" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d223b13fd481fc0d1f83bb12659ae774d9e3601814c68a0bc539731698cca743" +checksum = "4eb9843d84c775696c37d9a418bbb01b932629d01870722c0f13eb3f95e2536d" dependencies = [ "actix-codec", "actix-rt", "actix-service", "actix-utils", "ahash", - "base64 0.21.7", + "base64 0.22.1", "bitflags 2.5.0", "brotli", "bytes", @@ -122,13 +122,15 @@ dependencies = [ [[package]] name = "actix-router" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d22475596539443685426b6bdadb926ad0ecaefdfc5fb05e5e3441f15463c511" +checksum = "13d324164c51f63867b57e73ba5936ea151b8a41a1d23d1031eeb9f70d0236f8" dependencies = [ "bytestring", + "cfg-if", "http 0.2.12", "regex", + "regex-lite", "serde", "tracing", ] @@ -199,9 +201,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.5.1" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a6556ddebb638c2358714d853257ed226ece6023ef9364f23f0c70737ea984" +checksum = "b1cf67dadb19d7c95e5a299e2dda24193b89d5d4f33a3b9800888ede9e19aa32" dependencies = [ "actix-codec", "actix-http", @@ -228,6 +230,7 @@ dependencies = [ "once_cell", "pin-project-lite", "regex", + "regex-lite", "serde", "serde_json", "serde_urlencoded", @@ -591,6 +594,17 @@ dependencies = [ "serde_json", ] +[[package]] +name = "base64urlsafedata" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a56894edf5cd1efa7068d7454adeb7ce0b3da4ffa5ab08cfc06165bbc62f0c7" +dependencies = [ + "base64 0.21.7", + "paste", + "serde", +] + [[package]] name = "basic-oidc" version = "0.1.4" @@ -722,9 +736,9 @@ dependencies = [ [[package]] name = "brotli" -version = "3.5.0" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" +checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -733,9 +747,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "2.5.1" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" +checksum = "e6221fe77a248b9117d431ad93761222e1cf8ff282d9d1d5d9f53d6299a1cf76" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -884,7 +898,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7aa76ef19968577838a34d02848136bb9b6bdbfd7675fb968fe9c931bc434b33" dependencies = [ "base64 0.13.1", - "base64urlsafedata", + "base64urlsafedata 0.1.3", "hex", "openssl", "serde", @@ -1866,9 +1880,9 @@ checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "mailchecker" -version = "6.0.4" +version = "6.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50fe9af5b3c83b106d841a2f93808ec8009d4b2fb229308cb729c3db601b8e15" +checksum = "37614f18c61fd8d4a025bc82775f4b435d8e025d6ac499af42451356f985ac97" dependencies = [ "fast_chemail", "once_cell", @@ -2360,6 +2374,12 @@ dependencies = [ "regex-syntax", ] +[[package]] +name = "regex-lite" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e" + [[package]] name = "regex-syntax" version = "0.8.3" @@ -3234,12 +3254,25 @@ dependencies = [ ] [[package]] -name = "webauthn-rs" -version = "0.4.8" +name = "webauthn-attestation-ca" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2db00711c712414e93b019c4596315085792215bc2ac2d5872f9e8913b0a6316" +checksum = "9b0f2ebaf5650ca15b515a761f31ed6477fa2312491cf632a71102ac22b82784" dependencies = [ - "base64urlsafedata", + "base64urlsafedata 0.5.0", + "openssl", + "serde", + "tracing", + "uuid", +] + +[[package]] +name = "webauthn-rs" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb9d7cdc9ec26e3e06f7e8ee1433e6fa3627c6c075ab3effbc3a2280c2f526c0" +dependencies = [ + "base64urlsafedata 0.5.0", "serde", "tracing", "url", @@ -3249,17 +3282,19 @@ dependencies = [ [[package]] name = "webauthn-rs-core" -version = "0.4.9" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "294c78c83f12153a51e1cf1e6970b5da1397645dada39033a9c3173a8fc4fc2b" +checksum = "cf1ee1dc7f4138b8fd05a74a6eae93ddaf504c5a60861f1eb95d9de3172900b3" dependencies = [ - "base64 0.13.1", - "base64urlsafedata", + "base64 0.21.7", + "base64urlsafedata 0.5.0", "compact_jwt", "der-parser", + "hex", "nom", "openssl", "rand", + "rand_chacha", "serde", "serde_cbor_2", "serde_json", @@ -3267,17 +3302,19 @@ dependencies = [ "tracing", "url", "uuid", + "webauthn-attestation-ca", "webauthn-rs-proto", "x509-parser", ] [[package]] name = "webauthn-rs-proto" -version = "0.4.9" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24e638361a63ba5c0a0be6a60229490fcdf33740ed63df5bb6bdb627b52a138" +checksum = "1f1c6dc254607f48eec3bdb35b86b377202436859ca1e4c9290afafd7349dcc3" dependencies = [ - "base64urlsafedata", + "base64 0.21.7", + "base64urlsafedata 0.5.0", "serde", "serde_json", "url", diff --git a/Cargo.toml b/Cargo.toml index 7336807..1f15d8b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ lazy-regex = "3.1.0" totp_rfc6238 = "0.5.3" base32 = "0.4.0" qrcode-generator = "4.1.9" -webauthn-rs = { version = "0.4.8", features = ["danger-allow-state-serialisation"] } +webauthn-rs = { version = "0.5.0", features = ["danger-allow-state-serialisation"] } url = "2.5.0" light-openid = { version = "1.0.2", features = ["crypto-wrapper"] } bincode = "2.0.0-rc.3" diff --git a/src/controllers/login_controller.rs b/src/controllers/login_controller.rs index 026d9b7..06e7496 100644 --- a/src/controllers/login_controller.rs +++ b/src/controllers/login_controller.rs @@ -143,7 +143,7 @@ pub async fn login_route( } // Try to authenticate user else if let Some(req) = &req { - login = req.login.clone(); + login.clone_from(&req.login); let response: LoginResult = users .send(users_actor::LocalLoginRequest { login: login.clone(),