From ae4cb94fa6170b5c4b02d1ab3d042a2452c18394 Mon Sep 17 00:00:00 2001 From: gdong1 Date: Wed, 14 Sep 2011 02:28:51 +0000 Subject: [PATCH] Update UID drivers to align with latest UEFI spec 2.3.1 errata A. Signed-off-by: gdong1 Reviewed-by: xdu2 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12345 6f19259b-4bc3-4df7-8a09-765794883524 --- .../PwdCredentialProvider.c | 11 +------- .../UsbCredentialProvider.c | 25 ++++--------------- .../UserIdentifyManager.c | 20 +-------------- 3 files changed, 7 insertions(+), 49 deletions(-) diff --git a/SecurityPkg/UserIdentification/PwdCredentialProviderDxe/PwdCredentialProvider.c b/SecurityPkg/UserIdentification/PwdCredentialProviderDxe/PwdCredentialProvider.c index ad1521040c..9d2e622f13 100644 --- a/SecurityPkg/UserIdentification/PwdCredentialProviderDxe/PwdCredentialProvider.c +++ b/SecurityPkg/UserIdentification/PwdCredentialProviderDxe/PwdCredentialProvider.c @@ -1061,17 +1061,8 @@ CredentialUser ( } } - // - // The User's password doesn't match the input password. - // Return the user ID whose password matches the input password. - // - CopyMem ( - Identifier, - &mPwdTable->UserInfo[mPwdTable->ValidIndex - 1].UserId, - sizeof (EFI_USER_INFO_IDENTIFIER) - ); FreePool (UserInfo); - return EFI_SUCCESS; + return EFI_NOT_READY; } diff --git a/SecurityPkg/UserIdentification/UsbCredentialProviderDxe/UsbCredentialProvider.c b/SecurityPkg/UserIdentification/UsbCredentialProviderDxe/UsbCredentialProvider.c index 6c22bfb2bb..2b79354fbd 100644 --- a/SecurityPkg/UserIdentification/UsbCredentialProviderDxe/UsbCredentialProvider.c +++ b/SecurityPkg/UserIdentification/UsbCredentialProviderDxe/UsbCredentialProvider.c @@ -1,7 +1,7 @@ /** @file Usb Credential Provider driver implemenetation. -Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2009 - 2011, 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 @@ -1037,25 +1037,10 @@ CredentialUser ( } } } - FreePool (UserInfo); - - // - // The read token mismatch with the User's Token. - // Only check token. - // - for (Index = 0; Index < mUsbTable->Count; Index++) { - UserToken = mUsbTable->UserInfo[Index].Token; - if (CompareMem (UserToken, ReadToken, HASHED_CREDENTIAL_LEN) == 0) { - // - // The read token matches with the one in UsbTable. - // - UserId = (UINT8 *) &mUsbTable->UserInfo[Index].UserId; - CopyMem (Identifier, UserId, sizeof (EFI_USER_INFO_IDENTIFIER)); - return EFI_SUCCESS; - } - } - - return EFI_NOT_FOUND; + + FreePool (UserInfo); + + return EFI_NOT_READY; } diff --git a/SecurityPkg/UserIdentification/UserIdentifyManagerDxe/UserIdentifyManager.c b/SecurityPkg/UserIdentification/UserIdentifyManagerDxe/UserIdentifyManager.c index e105579115..64388130e1 100644 --- a/SecurityPkg/UserIdentification/UserIdentifyManagerDxe/UserIdentifyManager.c +++ b/SecurityPkg/UserIdentification/UserIdentifyManagerDxe/UserIdentifyManager.c @@ -2319,7 +2319,7 @@ GetIdentifyType ( Identify the User by the specfied provider. @param[in] User Handle of a user profile. - @param[in] Provider Points to the identifir of credential provider. + @param[in] Provider Points to the identifier of credential provider. @retval EFI_INVALID_PARAMETER Provider is NULL. @retval EFI_NOT_FOUND Fail to identify the specified user. @@ -2340,7 +2340,6 @@ IdentifyByProviderId ( EFI_GUID FormSetId; EFI_FORM_ID FormId; EFI_USER_CREDENTIAL_PROTOCOL *UserCredential; - EFI_USER_INFO *IdInfo; if (Provider == NULL) { return EFI_INVALID_PARAMETER; @@ -2398,24 +2397,7 @@ IdentifyByProviderId ( if (EFI_ERROR (Status)) { return Status; } - - if (User == NULL) { - return EFI_SUCCESS; - } - // - // Get user ID information. - // - IdInfo = NULL; - Status = FindUserInfoByType (User, &IdInfo, EFI_USER_INFO_IDENTIFIER_RECORD); - ASSERT (IdInfo != NULL); - - if (CompareMem ((UINT8 *) (IdInfo + 1), UserId, sizeof (EFI_USER_INFO_IDENTIFIER)) != 0) { - // - // One user name is selected, but the other's credential is given. Here no user passed. - // - break; - } return EFI_SUCCESS; } }