Project

General

Profile

Actions

Bug #45790

open

rgw/s3 awsv4 streaming signatures - more robust/future proofing?

Added by Marcus Watts almost 4 years ago. Updated almost 4 years ago.

Status:
In Progress
Priority:
Normal
Assignee:
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

awsv4 streaming signatures use a variation of rfc 2616 chunked encoding, which includes provisoins for multiple keyword/value pairs. Only one is presently defined for awsv4, "chunk-signature". The current code in rgw to decode this header just assumes there is one keyword/value pair and does very limited checking even on that. To be more "future-proof", this code ought to have more robust parsing logic, and ought to be able to tolerate the addition of other unspecified fields without breaking.

As a minor technical note: note that this is not the same as transfer-encoding: chunked. It is possible to employ both transfer-encoding: chunked and awsv4 streaming signatures ("double chunking"). When this combination is fed through haproxy, the chunked transfer encoding is redone, but the unencoded data stream including awsv4 streaming signatures chunks must remain intact.

Actions

Also available in: Atom PDF