diff --git a/Cargo.lock b/Cargo.lock index c922bf09..95844e54 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -921,7 +921,7 @@ dependencies = [ "log", "ruma", "serde_json", - "serde_yaml", + "serde_yml", "tokio", "tracing", "tracing-subscriber", @@ -1012,7 +1012,7 @@ dependencies = [ "serde", "serde_json", "serde_regex", - "serde_yaml", + "serde_yml", "smallstr", "smallvec", "thiserror 2.0.16", @@ -1123,7 +1123,7 @@ dependencies = [ "rustyline-async", "serde", "serde_json", - "serde_yaml", + "serde_yml", "sha2", "termimad", "tokio", @@ -2786,6 +2786,16 @@ dependencies = [ "windows-targets 0.53.3", ] +[[package]] +name = "libyml" +version = "0.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3302702afa434ffa30847a83305f0a69d6abd74293b6554c18ec85c7ef30c980" +dependencies = [ + "anyhow", + "version_check", +] + [[package]] name = "libz-sys" version = "1.1.22" @@ -4807,16 +4817,18 @@ dependencies = [ ] [[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" +name = "serde_yml" +version = "0.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +checksum = "59e2dd588bf1597a252c3b920e0143eb99b0f76e4e082f4c92ce34fbc9e71ddd" dependencies = [ "indexmap 2.11.1", "itoa", + "libyml", + "memchr", "ryu", "serde", - "unsafe-libyaml", + "version_check", ] [[package]] @@ -5784,12 +5796,6 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" -[[package]] -name = "unsafe-libyaml" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" - [[package]] name = "untrusted" version = "0.7.1" diff --git a/Cargo.toml b/Cargo.toml index 27ed5cb6..2c9f3bc3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -166,8 +166,8 @@ default-features = false features = ["raw_value"] # Used for appservice registration files -[workspace.dependencies.serde_yaml] -version = "0.9.34" +[workspace.dependencies.serde_yml] +version = "0.0.12" # Used to load forbidden room/user regex from config [workspace.dependencies.serde_regex] diff --git a/src/admin/Cargo.toml b/src/admin/Cargo.toml index 470d3e34..243a8567 100644 --- a/src/admin/Cargo.toml +++ b/src/admin/Cargo.toml @@ -85,7 +85,7 @@ futures.workspace = true log.workspace = true ruma.workspace = true serde_json.workspace = true -serde_yaml.workspace = true +serde_yml.workspace = true tokio.workspace = true tracing-subscriber.workspace = true tracing.workspace = true diff --git a/src/admin/appservice/commands.rs b/src/admin/appservice/commands.rs index 3575e067..bf76584b 100644 --- a/src/admin/appservice/commands.rs +++ b/src/admin/appservice/commands.rs @@ -16,7 +16,7 @@ pub(super) async fn register(&self) -> Result { let range = 1..checked!(body_len - 1)?; let appservice_config_body = body[range].join("\n"); - let parsed_config = serde_yaml::from_str(&appservice_config_body); + let parsed_config = serde_yml::from_str(&appservice_config_body); match parsed_config { | Err(e) => return Err!("Could not parse appservice config as YAML: {e}"), | Ok(registration) => match self @@ -57,7 +57,7 @@ pub(super) async fn show_appservice_config(&self, appservice_identifier: String) { | None => return Err!("Appservice does not exist."), | Some(config) => { - let config_str = serde_yaml::to_string(&config)?; + let config_str = serde_yml::to_string(&config)?; write!(self, "Config for {appservice_identifier}:\n\n```yaml\n{config_str}\n```") }, } diff --git a/src/core/Cargo.toml b/src/core/Cargo.toml index 462b8e54..da35cebc 100644 --- a/src/core/Cargo.toml +++ b/src/core/Cargo.toml @@ -92,7 +92,7 @@ ruma.workspace = true sanitize-filename.workspace = true serde_json.workspace = true serde_regex.workspace = true -serde_yaml.workspace = true +serde_yml.workspace = true serde.workspace = true smallvec.workspace = true smallstr.workspace = true diff --git a/src/core/error/mod.rs b/src/core/error/mod.rs index 541af793..f1ef31c1 100644 --- a/src/core/error/mod.rs +++ b/src/core/error/mod.rs @@ -83,7 +83,7 @@ pub enum Error { #[error(transparent)] TypedHeader(#[from] axum_extra::typed_header::TypedHeaderRejection), #[error(transparent)] - Yaml(#[from] serde_yaml::Error), + Yaml(#[from] serde_yml::Error), // ruma/conduwuit #[error("Arithmetic operation failed: {0}")] diff --git a/src/service/Cargo.toml b/src/service/Cargo.toml index e4abb9bb..517c4c5c 100644 --- a/src/service/Cargo.toml +++ b/src/service/Cargo.toml @@ -105,7 +105,7 @@ rustyline-async.workspace = true rustyline-async.optional = true serde_json.workspace = true serde.workspace = true -serde_yaml.workspace = true +serde_yml.workspace = true sha2.workspace = true termimad.workspace = true termimad.optional = true diff --git a/src/service/appservice/mod.rs b/src/service/appservice/mod.rs index adbf3b6e..c4c4475a 100644 --- a/src/service/appservice/mod.rs +++ b/src/service/appservice/mod.rs @@ -271,7 +271,7 @@ impl Service { .id_appserviceregistrations .get(id) .await - .and_then(|ref bytes| serde_yaml::from_slice(bytes).map_err(Into::into)) + .and_then(|ref bytes| serde_yml::from_slice(bytes).map_err(Into::into)) .map_err(|e| err!(Database("Invalid appservice {id:?} registration: {e:?}"))) }