)]}'
{"swift/common/middleware/crypto/kms_keymaster.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"4c4c0d8aa39110c6475a209fc7188da8ae6ea35b","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            if key is None:"},{"line_number":80,"context_line":"                raise ValueError(\"Retrieval of encryption root secret with \""},{"line_number":81,"context_line":"                                 \"key_id \u0027%s\u0027 returned None.\""},{"line_number":82,"context_line":"                                 % conf.get(\u0027key_id\u0027))"},{"line_number":83,"context_line":"            try:"},{"line_number":84,"context_line":"                if (key.bit_length \u003c 256) or (key.algorithm.lower() !\u003d \"aes\"):"},{"line_number":85,"context_line":"                    raise ValueError(\u0027encryption root secret stored in the \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_d79b9376","line":82,"range":{"start_line":82,"start_character":35,"end_line":82,"end_character":53},"updated":"2018-10-20 00:40:17.000000000","message":"Just key_id now, yeah?","commit_id":"94cc1cbeac7043620a720d56d034152bdced2297"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"4c4c0d8aa39110c6475a209fc7188da8ae6ea35b","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                if (key.format !\u003d \u0027RAW\u0027):"},{"line_number":91,"context_line":"                    raise ValueError(\u0027encryption root secret stored in the \u0027"},{"line_number":92,"context_line":"                                     \u0027external KMS must be in RAW format and \u0027"},{"line_number":93,"context_line":"                                     \u0027not e.g., as a base64 encoded string \u0027"},{"line_number":94,"context_line":"                                     \u0027(format of key with uuid %s: %s)\u0027 %"},{"line_number":95,"context_line":"                                     (key_id, key.format))"},{"line_number":96,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_17990b79","line":93,"range":{"start_line":93,"start_character":51,"end_line":93,"end_character":74},"updated":"2018-10-20 00:40:17.000000000","message":"Off-topic: I feel like we might want to identify what formats might be returned, and maybe support more than just RAW. In particular, it seems kinda silly that we won\u0027t base64-decode :-/","commit_id":"94cc1cbeac7043620a720d56d034152bdced2297"}],"test/unit/common/middleware/crypto/test_kms_keymaster.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"4c4c0d8aa39110c6475a209fc7188da8ae6ea35b","unresolved":false,"context_lines":[{"line_number":824,"context_line":"        expected_secrets \u003d {"},{"line_number":825,"context_line":"            None: \u0027xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\u0027,"},{"line_number":826,"context_line":"            \u0027foo\u0027: \u0027xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\u0027,"},{"line_number":827,"context_line":"            \u0027bar\u0027: \u0027xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\u0027}"},{"line_number":828,"context_line":"        self.assertDictEqual(self.app._root_secrets, expected_secrets)"},{"line_number":829,"context_line":"        self.assertEqual(self.app.active_secret_id, \u0027foo\u0027)"},{"line_number":830,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_f787af10","line":827,"updated":"2018-10-20 00:40:17.000000000","message":"I kinda wish we could have separate secrets for each, but eh...","commit_id":"94cc1cbeac7043620a720d56d034152bdced2297"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"0c6593e93068ca0766be082282a0a7ec37eaae1f","unresolved":false,"context_lines":[{"line_number":854,"context_line":""},{"line_number":855,"context_line":"        expected_secrets \u003d {None: \u0027xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\u0027}"},{"line_number":856,"context_line":"        self.assertDictEqual(self.app._root_secrets, expected_secrets)"},{"line_number":857,"context_line":"        self.assertIsNone(self.app.active_secret_id)"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":""},{"line_number":860,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_f6a9ff8e","line":857,"updated":"2018-10-19 13:03:30.000000000","message":"these tests look solid","commit_id":"94cc1cbeac7043620a720d56d034152bdced2297"}]}
