)]}'
{"swift/common/middleware/decrypter.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"aadb8d782ccb2c0f67c8a2e43bc2093bd54211a1","unresolved":false,"context_lines":[{"line_number":280,"context_line":"            # don\u0027t decrypt body of non-2xx responses"},{"line_number":281,"context_line":"            return app_resp"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        if self._response_status[:3] \u003d\u003d \u0027206\u0027:"},{"line_number":284,"context_line":"            boundary \u003d dict(content_type_attrs)[\"boundary\"]"},{"line_number":285,"context_line":"            return self.multipart_resp(app_resp, boundary, keys)"},{"line_number":286,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_f0534b69","line":283,"updated":"2016-04-14 12:32:55.000000000","message":"use self._get_status_int() as in line 279","commit_id":"86dae201d4e0367f3cc3a9b2844a84c88bc41c32"}],"test/unit/common/middleware/test_decrypter.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c347cd252c0be0b919d9c49c82ff488f44e8079d","unresolved":false,"context_lines":[{"line_number":446,"context_line":"            \u0027content-type\u0027: \u0027multipart/byteranges;boundary\u003dmultipartboundary\u0027,"},{"line_number":447,"context_line":"            \u0027content-length\u0027: len(body),"},{"line_number":448,"context_line":"            \u0027X-Object-Sysmeta-Crypto-Etag\u0027:"},{"line_number":449,"context_line":"                base64.b64encode(encrypt(md5hex(body), key, FAKE_IV)),"},{"line_number":450,"context_line":"            \u0027X-Object-Sysmeta-Crypto-Meta-Etag\u0027: get_crypto_meta_header(),"},{"line_number":451,"context_line":"            \u0027X-Object-Sysmeta-Crypto-Meta\u0027: get_crypto_meta_header()}"},{"line_number":452,"context_line":"        self.app.register(\u0027GET\u0027, \u0027/v1/a/c/o\u0027, HTTPPartialContent, body\u003dbody,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_77ef1fe9","line":449,"range":{"start_line":449,"start_character":48,"end_line":449,"end_character":52},"updated":"2016-04-14 16:40:19.000000000","message":"This isn\u0027t exactly to do with this change, but this should be md5hex(plaintext), no? The etag on a 206 should match the etag on a 200, which should be the md5 of the unencrypted object, right?","commit_id":"11a86c9f9fce95994a41e9d8db8d183423e70ea1"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"f7eb1d507522b53655648c122268f0e0bb6539ea","unresolved":false,"context_lines":[{"line_number":446,"context_line":"            \u0027content-type\u0027: \u0027multipart/byteranges;boundary\u003dmultipartboundary\u0027,"},{"line_number":447,"context_line":"            \u0027content-length\u0027: len(body),"},{"line_number":448,"context_line":"            \u0027X-Object-Sysmeta-Crypto-Etag\u0027:"},{"line_number":449,"context_line":"                base64.b64encode(encrypt(md5hex(body), key, FAKE_IV)),"},{"line_number":450,"context_line":"            \u0027X-Object-Sysmeta-Crypto-Meta-Etag\u0027: get_crypto_meta_header(),"},{"line_number":451,"context_line":"            \u0027X-Object-Sysmeta-Crypto-Meta\u0027: get_crypto_meta_header()}"},{"line_number":452,"context_line":"        self.app.register(\u0027GET\u0027, \u0027/v1/a/c/o\u0027, HTTPPartialContent, body\u003dbody,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_977e3a17","line":449,"range":{"start_line":449,"start_character":48,"end_line":449,"end_character":52},"in_reply_to":"5a18252c_77ef1fe9","updated":"2016-04-14 17:01:50.000000000","message":"Agree. Fixed it over here but that patch needs updating:\n\nhttps://review.openstack.org/#/c/304806/1/test/unit/common/middleware/test_decrypter.py@376","commit_id":"11a86c9f9fce95994a41e9d8db8d183423e70ea1"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"f7eb1d507522b53655648c122268f0e0bb6539ea","unresolved":false,"context_lines":[{"line_number":459,"context_line":"        resp \u003d req.get_response(self.decrypter)"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"        self.assertEqual(\u0027206 Partial Content\u0027, resp.status)"},{"line_number":462,"context_line":"        self.assertEqual(md5hex(body), resp.headers[\u0027Etag\u0027])"},{"line_number":463,"context_line":"        self.assertEqual(len(body), int(resp.headers[\u0027Content-Length\u0027]))"},{"line_number":464,"context_line":"        self.assertEqual(\u0027multipart/byteranges;boundary\u003dmultipartboundary\u0027,"},{"line_number":465,"context_line":"                         resp.headers[\u0027Content-Type\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_17918a47","line":462,"updated":"2016-04-14 17:01:50.000000000","message":"assertion should change as per Tim\u0027s comment above","commit_id":"11a86c9f9fce95994a41e9d8db8d183423e70ea1"}]}
