summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2023-11-16 17:05:57 +0100
committerLennart Poettering <lennart@poettering.net>2023-11-20 11:15:04 +0100
commite61a0dde83fab11b063814d69b393d06f556d024 (patch)
tree347ca3e062fee75afd03b749efab6bbd3161fc5c
parentc918fe77e255150938e83a6aec259f153d303573 (diff)
mime-detection: detect GPT disk images by contents, not just suffix
-rw-r--r--data/freedesktop.org.xml.in7
-rw-r--r--tests/mime-detection/disk.gptbin0 -> 65536 bytes
-rw-r--r--tests/mime-detection/list1
3 files changed, 8 insertions, 0 deletions
diff --git a/data/freedesktop.org.xml.in b/data/freedesktop.org.xml.in
index 1f8eabb..1a37e9d 100644
--- a/data/freedesktop.org.xml.in
+++ b/data/freedesktop.org.xml.in
@@ -1755,6 +1755,13 @@ command to generate the output files.
<alias type="application/x-raw-disk-image"/>
<glob pattern="*.raw-disk-image"/>
<glob pattern="*.img"/>
+ <!-- The magic GPT partition table header is at sector 1, which might a different byte offsets, depending on the sector size. Let's cover the 4 most relevant sectors sizes -->
+ <magic>
+ <match type="string" value="EFI PART" offset="512"/>
+ <match type="string" value="EFI PART" offset="1024"/>
+ <match type="string" value="EFI PART" offset="2048"/>
+ <match type="string" value="EFI PART" offset="4096"/>
+ </magic>
</mime-type>
<mime-type type="application/x-raw-floppy-disk-image">
<comment>Floppy disk image</comment>
diff --git a/tests/mime-detection/disk.gpt b/tests/mime-detection/disk.gpt
new file mode 100644
index 0000000..41de196
--- /dev/null
+++ b/tests/mime-detection/disk.gpt
Binary files differ
diff --git a/tests/mime-detection/list b/tests/mime-detection/list
index aafd45b..cc12a8b 100644
--- a/tests/mime-detection/list
+++ b/tests/mime-detection/list
@@ -666,6 +666,7 @@ disk.img application/vnd.efi.img oxo
disk.img.xz application/x-raw-disk-image-xz-compressed oxo
disk.raw-disk-image application/vnd.efi.img oxo
disk.raw-disk-image.xz application/x-raw-disk-image-xz-compressed oxo
+disk.gpt application/vnd.efi.img xoo
# Disk 1 of the Agony Amiga game truncated to 1Ko
adf-test.adf application/x-amiga-disk-format
# AppImage