From 6213001c732c4e411dffb2802f5d6fe307bd7544 Mon Sep 17 00:00:00 2001 From: Bmju Date: Mon, 15 Feb 2021 18:06:15 +0000 Subject: [PATCH] ocvalidate: allow OEM special string in Generic/SystemUUID (#210) --- Utilities/ocvalidate/README.md | 1 + Utilities/ocvalidate/ValidatePlatformInfo.c | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Utilities/ocvalidate/README.md b/Utilities/ocvalidate/README.md index 8618c73b..77708917 100644 --- a/Utilities/ocvalidate/README.md +++ b/Utilities/ocvalidate/README.md @@ -98,6 +98,7 @@ Utility to validate whether a `config.plist` matches requirements and convention #### Generic - SystemProductName: Only real Mac models are accepted. - SystemMemoryStatus: Only `Auto`, `Upgradable`, or `Soldered` are accepted. +- SystemUUID: Only empty string, `OEM` or valid UUID are accepted. - ProcessorType: Only known first byte can be set. ### UEFI diff --git a/Utilities/ocvalidate/ValidatePlatformInfo.c b/Utilities/ocvalidate/ValidatePlatformInfo.c index 73ccc4df..e046c9ec 100644 --- a/Utilities/ocvalidate/ValidatePlatformInfo.c +++ b/Utilities/ocvalidate/ValidatePlatformInfo.c @@ -94,8 +94,10 @@ CheckPlatformInfoGeneric ( } AsciiSystemUUID = OC_BLOB_GET (&UserPlatformInfo->Generic.SystemUuid); - if (AsciiSystemUUID[0] != '\0' && !AsciiGuidIsLegal (AsciiSystemUUID)) { - DEBUG ((DEBUG_WARN, "PlatformInfo->Generic->SystemUUID is borked!\n")); + if (AsciiSystemUUID[0] != '\0' + && AsciiStrCmp (AsciiSystemUUID, "OEM") != 0 + && !AsciiGuidIsLegal (AsciiSystemUUID)) { + DEBUG ((DEBUG_WARN, "PlatformInfo->Generic->SystemUUID is borked (Can only be empty, special string OEM or valid UUID)!\n")); ++ErrorCount; }