)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"change_message_id":"80f73448898e418f55e81228951c965082443874","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  nova/console/websocketproxy.py due to"},{"line_number":19,"context_line":"  I89df8f8fa111b730ddd0aa73ae09a8cd5d152dad missing from stable/stein"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"  nova/consoleauth/manager.py and"},{"line_number":22,"context_line":"  nova/tests/unit/consoleauth/test_consoleauth.py due to consoleauth is"},{"line_number":23,"context_line":"  removed from stable/train but affecte by the bug in stable/stein"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: I5b8fa4233d297722c3af08176901d12887bae3de"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_976b791a","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":49},"updated":"2020-01-22 16:00:24.000000000","message":"These are not conflicts but extra changes, due to consoleauth is still there in Stein.","commit_id":"b86aa928a2945d0e056ebd7482b2faf1d011c6d7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b63862837cdb3013ca67aee462220257c8e291a7","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  nova/console/websocketproxy.py due to"},{"line_number":19,"context_line":"  I89df8f8fa111b730ddd0aa73ae09a8cd5d152dad missing from stable/stein"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"  nova/consoleauth/manager.py and"},{"line_number":22,"context_line":"  nova/tests/unit/consoleauth/test_consoleauth.py due to consoleauth is"},{"line_number":23,"context_line":"  removed from stable/train but affecte by the bug in stable/stein"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: I5b8fa4233d297722c3af08176901d12887bae3de"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_13378f4d","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":49},"in_reply_to":"3fa7e38b_976b791a","updated":"2020-01-23 12:31:09.000000000","message":"correct","commit_id":"b86aa928a2945d0e056ebd7482b2faf1d011c6d7"}],"nova/console/websocketproxy.py":[{"author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"change_message_id":"80f73448898e418f55e81228951c965082443874","unresolved":false,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        sanitized_info \u003d copy.copy(connect_info)"},{"line_number":253,"context_line":"        sanitized_info[\u0027token\u0027] \u003d \u0027***\u0027"},{"line_number":254,"context_line":"        self.msg(_(\u0027connect info: %s\u0027), sanitized_info)"},{"line_number":255,"context_line":"        host \u003d connect_info[\u0027host\u0027]"},{"line_number":256,"context_line":"        port \u003d int(connect_info[\u0027port\u0027])"},{"line_number":257,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_57f18169","line":254,"updated":"2020-01-22 16:00:24.000000000","message":"nit: whitespace change","commit_id":"b86aa928a2945d0e056ebd7482b2faf1d011c6d7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b63862837cdb3013ca67aee462220257c8e291a7","unresolved":false,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        sanitized_info \u003d copy.copy(connect_info)"},{"line_number":253,"context_line":"        sanitized_info[\u0027token\u0027] \u003d \u0027***\u0027"},{"line_number":254,"context_line":"        self.msg(_(\u0027connect info: %s\u0027), sanitized_info)"},{"line_number":255,"context_line":"        host \u003d connect_info[\u0027host\u0027]"},{"line_number":256,"context_line":"        port \u003d int(connect_info[\u0027port\u0027])"},{"line_number":257,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_f3675351","line":254,"in_reply_to":"3fa7e38b_57f18169","updated":"2020-01-23 12:31:09.000000000","message":"Done","commit_id":"b86aa928a2945d0e056ebd7482b2faf1d011c6d7"}],"nova/consoleauth/manager.py":[{"author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"change_message_id":"80f73448898e418f55e81228951c965082443874","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        token_str \u003d self.mc.get(token.encode(\u0027UTF-8\u0027))"},{"line_number":131,"context_line":"        token_valid \u003d (token_str is not None)"},{"line_number":132,"context_line":"        LOG.info(\"Checking Token: %(token)s, %(token_valid)s\","},{"line_number":133,"context_line":"                 {\u0027token\u0027: token, \u0027token_valid\u0027: token_valid})"},{"line_number":134,"context_line":"        if token_valid:"},{"line_number":135,"context_line":"            token \u003d jsonutils.loads(token_str)"},{"line_number":136,"context_line":"            if self._validate_token(context, token):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_7265abaf","line":133,"range":{"start_line":133,"start_character":27,"end_line":133,"end_character":32},"updated":"2020-01-22 16:00:24.000000000","message":"Question: don\u0027t we need this token to be masked, too?\n\n(In unit tests where token\u003du\u0027mytok\u0027 the log shows:\n2020-01-22 16:49:29,297 INFO [nova.consoleauth.manager] Checking Token: mytok, True)","commit_id":"b86aa928a2945d0e056ebd7482b2faf1d011c6d7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b63862837cdb3013ca67aee462220257c8e291a7","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        token_str \u003d self.mc.get(token.encode(\u0027UTF-8\u0027))"},{"line_number":131,"context_line":"        token_valid \u003d (token_str is not None)"},{"line_number":132,"context_line":"        LOG.info(\"Checking Token: %(token)s, %(token_valid)s\","},{"line_number":133,"context_line":"                 {\u0027token\u0027: token, \u0027token_valid\u0027: token_valid})"},{"line_number":134,"context_line":"        if token_valid:"},{"line_number":135,"context_line":"            token \u003d jsonutils.loads(token_str)"},{"line_number":136,"context_line":"            if self._validate_token(context, token):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_53b42781","line":133,"range":{"start_line":133,"start_character":27,"end_line":133,"end_character":32},"in_reply_to":"3fa7e38b_7265abaf","updated":"2020-01-23 12:31:09.000000000","message":"Done","commit_id":"b86aa928a2945d0e056ebd7482b2faf1d011c6d7"},{"author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"change_message_id":"b0552b09cf2fccc757e1be4d6672b9e77deae6c7","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    def check_token(self, context, token):"},{"line_number":130,"context_line":"        token_str \u003d self.mc.get(token.encode(\u0027UTF-8\u0027))"},{"line_number":131,"context_line":"        token_valid \u003d (token_str is not None)"},{"line_number":132,"context_line":"        LOG.info(\"Checking that token is known: %(token_valid)s\","},{"line_number":133,"context_line":"                 {\u0027token_valid\u0027: token_valid})"},{"line_number":134,"context_line":"        if token_valid:"},{"line_number":135,"context_line":"            token \u003d jsonutils.loads(token_str)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_6e005cb2","line":132,"range":{"start_line":132,"start_character":41,"end_line":132,"end_character":46},"updated":"2020-01-23 12:45:42.000000000","message":"why not simply \u0027valid\u0027?","commit_id":"d8fbf04f325f593836f8d44b6bbf42b85bde94e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c45eb4d80619c705dc45533c010cf09858f57e34","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    def check_token(self, context, token):"},{"line_number":130,"context_line":"        token_str \u003d self.mc.get(token.encode(\u0027UTF-8\u0027))"},{"line_number":131,"context_line":"        token_valid \u003d (token_str is not None)"},{"line_number":132,"context_line":"        LOG.info(\"Checking that token is known: %(token_valid)s\","},{"line_number":133,"context_line":"                 {\u0027token_valid\u0027: token_valid})"},{"line_number":134,"context_line":"        if token_valid:"},{"line_number":135,"context_line":"            token \u003d jsonutils.loads(token_str)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_965b5bf7","line":132,"range":{"start_line":132,"start_character":41,"end_line":132,"end_character":46},"in_reply_to":"3fa7e38b_6e005cb2","updated":"2020-01-24 14:27:19.000000000","message":"look at L136 where we call _validate_token.  This hints me that simply having the token in the cache does not mean it is accepted / valid as we do some extra validation below.","commit_id":"d8fbf04f325f593836f8d44b6bbf42b85bde94e3"}]}
