public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox] s3-client: drop unused optional object list v2 response fields
@ 2025-09-16 14:52 Christian Ebner
  2025-11-11 14:02 ` Fabian Grünbichler
  2025-11-11 14:49 ` [pbs-devel] superseded: " Christian Ebner
  0 siblings, 2 replies; 3+ messages in thread
From: Christian Ebner @ 2025-09-16 14:52 UTC (permalink / raw)
  To: pbs-devel

The ListObjectsV2 Response contains fields as bucket name, number of
keys, number of max keys of the response and prefix of the response
keys [0]. Since the AWS S3 API reference documentation does not
explicitly mention these fields as required, they are to be
considered optional and because they are currently not used other
than for response deserialization which will fail if missing, drop
these fields for now.

Fixes: https://forum.proxmox.com/threads/171899/
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
 proxmox-s3-client/src/response_reader.rs | 24 ------------------------
 1 file changed, 24 deletions(-)

diff --git a/proxmox-s3-client/src/response_reader.rs b/proxmox-s3-client/src/response_reader.rs
index c00c7bd4..c705c104 100644
--- a/proxmox-s3-client/src/response_reader.rs
+++ b/proxmox-s3-client/src/response_reader.rs
@@ -21,14 +21,6 @@ pub(crate) struct ResponseReader {
 pub struct ListObjectsV2Response {
     /// Parsed http date header from response.
     pub date: Option<HttpDate>,
-    /// Bucket name.
-    pub name: String,
-    /// Requested key prefix.
-    pub prefix: String,
-    /// Number of keys returned in this response.
-    pub key_count: u64,
-    /// Number of max keys the response can contain.
-    pub max_keys: u64,
     /// Flag indication if response was truncated because of key limits.
     pub is_truncated: bool,
     /// Token used for this request to get further keys in truncated responses.
@@ -44,14 +36,6 @@ pub struct ListObjectsV2Response {
 /// Subset of items used to deserialize a list objects v2 respsonse.
 /// https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html#API_ListObjectsV2_ResponseSyntax
 struct ListObjectsV2ResponseBody {
-    /// Bucket name.
-    pub name: String,
-    /// Requested key prefix.
-    pub prefix: String,
-    /// Number of keys returned in this response.
-    pub key_count: u64,
-    /// Number of max keys the response can contain.
-    pub max_keys: u64,
     /// Flag indication if response was truncated because of key limits.
     pub is_truncated: bool,
     /// Token used for this request to get further keys in truncated responses.
@@ -66,10 +50,6 @@ impl ListObjectsV2ResponseBody {
     fn with_optional_date(self, date: Option<HttpDate>) -> ListObjectsV2Response {
         ListObjectsV2Response {
             date,
-            name: self.name,
-            prefix: self.prefix,
-            key_count: self.key_count,
-            max_keys: self.max_keys,
             is_truncated: self.is_truncated,
             continuation_token: self.continuation_token,
             next_continuation_token: self.next_continuation_token,
@@ -550,10 +530,6 @@ fn parse_list_objects_v2_response_test() {
         </ListBucketResult>
     "#;
     let result: ListObjectsV2ResponseBody = serde_xml_rs::from_str(&response_body).unwrap();
-    assert_eq!(result.name, "bucket0");
-    assert_eq!(result.prefix, ".cnt");
-    assert_eq!(result.key_count, 2);
-    assert_eq!(result.max_keys, 1000);
     assert_eq!(result.is_truncated, false);
     assert_eq!(
         result.contents.unwrap(),
-- 
2.47.3



_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [pbs-devel] [PATCH proxmox] s3-client: drop unused optional object list v2 response fields
  2025-09-16 14:52 [pbs-devel] [PATCH proxmox] s3-client: drop unused optional object list v2 response fields Christian Ebner
@ 2025-11-11 14:02 ` Fabian Grünbichler
  2025-11-11 14:49 ` [pbs-devel] superseded: " Christian Ebner
  1 sibling, 0 replies; 3+ messages in thread
From: Fabian Grünbichler @ 2025-11-11 14:02 UTC (permalink / raw)
  To: Proxmox Backup Server development discussion

looks sensible, but needs a rebase ;) please add the corresponding bug
to the commit title if you respin!

On September 16, 2025 4:52 pm, Christian Ebner wrote:
> The ListObjectsV2 Response contains fields as bucket name, number of
> keys, number of max keys of the response and prefix of the response
> keys [0]. Since the AWS S3 API reference documentation does not
> explicitly mention these fields as required, they are to be
> considered optional and because they are currently not used other
> than for response deserialization which will fail if missing, drop
> these fields for now.
> 
> Fixes: https://forum.proxmox.com/threads/171899/
> Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
> ---
>  proxmox-s3-client/src/response_reader.rs | 24 ------------------------
>  1 file changed, 24 deletions(-)
> 
> diff --git a/proxmox-s3-client/src/response_reader.rs b/proxmox-s3-client/src/response_reader.rs
> index c00c7bd4..c705c104 100644
> --- a/proxmox-s3-client/src/response_reader.rs
> +++ b/proxmox-s3-client/src/response_reader.rs
> @@ -21,14 +21,6 @@ pub(crate) struct ResponseReader {
>  pub struct ListObjectsV2Response {
>      /// Parsed http date header from response.
>      pub date: Option<HttpDate>,
> -    /// Bucket name.
> -    pub name: String,
> -    /// Requested key prefix.
> -    pub prefix: String,
> -    /// Number of keys returned in this response.
> -    pub key_count: u64,
> -    /// Number of max keys the response can contain.
> -    pub max_keys: u64,
>      /// Flag indication if response was truncated because of key limits.
>      pub is_truncated: bool,
>      /// Token used for this request to get further keys in truncated responses.
> @@ -44,14 +36,6 @@ pub struct ListObjectsV2Response {
>  /// Subset of items used to deserialize a list objects v2 respsonse.
>  /// https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html#API_ListObjectsV2_ResponseSyntax
>  struct ListObjectsV2ResponseBody {
> -    /// Bucket name.
> -    pub name: String,
> -    /// Requested key prefix.
> -    pub prefix: String,
> -    /// Number of keys returned in this response.
> -    pub key_count: u64,
> -    /// Number of max keys the response can contain.
> -    pub max_keys: u64,
>      /// Flag indication if response was truncated because of key limits.
>      pub is_truncated: bool,
>      /// Token used for this request to get further keys in truncated responses.
> @@ -66,10 +50,6 @@ impl ListObjectsV2ResponseBody {
>      fn with_optional_date(self, date: Option<HttpDate>) -> ListObjectsV2Response {
>          ListObjectsV2Response {
>              date,
> -            name: self.name,
> -            prefix: self.prefix,
> -            key_count: self.key_count,
> -            max_keys: self.max_keys,
>              is_truncated: self.is_truncated,
>              continuation_token: self.continuation_token,
>              next_continuation_token: self.next_continuation_token,
> @@ -550,10 +530,6 @@ fn parse_list_objects_v2_response_test() {
>          </ListBucketResult>
>      "#;
>      let result: ListObjectsV2ResponseBody = serde_xml_rs::from_str(&response_body).unwrap();
> -    assert_eq!(result.name, "bucket0");
> -    assert_eq!(result.prefix, ".cnt");
> -    assert_eq!(result.key_count, 2);
> -    assert_eq!(result.max_keys, 1000);
>      assert_eq!(result.is_truncated, false);
>      assert_eq!(
>          result.contents.unwrap(),
> -- 
> 2.47.3
> 
> 
> 
> _______________________________________________
> pbs-devel mailing list
> pbs-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
> 
> 
> 


_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [pbs-devel] superseded: [PATCH proxmox] s3-client: drop unused optional object list v2 response fields
  2025-09-16 14:52 [pbs-devel] [PATCH proxmox] s3-client: drop unused optional object list v2 response fields Christian Ebner
  2025-11-11 14:02 ` Fabian Grünbichler
@ 2025-11-11 14:49 ` Christian Ebner
  1 sibling, 0 replies; 3+ messages in thread
From: Christian Ebner @ 2025-11-11 14:49 UTC (permalink / raw)
  To: pbs-devel

superseded-by version 2:
https://lore.proxmox.com/pbs-devel/20251111144723.805238-1-c.ebner@proxmox.com/T/


_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-11-11 14:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-16 14:52 [pbs-devel] [PATCH proxmox] s3-client: drop unused optional object list v2 response fields Christian Ebner
2025-11-11 14:02 ` Fabian Grünbichler
2025-11-11 14:49 ` [pbs-devel] superseded: " Christian Ebner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal