[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