From 3eacdebe9b7e686cbfefeaa5b09843b889a2485f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Ciarcin=CC=81ski?= Date: Tue, 17 Sep 2024 12:54:58 +0200 Subject: [PATCH 1/4] Quick fixes --- Cargo.lock | 187 ++++++++++++------------ Cargo.toml | 4 +- src/db/models/polling_token.rs | 1 + src/db/models/wireguard.rs | 3 +- src/enterprise/handlers/openid_login.rs | 2 +- src/grpc/enrollment.rs | 6 +- src/grpc/mod.rs | 2 +- src/grpc/utils.rs | 2 +- src/handlers/ssh_authorized_keys.rs | 2 +- src/headers.rs | 30 ++-- 10 files changed, 120 insertions(+), 119 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 94f1a7e313..babb9eda90 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,19 +4,13 @@ version = 3 [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" dependencies = [ "gimli", ] -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - [[package]] name = "adler2" version = "2.0.0" @@ -152,9 +146,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" [[package]] name = "arbitrary" @@ -418,17 +412,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", - "miniz_oxide 0.7.4", + "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -626,9 +620,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.16" +version = "1.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9d013ecb737093c0e86b151a7b837993cf9ec6c502946cfb44bedc392421e0b" +checksum = "2d74707dde2ba56f86ae90effb3b43ddd369504387e718014de010cec7959800" dependencies = [ "jobserver", "libc", @@ -896,9 +890,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] @@ -1581,7 +1575,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" dependencies = [ "crc32fast", - "miniz_oxide 0.8.0", + "miniz_oxide", ] [[package]] @@ -1776,14 +1770,14 @@ dependencies = [ [[package]] name = "getset" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9" +checksum = "f636605b743120a8d32ed92fc27b6cde1a769f8f936c065151eb66f88ded513c" dependencies = [ - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] @@ -1798,9 +1792,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" [[package]] name = "git2" @@ -1817,9 +1811,9 @@ dependencies = [ [[package]] name = "globset" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" +checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" dependencies = [ "aho-corasick", "bstr", @@ -2146,7 +2140,7 @@ dependencies = [ "http 1.1.0", "hyper 1.4.1", "hyper-util", - "rustls 0.23.12", + "rustls 0.23.13", "rustls-pki-types", "tokio", "tokio-rustls 0.26.0", @@ -2181,9 +2175,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" +checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" dependencies = [ "bytes", "futures-channel", @@ -2201,9 +2195,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2389,9 +2383,9 @@ dependencies = [ [[package]] name = "ignore" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" +checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" dependencies = [ "crossbeam-deque", "globset", @@ -2474,9 +2468,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" [[package]] name = "ipnetwork" @@ -2624,9 +2618,9 @@ dependencies = [ [[package]] name = "lettre" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1658ac89b01055e3ba23d66ecf6f8b97388ebe34ce125e49f8ef71234fb8aaba" +checksum = "69f204773bab09b150320ea1c83db41dc6ee606a4bc36dc1f43005fe7b58ce06" dependencies = [ "async-trait", "base64 0.22.1", @@ -2793,15 +2787,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.8.0" @@ -3313,9 +3298,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "9c73c26c01b8c87956cea613c907c9d6ecffd8d18a2a5908e5de0adfaa185cea" dependencies = [ "memchr", "thiserror", @@ -3324,9 +3309,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.11" +version = "2.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" +checksum = "664d22978e2815783adbdd2c588b455b1bd625299ce36b2a99881ac9627e6d8d" dependencies = [ "pest", "pest_generator", @@ -3334,9 +3319,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.11" +version = "2.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" +checksum = "a2d5487022d5d33f4c30d91c22afa240ce2a644e87fe08caad974d4eab6badbe" dependencies = [ "pest", "pest_meta", @@ -3347,9 +3332,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.7.11" +version = "2.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" +checksum = "0091754bbd0ea592c4deb3a122ce8ecbb0753b738aa82bc055fcc2eccc8d8174" dependencies = [ "once_cell", "pest", @@ -3620,6 +3605,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "proc-macro2" version = "1.0.86" @@ -3753,7 +3760,7 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash", - "rustls 0.23.12", + "rustls 0.23.13", "socket2", "thiserror", "tokio", @@ -3770,7 +3777,7 @@ dependencies = [ "rand", "ring", "rustc-hash", - "rustls 0.23.12", + "rustls 0.23.13", "slab", "thiserror", "tinyvec", @@ -3852,9 +3859,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853" dependencies = [ "bitflags 2.6.0", ] @@ -3977,7 +3984,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.12", + "rustls 0.23.13", "rustls-pemfile 2.1.3", "rustls-pki-types", "serde", @@ -4155,9 +4162,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.35" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ "bitflags 2.6.0", "errno", @@ -4187,21 +4194,21 @@ dependencies = [ "log", "ring", "rustls-pki-types", - "rustls-webpki 0.102.7", + "rustls-webpki 0.102.8", "subtle", "zeroize", ] [[package]] name = "rustls" -version = "0.23.12" +version = "0.23.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" dependencies = [ "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.102.7", + "rustls-webpki 0.102.8", "subtle", "zeroize", ] @@ -4256,9 +4263,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.7" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84678086bd54edf2b415183ed7a94d0efb049f1b646a33e22a36f3794be6ae56" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ "ring", "rustls-pki-types", @@ -4312,11 +4319,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4351,9 +4358,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.29.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0cc0f1cf93f4969faf3ea1c7d8a9faed25918d96affa959720823dfe86d4f3" +checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ "rand", "secp256k1-sys", @@ -4361,9 +4368,9 @@ dependencies = [ [[package]] name = "secp256k1-sys" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1433bd67156263443f14d603720b082dd3121779323fce20cba2aa07b874bc1b" +checksum = "d4387882333d3aa8cb20530a17c69a3752e97837832f34f6dccc760e715001d9" dependencies = [ "cc", ] @@ -4409,9 +4416,9 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.209" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] @@ -4447,9 +4454,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.209" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", @@ -4705,9 +4712,9 @@ dependencies = [ [[package]] name = "sqlformat" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f895e3734318cc55f1fe66258926c9b910c124d47520339efecbb6c59cec7c1f" +checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790" dependencies = [ "nom", "unicode_categories", @@ -5343,16 +5350,16 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.12", + "rustls 0.23.13", "rustls-pki-types", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ "futures-core", "pin-project-lite", @@ -5381,9 +5388,9 @@ checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" [[package]] name = "toml_edit" -version = "0.22.20" +version = "0.22.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +checksum = "3b072cee73c449a636ffd6f32bd8de3a9f7119139aff882f44943ce2986dc5cf" dependencies = [ "indexmap 2.5.0", "toml_datetime", @@ -5705,9 +5712,9 @@ checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-normalization" @@ -5726,9 +5733,9 @@ checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524" [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" diff --git a/Cargo.toml b/Cargo.toml index 19062b78f3..f8ba786a8b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -132,8 +132,8 @@ openid = ["dep:openidconnect"] worker = [] wireguard = [] -[profile.dev] -strip = "debuginfo" +# [profile.dev] +# strip = "debuginfo" [profile.release] lto = "thin" diff --git a/src/db/models/polling_token.rs b/src/db/models/polling_token.rs index 6f8f888e3d..d782afc89e 100644 --- a/src/db/models/polling_token.rs +++ b/src/db/models/polling_token.rs @@ -15,6 +15,7 @@ pub struct PollingToken { } impl PollingToken { + #[must_use] pub fn new(device_id: i64) -> Self { Self { id: None, diff --git a/src/db/models/wireguard.rs b/src/db/models/wireguard.rs index 7525f1534f..9138941797 100644 --- a/src/db/models/wireguard.rs +++ b/src/db/models/wireguard.rs @@ -240,9 +240,8 @@ impl WireguardNetwork { /// Try to set `address` from `&str`. pub fn try_set_address(&mut self, address: &str) -> Result { - IpNetwork::from_str(address).map(|network| { + IpNetwork::from_str(address).inspect(|&network| { self.address = network; - network }) } diff --git a/src/enterprise/handlers/openid_login.rs b/src/enterprise/handlers/openid_login.rs index 3548a1c1d9..42b6cce651 100644 --- a/src/enterprise/handlers/openid_login.rs +++ b/src/enterprise/handlers/openid_login.rs @@ -264,7 +264,7 @@ pub async fn auth_callback( user } Ok(None) => { - if let Some(mut user) = User::find_by_email(&appstate.pool, &email).await? { + if let Some(mut user) = User::find_by_email(&appstate.pool, email).await? { // User with the same email already exists, merge the accounts info!( "User with email address {} is logging in through OpenID Connect for the first time and we've found an existing account with the same email address. Merging accounts.", diff --git a/src/grpc/enrollment.rs b/src/grpc/enrollment.rs index 48a3eae208..9ea99b8802 100644 --- a/src/grpc/enrollment.rs +++ b/src/grpc/enrollment.rs @@ -182,7 +182,7 @@ impl EnrollmentServer { "Retrieving instance info for user {}({:?}).", user.username, user.id ); - let instance_info = InstanceInfo::new(settings, &user.username, enterprise_settings); + let instance_info = InstanceInfo::new(settings, &user.username, &enterprise_settings); debug!("Instance info {instance_info:?}"); debug!( @@ -594,7 +594,9 @@ impl EnrollmentServer { let response = DeviceConfigResponse { device: Some(device.into()), configs: configs.into_iter().map(Into::into).collect(), - instance: Some(InstanceInfo::new(settings, &user.username, enterprise_settings).into()), + instance: Some( + InstanceInfo::new(settings, &user.username, &enterprise_settings).into(), + ), token: Some(token.token), }; debug!("{response:?}."); diff --git a/src/grpc/mod.rs b/src/grpc/mod.rs index 95a4d0fd6b..e1cf70f880 100644 --- a/src/grpc/mod.rs +++ b/src/grpc/mod.rs @@ -661,7 +661,7 @@ impl InstanceInfo { pub fn new>( settings: Settings, username: S, - enterprise_settings: EnterpriseSettings, + enterprise_settings: &EnterpriseSettings, ) -> Self { let config = server_config(); InstanceInfo { diff --git a/src/grpc/utils.rs b/src/grpc/utils.rs index 6fade90a88..664b576a0f 100644 --- a/src/grpc/utils.rs +++ b/src/grpc/utils.rs @@ -157,7 +157,7 @@ pub(crate) async fn build_device_config_response( Ok(DeviceConfigResponse { device: Some(device.into()), configs, - instance: Some(InstanceInfo::new(settings, &user.username, enterprise_settings).into()), + instance: Some(InstanceInfo::new(settings, &user.username, &enterprise_settings).into()), token, }) } diff --git a/src/handlers/ssh_authorized_keys.rs b/src/handlers/ssh_authorized_keys.rs index fd2f69f963..17eb4c2a05 100644 --- a/src/handlers/ssh_authorized_keys.rs +++ b/src/handlers/ssh_authorized_keys.rs @@ -178,7 +178,7 @@ pub async fn add_authentication_key( return Err(WebError::ModelError("Model returned without ID".into())); }; - let trimmed_key = data.key.trim_end_matches(|c| c == '\n' || c == '\r'); + let trimmed_key = data.key.trim_end_matches(['\n', '\r']); // verify key match data.key_type { diff --git a/src/headers.rs b/src/headers.rs index 4e1b843695..f242561132 100644 --- a/src/headers.rs +++ b/src/headers.rs @@ -17,7 +17,7 @@ pub fn create_user_agent_parser() -> Arc { } #[must_use] -pub fn parse_user_agent<'a>( +pub(crate) fn parse_user_agent<'a>( user_parser: &UserAgentParser, user_agent: &'a str, ) -> Option> { @@ -29,23 +29,15 @@ pub fn parse_user_agent<'a>( } #[must_use] -pub fn get_device_info(user_agent_parser: &UserAgentParser, user_agent: &str) -> Option { - let agent = parse_user_agent(user_agent_parser, user_agent); - - agent.map(|v| get_user_agent_device(&v)) -} - -#[must_use] -pub fn get_device_type(user_agent_client: Option) -> String { - if let Some(client) = user_agent_client { - get_user_agent_device(&client) - } else { - String::new() - } +pub(crate) fn get_device_info( + user_agent_parser: &UserAgentParser, + user_agent: &str, +) -> Option { + parse_user_agent(user_agent_parser, user_agent).map(|v| get_user_agent_device(&v)) } #[must_use] -pub fn get_user_agent_device(user_agent_client: &Client) -> String { +pub(crate) fn get_user_agent_device(user_agent_client: &Client) -> String { let device_type = user_agent_client .device .model @@ -77,7 +69,7 @@ pub fn get_user_agent_device(user_agent_client: &Client) -> String { } #[must_use] -pub fn get_device_login_event( +pub(crate) fn get_device_login_event( user_id: i64, ip_address: String, event_type: String, @@ -87,7 +79,7 @@ pub fn get_device_login_event( .map(|client| get_user_agent_device_login_data(user_id, ip_address, event_type, &client)) } -pub fn get_user_agent_device_login_data( +pub(crate) fn get_user_agent_device_login_data( user_id: i64, ip_address: String, event_type: String, @@ -114,7 +106,7 @@ pub fn get_user_agent_device_login_data( ) } -pub async fn check_new_device_login( +pub(crate) async fn check_new_device_login( pool: &DbPool, mail_tx: &UnboundedSender, session: &Session, @@ -125,7 +117,7 @@ pub async fn check_new_device_login( ) -> Result<(), TemplateError> { if let Some(user_id) = user.id { if let Some(device_login_event) = - get_device_login_event(user_id, ip_address, event_type, agent.clone()) + get_device_login_event(user_id, ip_address, event_type, agent) { if let Ok(Some(created_device_login_event)) = device_login_event .check_if_device_already_logged_in(pool) From 36176259445dff8669791ccbeb852a523207c9e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Ciarcin=CC=81ski?= Date: Tue, 17 Sep 2024 12:56:37 +0200 Subject: [PATCH 2/4] Remove profile.dev changes --- Cargo.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f8ba786a8b..4365ced712 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -132,9 +132,6 @@ openid = ["dep:openidconnect"] worker = [] wireguard = [] -# [profile.dev] -# strip = "debuginfo" - [profile.release] lto = "thin" strip = "symbols" From d0bf41dba3bd3baa8921d16881d97441a0332b75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Ciarcin=CC=81ski?= Date: Tue, 17 Sep 2024 14:01:11 +0200 Subject: [PATCH 3/4] Small code cleanups --- src/templates.rs | 5 +---- tests/common/mod.rs | 6 +++--- tests/wireguard_network_stats.rs | 10 ++++++---- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/templates.rs b/src/templates.rs index 482e3f7862..965db0a2aa 100644 --- a/src/templates.rs +++ b/src/templates.rs @@ -32,9 +32,6 @@ static MAIL_PASSWORD_RESET_START: &str = static MAIL_PASSWORD_RESET_SUCCESS: &str = include_str!("../templates/mail_password_reset_success.tera"); -#[allow(dead_code)] -static MAIL_DATE_FORMAT: &str = "%Y-%m-%dT%H:%M:00Z"; - #[derive(Error, Debug)] pub enum TemplateError { #[error("Failed to generate email MFA code")] @@ -56,7 +53,7 @@ pub fn get_base_tera( // supply context required by base context.insert("application_version", &VERSION); let now = Utc::now(); - let current_year = format!("{:04}", &now.year()); + let current_year = format!("{:04}", now.year()); context.insert("current_year", ¤t_year); context.insert("date_now", &now.format("%A, %B %d, %Y at %r").to_string()); diff --git a/tests/common/mod.rs b/tests/common/mod.rs index e926773886..8fd49fff2d 100644 --- a/tests/common/mod.rs +++ b/tests/common/mod.rs @@ -56,12 +56,12 @@ pub async fn init_test_db() -> (DbPool, DefGuardConfig) { ) .await; - initialize_users(&pool, config.clone()).await; + initialize_users(&pool, &config).await; (pool, config) } -async fn initialize_users(pool: &DbPool, config: DefGuardConfig) { +async fn initialize_users(pool: &DbPool, config: &DefGuardConfig) { User::init_admin_user(pool, config.default_admin_password.expose_secret()) .await .unwrap(); @@ -177,7 +177,7 @@ pub async fn make_test_client() -> (TestClient, ClientState) { #[allow(dead_code)] pub async fn fetch_user_details(client: &TestClient, username: &str) -> UserDetails { - let response = client.get(&format!("/api/v1/user/{username}")).send().await; + let response = client.get(format!("/api/v1/user/{username}")).send().await; assert_eq!(response.status(), StatusCode::OK); response.json().await } diff --git a/tests/wireguard_network_stats.rs b/tests/wireguard_network_stats.rs index 8f73d049e4..8c8c306fce 100644 --- a/tests/wireguard_network_stats.rs +++ b/tests/wireguard_network_stats.rs @@ -15,6 +15,8 @@ use serde_json::{json, Value}; use self::common::make_test_client; +static DATE_FORMAT: &str = "%Y-%m-%dT%H:%M:00Z"; + fn make_network() -> Value { json!({ "name": "network", @@ -86,7 +88,7 @@ async fn test_stats() { let response = client .get(format!( "/api/v1/network/1/stats/users?from={}", - hour_ago.format("%Y-%m-%dT%H:%M:00Z"), + hour_ago.format(DATE_FORMAT), )) .send() .await; @@ -117,7 +119,7 @@ async fn test_stats() { let response = client .get(format!( "/api/v1/network/1/stats/users?from={}", - hour_ago.format("%Y-%m-%dT%H:%M:00Z"), + hour_ago.format(DATE_FORMAT), )) .send() .await; @@ -221,7 +223,7 @@ async fn test_stats() { let response = client .get(format!( "/api/v1/network/1/stats/users?from={}", - ten_hours_ago.format("%Y-%m-%dT%H:%M:00Z"), + ten_hours_ago.format(DATE_FORMAT), )) .send() .await; @@ -252,7 +254,7 @@ async fn test_stats() { let response = client .get(format!( "/api/v1/network/1/stats?from={}", - ten_hours_ago.format("%Y-%m-%dT%H:%M:00Z"), + ten_hours_ago.format(DATE_FORMAT), )) .send() .await; From 0b289180b4017f318c769a76cf2653a54e6794a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Ciarcin=CC=81ski?= Date: Tue, 17 Sep 2024 14:50:56 +0200 Subject: [PATCH 4/4] Fix Polish translation --- web/src/i18n/pl/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/src/i18n/pl/index.ts b/web/src/i18n/pl/index.ts index 8c73d9bcea..c5ed257d94 100644 --- a/web/src/i18n/pl/index.ts +++ b/web/src/i18n/pl/index.ts @@ -370,7 +370,7 @@ const pl: Translation = { }, lastName: { placeholder: 'Nazwisko', - label: 'Ostatnie imię', + label: 'Nazwisko', }, phone: { placeholder: 'Telefon', @@ -819,7 +819,7 @@ Uwaga, podane tutaj konfiguracje nie posiadają klucza prywatnego. Musisz uzupe copy: 'Kopiuj', saveChanges: 'Zapisz zmiany', submit: 'Zapisz', - login: 'Zaloguj sie', + login: 'Zaloguj się', cancel: 'Anuluj', close: 'Zamknij', placeholders: {