-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16385/
-----------------------------------------------------------
(Updated Feb. 18, 2014, 11:41 a.m.)
Review request for cloudstack and daan Hoogland.
Changes
-------
Daan,
I have created a pilot patch based on our discussion. In this I have
modified existing APICommand annotation to add extra flags. Let me know if this
looks okay or something needs to change. If this is fine I can start making
changes to the rest of the code.
Thanks,
Mandar
Bugs: CLOUDSTACK-4406
https://issues.apache.org/jira/browse/CLOUDSTACK-4406
Repository: cloudstack-git
Description
-------
JIRA 4406 expects removal of cleanString() call for performance
improvements. This is called when building audit trail for command responses
and used for removing sensitive data (passwords, secret keys) from the log
buffer. All the API responses do not carry such sensitive information so
pattern matching done by cleanString against all API response strings can be
costly.
I propose following for a solution:
* Modify BaseCmd class to add flags that will store cmd/response sensitivity
* At init these flags will be set to false indicating no cmd req/resp carries
sensitive data
* any child api cmd class that will carry sensitive data in the req/resp should
set the respective flags
* before calling any logging function the flag should be checked and
cleanString should be called only for cmds with flags set
Pro: This approach will scale well as new cmds get added and no additional
changes should be required.
Con: Big change upfront as it will touch all API cmd classes that carry
sensitive information along with BaseCmd class.
NOTE: changes should be simple and straightforward though spread across
multiple classes.
Diffs (updated)
-----
api/src/org/apache/cloudstack/api/APICommand.java 5587a48
api/src/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java
c5a2d1a
api/src/org/apache/cloudstack/api/command/admin/account/DeleteAccountCmd.java
7c1b206
api/src/org/apache/cloudstack/api/command/admin/account/DisableAccountCmd.java
6fdbefe
api/src/org/apache/cloudstack/api/command/admin/account/EnableAccountCmd.java
59d6acd
api/src/org/apache/cloudstack/api/command/user/account/ListAccountsCmd.java
bc93d21
server/src/com/cloud/api/ApiServer.java d715db6
Diff: https://reviews.apache.org/r/16385/diff/
Testing
-------
Using CloudMonkey following commands have been tested to make sure secret
key/password is stripped from the response
list users
list accounts
list virtualmachines
create user
update user
create sshkeypair
Thanks,
Mandar Barve