k2v-client does not work with partition keys that require urlencoding #573
Labels
No labels
action
check-aws
action
discussion-needed
action
for-external-contributors
action
for-newcomers
action
more-info-needed
action
need-funding
action
triage-required
kind
correctness
kind/experimental
kind
ideas
kind
improvement
kind
performance
kind
testing
kind
usability
kind
wrong-behavior
prio
critical
prio
low
scope
admin-api
scope
admin-sdk
scope
background-healing
scope
build
scope
documentation
scope
k8s
scope
layout
scope
metadata
scope
ops
scope
rpc
scope
s3-api
scope
security
scope
telemetry
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#573
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
https://docs.rs/rusoto_signature/latest/src/rusoto_signature/signature.rs.html#464 : we learn that for all AWS services except S3, the canonical URL must be urlencoded twice (wtf???). The k2v-client library is using rusoto_signature that abides to this: since the service is not
s3
, it urlencodes twice the canonical URL and then computes the signature. On the server side, we use the same code for S3 and K2V, therefore we only urlencode once, and signatures therefore don't match when they contain characters that require encoding.Official source: https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html makes no mention of the "S3 exception", and actually makes no mention of the double-URLencoding.
k2v-client does not urlencode correctly when computing signatureto k2v-client does not work with partition keys that require urlencodinglx referenced this issue2023-05-17 22:09:44 +00:00