)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"67834ed59e7aee765962796711acebe277d6d51e","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch ensures that a scrub store is not set while"},{"line_number":10,"context_line":"creating an image or updating it."},{"line_number":11,"context_line":"This plugs a security hole that is introduced by"},{"line_number":12,"context_line":"remove-sensitive-data-from-locations"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Implements bp:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAAUH%2F%2F0Bg%3D","line":11,"updated":"2014-01-08 06:52:57.000000000","message":"May I know what\u0027s the security hole?","commit_id":"044cba7d43ee5ceb87e09998ef0110237c692aba"},{"author":{"_account_id":7531,"name":"Sridevi Koushik","email":"sridevi.koushik@rackspace.com","username":"sridevik"},"change_message_id":"092334993f54f5e091c6d3569ec9747da9bc91d6","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch ensures that a scrub store is not set while"},{"line_number":10,"context_line":"creating an image or updating it."},{"line_number":11,"context_line":"This plugs a security hole that is introduced by"},{"line_number":12,"context_line":"remove-sensitive-data-from-locations"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Implements bp:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAAUH%2F%2Fzgw%3D","line":11,"in_reply_to":"AAAAUH%2F%2F0Bg%3D","updated":"2014-01-08 08:54:03.000000000","message":"Hi Wang,\n\nWith the remove-sensitive-data-from-locations patch, we\u0027re replace the swift image locations with the corresponding scrub store. But, if we let an end user create images with locations that have the scrub credentials in them, then such locations will be substituted for the actual credentials. This will defeat the purpose of the other patch.","commit_id":"044cba7d43ee5ceb87e09998ef0110237c692aba"}],"glance/store/__init__.py":[{"author":{"_account_id":4463,"name":"iccha-sethi","email":"iccha.sethi@rackspace.com","username":"iccha-sethi"},"change_message_id":"358a1d1d1d2994c4682b9d5381344346bd8306dc","unresolved":false,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"def validate_location(context, uri):"},{"line_number":250,"context_line":"    print \"coming hereeee\""},{"line_number":251,"context_line":"    loc \u003d location.get_location_from_uri(uri)"},{"line_number":252,"context_line":"    store \u003d get_store_from_uri(context, uri, loc)"},{"line_number":253,"context_line":"    store.validate_location(uri)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2F65Y%3D","line":250,"updated":"2014-01-06 19:28:54.000000000","message":"print \"nooooooo\"","commit_id":"9b7f1387eead240cb7a6361edd8ae1ea1fd2a408"},{"author":{"_account_id":7531,"name":"Sridevi Koushik","email":"sridevi.koushik@rackspace.com","username":"sridevik"},"change_message_id":"f869a954b80cbe46ddc4d409518c6f391e5be71f","unresolved":false,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"def validate_location(context, uri):"},{"line_number":250,"context_line":"    print \"coming hereeee\""},{"line_number":251,"context_line":"    loc \u003d location.get_location_from_uri(uri)"},{"line_number":252,"context_line":"    store \u003d get_store_from_uri(context, uri, loc)"},{"line_number":253,"context_line":"    store.validate_location(uri)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2F3tI%3D","line":250,"in_reply_to":"AAAAUH%2F%2F65Y%3D","updated":"2014-01-08 05:09:58.000000000","message":"Lol, thanks iccha for pointing it.\nDone.","commit_id":"9b7f1387eead240cb7a6361edd8ae1ea1fd2a408"}],"glance/store/swift.py":[{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"2815b45f7ec6183dbff88dac0ee0c159feb55efc","unresolved":false,"context_lines":[{"line_number":643,"context_line":"    def validate_location(self, uri):"},{"line_number":644,"context_line":"        pieces \u003d urlparse.urlparse(uri)"},{"line_number":645,"context_line":"        if pieces.netloc in SWIFT_STORE_CREDENTIALS.keys():"},{"line_number":646,"context_line":"            reason \u003d (_(\"Location is credentials is invalid\"))"},{"line_number":647,"context_line":"            raise exception.BadStoreUri(message\u003dreason)"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"    def get_connection(self, location):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2F6bU%3D","line":646,"updated":"2014-01-06 21:20:33.000000000","message":"Guessing there is something wrong here. Maybe \u0027Location credentials are invalid\u0027 ?","commit_id":"9b7f1387eead240cb7a6361edd8ae1ea1fd2a408"},{"author":{"_account_id":7531,"name":"Sridevi Koushik","email":"sridevi.koushik@rackspace.com","username":"sridevik"},"change_message_id":"f869a954b80cbe46ddc4d409518c6f391e5be71f","unresolved":false,"context_lines":[{"line_number":643,"context_line":"    def validate_location(self, uri):"},{"line_number":644,"context_line":"        pieces \u003d urlparse.urlparse(uri)"},{"line_number":645,"context_line":"        if pieces.netloc in SWIFT_STORE_CREDENTIALS.keys():"},{"line_number":646,"context_line":"            reason \u003d (_(\"Location is credentials is invalid\"))"},{"line_number":647,"context_line":"            raise exception.BadStoreUri(message\u003dreason)"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"    def get_connection(self, location):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2F3ss%3D","line":646,"in_reply_to":"AAAAUH%2F%2F6bU%3D","updated":"2014-01-08 05:09:58.000000000","message":"Done","commit_id":"9b7f1387eead240cb7a6361edd8ae1ea1fd2a408"},{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"143d9a682fd2cd599bda9e5e080d2a15a051557a","unresolved":false,"context_lines":[{"line_number":647,"context_line":"    def validate_location(self, uri):"},{"line_number":648,"context_line":"        pieces \u003d urlparse.urlparse(uri)"},{"line_number":649,"context_line":"        if pieces.netloc in SWIFT_STORE_CREDENTIALS.keys():"},{"line_number":650,"context_line":"            reason \u003d (_(\"Location credentials is invalid\"))"},{"line_number":651,"context_line":"            raise exception.BadStoreUri(message\u003dreason)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"    def get_connection(self, location):"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2FlZw%3D","line":650,"updated":"2014-01-10 19:24:38.000000000","message":"typo: is/are","commit_id":"5c9f0dd6674613645565fd7b0f185ef543d698cd"},{"author":{"_account_id":7531,"name":"Sridevi Koushik","email":"sridevi.koushik@rackspace.com","username":"sridevik"},"change_message_id":"abd37023a3e8d21b6f693b65c0ee5c329e7bbd3b","unresolved":false,"context_lines":[{"line_number":647,"context_line":"    def validate_location(self, uri):"},{"line_number":648,"context_line":"        pieces \u003d urlparse.urlparse(uri)"},{"line_number":649,"context_line":"        if pieces.netloc in SWIFT_STORE_CREDENTIALS.keys():"},{"line_number":650,"context_line":"            reason \u003d (_(\"Location credentials is invalid\"))"},{"line_number":651,"context_line":"            raise exception.BadStoreUri(message\u003dreason)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"    def get_connection(self, location):"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2FfPQ%3D","line":650,"in_reply_to":"AAAAUH%2F%2FlZw%3D","updated":"2014-01-13 12:01:42.000000000","message":"Done","commit_id":"5c9f0dd6674613645565fd7b0f185ef543d698cd"}],"glance/tests/unit/v1/test_api.py":[{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"2815b45f7ec6183dbff88dac0ee0c159feb55efc","unresolved":false,"context_lines":[{"line_number":92,"context_line":"             \u0027properties\u0027: {}}]"},{"line_number":93,"context_line":"        self.context \u003d glance.context.RequestContext(is_admin\u003dTrue)"},{"line_number":94,"context_line":"        glance.api.v1.images.validate_location \u003d mock.Mock()"},{"line_number":95,"context_line":"        db_api.setup_db_env()"},{"line_number":96,"context_line":"        db_api.get_engine()"},{"line_number":97,"context_line":"        self.destroy_fixtures()"},{"line_number":98,"context_line":"        self.create_fixtures()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2F6b4%3D","line":95,"updated":"2014-01-06 21:20:33.000000000","message":"The following commit got rid of \u0027setup_db_env\u0027 function. \nhttps://github.com/openstack/glance/commit/048a40c0b5e9c57839c8e07d3c2ba4a707796366\n\nAlso, the reason why your tests are failing.","commit_id":"9b7f1387eead240cb7a6361edd8ae1ea1fd2a408"},{"author":{"_account_id":7531,"name":"Sridevi Koushik","email":"sridevi.koushik@rackspace.com","username":"sridevik"},"change_message_id":"f869a954b80cbe46ddc4d409518c6f391e5be71f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"             \u0027properties\u0027: {}}]"},{"line_number":93,"context_line":"        self.context \u003d glance.context.RequestContext(is_admin\u003dTrue)"},{"line_number":94,"context_line":"        glance.api.v1.images.validate_location \u003d mock.Mock()"},{"line_number":95,"context_line":"        db_api.setup_db_env()"},{"line_number":96,"context_line":"        db_api.get_engine()"},{"line_number":97,"context_line":"        self.destroy_fixtures()"},{"line_number":98,"context_line":"        self.create_fixtures()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2F3sw%3D","line":95,"in_reply_to":"AAAAUH%2F%2F6b4%3D","updated":"2014-01-08 05:09:58.000000000","message":"Thanks Hemanth.\nDone.","commit_id":"9b7f1387eead240cb7a6361edd8ae1ea1fd2a408"}]}
