1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

Don't CGI encode header query values in the signature string

When constructing the signature string parameter, values that are valid to include in the string should not be CGI encoded (even though they should of course be encoded in the final request). See http://stackoverflow.com/a/12616647/1056941

Encoding breaks the ability to specify an attachment filename via

    ?response-content-disposition=attachment; filename=foo.txt

because the semicolon and space get encoded, which leads to a SignatureDoesNotMatch error. 

(Encoding was introduced in the changes made for 1.11; the above worked in 1.10.)
This commit is contained in:
ronen barzel 2013-05-19 03:43:28 +02:00
parent 11fb98a53b
commit 7d00407a6f

View file

@ -449,7 +449,7 @@ DATA
if VALID_QUERY_KEYS.include?(key)
value = params[:query][key]
if value
query_args << "#{key}=#{Fog::AWS.escape(value.to_s)}"
query_args << "#{key}=#{value}"
else
query_args << key
end