X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=SecurityPkg%2FLibrary%2FPlatformSecureLibNull%2FPlatformSecureLibNull.c;h=c5a9d676c44a1676872bcc4f9c7a08e409235ba2;hp=f222e7cb42e55972c69006c80444810984e3a1c8;hb=HEAD;hpb=3c48e853eb6e6e85a4429b717620cfa9a5218867
diff --git a/SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.c b/SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.c
index f222e7cb42..b350b04ebd 100644
--- a/SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.c
+++ b/SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.c
@@ -1,21 +1,22 @@
/** @file
- Provides a secure platform-specific method to detect physically present user.
+ NULL PlatformSecureLib instance does NOT really detect whether a physical present
+ user exists but return TRUE directly. This instance can be used to verify security
+ related features during platform enabling and development. It should be replaced
+ by a platform-specific method(e.g. Button pressed) in a real platform for product.
-Copyright (c) 2011 - 2012, Intel Corporation. All rights reserved.
-This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution. The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent
**/
+#include
+
+BOOLEAN mUserPhysicalPresence = FALSE;
+
/**
This function provides a platform-specific method to detect whether the platform
- is operating by a physically present user.
+ is operating by a physically present user.
Programmatic changing of platform security policy (such as disable Secure Boot,
or switch between Standard/Custom Secure Boot mode) MUST NOT be possible during
@@ -24,7 +25,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
NOTE THAT: This function cannot depend on any EFI Variable Service since they are
not available when this function is called in AuthenticateVariable driver.
-
+
@retval TRUE The platform is operated by a physically present user.
@retval FALSE The platform is NOT operated by a physically present user.
@@ -35,5 +36,22 @@ UserPhysicalPresent (
VOID
)
{
- return TRUE;
+ return mUserPhysicalPresence;
+}
+
+/**
+ Save user physical presence state from a PCD to mUserPhysicalPresence.
+
+ @retval EFI_SUCCESS PcdUserPhysicalPresence is got successfully.
+
+**/
+RETURN_STATUS
+EFIAPI
+PlatformSecureLibNullConstructor (
+ VOID
+ )
+{
+ mUserPhysicalPresence = PcdGetBool (PcdUserPhysicalPresence);
+
+ return RETURN_SUCCESS;
}