ZF-10122: Amazon S3 signature creation does not take parameter input into account

Issue Type: Bug Created: 2010-07-08T13:40:47.000+0000 Last Updated: 2011-05-27T16:04:18.000+0000 Status: Resolved Fix version(s): - 1.11.7 (02/Jun/11)

Reporter: Jack Qiao (jack000) Assignee: Enrico Zimuel (zimuel) Tags: - Zend_Service_Amazon

Related issues: - ZF-10218



The recommended way to change ACL permissions is to use PUT on the url bucketname/objectname?acl

using S3->_makeRequest('PUT') with the query variable in the $params array causes amazon to return a 403 signature not valid. This seems to be because of this line in the makeRequest function: self::addSignature($method, $path, $headers);

the signature creation only uses $path, ignoring $params

manually patching the $path with "?acl" appears to work.


Posted by Jack Qiao (jack000) on 2010-07-08T21:48:58.000+0000

This basically prevents you from using any amazon feature that requires a ?something query variable on a private object. I'm also hitting this issue with listing all versions of an object.

simply appending the query string to the $path variable results in an error "is not a valid HTTP path"

Posted by Enrico Zimuel (zimuel) on 2011-05-27T15:55:24.000+0000

Fixed on trunk (commit 24053). I added the fix reported in ZF-10218.

Posted by Enrico Zimuel (zimuel) on 2011-05-27T15:59:35.000+0000

Resolved in branches/release-1.11 (commit 24054)

Have you found an issue?

See the Overview section for more details.


© 2006-2016 by Zend, a Rogue Wave Company. Made with by awesome contributors.

This website is built using zend-expressive and it runs on PHP 7.