diff --git a/Cargo.lock b/Cargo.lock index ee61ca9ff..7907ade00 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4830,9 +4830,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quick-xml" -version = "0.31.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +checksum = "86e446ed58cef1bbfe847bc2fda0e2e4ea9f0e57b90c507d4781292590d72a4e" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index 70ecf366a..f253801f2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -77,7 +77,7 @@ percent-encoding = "2.3" parking_lot = "0.12" pgp = { version = "0.11", default-features = false } qrcodegen = "1.7.0" -quick-xml = "0.31" +quick-xml = "0.35" quoted_printable = "0.5" rand = { workspace = true } regex = { workspace = true } diff --git a/src/configure.rs b/src/configure.rs index 7d485b822..9740ed1f1 100644 --- a/src/configure.rs +++ b/src/configure.rs @@ -730,7 +730,7 @@ pub enum Error { #[error("XML error at position {position}: {error}")] InvalidXml { - position: usize, + position: u64, #[source] error: quick_xml::Error, }, diff --git a/src/configure/auto_mozilla.rs b/src/configure/auto_mozilla.rs index aa1d991f2..f5ae53326 100644 --- a/src/configure/auto_mozilla.rs +++ b/src/configure/auto_mozilla.rs @@ -80,7 +80,7 @@ fn parse_server( }) .map(|typ| { typ.unwrap() - .decode_and_unescape_value(reader) + .decode_and_unescape_value(reader.decoder()) .unwrap_or_default() .to_lowercase() }) @@ -191,7 +191,7 @@ fn parse_xml_with_address(in_emailaddr: &str, xml_raw: &str) -> Result( fn parse_xml(xml_raw: &str) -> Result { let mut reader = quick_xml::Reader::from_str(xml_raw); - reader.trim_text(true); + reader.config_mut().trim_text(true); parse_xml_reader(&mut reader).map_err(|error| Error::InvalidXml { position: reader.buffer_position(), diff --git a/src/dehtml.rs b/src/dehtml.rs index b001bb50f..8ae56240e 100644 --- a/src/dehtml.rs +++ b/src/dehtml.rs @@ -129,7 +129,7 @@ fn dehtml_quick_xml(buf: &str) -> (String, String) { }; let mut reader = quick_xml::Reader::from_str(buf); - reader.check_end_names(false); + reader.config_mut().check_end_names = false; let mut buf = Vec::new(); @@ -299,7 +299,7 @@ fn dehtml_starttag_cb( }) { let href = href - .decode_and_unescape_value(reader) + .decode_and_unescape_value(reader.decoder()) .unwrap_or_default() .to_string(); @@ -348,7 +348,7 @@ fn maybe_push_tag( fn tag_contains_attr(event: &BytesStart, reader: &Reader, name: &str) -> bool { event.attributes().any(|r| { r.map(|a| { - a.decode_and_unescape_value(reader) + a.decode_and_unescape_value(reader.decoder()) .map(|v| v == name) .unwrap_or(false) }) @@ -457,7 +457,7 @@ mod tests { #[test] fn test_dehtml_parse_href() { - let html = "text