grub/grub-core
Pali Rohár 682b3134b6 * grub-core/fs/udf.c: Add support for UUID
Use same algorithm as in libblkid from util-linux v2.30.

1. Take first 16 bytes from UTF-8 encoded string of VolumeSetIdentifier
2. If all bytes are hexadecimal digits, convert to lowercase and use as UUID
3. If first 8 bytes are not all hexadecimal digits, convert those 8 bytes
   to their hexadecimal representation, resulting in 16 bytes for UUID
4. Otherwise, compose UUID from two parts:
   1. part: converted first 8 bytes (which are hexadecimal digits) to lowercase
   2. part: encoded following 4 bytes to their hexadecimal representation (16 bytes)

So UUID would always have 16 hexadecimal digits in lowercase variant.

According to UDF specification, first 16 Unicode characters of
VolumeSetIdentifier should be unique value and first 8 should be
hexadecimal characters.

In most cases all 16 characters are hexadecimal, but e.g. MS Windows
format.exe set only first 8 as hexadecimal and remaining as fixed
(non-unique) which violates specification.
2020-09-21 11:32:45 -04:00
..
boot sparc64: Close cdboot ihandle 2020-09-21 11:32:45 -04:00
bus ehci: Fix compilation on i386 2020-09-21 11:32:45 -04:00
commands Fix a segfault in lsefi 2020-09-21 11:32:45 -04:00
disk Merge branch 'gnu' into sync 2017-04-27 12:05:22 -07:00
efiemu x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32 2019-10-24 16:59:37 +02:00
font Document intentional fallthroughs. 2015-01-27 17:17:58 +01:00
fs * grub-core/fs/udf.c: Add support for UUID 2020-09-21 11:32:45 -04:00
gdb i386, x86_64, ppc: fix switch fallthrough cases with GCC7 2017-04-04 19:23:55 +03:00
gettext * grub-core/gettext/gettext.c (main_context), (secondary_context): 2013-11-07 01:01:47 +01:00
gfxmenu gfxmenu: fix memory leak 2016-01-12 21:52:50 +03:00
gnulib i386, x86_64, ppc: fix switch fallthrough cases with GCC7 2017-04-04 19:23:55 +03:00
hello * grub-core/commands/gptsync.c: Fix typographic quoting. 2012-03-03 13:05:08 +01:00
hook * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic 2011-11-11 21:03:49 +01:00
io gzio: Optimize by removing division. 2015-02-26 22:10:09 +01:00
kern Missing parts of previous commit 2020-09-21 11:32:45 -04:00
lib fdt: silence clang warning. 2020-09-21 11:32:45 -04:00
loader arm-efi: Fix compilation 2020-09-21 11:32:45 -04:00
mmap Translate UEFI persistent memory type 2015-12-15 10:25:34 +03:00
net Add Virtual LAN support. 2020-09-21 11:32:45 -04:00
normal Fix use after free 2017-07-09 18:38:15 +05:30
osdep sparc64: Don't use devspec to determine the OBP path 2020-09-21 11:32:45 -04:00
partmap disk/ldm, partmap/msdos.c: fix spelling error 2015-08-22 21:22:41 +02:00
parttool * grub-core/net/http.c: Add TRANSLATORS comments. 2012-03-05 16:42:26 +01:00
script Merge branch 'gnu' into sync 2017-04-27 12:05:22 -07:00
term at_keyboard: Fix falco chromebook case. 2020-09-21 11:32:45 -04:00
tests strtoull: Fix behaviour on chars between '9' and 'a'. 2020-09-21 11:32:45 -04:00
video coreboot: Split parts that are platform-independent. 2020-09-21 11:32:45 -04:00
gdb_grub.in * grub-core/gdb_grub.in: Fix overflow and wrong field. 2013-10-14 03:40:20 +02:00
genemuinit.sh use MODULE_FILES for genemuinit* instead of MOD_FILES 2014-01-18 23:15:40 +04:00
genemuinitheader.sh use MODULE_FILES for genemuinit* instead of MOD_FILES 2014-01-18 23:15:40 +04:00
genmod.sh.in Fix shebang for termux. 2020-09-21 11:32:45 -04:00
genmoddep.awk genmoddep.awk: Add a test that we have no circular dependencies 2015-11-08 20:00:27 +01:00
gensyminfo.sh.in Fix shebang for termux. 2020-09-21 11:32:45 -04:00
gensymlist.sh Make 'make check' work on emu. 2013-04-27 02:00:16 +02:00
gentrigtables.c * grub-core/gentrigtables.c: Make tables const. 2013-03-01 11:15:09 +01:00
gmodule.pl.in * grub-core/gmodule.pl.in: Accept newer binutils which output 2014-09-21 18:23:23 +02:00
gnulib-fix-gcc7-fallthrough.diff Add gnulib-fix-gcc7-fallthrough.diff 2017-04-04 19:37:47 +03:00
gnulib-fix-null-deref.diff Import new gnulib. 2013-04-11 21:12:46 +02:00
gnulib-fix-width.diff Import new gnulib. 2013-04-11 21:12:46 +02:00
gnulib-no-abort.diff Import new gnulib. 2013-04-11 21:12:46 +02:00
gnulib-no-gets.diff Import new gnulib. 2013-04-11 21:12:46 +02:00
Makefile.am arm_coreboot: Support DMA. 2020-09-21 11:32:45 -04:00
Makefile.core.def Missing parts of previous commit 2020-09-21 11:32:45 -04:00
modinfo.sh.in Fix shebang for termux. 2020-09-21 11:32:45 -04:00