[pbs-devel] applied: [PATCH proxmox] s3-client: properly uri encode request query parameters

Wolfgang Bumiller w.bumiller at proxmox.com
Mon Aug 25 11:35:44 CEST 2025


applied, thanks

On Thu, Aug 21, 2025 at 02:04:35PM +0200, Christian Ebner wrote:
> Slashes in object keys as part of the url must not be uri encoded.
> They should however be for the query parameters.
> 
> Fix this by correctly setting the flag signaling the
> aws_sign_v4_uri_encode helper that this is not to be encoded as
> object key.
> 
> Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
> ---
> Noticed in the ceph RGW debug log output while checking an unrelated
> issue.
> 
>  proxmox-s3-client/src/client.rs | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/proxmox-s3-client/src/client.rs b/proxmox-s3-client/src/client.rs
> index 3bc2a672..7a3fb89a 100644
> --- a/proxmox-s3-client/src/client.rs
> +++ b/proxmox-s3-client/src/client.rs
> @@ -698,10 +698,10 @@ impl S3Client {
>              // No further input validation as http::uri::Builder will check path and query
>              let mut query_iter = query.iter().peekable();
>              while let Some((key, value)) = query_iter.next() {
> -                let key = aws_sign_v4_uri_encode(key, true);
> +                let key = aws_sign_v4_uri_encode(key, false);
>                  path_and_query.push_str(&key);
>                  if !value.is_empty() {
> -                    let value = aws_sign_v4_uri_encode(value, true);
> +                    let value = aws_sign_v4_uri_encode(value, false);
>                      path_and_query.push('=');
>                      path_and_query.push_str(&value);
>                  }
> -- 
> 2.47.2




More information about the pbs-devel mailing list