bumped rust

This commit is contained in:
Eugene 2024-01-23 12:05:59 +01:00
parent 75a2b8c5c6
commit 2d6621f5c8
No known key found for this signature in database
GPG key ID: 5896FCBBDD1CF4F4
11 changed files with 40 additions and 66 deletions

62
Cargo.lock generated
View file

@ -1062,16 +1062,6 @@ dependencies = [
"typenum", "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]] [[package]]
name = "ctr" name = "ctr"
version = "0.9.2" version = "0.9.2"
@ -2470,11 +2460,10 @@ dependencies = [
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.17" version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
dependencies = [ dependencies = [
"cfg-if",
"value-bag", "value-bag",
] ]
@ -5078,11 +5067,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
[[package]] [[package]]
name = "tracing" name = "tracing"
version = "0.1.37" version = "0.1.40"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
dependencies = [ dependencies = [
"cfg-if",
"log", "log",
"pin-project-lite", "pin-project-lite",
"tracing-attributes", "tracing-attributes",
@ -5091,20 +5079,20 @@ dependencies = [
[[package]] [[package]]
name = "tracing-attributes" name = "tracing-attributes"
version = "0.1.23" version = "0.1.27"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 1.0.109", "syn 2.0.28",
] ]
[[package]] [[package]]
name = "tracing-core" name = "tracing-core"
version = "0.1.30" version = "0.1.32"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
dependencies = [ dependencies = [
"once_cell", "once_cell",
"valuable", "valuable",
@ -5329,13 +5317,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]] [[package]]
name = "value-bag" name = "value-bag"
version = "1.0.0-alpha.9" version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55" checksum = "7cdbaf5e132e593e9fc1de6a15bbec912395b11fb9719e061cf64f804524c503"
dependencies = [
"ctor",
"version_check",
]
[[package]] [[package]]
name = "vcpkg" name = "vcpkg"
@ -5377,7 +5361,7 @@ dependencies = [
[[package]] [[package]]
name = "warpgate" name = "warpgate"
version = "0.9.0" version = "0.9.1"
dependencies = [ dependencies = [
"ansi_term", "ansi_term",
"anyhow", "anyhow",
@ -5413,7 +5397,7 @@ dependencies = [
[[package]] [[package]]
name = "warpgate-admin" name = "warpgate-admin"
version = "0.9.0" version = "0.9.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
@ -5442,7 +5426,7 @@ dependencies = [
[[package]] [[package]]
name = "warpgate-common" name = "warpgate-common"
version = "0.9.0" version = "0.9.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"argon2", "argon2",
@ -5478,7 +5462,7 @@ dependencies = [
[[package]] [[package]]
name = "warpgate-core" name = "warpgate-core"
version = "0.9.0" version = "0.9.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"argon2", "argon2",
@ -5518,7 +5502,7 @@ dependencies = [
[[package]] [[package]]
name = "warpgate-database-protocols" name = "warpgate-database-protocols"
version = "0.9.0" version = "0.9.1"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"bytes", "bytes",
@ -5531,7 +5515,7 @@ dependencies = [
[[package]] [[package]]
name = "warpgate-db-entities" name = "warpgate-db-entities"
version = "0.9.0" version = "0.9.1"
dependencies = [ dependencies = [
"chrono", "chrono",
"poem-openapi", "poem-openapi",
@ -5544,7 +5528,7 @@ dependencies = [
[[package]] [[package]]
name = "warpgate-db-migrations" name = "warpgate-db-migrations"
version = "0.9.0" version = "0.9.1"
dependencies = [ dependencies = [
"async-std", "async-std",
"chrono", "chrono",
@ -5556,7 +5540,7 @@ dependencies = [
[[package]] [[package]]
name = "warpgate-protocol-http" name = "warpgate-protocol-http"
version = "0.9.0" version = "0.9.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
@ -5589,7 +5573,7 @@ dependencies = [
[[package]] [[package]]
name = "warpgate-protocol-mysql" name = "warpgate-protocol-mysql"
version = "0.9.0" version = "0.9.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
@ -5616,7 +5600,7 @@ dependencies = [
[[package]] [[package]]
name = "warpgate-protocol-ssh" name = "warpgate-protocol-ssh"
version = "0.9.0" version = "0.9.1"
dependencies = [ dependencies = [
"ansi_term", "ansi_term",
"anyhow", "anyhow",
@ -5641,7 +5625,7 @@ dependencies = [
[[package]] [[package]]
name = "warpgate-sso" name = "warpgate-sso"
version = "0.9.0" version = "0.9.1"
dependencies = [ dependencies = [
"bytes", "bytes",
"data-encoding", "data-encoding",
@ -5657,7 +5641,7 @@ dependencies = [
[[package]] [[package]]
name = "warpgate-web" name = "warpgate-web"
version = "0.9.0" version = "0.9.1"
dependencies = [ dependencies = [
"rust-embed", "rust-embed",
"serde", "serde",

View file

@ -16,6 +16,7 @@ members = [
"warpgate-web", "warpgate-web",
] ]
default-members = ["warpgate"] default-members = ["warpgate"]
resolver = "2"
[profile.release] [profile.release]
lto = true lto = true

View file

@ -1 +1 @@
nightly-2023-01-11 nightly-2023-11-28

View file

@ -133,9 +133,7 @@ impl DetailApi {
.map_err(poem::error::InternalServerError)?; .map_err(poem::error::InternalServerError)?;
Ok(match role { Ok(match role {
Some(role) => GetRoleResponse::Ok(Json( Some(role) => GetRoleResponse::Ok(Json(role.into())),
role.try_into().map_err(poem::error::InternalServerError)?,
)),
None => GetRoleResponse::NotFound, None => GetRoleResponse::NotFound,
}) })
} }
@ -152,7 +150,8 @@ impl DetailApi {
let Some(role) = Role::Entity::find_by_id(id.0) let Some(role) = Role::Entity::find_by_id(id.0)
.one(&*db) .one(&*db)
.await .await
.map_err(poem::error::InternalServerError)? else { .map_err(poem::error::InternalServerError)?
else {
return Ok(UpdateRoleResponse::NotFound); return Ok(UpdateRoleResponse::NotFound);
}; };
@ -181,7 +180,8 @@ impl DetailApi {
let Some(role) = Role::Entity::find_by_id(id.0) let Some(role) = Role::Entity::find_by_id(id.0)
.one(&*db) .one(&*db)
.await .await
.map_err(poem::error::InternalServerError)? else { .map_err(poem::error::InternalServerError)?
else {
return Ok(DeleteRoleResponse::NotFound); return Ok(DeleteRoleResponse::NotFound);
}; };

View file

@ -19,9 +19,7 @@ impl<E> Clone for EventSender<E> {
impl<E> EventSender<E> { impl<E> EventSender<E> {
async fn cleanup_subscriptions(&self) -> MutexGuard<'_, SubscriptionStoreInner<E>> { async fn cleanup_subscriptions(&self) -> MutexGuard<'_, SubscriptionStoreInner<E>> {
let mut subscriptions = self.subscriptions.lock().await; let mut subscriptions = self.subscriptions.lock().await;
subscriptions subscriptions.retain(|(_, ref s)| !s.is_closed());
.drain_filter(|(_, ref s)| s.is_closed())
.for_each(drop);
subscriptions subscriptions
} }
} }

View file

@ -1,4 +1,4 @@
#![feature(drain_filter, duration_constants)] #![feature(duration_constants)]
pub mod auth; pub mod auth;
mod config; mod config;
pub mod consts; pub mod consts;
@ -12,5 +12,4 @@ mod types;
pub use config::*; pub use config::*;
pub use error::WarpgateError; pub use error::WarpgateError;
pub use tls::*; pub use tls::*;
pub use try_macro::*;
pub use types::*; pub use types::*;

View file

@ -1,4 +1,4 @@
#![feature(drain_filter, duration_constants, try_blocks)] #![feature(duration_constants, try_blocks)]
pub mod consts; pub mod consts;
mod data; mod data;
mod state; mod state;

View file

@ -57,10 +57,7 @@ fn values_to_log_entry_data(mut values: SerializedRecordValues) -> Option<LogEnt
let message = (*values).remove("message").unwrap_or_default(); let message = (*values).remove("message").unwrap_or_default();
use sea_orm::ActiveValue::Set; use sea_orm::ActiveValue::Set;
let session_id = session_id.and_then(|x| Uuid::parse_str(&x).ok()); let session_id = session_id.and_then(|x| Uuid::parse_str(&x).ok())?;
let Some(session_id) = session_id else {
return None
};
Some(LogEntry::ActiveModel { Some(LogEntry::ActiveModel {
id: Set(Uuid::new_v4()), id: Set(Uuid::new_v4()),

View file

@ -19,19 +19,14 @@ pub enum AsciiCast {
Output(f32, String, String), Output(f32, String, String),
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug, Default)]
pub enum TerminalRecordingStreamId { pub enum TerminalRecordingStreamId {
Input, Input,
#[default]
Output, Output,
Error, Error,
} }
impl Default for TerminalRecordingStreamId {
fn default() -> Self {
TerminalRecordingStreamId::Output
}
}
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)] #[serde(untagged)]
pub enum TerminalRecordingItem { pub enum TerminalRecordingItem {

View file

@ -136,7 +136,7 @@ fn copy_client_response<R: SomeResponse>(
} }
} }
} }
server_response.headers_mut().extend(headers.into_iter()); server_response.headers_mut().extend(headers);
server_response.set_status(client_response.status()); server_response.set_status(client_response.status());
} }

View file

@ -20,8 +20,6 @@ use uuid::Uuid;
use warpgate_common::{ProtocolName, SshHostKeyVerificationMode, Target, TargetOptions}; use warpgate_common::{ProtocolName, SshHostKeyVerificationMode, Target, TargetOptions};
use warpgate_core::{ProtocolServer, Services, TargetTestError}; use warpgate_core::{ProtocolServer, Services, TargetTestError};
use crate::client::{RCCommand, RemoteClient};
pub static PROTOCOL_NAME: ProtocolName = "SSH"; pub static PROTOCOL_NAME: ProtocolName = "SSH";
#[derive(Clone)] #[derive(Clone)]
@ -48,7 +46,9 @@ impl ProtocolServer for SSHProtocolServer {
async fn test_target(&self, target: Target) -> Result<(), TargetTestError> { async fn test_target(&self, target: Target) -> Result<(), TargetTestError> {
let TargetOptions::Ssh(ssh_options) = target.options else { 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())?; let mut handles = RemoteClient::create(Uuid::new_v4(), self.services.clone())?;