-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/9230/
-----------------------------------------------------------

(Updated Feb. 12, 2013, 12:18 p.m.)


Review request for cloudstack and Prachi Damle.


Changes
-------

Thanks for the review Prachi.

I made the translation from %7E to ~ because according to 
rfc3986#section-2.4(http://tools.ietf.org/html/rfc3986#section-2.4), older URI 
processing implementations encode tilde ("~") character to "%7E". But when i 
used the Boto client i see that "~" is not encoded and there is no signature 
mismatch and so we don't have to replace the character after URL encoding. I 
have now updated the diff to remove 'replace ~ by %7E'.

Manual testing
1. Make any EC2 Query API call with a space in the parameter value - the api 
call should be successfully executed and throw an error 
2. Repeat the same for chararcter "*"
When tested without the patch both steps throw a Permission denied exception

Also note,
1. "*" is urlencoded to "*" but percent encoded to %2A
2. "space" is urlencode to "+" but percent encoded to %20


Description
-------

Convert space characters in the parameters to %20 while forming a query string 
after url-encode because java.net.URLEncoder performs 
application/x-www-form-urlencoded-type encoding and not percent-encoding. 
According to RFC 3986 as required by Amazon, we need to percent-encode.


This addresses bug CLOUDSTACK-1125.


Diffs (updated)
-----

  awsapi/src/com/cloud/bridge/service/EC2RestServlet.java 5d151ba 

Diff: https://reviews.apache.org/r/9230/diff/


Testing
-------

Make any EC2 Query API call with a space in the parameter value - the api call 
should be successfully executed and throw an error 


Thanks,

Likitha Shetty

Reply via email to