blkid: encode all udf and iso IDs in udev output

We encode to "safe" strings almost all variables for 'blkid -o udev'
and we need it also for SYSTEM_ID, PUBLISHER_ID, APPLICATION_ID,
BOOT_SYSTEM_ID and recently added VOLUME_SET_ID and DATA_PREPARER_ID.

This change makes blkid from util-linux more compatible with built-in
udevd blkid.

Addresses: https://github.com/karelzak/util-linux/pull/1215 (commit 5cbffdb74f)
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2020-12-10 12:10:06 +01:00
parent eb6a4cc2e1
commit 150394604d
25 changed files with 58 additions and 51 deletions

View File

@ -254,7 +254,14 @@ static void print_udev_format(const char *name, const char *value)
*safe = *enc = '\0';
if (!strcmp(name, "TYPE") || !strcmp(name, "VERSION")) {
if (!strcmp(name, "TYPE")
|| !strcmp(name, "VERSION")
|| !strcmp(name, "SYSTEM_ID")
|| !strcmp(name, "PUBLISHER_ID")
|| !strcmp(name, "APPLICATION_ID")
|| !strcmp(name, "BOOT_SYSTEM_ID")
|| !strcmp(name, "VOLUME_SET_ID")
|| !strcmp(name, "DATA_PREPARER_ID")) {
blkid_encode_string(value, enc, sizeof(enc));
printf("ID_FS_%s=%s\n", name, enc);

View File

@ -1,4 +1,4 @@
ID_FS_APPLICATION_ID=GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
ID_FS_APPLICATION_ID=GENISOIMAGE\x20ISO\x209660\x2fHFS\x20FILESYSTEM\x20CREATOR\x20\x28C\x29\x201993\x20E.YOUNGDALE\x20\x28C\x29\x201997-2006\x20J.PEARSON\x2fJ.SCHILLING\x20\x28C\x29\x202006-2007\x20CDRKIT\x20TEAM
ID_FS_BLOCK_SIZE=2048
ID_FS_LABEL=IsoVolumeName
ID_FS_LABEL_ENC=IsoVolumeName

View File

@ -1,11 +1,11 @@
ID_FS_APPLICATION_ID=Joliet Application
ID_FS_APPLICATION_ID=Joliet\x20Application
ID_FS_BLOCK_SIZE=2048
ID_FS_DATA_PREPARER_ID=Joliet Preparer
ID_FS_DATA_PREPARER_ID=Joliet\x20Preparer
ID_FS_LABEL=Joliet_Label
ID_FS_LABEL_ENC=Joliet\x20Label
ID_FS_PUBLISHER_ID=Joliet Publisher
ID_FS_SYSTEM_ID=Joliet System id
ID_FS_PUBLISHER_ID=Joliet\x20Publisher
ID_FS_SYSTEM_ID=Joliet\x20System\x20id
ID_FS_TYPE=iso9660
ID_FS_USAGE=filesystem
ID_FS_VERSION=Joliet\x20Extension
ID_FS_VOLUME_SET_ID=Joliet Volume set
ID_FS_VOLUME_SET_ID=Joliet\x20Volume\x20set

View File

@ -1,4 +1,4 @@
ID_FS_APPLICATION_ID=GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
ID_FS_APPLICATION_ID=GENISOIMAGE\x20ISO\x209660\x2fHFS\x20FILESYSTEM\x20CREATOR\x20\x28C\x29\x201993\x20E.YOUNGDALE\x20\x28C\x29\x201997-2006\x20J.PEARSON\x2fJ.SCHILLING\x20\x28C\x29\x202006-2007\x20CDRKIT\x20TEAM
ID_FS_BLOCK_SIZE=2048
ID_FS_LABEL=ThisWonderfulLabelIsVeryVeryLong
ID_FS_LABEL_ENC=ThisWonderfulLabelIsVeryVeryLong

View File

@ -1,4 +1,4 @@
ID_FS_APPLICATION_ID=GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
ID_FS_APPLICATION_ID=GENISOIMAGE\x20ISO\x209660\x2fHFS\x20FILESYSTEM\x20CREATOR\x20\x28C\x29\x201993\x20E.YOUNGDALE\x20\x28C\x29\x201997-2006\x20J.PEARSON\x2fJ.SCHILLING\x20\x28C\x29\x202006-2007\x20CDRKIT\x20TEAM
ID_FS_BLOCK_SIZE=2048
ID_FS_LABEL=first_session
ID_FS_LABEL_ENC=first\x20session

View File

@ -1,4 +1,4 @@
ID_FS_APPLICATION_ID=GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
ID_FS_APPLICATION_ID=GENISOIMAGE\x20ISO\x209660\x2fHFS\x20FILESYSTEM\x20CREATOR\x20\x28C\x29\x201993\x20E.YOUNGDALE\x20\x28C\x29\x201997-2006\x20J.PEARSON\x2fJ.SCHILLING\x20\x28C\x29\x202006-2007\x20CDRKIT\x20TEAM
ID_FS_BLOCK_SIZE=2048
ID_FS_LABEL=second_session
ID_FS_LABEL_ENC=second\x20session

View File

@ -1,4 +1,4 @@
ID_FS_APPLICATION_ID=GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
ID_FS_APPLICATION_ID=GENISOIMAGE\x20ISO\x209660\x2fHFS\x20FILESYSTEM\x20CREATOR\x20\x28C\x29\x201993\x20E.YOUNGDALE\x20\x28C\x29\x201997-2006\x20J.PEARSON\x2fJ.SCHILLING\x20\x28C\x29\x202006-2007\x20CDRKIT\x20TEAM
ID_FS_BLOCK_SIZE=2048
ID_FS_LABEL=third_session
ID_FS_LABEL_ENC=third\x20session

View File

@ -1,4 +1,4 @@
ID_FS_APPLICATION_ID=GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
ID_FS_APPLICATION_ID=GENISOIMAGE\x20ISO\x209660\x2fHFS\x20FILESYSTEM\x20CREATOR\x20\x28C\x29\x201993\x20E.YOUNGDALE\x20\x28C\x29\x201997-2006\x20J.PEARSON\x2fJ.SCHILLING\x20\x28C\x29\x202006-2007\x20CDRKIT\x20TEAM
ID_FS_BLOCK_SIZE=2048
ID_FS_LABEL=ThisIsVolumeName
ID_FS_LABEL_ENC=ThisIsVolumeName

View File

@ -1,11 +1,11 @@
ID_FS_APPLICATION_ID=Nero Linux
ID_FS_APPLICATION_ID=Nero\x20Linux
ID_FS_BLOCK_SIZE=2048
ID_FS_DATA_PREPARER_ID=Naïve and very looooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG DATA PREPARER
ID_FS_DATA_PREPARER_ID=Naïve\x20and\x20very\x20looooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG\x20DATA\x20PREPARER
ID_FS_LABEL=Naïve_and_very_lOOOOOOOONG_LABEL
ID_FS_LABEL_ENC=Naïve\x20and\x20very\x20lOOOOOOOONG_LABEL
ID_FS_PUBLISHER_ID=Naïve and very looooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG PUBLISHER
ID_FS_SYSTEM_ID=Naïve and very lONG SYSTEM IDENT
ID_FS_PUBLISHER_ID=Naïve\x20and\x20very\x20looooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG\x20PUBLISHER
ID_FS_SYSTEM_ID=Naïve\x20and\x20very\x20lONG\x20SYSTEM\x20IDENT
ID_FS_TYPE=iso9660
ID_FS_USAGE=filesystem
ID_FS_VERSION=Joliet\x20Extension
ID_FS_VOLUME_SET_ID=Naïve and very looooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG_VOLUME_SET
ID_FS_VOLUME_SET_ID=Naïve\x20and\x20very\x20looooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG_VOLUME_SET

View File

@ -1,13 +1,13 @@
ID_FS_APPLICATION_ID=Mac OS X udf newfs_udf
ID_FS_APPLICATION_ID=Mac\x20OS\x20X\x20udf\x20newfs_udf
ID_FS_BLOCK_SIZE=4096
ID_FS_LABEL=Untitled_UDF_Volume
ID_FS_LABEL_ENC=Untitled\x20UDF\x20Volume
ID_FS_LOGICAL_VOLUME_ID=Untitled UDF Volume
ID_FS_PUBLISHER_ID=Default Owner Name
ID_FS_PUBLISHER_ID=Default\x20Owner\x20Name
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=691eed1320284d61
ID_FS_UUID_ENC=691eed1320284d61
ID_FS_VERSION=2.60
ID_FS_VOLUME_ID=MacOS X UDF 2017-12-28 1145.55
ID_FS_VOLUME_SET_ID=691EED13 (Mac OS X newfs_udf) UDF Volume Set
ID_FS_VOLUME_SET_ID=691EED13\x20\x28Mac\x20OS\x20X\x20newfs_udf\x29\x20UDF\x20Volume\x20Set

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=512
ID_FS_LABEL=LinuxUDF
ID_FS_LABEL_ENC=LinuxUDF
ID_FS_LOGICAL_VOLUME_ID=LinuxUDF
ID_FS_PUBLISHER_ID=Linux mkudffs 1.0.0b2
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x201.0.0b2
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=54aeb2524c696e75

View File

@ -1,13 +1,13 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=512
ID_FS_LABEL=Label
ID_FS_LABEL_ENC=Label
ID_FS_LOGICAL_VOLUME_ID=Label
ID_FS_PUBLISHER_ID=Linux mkudffs 1.0.0b2
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x201.0.0b2
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=54aead85c291280d
ID_FS_UUID_ENC=54aead85c291280d
ID_FS_VERSION=2.01
ID_FS_VOLUME_ID=Label
ID_FS_VOLUME_SET_ID=54aead85‘( Volume set identifier
ID_FS_VOLUME_SET_ID=54aead85‘\x28\x0d\x01Volume\x20set\x20identifier

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=512
ID_FS_LABEL=Label
ID_FS_LABEL_ENC=Label
ID_FS_LOGICAL_VOLUME_ID=Label
ID_FS_PUBLISHER_ID=Linux mkudffs 1.3
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x201.3
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=5906e052003d522a

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=2048
ID_FS_LABEL=Label
ID_FS_LABEL_ENC=Label
ID_FS_LOGICAL_VOLUME_ID=Label
ID_FS_PUBLISHER_ID=Linux mkudffs 1.3
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x201.3
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=5906e7a800531574

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=2048
ID_FS_LABEL=ÿ
ID_FS_LABEL_ENC=ÿ
ID_FS_LOGICAL_VOLUME_ID=ÿ
ID_FS_PUBLISHER_ID=Linux mkudffs 1.3
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x201.3
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=5914e5d44790645a

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=1024
ID_FS_LABEL=Label
ID_FS_LABEL_ENC=Label
ID_FS_LOGICAL_VOLUME_ID=Label
ID_FS_PUBLISHER_ID=Linux mkudffs 1.3
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x201.3
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=59418701b1e8322d

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=4096
ID_FS_LABEL=Label
ID_FS_LABEL_ENC=Label
ID_FS_LOGICAL_VOLUME_ID=Label
ID_FS_PUBLISHER_ID=Linux mkudffs 1.3
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x201.3
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=594186edcc164a70

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=512
ID_FS_LABEL=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ID_FS_LABEL_ENC=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ID_FS_LOGICAL_VOLUME_ID=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ID_FS_PUBLISHER_ID=Linux mkudffs 1.3
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x201.3
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=59419a34ca436d67

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=4096
ID_FS_LABEL=Label4096
ID_FS_LABEL_ENC=Label4096
ID_FS_LOGICAL_VOLUME_ID=Label4096
ID_FS_PUBLISHER_ID=Linux mkudffs 1.3
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x201.3
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=5a08b6f521891529

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=512
ID_FS_LABEL=LinuxUDF
ID_FS_LABEL_ENC=LinuxUDF
ID_FS_LOGICAL_VOLUME_ID=LinuxUDF
ID_FS_PUBLISHER_ID=Linux mkudffs 1.3
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x201.3
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=5a11940936fe76a8

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=512
ID_FS_LABEL=😀
ID_FS_LABEL_ENC=😀
ID_FS_LOGICAL_VOLUME_ID=😀
ID_FS_PUBLISHER_ID=Linux mkudffs 2.2
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x202.2
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=5e3d6e3fee58c271

View File

@ -1,4 +1,4 @@
ID_FS_APPLICATION_ID=Microsoft Windows
ID_FS_APPLICATION_ID=Microsoft\x20Windows
ID_FS_BLOCK_SIZE=512
ID_FS_LABEL=My_volume_label
ID_FS_LABEL_ENC=My\x20volume\x20label
@ -9,4 +9,4 @@ ID_FS_UUID=103a3b3b20554446
ID_FS_UUID_ENC=103a3b3b20554446
ID_FS_VERSION=2.01
ID_FS_VOLUME_ID=UDF Volume
ID_FS_VOLUME_SET_ID=103A3B3B UDF Volume Set
ID_FS_VOLUME_SET_ID=103A3B3B\x20UDF\x20Volume\x20Set

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=2048
ID_FS_LABEL=first_session
ID_FS_LABEL_ENC=first\x20session
ID_FS_LOGICAL_VOLUME_ID=first session
ID_FS_PUBLISHER_ID=Linux mkudffs 2.2
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x202.2
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=5fa6f31ee7b7f813

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=2048
ID_FS_LABEL=second_session
ID_FS_LABEL_ENC=second\x20session
ID_FS_LOGICAL_VOLUME_ID=second session
ID_FS_PUBLISHER_ID=Linux mkudffs 2.2
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x202.2
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=5fa6f32c75d6d6a6

View File

@ -1,9 +1,9 @@
ID_FS_APPLICATION_ID=Linux mkudffs
ID_FS_APPLICATION_ID=Linux\x20mkudffs
ID_FS_BLOCK_SIZE=2048
ID_FS_LABEL=third_session
ID_FS_LABEL_ENC=third\x20session
ID_FS_LOGICAL_VOLUME_ID=third session
ID_FS_PUBLISHER_ID=Linux mkudffs 2.2
ID_FS_PUBLISHER_ID=Linux\x20mkudffs\x202.2
ID_FS_TYPE=udf
ID_FS_USAGE=filesystem
ID_FS_UUID=5fa6f33b0f78bab0