)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7383f9662736a12d7585f1bbb5a544232ef86482","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b6b6d9af_5786de28","updated":"2024-12-23 13:04:01.000000000","message":"If you do think we should fix oslo.utils\u0027 function, it has to be done there, not copied here. But I still think that\u0027s the wrong direction, and we need to stop validating ISO images entirely. Maybe it\u0027s a bit more complex than disabling the check on the ISOImageCache (although this patch is not doing it).","commit_id":"796dd07a513b1c9792ef92383f7734c0e8e73211"}],"ironic/common/images.py":[{"author":{"_account_id":35233,"name":"Adam Rozman","email":"adam.rozman@est.tech","username":"rozzix"},"change_message_id":"f67f9342dd91cc2103b3e3eb4d0db5a8c06ea997","unresolved":true,"context_lines":[{"line_number":917,"context_line":"                      \"format\", {\u0027node\u0027: id_string})"},{"line_number":918,"context_line":"            raise exception.InvalidImage()"},{"line_number":919,"context_line":"        image_format_name \u003d str(img_class)"},{"line_number":920,"context_line":"        if image_format_name not in IMAGE_FORMATS_WITHOUT_INSPECTION:"},{"line_number":921,"context_line":"            img_class.safety_check()"},{"line_number":922,"context_line":""},{"line_number":923,"context_line":"    except image_format_inspector.ImageFormatError as exc:"},{"line_number":924,"context_line":"        LOG.error(\"Security: The requested user image for the \""}],"source_content_type":"text/x-python","patch_set":5,"id":"316ecca5_020ee1c8","line":921,"range":{"start_line":920,"start_character":2,"end_line":921,"end_character":36},"updated":"2024-12-23 12:57:49.000000000","message":"And there is some new logic here to exclude formats from safety checking. This doesn\u0027t mean the format is allowed or not allowed, the whole safety inspection is skipped.","commit_id":"0f6dcf3858c331e8b72e16bf5fe4fdd3a14481fe"},{"author":{"_account_id":35233,"name":"Adam Rozman","email":"adam.rozman@est.tech","username":"rozzix"},"change_message_id":"f67f9342dd91cc2103b3e3eb4d0db5a8c06ea997","unresolved":true,"context_lines":[{"line_number":854,"context_line":"                if wrapper.format:"},{"line_number":855,"context_line":"                    break"},{"line_number":856,"context_line":"            img_class \u003d wrapper.format"},{"line_number":857,"context_line":"        except image_format_inspector.ImageFormatError as fmterr:"},{"line_number":858,"context_line":"            # check if the error can be disregarded if not re-raise it"},{"line_number":859,"context_line":"            # if there are only iso, gpt found in the formats list then the"},{"line_number":860,"context_line":"            # issue can be disregarded because it was induced by a regular"},{"line_number":861,"context_line":"            # iso image"},{"line_number":862,"context_line":"            img_matches \u003d wrapper.formats"},{"line_number":863,"context_line":"            # if the formats property only has 0 or 1 element then the"},{"line_number":864,"context_line":"            # exception generated by the format property assumed to"},{"line_number":865,"context_line":"            # be valid as the regular format property can handle that scenario"},{"line_number":866,"context_line":"            if img_matches is None or len(img_matches) \u003c\u003d 1:"},{"line_number":867,"context_line":"                raise fmterr"},{"line_number":868,"context_line":"            for form in img_matches:"},{"line_number":869,"context_line":"                # check if the format can be present together with other"},{"line_number":870,"context_line":"                # formats"},{"line_number":871,"context_line":"                if form.NAME in COMBI_IMAGE_FORMATS:"},{"line_number":872,"context_line":"                    # check if the format requires skipping safety check"},{"line_number":873,"context_line":"                    # basically e.g. if both iso and gpt was found it will"},{"line_number":874,"context_line":"                    # make sure the iso format is the one returned"},{"line_number":875,"context_line":"                    if form.NAME in IMAGE_FORMATS_WITHOUT_INSPECTION:"},{"line_number":876,"context_line":"                        img_class \u003d form"},{"line_number":877,"context_line":"                else:"},{"line_number":878,"context_line":"                    raise fmterr"},{"line_number":879,"context_line":"            if img_class is None:"},{"line_number":880,"context_line":"                img_class \u003d img_matches[0]"},{"line_number":881,"context_line":"        finally:"},{"line_number":882,"context_line":"            wrapper.close()"},{"line_number":883,"context_line":"    return img_class"}],"source_content_type":"text/x-python","patch_set":6,"id":"b2622ab0_6c02e6ce","line":880,"range":{"start_line":857,"start_character":2,"end_line":880,"end_character":42},"updated":"2024-12-23 12:57:49.000000000","message":"Technically this is the new part compared to the old function that was directly called from the library.","commit_id":"796dd07a513b1c9792ef92383f7734c0e8e73211"}]}
