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

(Updated Feb. 11, 2013, 12:34 p.m.)


Review request for cloudstack, John Kinsella, Alena Prokharchyk, and Rohit 
Yadav.


Changes
-------

Thanks for reviewing John and sorry for the delayed response.

In the updated diff, for each of the parameter value the control characters are 
stripped out using ESAPI library. The new string that has been stripped out of 
control characters is compared with the original value. And if the two strings 
don't match an InvalidParameterValue error is thrown. 
Since CloudStack allows for non-english characters, it didn't seem feasible to 
use getValidSafeHTML() method, isValidPrintable() or even a whitelisting 
pattern. 
Please review and let me know if you have any suggestions. 


Description
-------

Non-printable characters results in empty pages for all users loading the 
corrupted object in the web interface. It also results in the API call results 
getting truncated with an error when it encounters the non-printable characters.
To find if a parameter value contains a control character, every decoded 
parameter value was matched with the regex [\000-\037\177] as the ASCII 
non-printable characters are numbers 0 to 31 and 127 decimal.


This addresses bug CLOUDSTACK-863.


Diffs (updated)
-----

  server/src/com/cloud/api/ApiServer.java d99d188 
  utils/pom.xml 937fad3 
  utils/src/com/cloud/utils/StringUtils.java 8f0a503 

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


Testing
-------

Manual Testing done, 
For sample API's (updateVirtualMachine, createVolume, 
authorizeSecurityGroupIngress etc), provide input values containing 
character(s) that are
• ASCII printable - pass 
• ASCII non-printable - fail with error code 431 and error 'Received value 
<parameter-value> for parameter <parameter-name> is invalid, contains illegal 
ASCII non-printable characters' 
• non-english - pass


Thanks,

Likitha Shetty

Reply via email to