)]}'
{"swift/common/middleware/keystoneauth.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"eed0e25fff55ccb3d60242c71dbc9a63cab87926","unresolved":true,"context_lines":[{"line_number":182,"context_line":"        self.reseller_admin_role \u003d conf.get(\u0027reseller_admin_role\u0027,"},{"line_number":183,"context_line":"                                            \u0027ResellerAdmin\u0027).lower()"},{"line_number":184,"context_line":"        self.system_reader_roles \u003d {role.lower() for role in list_from_csv("},{"line_number":185,"context_line":"            conf.get(\u0027system_reader_roles\u0027, \u0027\u0027))}"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        config_is_admin \u003d conf.get(\u0027is_admin\u0027, \"false\").lower()"},{"line_number":188,"context_line":"        if swift_utils.config_true_value(config_is_admin):"}],"source_content_type":"text/x-python","patch_set":1,"id":"a50ae92e_cd51d0aa","line":185,"updated":"2021-02-09 03:39:54.000000000","message":"In my defense, I copied that code from config_read_prefixed_options.","commit_id":"cb6ded759fe02fee0bedd8343a36bda7a9fec4fc"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"eed0e25fff55ccb3d60242c71dbc9a63cab87926","unresolved":true,"context_lines":[{"line_number":427,"context_line":"            return"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"        # The system_reader_role is almost as good as reseller_admin."},{"line_number":430,"context_line":"        if self.system_reader_roles.intersection(user_roles):"},{"line_number":431,"context_line":"            # Note that if a system reader is trying to write, we\u0027re letting"},{"line_number":432,"context_line":"            # the request fall on other access checks below. This way,"},{"line_number":433,"context_line":"            # a compliance auditor can write a log file as a normal member."}],"source_content_type":"text/x-python","patch_set":1,"id":"107c5b20_918ea07d","line":430,"updated":"2021-02-09 03:39:54.000000000","message":"Checking for None is no longer needed, but I liked the symmetry of set()\u0026set(). Using the intersection() method is valid too, of course.","commit_id":"cb6ded759fe02fee0bedd8343a36bda7a9fec4fc"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"eed0e25fff55ccb3d60242c71dbc9a63cab87926","unresolved":true,"context_lines":[{"line_number":431,"context_line":"            # Note that if a system reader is trying to write, we\u0027re letting"},{"line_number":432,"context_line":"            # the request fall on other access checks below. This way,"},{"line_number":433,"context_line":"            # a compliance auditor can write a log file as a normal member."},{"line_number":434,"context_line":"            if req.method in (\u0027GET\u0027, \u0027HEAD\u0027):"},{"line_number":435,"context_line":"                msg \u003d \u0027User %s has system reader authorizing\u0027"},{"line_number":436,"context_line":"                self.logger.debug(msg, tenant_id)"},{"line_number":437,"context_line":"                # We aren\u0027t setting \u0027swift_owner\u0027 nor \u0027reseller_request\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"4ade92db_db93e2d6","line":434,"updated":"2021-02-09 03:39:54.000000000","message":"Heh, totally. But BTW, req.environ[\u0027REQUEST_METHOD\u0027] is used in swift/common/middleware/s3api/acl_handlers.py too.","commit_id":"cb6ded759fe02fee0bedd8343a36bda7a9fec4fc"}]}
