)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"30b7b1141cdbe3427c9b2010963c7d9affe6b742","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Currently, the \u0027HTTPClient\u0027 in neutronclient didn\u0027t mask the auth"},{"line_number":10,"context_line":"token with hash method. When others projects(like Ceilometer) invoke"},{"line_number":11,"context_line":"neutronclient, the token may be directly exposed in log file. that"},{"line_number":12,"context_line":"is not very secure."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ie253526e5074f27d40d5aa877554fbc264fcbe09"},{"line_number":15,"context_line":"Closes-bug: #1436140"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"da20952f_6b5ea0ea","line":12,"updated":"2015-09-11 04:42:38.000000000","message":"I would just change the whole commit message to:\n\nCurrently, the \u0027HTTPClient\u0027 in neutronclient doesn\u0027t mask the auth token with a hash method. When other projects (like Ceilometer) invoke neutronclient, the token may therefore be directly exposed in a log file. This commit makes such logging more secure by hashing the auth token.","commit_id":"455f07255127e72bbf2a9fee5ba71f0a5633da97"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"dfe79d461340ba11902bed03e8a34639649d4862","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, the \u0027HTTPClient\u0027 in neutronclient doesn\u0027t mask the auth token"},{"line_number":10,"context_line":"with a hash method. When other projects (like Ceilometer) invoke"},{"line_number":11,"context_line":"neutronclient, the token may therefore be directly exposed in a log file."},{"line_number":12,"context_line":"This commit makes such logging more secure by hashing the auth token."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ie253526e5074f27d40d5aa877554fbc264fcbe09"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"da85f559_0bf028fd","line":11,"updated":"2015-11-11 15:46:21.000000000","message":"Hate to be a spoilt sport, but the commit message should be limited to 7 characters .. this one is  74 ( nit)","commit_id":"a5e8377216e5edff3207656aad46ee73eb4be9ef"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"9e954a207b63195a9d7dc50d25206929704ee20b","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, the \u0027HTTPClient\u0027 in neutronclient doesn\u0027t mask the auth token"},{"line_number":10,"context_line":"with a hash method. When other projects (like Ceilometer) invoke"},{"line_number":11,"context_line":"neutronclient, the token may therefore be directly exposed in a log file."},{"line_number":12,"context_line":"This commit makes such logging more secure by hashing the auth token."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ie253526e5074f27d40d5aa877554fbc264fcbe09"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"da85f559_cbe9c0b8","line":11,"in_reply_to":"da85f559_0bf028fd","updated":"2015-11-11 15:47:12.000000000","message":"72 chars.[forgot the 2 last time]","commit_id":"a5e8377216e5edff3207656aad46ee73eb4be9ef"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"67c7849365f24a6bb297a92c8c5a089362fd92c3","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, the \u0027HTTPClient\u0027 in neutronclient doesn\u0027t mask the auth token"},{"line_number":10,"context_line":"with a hash method. When other projects (like Ceilometer) invoke"},{"line_number":11,"context_line":"neutronclient, the token may therefore be directly exposed in a log file."},{"line_number":12,"context_line":"This commit makes such logging more secure by hashing the auth token."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ie253526e5074f27d40d5aa877554fbc264fcbe09"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"da85f559_e5cdb931","line":11,"in_reply_to":"da85f559_0bf028fd","updated":"2015-11-12 01:21:54.000000000","message":"Done","commit_id":"a5e8377216e5edff3207656aad46ee73eb4be9ef"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"67c7849365f24a6bb297a92c8c5a089362fd92c3","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, the \u0027HTTPClient\u0027 in neutronclient doesn\u0027t mask the auth token"},{"line_number":10,"context_line":"with a hash method. When other projects (like Ceilometer) invoke"},{"line_number":11,"context_line":"neutronclient, the token may therefore be directly exposed in a log file."},{"line_number":12,"context_line":"This commit makes such logging more secure by hashing the auth token."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ie253526e5074f27d40d5aa877554fbc264fcbe09"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"da85f559_a5d331d4","line":11,"in_reply_to":"da85f559_cbe9c0b8","updated":"2015-11-12 01:21:54.000000000","message":"Done","commit_id":"a5e8377216e5edff3207656aad46ee73eb4be9ef"}],"neutronclient/common/utils.py":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"dfe79d461340ba11902bed03e8a34639649d4862","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import netaddr"},{"line_number":25,"context_line":"import os"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from oslo_serialization import jsonutils"},{"line_number":28,"context_line":"from oslo_utils import encodeutils"},{"line_number":29,"context_line":"from oslo_utils import importutils"},{"line_number":30,"context_line":"import six"}],"source_content_type":"text/x-python","patch_set":15,"id":"da85f559_2bef2cea","line":27,"updated":"2015-11-11 15:46:21.000000000","message":"Please only import modules in the python-neutronclient ( i.e. import oslo_serialization and use jsonutils inside)","commit_id":"a5e8377216e5edff3207656aad46ee73eb4be9ef"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"67c7849365f24a6bb297a92c8c5a089362fd92c3","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import netaddr"},{"line_number":25,"context_line":"import os"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from oslo_serialization import jsonutils"},{"line_number":28,"context_line":"from oslo_utils import encodeutils"},{"line_number":29,"context_line":"from oslo_utils import importutils"},{"line_number":30,"context_line":"import six"}],"source_content_type":"text/x-python","patch_set":15,"id":"da85f559_054ebdc0","line":27,"in_reply_to":"da85f559_2bef2cea","updated":"2015-11-12 01:21:54.000000000","message":"sorry, AFAK, the jsonutils in oslo_serialization is a module (not a class). you can see many import usage like this in Nova, Neutronclient code...","commit_id":"a5e8377216e5edff3207656aad46ee73eb4be9ef"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"9b28c7d6957172b27471f83de3b91612ffe9506d","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            body \u003d jsonutils.loads(body)"},{"line_number":187,"context_line":"            _redact(body, [\u0027access\u0027, \u0027token\u0027, \u0027id\u0027])"},{"line_number":188,"context_line":"        except ValueError:"},{"line_number":189,"context_line":"            body \u003d None"},{"line_number":190,"context_line":"    else:"},{"line_number":191,"context_line":"        body \u003d None"},{"line_number":192,"context_line":"    _logger.debug(\"RESP: %(code)s %(headers)s %(body)s\","}],"source_content_type":"text/x-python","patch_set":16,"id":"7a740942_a2e67814","line":189,"updated":"2015-12-09 16:21:30.000000000","message":"I think http_log_resp is used for not only keystone interaction but also neutron interaction. Does this logic work even for neutron interactions. IIRC neutron returns non-JSON string in case of errors.\n\nIf this logic is not used for keystone interaction, this logic would be unnecessary. I don\u0027t have a good idea how to handle this.\n\nIMO the future plan in my mind is to use keystone session from keystoneclient for HTTPClient too.","commit_id":"f37be7880e2d7945a27ec72ae0b330812c8a05f3"}]}
