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; }