X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fmachine-id.xml;h=6ca9990988af48df3921448880fa0e9247ff3871;hb=8b7d2212082da89d7759a9d39d808549023b0b6b;hp=d0bfbd240d75863864151884eb21ccefb3a44e47;hpb=811ad2b3a4f0a53c22ac26a19d1b3e93afcbd32f;p=elogind.git diff --git a/man/machine-id.xml b/man/machine-id.xml index d0bfbd240..6ca999098 100644 --- a/man/machine-id.xml +++ b/man/machine-id.xml @@ -55,10 +55,12 @@ Description The /etc/machine-id file - configures the unique machine id of the local system - that is set during installation. It should contain a - single newline-terminated, hexadecimal, lowercase 16 - character machine ID string. + contains the unique machine id of the local system + that is set during installation. The machine ID is a + single newline-terminated, hexadecimal, lowercase 32 + character machine ID string. (When decoded from + hexadecimal this corresponds with a 16 byte/128 bit + string.) The machine ID is usually generated from a random source during system installation and stays @@ -69,7 +71,7 @@ The machine ID does not change based on user configuration, or when hardware is replaced. - This machine id follows the same format and + This machine ID adheres to the same format and logic as the D-Bus machine ID. Programs may use this ID to identify the host @@ -81,6 +83,35 @@ call POSIX specifies. + + Relation to OSF UUIDs + + Note that the machine ID historically is not an + OSF UUID as defined by RFC + 4122, nor a Microsoft GUID. Starting with + systemd v30 newly generated machine IDs however do + qualify as v4 UUIDs. + + In order to maintain compatibility with existing + installations, an application requiring a UUID should + decode the machine ID, and then apply the following + operations to turn it into a valid OSF v4 UUID. With + id being an unsigned character + array: + + /* Set UUID version to 4 --- truly random generation */ +id[6] = (id[6] & 0x0F) | 0x40; +/* Set the UUID variant to DCE */ +id[8] = (id[8] & 0x3F) | 0x80; + + (This code is inspired by + generate_random_uuid() of + drivers/char/random.c from the + kernel sources.) + + + History @@ -88,7 +119,7 @@ /etc/machine-id originates in the /var/lib/dbus/machine-id file introduced by D-Bus. In fact this latter file might be a - symlink to the + symlink to /etc/machine-id.