]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
uuidparse: nil uuid have all bits set to zero
authorSami Kerola <kerolasa@iki.fi>
Sat, 29 Jul 2017 21:14:34 +0000 (22:14 +0100)
committerSami Kerola <kerolasa@iki.fi>
Sat, 5 Aug 2017 08:58:25 +0000 (09:58 +0100)
The nil UUID is special form of UUID that is specified to have all 128 bits
set to zero.

Reference: https://tools.ietf.org/html/rfc4122#section-4.1.7
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
misc-utils/uuidparse.c
tests/expected/uuid/uuidparse

index 49225ae2c8051028adcb366144b9c006c90d2bb2..5fa34b23d2241346cf7ab621009532a9c4c9e2d2 100644 (file)
@@ -195,7 +195,10 @@ static void fill_table_row(struct libscols_table *tb, char const *const uuid)
                        }
                        switch (type) {
                        case 0:
-                               str = xstrdup(_("nil"));
+                               if (strspn(uuid, "0-") == 36)
+                                       str = xstrdup(_("nil"));
+                               else
+                                       str = xstrdup(_("unknown"));
                                break;
                        case 1:
                                str = xstrdup(_("time-based"));
index 7fc64bcd22dc7308e115d6f43e85fbade7e222d6..c4959be8d561836e39f66fe4e4327fdcfb4a3f89 100644 (file)
@@ -6,20 +6,20 @@ UUID                                  VARIANT   TYPE       TIME
 00000000-0000-4000-0000-000000000000  NCS       random     
 00000000-0000-5000-0000-000000000000  NCS       sha1-based 
 00000000-0000-6000-0000-000000000000  NCS       unknown    
-00000000-0000-0000-8000-000000000000  DCE       nil        
+00000000-0000-0000-8000-000000000000  DCE       unknown    
 00000000-0000-2000-8000-000000000000  DCE       DCE        
 00000000-0000-3000-8000-000000000000  DCE       name-based 
 00000000-0000-4000-8000-000000000000  DCE       random     
 00000000-0000-5000-8000-000000000000  DCE       sha1-based 
 00000000-0000-6000-8000-000000000000  DCE       unknown    
-00000000-0000-0000-d000-000000000000  Microsoft nil        
+00000000-0000-0000-d000-000000000000  Microsoft unknown    
 00000000-0000-1000-d000-000000000000  Microsoft time-based 
 00000000-0000-2000-d000-000000000000  Microsoft DCE        
 00000000-0000-3000-d000-000000000000  Microsoft name-based 
 00000000-0000-4000-d000-000000000000  Microsoft random     
 00000000-0000-5000-d000-000000000000  Microsoft sha1-based 
 00000000-0000-6000-d000-000000000000  Microsoft unknown    
-00000000-0000-0000-f000-000000000000  other     nil        
+00000000-0000-0000-f000-000000000000  other     unknown    
 00000000-0000-1000-f000-000000000000  other     time-based 
 00000000-0000-2000-f000-000000000000  other     DCE        
 00000000-0000-3000-f000-000000000000  other     name-based