)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"1a7407cfa67e2094dc9a50d956e3947391f2fb07","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1c8e5a61_b8f11851","updated":"2026-10-30 02:40:03.000000000","message":"yeah, this feels like a nice improvement to me, let\u0027s not get keys if there is nothing to decrypt.\n\nIf we want to sqaush it in, or re-title this so it can be it\u0027s own patch sounds good. If it isn\u0027t squashed before my Monday, I\u0027ll plan on merging the parent patch.","commit_id":"eae9903490cbd88fb739379f7cd697cf89e259ad"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"b4e5926b3e8d0dc38843f92f76f3bf46fa5875c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"39684d69_3d161cde","updated":"2026-10-30 03:02:58.000000000","message":"added test cases.","commit_id":"c6d87a900318765c6c51fa9263cda822338d3d1c"}],"swift/common/middleware/crypto/decrypter.py":[{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"b4e5926b3e8d0dc38843f92f76f3bf46fa5875c0","unresolved":true,"context_lines":[{"line_number":380,"context_line":"                     self.crypto.cipher) and"},{"line_number":381,"context_line":"                    not config_true_value("},{"line_number":382,"context_line":"                        req.environ.get(\u0027swift.crypto.override\u0027))):"},{"line_number":383,"context_line":"                    raise EncryptionException("},{"line_number":384,"context_line":"                        \u0027Invalid or missing X-Object-Sysmeta-Crypto-Meta\u0027)"},{"line_number":385,"context_line":"                sysmeta_keys \u003d self.get_decryption_keys("},{"line_number":386,"context_line":"                    req, sysmeta_crypto_meta)"}],"source_content_type":"text/x-python","patch_set":1,"id":"2db98677_0be76ee8","line":383,"updated":"2026-10-30 03:02:58.000000000","message":"okay, this will reuse the except handling below which produces the same full error message and HTTP 500 response.","commit_id":"eae9903490cbd88fb739379f7cd697cf89e259ad"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"b4e5926b3e8d0dc38843f92f76f3bf46fa5875c0","unresolved":true,"context_lines":[{"line_number":385,"context_line":"                sysmeta_keys \u003d self.get_decryption_keys("},{"line_number":386,"context_line":"                    req, sysmeta_crypto_meta)"},{"line_number":387,"context_line":"            else:"},{"line_number":388,"context_line":"                sysmeta_keys \u003d None"},{"line_number":389,"context_line":"        except EncryptionException as err:"},{"line_number":390,"context_line":"            self.logger.error("},{"line_number":391,"context_line":"                \"Error decrypting object: %s\","}],"source_content_type":"text/x-python","patch_set":1,"id":"6b1c8a7a_080dff46","line":388,"updated":"2026-10-30 03:02:58.000000000","message":"no need to fetch sensitive-sysmeta keys at here.","commit_id":"eae9903490cbd88fb739379f7cd697cf89e259ad"}]}
