Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
radosgw: fix awsv4 header line sort order.
The awsv4 signature calculation includes a list of header lines, which are supposed to be sorted. The existing code sorts by header name, but it appears that in fact it is necessary to sort the whole header *line*, not just the field name. Sorting by just the field name usually works, but not always. The s3-tests teuthology suite includes s3tests.functional.test_s3.test_object_header_acl_grants s3tests.functional.test_s3.test_bucket_header_acl_grants which include the following header lines, x-amz-grant-read-acp:id=56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234 x-amz-grant-read:id=56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234 x-amz-grant-write-acp:id=56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234 x-amz-grant-write:id=56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234 in this case, note that ':' needs to sort after '-'. Fixes: http://tracker.ceph.com/issues/21607 Signed-off-by: Marcus Watts <mwatts@redhat.com>
- Loading branch information