diff --git a/Cargo.lock b/Cargo.lock index cefbf04..77fee0a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1062,16 +1062,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "ctor" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" -dependencies = [ - "quote", - "syn 1.0.109", -] - [[package]] name = "ctr" version = "0.9.2" @@ -2470,11 +2460,10 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" dependencies = [ - "cfg-if", "value-bag", ] @@ -5078,11 +5067,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "log", "pin-project-lite", "tracing-attributes", @@ -5091,20 +5079,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.28", ] [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -5329,13 +5317,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "value-bag" -version = "1.0.0-alpha.9" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55" -dependencies = [ - "ctor", - "version_check", -] +checksum = "7cdbaf5e132e593e9fc1de6a15bbec912395b11fb9719e061cf64f804524c503" [[package]] name = "vcpkg" @@ -5377,7 +5361,7 @@ dependencies = [ [[package]] name = "warpgate" -version = "0.9.0" +version = "0.9.1" dependencies = [ "ansi_term", "anyhow", @@ -5413,7 +5397,7 @@ dependencies = [ [[package]] name = "warpgate-admin" -version = "0.9.0" +version = "0.9.1" dependencies = [ "anyhow", "async-trait", @@ -5442,7 +5426,7 @@ dependencies = [ [[package]] name = "warpgate-common" -version = "0.9.0" +version = "0.9.1" dependencies = [ "anyhow", "argon2", @@ -5478,7 +5462,7 @@ dependencies = [ [[package]] name = "warpgate-core" -version = "0.9.0" +version = "0.9.1" dependencies = [ "anyhow", "argon2", @@ -5518,7 +5502,7 @@ dependencies = [ [[package]] name = "warpgate-database-protocols" -version = "0.9.0" +version = "0.9.1" dependencies = [ "bitflags 1.3.2", "bytes", @@ -5531,7 +5515,7 @@ dependencies = [ [[package]] name = "warpgate-db-entities" -version = "0.9.0" +version = "0.9.1" dependencies = [ "chrono", "poem-openapi", @@ -5544,7 +5528,7 @@ dependencies = [ [[package]] name = "warpgate-db-migrations" -version = "0.9.0" +version = "0.9.1" dependencies = [ "async-std", "chrono", @@ -5556,7 +5540,7 @@ dependencies = [ [[package]] name = "warpgate-protocol-http" -version = "0.9.0" +version = "0.9.1" dependencies = [ "anyhow", "async-trait", @@ -5589,7 +5573,7 @@ dependencies = [ [[package]] name = "warpgate-protocol-mysql" -version = "0.9.0" +version = "0.9.1" dependencies = [ "anyhow", "async-trait", @@ -5616,7 +5600,7 @@ dependencies = [ [[package]] name = "warpgate-protocol-ssh" -version = "0.9.0" +version = "0.9.1" dependencies = [ "ansi_term", "anyhow", @@ -5641,7 +5625,7 @@ dependencies = [ [[package]] name = "warpgate-sso" -version = "0.9.0" +version = "0.9.1" dependencies = [ "bytes", "data-encoding", @@ -5657,7 +5641,7 @@ dependencies = [ [[package]] name = "warpgate-web" -version = "0.9.0" +version = "0.9.1" dependencies = [ "rust-embed", "serde", diff --git a/Cargo.toml b/Cargo.toml index 64b295e..0fb4772 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,6 +16,7 @@ members = [ "warpgate-web", ] default-members = ["warpgate"] +resolver = "2" [profile.release] lto = true diff --git a/rust-toolchain b/rust-toolchain index 78c5fdb..1894d1e 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2023-01-11 +nightly-2023-11-28 diff --git a/warpgate-admin/src/api/roles.rs b/warpgate-admin/src/api/roles.rs index 53965fd..54a0597 100644 --- a/warpgate-admin/src/api/roles.rs +++ b/warpgate-admin/src/api/roles.rs @@ -133,9 +133,7 @@ impl DetailApi { .map_err(poem::error::InternalServerError)?; Ok(match role { - Some(role) => GetRoleResponse::Ok(Json( - role.try_into().map_err(poem::error::InternalServerError)?, - )), + Some(role) => GetRoleResponse::Ok(Json(role.into())), None => GetRoleResponse::NotFound, }) } @@ -152,7 +150,8 @@ impl DetailApi { let Some(role) = Role::Entity::find_by_id(id.0) .one(&*db) .await - .map_err(poem::error::InternalServerError)? else { + .map_err(poem::error::InternalServerError)? + else { return Ok(UpdateRoleResponse::NotFound); }; @@ -181,7 +180,8 @@ impl DetailApi { let Some(role) = Role::Entity::find_by_id(id.0) .one(&*db) .await - .map_err(poem::error::InternalServerError)? else { + .map_err(poem::error::InternalServerError)? + else { return Ok(DeleteRoleResponse::NotFound); }; diff --git a/warpgate-common/src/eventhub.rs b/warpgate-common/src/eventhub.rs index 36e323c..68dd09b 100644 --- a/warpgate-common/src/eventhub.rs +++ b/warpgate-common/src/eventhub.rs @@ -19,9 +19,7 @@ impl Clone for EventSender { impl EventSender { async fn cleanup_subscriptions(&self) -> MutexGuard<'_, SubscriptionStoreInner> { let mut subscriptions = self.subscriptions.lock().await; - subscriptions - .drain_filter(|(_, ref s)| s.is_closed()) - .for_each(drop); + subscriptions.retain(|(_, ref s)| !s.is_closed()); subscriptions } } diff --git a/warpgate-common/src/lib.rs b/warpgate-common/src/lib.rs index 23e55fe..a86ed23 100644 --- a/warpgate-common/src/lib.rs +++ b/warpgate-common/src/lib.rs @@ -1,4 +1,4 @@ -#![feature(drain_filter, duration_constants)] +#![feature(duration_constants)] pub mod auth; mod config; pub mod consts; @@ -12,5 +12,4 @@ mod types; pub use config::*; pub use error::WarpgateError; pub use tls::*; -pub use try_macro::*; pub use types::*; diff --git a/warpgate-core/src/lib.rs b/warpgate-core/src/lib.rs index 81078dd..b4ae53e 100644 --- a/warpgate-core/src/lib.rs +++ b/warpgate-core/src/lib.rs @@ -1,4 +1,4 @@ -#![feature(drain_filter, duration_constants, try_blocks)] +#![feature(duration_constants, try_blocks)] pub mod consts; mod data; mod state; diff --git a/warpgate-core/src/logging/database.rs b/warpgate-core/src/logging/database.rs index d407472..f5ff0bd 100644 --- a/warpgate-core/src/logging/database.rs +++ b/warpgate-core/src/logging/database.rs @@ -57,10 +57,7 @@ fn values_to_log_entry_data(mut values: SerializedRecordValues) -> Option Self { - TerminalRecordingStreamId::Output - } -} - #[derive(Serialize, Deserialize, Debug)] #[serde(untagged)] pub enum TerminalRecordingItem { diff --git a/warpgate-protocol-http/src/proxy.rs b/warpgate-protocol-http/src/proxy.rs index 701e296..63d5481 100644 --- a/warpgate-protocol-http/src/proxy.rs +++ b/warpgate-protocol-http/src/proxy.rs @@ -136,7 +136,7 @@ fn copy_client_response( } } } - server_response.headers_mut().extend(headers.into_iter()); + server_response.headers_mut().extend(headers); server_response.set_status(client_response.status()); } diff --git a/warpgate-protocol-ssh/src/lib.rs b/warpgate-protocol-ssh/src/lib.rs index afe843f..68a2929 100644 --- a/warpgate-protocol-ssh/src/lib.rs +++ b/warpgate-protocol-ssh/src/lib.rs @@ -20,8 +20,6 @@ use uuid::Uuid; use warpgate_common::{ProtocolName, SshHostKeyVerificationMode, Target, TargetOptions}; use warpgate_core::{ProtocolServer, Services, TargetTestError}; -use crate::client::{RCCommand, RemoteClient}; - pub static PROTOCOL_NAME: ProtocolName = "SSH"; #[derive(Clone)] @@ -48,7 +46,9 @@ impl ProtocolServer for SSHProtocolServer { async fn test_target(&self, target: Target) -> Result<(), TargetTestError> { let TargetOptions::Ssh(ssh_options) = target.options else { - return Err(TargetTestError::Misconfigured("Not an SSH target".to_owned())); + return Err(TargetTestError::Misconfigured( + "Not an SSH target".to_owned(), + )); }; let mut handles = RemoteClient::create(Uuid::new_v4(), self.services.clone())?;