Merge pull request #13344 from stevenhorsman/crate-bumps-jul-26-round-3

Crate bumps jul 26 round 3
This commit is contained in:
Hyounggyu Choi
2026-07-13 12:24:45 +02:00
committed by GitHub
10 changed files with 229 additions and 99 deletions

265
Cargo.lock generated
View File

@@ -155,9 +155,9 @@ dependencies = [
[[package]]
name = "anyhow"
version = "1.0.102"
version = "1.0.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
checksum = "2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3"
[[package]]
name = "api_client"
@@ -446,9 +446,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
[[package]]
name = "awaitgroup"
version = "0.6.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc17ab023b4091c10ff099f9deebaeeb59b5189df07e554c4fef042b70745d68"
checksum = "a872ceb3db05a391fbe7cf8eba07a1239b2d946eee66f9e942be9bff06206302"
[[package]]
name = "aws-lc-rs"
@@ -735,6 +735,15 @@ dependencies = [
"generic-array",
]
[[package]]
name = "block-buffer"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa"
dependencies = [
"hybrid-array",
]
[[package]]
name = "blocking"
version = "1.6.2"
@@ -1119,6 +1128,12 @@ dependencies = [
"crossbeam-utils",
]
[[package]]
name = "const-oid"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c"
[[package]]
name = "const_format"
version = "0.2.36"
@@ -1330,9 +1345,9 @@ dependencies = [
[[package]]
name = "crossbeam-epoch"
version = "0.9.18"
version = "0.9.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
checksum = "2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f"
dependencies = [
"crossbeam-utils",
]
@@ -1362,6 +1377,15 @@ dependencies = [
"typenum",
]
[[package]]
name = "crypto-common"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453"
dependencies = [
"hybrid-array",
]
[[package]]
name = "crypto-mac"
version = "0.11.0"
@@ -1806,10 +1830,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
"block-buffer 0.10.4",
"crypto-common",
"crypto-common 0.1.7",
"subtle",
]
[[package]]
name = "digest"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
dependencies = [
"block-buffer 0.12.1",
"const-oid",
"crypto-common 0.2.2",
]
[[package]]
name = "dispatch2"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38"
dependencies = [
"bitflags 2.11.1",
"objc2",
]
[[package]]
name = "displaydoc"
version = "0.2.5"
@@ -2782,6 +2827,15 @@ version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424"
[[package]]
name = "hybrid-array"
version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "818356c5132c1fede50f837ca96afbe78ff42413047f4abb886217845e1b6c8c"
dependencies = [
"typenum",
]
[[package]]
name = "hyper"
version = "0.14.32"
@@ -3516,7 +3570,7 @@ dependencies = [
"protobuf",
"protocols",
"regex",
"rstest 0.18.2",
"rstest",
"rtnetlink 0.14.1",
"runtime-spec",
"rustjail",
@@ -3527,7 +3581,7 @@ dependencies = [
"serde",
"serde_json",
"serial_test 0.10.0",
"sha2 0.10.9",
"sha2 0.11.0",
"slog",
"slog-scope",
"slog-stdlog",
@@ -3623,7 +3677,7 @@ dependencies = [
"quick-xml",
"reqwest 0.12.28",
"ron",
"rstest 0.26.1",
"rstest",
"semver",
"serde",
"serde_json",
@@ -3658,7 +3712,7 @@ dependencies = [
"libc",
"log",
"regex",
"rstest 0.18.2",
"rstest",
"serde_json",
"serde_yaml 0.9.34+deprecated",
"serial_test 0.10.0",
@@ -3680,7 +3734,7 @@ dependencies = [
"k8s-openapi",
"kube",
"log",
"rstest 0.18.2",
"rstest",
"serde_yaml 0.9.34+deprecated",
"tokio",
]
@@ -3700,7 +3754,7 @@ dependencies = [
"oci-spec 0.8.4",
"pci-ids",
"rand 0.10.1",
"rstest 0.18.2",
"rstest",
"runtime-spec",
"serde",
"serde_json",
@@ -3738,7 +3792,7 @@ name = "kata-types"
version = "0.1.0"
dependencies = [
"anyhow",
"base64 0.13.1",
"base64 0.22.1",
"bitmask-enum",
"byte-unit",
"crc",
@@ -3751,13 +3805,13 @@ dependencies = [
"num_cpus",
"oci-spec 0.8.4",
"regex",
"rstest 0.18.2",
"rstest",
"safe-path",
"scopeguard",
"serde",
"serde-enum-str",
"serde_json",
"sha2 0.10.9",
"sha2 0.11.0",
"slog",
"slog-scope",
"sysctl",
@@ -4716,6 +4770,15 @@ dependencies = [
"zstd 0.11.2+zstd.1.5.2",
]
[[package]]
name = "objc2"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f"
dependencies = [
"objc2-encode",
]
[[package]]
name = "objc2-core-foundation"
version = "0.3.2"
@@ -4723,6 +4786,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
dependencies = [
"bitflags 2.11.1",
"dispatch2",
"objc2",
]
[[package]]
name = "objc2-encode"
version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33"
[[package]]
name = "objc2-foundation"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
dependencies = [
"bitflags 2.11.1",
"objc2",
]
[[package]]
name = "objc2-io-kit"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15"
dependencies = [
"libc",
"objc2-core-foundation",
]
[[package]]
name = "objc2-open-directory"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb82bed227edf5201dfedf072bba4015a33d3d4a98519837295a90f0a23f676d"
dependencies = [
"objc2",
"objc2-core-foundation",
"objc2-foundation",
]
[[package]]
@@ -5936,9 +6038,9 @@ dependencies = [
[[package]]
name = "quick-xml"
version = "0.28.2"
version = "0.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1"
checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1"
dependencies = [
"memchr",
"serde",
@@ -6397,7 +6499,7 @@ dependencies = [
"oci-spec 0.8.4",
"persist",
"rand 0.10.1",
"rstest 0.18.2",
"rstest",
"rtnetlink 0.21.0",
"scopeguard",
"serde",
@@ -6492,18 +6594,6 @@ dependencies = [
"serde_derive",
]
[[package]]
name = "rstest"
version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199"
dependencies = [
"futures",
"futures-timer",
"rstest_macros 0.18.2",
"rustc_version",
]
[[package]]
name = "rstest"
version = "0.26.1"
@@ -6512,24 +6602,7 @@ checksum = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49"
dependencies = [
"futures-timer",
"futures-util",
"rstest_macros 0.26.1",
]
[[package]]
name = "rstest_macros"
version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"
dependencies = [
"cfg-if 1.0.4",
"glob",
"proc-macro2",
"quote",
"regex",
"relative-path",
"rustc_version",
"syn 2.0.117",
"unicode-ident",
"rstest_macros",
]
[[package]]
@@ -7282,6 +7355,17 @@ dependencies = [
"digest 0.10.7",
]
[[package]]
name = "sha2"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4"
dependencies = [
"cfg-if 1.0.4",
"cpufeatures 0.3.0",
"digest 0.11.3",
]
[[package]]
name = "sharded-slab"
version = "0.1.7"
@@ -7310,7 +7394,7 @@ dependencies = [
"runtime-spec",
"serial_test 0.10.0",
"service",
"sha2 0.10.9",
"sha2 0.11.0",
"slog",
"slog-async",
"slog-scope",
@@ -7715,14 +7799,16 @@ dependencies = [
[[package]]
name = "sysinfo"
version = "0.34.2"
version = "0.39.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4b93974b3d3aeaa036504b8eefd4c039dced109171c1ae973f1dc63b2c7e4b2"
checksum = "d2071df9448915b71c4fe6d25deaf1c22f12bd234f01540b77312bb8e41361e6"
dependencies = [
"libc",
"memchr",
"ntapi",
"objc2-core-foundation",
"objc2-io-kit",
"objc2-open-directory",
"windows",
]
@@ -9122,31 +9208,54 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows"
version = "0.57.0"
version = "0.62.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143"
checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580"
dependencies = [
"windows-collections",
"windows-core",
"windows-future",
"windows-numerics",
]
[[package]]
name = "windows-collections"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610"
dependencies = [
"windows-core",
"windows-targets 0.52.6",
]
[[package]]
name = "windows-core"
version = "0.57.0"
version = "0.62.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d"
checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
dependencies = [
"windows-implement",
"windows-interface",
"windows-result 0.1.2",
"windows-targets 0.52.6",
"windows-link",
"windows-result",
"windows-strings",
]
[[package]]
name = "windows-future"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb"
dependencies = [
"windows-core",
"windows-link",
"windows-threading",
]
[[package]]
name = "windows-implement"
version = "0.57.0"
version = "0.60.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7"
checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
dependencies = [
"proc-macro2",
"quote",
@@ -9155,9 +9264,9 @@ dependencies = [
[[package]]
name = "windows-interface"
version = "0.57.0"
version = "0.59.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7"
checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
dependencies = [
"proc-macro2",
"quote",
@@ -9170,6 +9279,16 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
[[package]]
name = "windows-numerics"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26"
dependencies = [
"windows-core",
"windows-link",
]
[[package]]
name = "windows-registry"
version = "0.6.1"
@@ -9177,19 +9296,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720"
dependencies = [
"windows-link",
"windows-result 0.4.1",
"windows-result",
"windows-strings",
]
[[package]]
name = "windows-result"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8"
dependencies = [
"windows-targets 0.52.6",
]
[[package]]
name = "windows-result"
version = "0.4.1"
@@ -9301,6 +9411,15 @@ dependencies = [
"windows_x86_64_msvc 0.53.1",
]
[[package]]
name = "windows-threading"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37"
dependencies = [
"windows-link",
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.5"

View File

@@ -2,7 +2,7 @@
authors = ["The Kata Containers community <kata-dev@lists.katacontainers.io>"]
edition = "2018"
license = "Apache-2.0"
rust-version = "1.94"
rust-version = "1.95"
[workspace]
members = [
@@ -149,7 +149,8 @@ vsock-exporter = { path = "src/agent/vsock-exporter" }
# Outside dependencies
actix-rt = "2.7.0"
anyhow = "1.0"
anyhow = "1.0.103"
awaitgroup = "0.7.0"
base64 = "0.22"
async-recursion = "0.3.2"
async-trait = "0.1.48"
@@ -186,20 +187,21 @@ prometheus = { version = "0.14.0", features = ["process"] }
protobuf = "3.7.2"
rand = "0.10.1"
regex = "1.10.5"
rstest = "0.18.0"
rstest = "0.26.1"
rtnetlink = "0.14.0"
scan_fmt = "0.2.6"
scopeguard = "1.0.0"
serde = { version = "1.0.145", features = ["derive"] }
serde_json = "1.0.91"
serial_test = "0.10.0"
sha2 = "0.10.9"
sha2 = "0.11.0"
slog = "2.5.2"
slog-scope = "4.4.0"
slog-stdlog = "4.0.0"
slog-term = "2.9.0"
strum = { version = "0.24.0", features = ["derive"] }
strum_macros = "0.26.2"
sysinfo = "0.39.5"
tdx = "0.1.1"
tempfile = "3.19.1"
thiserror = "2.0.18"

View File

@@ -84,7 +84,7 @@ vsock-exporter.workspace = true
# Initdata
base64 = { workspace = true }
sha2 = "0.10.8"
sha2 = { workspace = true }
async-compression = { version = "0.4.22", features = ["tokio", "gzip"] }
container-device-interface = "0.1.1"

View File

@@ -6,7 +6,7 @@ edition.workspace = true
license.workspace = true
[dependencies]
awaitgroup = "0.6.0"
awaitgroup = { workspace = true }
serde.workspace = true
serde_json.workspace = true

View File

@@ -13,7 +13,7 @@ edition = "2018"
[dependencies]
bitmask-enum = "2.1.0"
anyhow = "1.0"
base64 = "0.13.0"
base64 = { workspace = true }
byte-unit = "5.2.3"
glob = "0.3.0"
lazy_static = "1.4.0"
@@ -26,8 +26,8 @@ serde_json = "1.0.73"
thiserror = { workspace = true }
toml = { workspace = true }
serde-enum-str = "0.5"
sysinfo = "0.34.2"
sha2 = "0.10.8"
sysinfo = { workspace = true }
sha2 = { workspace = true }
flate2 = "1.1"
nix = { workspace = true }
oci-spec = { version = "0.8.1", features = ["runtime"] }
@@ -44,7 +44,7 @@ sysctl = "0.7.1"
tempfile = "3.19.1"
test-utils = { path = "../test-utils" }
nix = { workspace = true }
rstest = "0.18"
rstest = { workspace = true }
[features]
default = []

View File

@@ -5,6 +5,7 @@
use crate::sl;
use anyhow::{anyhow, Context, Result};
use base64::Engine as _;
use flate2::read::GzDecoder;
use serde::{Deserialize, Serialize};
use sha2::{Digest, Sha256, Sha384, Sha512};
@@ -202,7 +203,7 @@ pub fn calculate_initdata_digest(
let digest_platform = adjust_digest(&digest, platform);
// 4. Encode digest with base64/Standard
let b64encoded_digest = base64::encode_config(digest_platform, base64::STANDARD);
let b64encoded_digest = base64::engine::general_purpose::STANDARD.encode(digest_platform);
Ok(b64encoded_digest)
}
@@ -216,8 +217,9 @@ pub fn encode_initdata(init_data: &InitData) -> String {
/// Decodes a base64-encoded gzipped initdata document to its raw TOML representation.
fn decode_raw_initdata(initdata_annotation: &str) -> Result<String> {
// Base64 decode the annotation value
let b64_decoded =
base64::decode_config(initdata_annotation, base64::STANDARD).context("base64 decode")?;
let b64_decoded = base64::engine::general_purpose::STANDARD
.decode(initdata_annotation)
.context("base64 decode")?;
// Gzip decompress the decoded data
let mut gz_decoder = GzDecoder::new(&b64_decoded[..]);
@@ -256,7 +258,7 @@ fn create_encoded_input(content: &str) -> String {
let mut encoder = flate2::write::GzEncoder::new(Vec::new(), flate2::Compression::default());
encoder.write_all(content.as_bytes()).unwrap();
let compressed = encoder.finish().unwrap();
base64::encode_config(&compressed, base64::STANDARD)
base64::engine::general_purpose::STANDARD.encode(&compressed)
}
#[cfg(test)]
@@ -344,7 +346,7 @@ url = 'http://kbs-service.xxx.cluster.local:8080'
fn test_valid_base64_invalid_gzip() {
// Test with valid base64 but invalid gzip content
let not_gzipped = "This is not gzipped content";
let encoded = base64::encode_config(not_gzipped.as_bytes(), base64::STANDARD);
let encoded = base64::engine::general_purpose::STANDARD.encode(not_gzipped.as_bytes());
let result = add_hypervisor_initdata_overrides(&encoded);
assert!(result.is_err());
@@ -477,7 +479,7 @@ key = "value"
.write_all(init_data.to_string().unwrap().as_bytes())
.unwrap();
let compressed = encoder.finish().unwrap();
let b64_annotation = base64::encode(compressed);
let b64_annotation = base64::engine::general_purpose::STANDARD.encode(compressed);
// Test processing
let result = add_hypervisor_initdata_overrides(&b64_annotation).unwrap();

View File

@@ -5,6 +5,7 @@
//
use anyhow::{anyhow, Context, Error, Result};
use base64::Engine as _;
use std::convert::TryFrom;
use std::{collections::HashMap, path::PathBuf};
@@ -174,8 +175,9 @@ impl NydusExtraOptions {
));
}
let config_raw_data = options[0].trim_start_matches("extraoption=");
let extra_options_buf =
base64::decode(config_raw_data).context("decode the nydus's base64 extraoption")?;
let extra_options_buf = base64::engine::general_purpose::STANDARD
.decode(config_raw_data)
.context("decode the nydus's base64 extraoption")?;
serde_json::from_slice(&extra_options_buf).context("deserialize nydus's extraoption")
}
@@ -421,12 +423,12 @@ impl KataVirtualVolume {
/// Serializes the virtual volume object to a JSON string and encodes the string with base64.
pub fn to_base64(&self) -> Result<String> {
let json = self.to_json()?;
Ok(base64::encode(json))
Ok(base64::engine::general_purpose::STANDARD.encode(json))
}
/// Decodes and deserializes a virtual volume object from a base64 encoded JSON string.
pub fn from_base64(value: &str) -> Result<Self> {
let json = base64::decode(value)?;
let json = base64::engine::general_purpose::STANDARD.decode(value)?;
let volume: KataVirtualVolume = serde_json::from_slice(&json)?;
Ok(volume)
@@ -512,7 +514,8 @@ pub fn join_path(prefix: &str, volume_path: &str) -> Result<PathBuf> {
if volume_path.is_empty() {
return Err(anyhow!(std::io::ErrorKind::NotFound));
}
let b64_url_encoded_path = base64::encode_config(volume_path.as_bytes(), base64::URL_SAFE);
let b64_url_encoded_path =
base64::engine::general_purpose::URL_SAFE.encode(volume_path.as_bytes());
Ok(safe_path::scoped_join(prefix, b64_url_encoded_path)?)
}

View File

@@ -8,7 +8,7 @@ license = { workspace = true }
[dependencies]
anyhow = { workspace = true }
async-trait = { workspace = true }
awaitgroup = "0.6.0"
awaitgroup = { workspace = true }
containerd-shim-protos = { workspace = true }
libc = { workspace = true }
nix = { workspace = true }

View File

@@ -72,9 +72,13 @@ impl ShimExecutor {
// https://github.com/containerd/containerd/blob/v1.6.8/runtime/v2/shim/util_unix.go#L68 to
// generate a shim socket path.
Ok(PathBuf::from(format!(
"unix://{}/s/{:X}",
"unix://{}/s/{}",
SOCKET_ROOT,
hasher.finalize()
hasher
.finalize()
.iter()
.map(|b| format!("{b:02X}"))
.collect::<String>()
)))
}
}

View File

@@ -54,11 +54,11 @@ lazy_static.workspace = true
# for log-parser
serde_yaml = "0.9"
ron = "0.8"
quick-xml = { version = "0.28", features = ["serialize"] }
quick-xml = { version = "0.41.0", features = ["serialize"] }
csv = "1.2"
serde_with = "2.3"
chrono = { version = "0.4", features = ["serde"] }
rstest = "0.26.1"
rstest = { workspace = true }
[target.'cfg(target_arch = "s390x")'.dependencies]
reqwest = { version = "0.12", default-features = false, features = [