mirror of
https://github.com/rustfs/rustfs.git
synced 2026-09-07 20:46:11 +00:00
Merge branch 'main' into houseme/fix/scanner-heal-v2-w02
This commit is contained in:
Generated
+2
@@ -9527,6 +9527,7 @@ dependencies = [
|
|||||||
"metrics",
|
"metrics",
|
||||||
"metrics-util",
|
"metrics-util",
|
||||||
"mime_guess",
|
"mime_guess",
|
||||||
|
"moka",
|
||||||
"opentelemetry",
|
"opentelemetry",
|
||||||
"opentelemetry_sdk",
|
"opentelemetry_sdk",
|
||||||
"p256 0.14.0",
|
"p256 0.14.0",
|
||||||
@@ -9619,6 +9620,7 @@ dependencies = [
|
|||||||
"urlencoding",
|
"urlencoding",
|
||||||
"uuid",
|
"uuid",
|
||||||
"x509-parser",
|
"x509-parser",
|
||||||
|
"xxhash-rust",
|
||||||
"zeroize",
|
"zeroize",
|
||||||
"zip",
|
"zip",
|
||||||
"zstd 0.14.0",
|
"zstd 0.14.0",
|
||||||
|
|||||||
@@ -291,6 +291,8 @@ tokio-rustls = { workspace = true, default-features = false, features = ["loggin
|
|||||||
aws-smithy-runtime-api = { workspace = true, features = ["http-1x"] }
|
aws-smithy-runtime-api = { workspace = true, features = ["http-1x"] }
|
||||||
aws-smithy-types = { workspace = true }
|
aws-smithy-types = { workspace = true }
|
||||||
google-cloud-auth = { workspace = true, optional = true }
|
google-cloud-auth = { workspace = true, optional = true }
|
||||||
|
moka = { workspace = true, features = ["sync"] }
|
||||||
|
xxhash-rust = { workspace = true, features = ["xxh3"] }
|
||||||
aws-sdk-s3 = { workspace = true, default-features = false, features = ["sigv4a", "default-https-client", "rt-tokio"] }
|
aws-sdk-s3 = { workspace = true, default-features = false, features = ["sigv4a", "default-https-client", "rt-tokio"] }
|
||||||
tokio-stream.workspace = true
|
tokio-stream.workspace = true
|
||||||
tokio-util = { workspace = true, features = ["io", "compat", "time"] }
|
tokio-util = { workspace = true, features = ["io", "compat", "time"] }
|
||||||
|
|||||||
@@ -443,7 +443,9 @@ mod tests {
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::app::bucket_usecase::DefaultBucketUsecase;
|
use crate::app::bucket_usecase::DefaultBucketUsecase;
|
||||||
use crate::app::gating_test_env::{run_large_stack_test, shared_gating_ecstore};
|
use crate::app::gating_test_env::{run_large_stack_test, shared_gating_ecstore};
|
||||||
use crate::app::storage_api::bucket_usecase::s3::{ListObjectsV2Input, ListObjectsV2Output, S3Request, S3Response};
|
use crate::app::storage_api::bucket_usecase::s3::{
|
||||||
|
ListObjectsInput, ListObjectsV2Input, ListObjectsV2Output, S3Request, S3Response, XmlSerialize, XmlSerializer,
|
||||||
|
};
|
||||||
use crate::app::storage_api::test::StoragePutObjReader;
|
use crate::app::storage_api::test::StoragePutObjReader;
|
||||||
use crate::app::storage_api::test::contract::bucket::{BucketOperations as _, MakeBucketOptions};
|
use crate::app::storage_api::test::contract::bucket::{BucketOperations as _, MakeBucketOptions};
|
||||||
use crate::app::storage_api::test::contract::object::ObjectIO as _;
|
use crate::app::storage_api::test::contract::object::ObjectIO as _;
|
||||||
@@ -451,7 +453,6 @@ mod tests {
|
|||||||
FilterConfig, MAX_LIST_NO_PROGRESS_PAGES, OnDemandMigrationConfig, PathStyle, PolicyConfig, Provider, SourceConfig,
|
FilterConfig, MAX_LIST_NO_PROGRESS_PAGES, OnDemandMigrationConfig, PathStyle, PolicyConfig, Provider, SourceConfig,
|
||||||
SourceCredentials, TlsConfig,
|
SourceCredentials, TlsConfig,
|
||||||
};
|
};
|
||||||
use s3s::dto::ListObjectsInput;
|
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
use tokio::io::{AsyncReadExt, AsyncWriteExt};
|
use tokio::io::{AsyncReadExt, AsyncWriteExt};
|
||||||
|
|
||||||
@@ -864,7 +865,7 @@ mod tests {
|
|||||||
assert_eq!(output.next_marker.as_deref(), (index == 0).then_some(expected_key));
|
assert_eq!(output.next_marker.as_deref(), (index == 0).then_some(expected_key));
|
||||||
|
|
||||||
let mut xml = Vec::new();
|
let mut xml = Vec::new();
|
||||||
s3s::xml::Serialize::serialize(&output, &mut s3s::xml::Serializer::new(&mut xml))
|
XmlSerialize::serialize(&output, &mut XmlSerializer::new(&mut xml))
|
||||||
.expect("serialize the real v1 response");
|
.expect("serialize the real v1 response");
|
||||||
assert!(!xml.contains(&0), "XML 1.0 forbids NUL in NextMarker");
|
assert!(!xml.contains(&0), "XML 1.0 forbids NUL in NextMarker");
|
||||||
let mut reader = quick_xml::Reader::from_reader(xml.as_slice());
|
let mut reader = quick_xml::Reader::from_reader(xml.as_slice());
|
||||||
|
|||||||
@@ -27,12 +27,16 @@ pub(crate) fn EndpointServerPools(
|
|||||||
/// S3 wire types for app-layer modules, funneled here so new files stay off
|
/// S3 wire types for app-layer modules, funneled here so new files stay off
|
||||||
/// the direct s3s surface (s3s footprint ratchet, `scripts/check_s3s_footprint.sh`).
|
/// the direct s3s surface (s3s footprint ratchet, `scripts/check_s3s_footprint.sh`).
|
||||||
pub(crate) mod s3 {
|
pub(crate) mod s3 {
|
||||||
|
#[cfg(test)]
|
||||||
|
pub(crate) use s3s::dto::ListObjectsInput;
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
pub(crate) use s3s::dto::{
|
pub(crate) use s3s::dto::{
|
||||||
BucketVersioningStatus, DeleteMarkerReplication, DeleteMarkerReplicationStatus, Destination, ListObjectsV2Input,
|
BucketVersioningStatus, DeleteMarkerReplication, DeleteMarkerReplicationStatus, Destination, ListObjectsV2Input,
|
||||||
ListObjectsV2Output, ReplicationConfiguration, ReplicationRule, ReplicationRuleFilter, ReplicationRuleStatus,
|
ListObjectsV2Output, ReplicationConfiguration, ReplicationRule, ReplicationRuleFilter, ReplicationRuleStatus,
|
||||||
ServerSideEncryptionByDefault, ServerSideEncryptionConfiguration, ServerSideEncryptionRule, Tag, VersioningConfiguration,
|
ServerSideEncryptionByDefault, ServerSideEncryptionConfiguration, ServerSideEncryptionRule, Tag, VersioningConfiguration,
|
||||||
};
|
};
|
||||||
|
#[cfg(test)]
|
||||||
|
pub(crate) use s3s::xml::{Serialize as XmlSerialize, Serializer as XmlSerializer};
|
||||||
pub(crate) use s3s::{S3Error, S3ErrorCode, S3Result};
|
pub(crate) use s3s::{S3Error, S3ErrorCode, S3Result};
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
pub(crate) use s3s::{S3Request, S3Response};
|
pub(crate) use s3s::{S3Request, S3Response};
|
||||||
|
|||||||
Reference in New Issue
Block a user