]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileDelete.c
SecurityPkg: Remove code under UserIdentification folder.
[mirror_edk2.git] / SecurityPkg / UserIdentification / UserProfileManagerDxe / UserProfileDelete.c
diff --git a/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileDelete.c b/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileDelete.c
deleted file mode 100644 (file)
index af5d310..0000000
+++ /dev/null
@@ -1,343 +0,0 @@
-/** @file\r
-  The functions to delete a user profile.\r
-\r
-Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include "UserProfileManager.h"\r
-\r
-/**\r
-  Get the username from the specified user.\r
-\r
-  @param[in]   User              Handle of a user profile.\r
-\r
-  @retval EFI_STRING_ID          The String Id of the user's username.\r
-\r
-**/\r
-EFI_STRING_ID\r
-GetUserName (\r
-  IN  EFI_USER_PROFILE_HANDLE                   User\r
-  )\r
-{\r
-  EFI_STATUS            Status;\r
-  EFI_USER_INFO_HANDLE  UserInfo;\r
-  EFI_USER_INFO         *Info;\r
-  UINTN                 InfoSize;\r
-  UINTN                 MemSize;\r
-  UINTN                 NameLen;\r
-  CHAR16                UserName[USER_NAME_LENGTH];\r
-  EFI_STRING_ID         UserId;\r
-\r
-  //\r
-  // Allocate user information memory.\r
-  //\r
-  MemSize = sizeof (EFI_USER_INFO) + 63;\r
-  Info    = AllocateZeroPool (MemSize);\r
-  ASSERT (Info != NULL);\r
-\r
-  //\r
-  // Get user name information.\r
-  //\r
-  UserInfo = NULL;\r
-  while (TRUE) {\r
-    InfoSize = MemSize;\r
-    //\r
-    // Get next user information.\r
-    //\r
-    Status = mUserManager->GetNextInfo (\r
-                             mUserManager,\r
-                             User,\r
-                             &UserInfo\r
-                             );\r
-    if (EFI_ERROR (Status)) {\r
-      break;\r
-    }\r
-\r
-    Status = mUserManager->GetInfo (\r
-                             mUserManager,\r
-                             User,\r
-                             UserInfo,\r
-                             Info,\r
-                             &InfoSize\r
-                             );\r
-    if (Status == EFI_BUFFER_TOO_SMALL) {\r
-      MemSize = InfoSize;\r
-      FreePool (Info);\r
-      Info = AllocateZeroPool (MemSize);\r
-      ASSERT (Info != NULL);\r
-\r
-      Status = mUserManager->GetInfo (\r
-                               mUserManager,\r
-                               User,\r
-                               UserInfo,\r
-                               Info,\r
-                               &InfoSize\r
-                               );\r
-    }\r
-    //\r
-    // Check user information.\r
-    //\r
-    if (Status == EFI_SUCCESS) {\r
-      if (Info->InfoType == EFI_USER_INFO_NAME_RECORD) {\r
-        NameLen = Info->InfoSize - sizeof (EFI_USER_INFO);\r
-        if (NameLen > USER_NAME_LENGTH * sizeof (CHAR16)) {\r
-          NameLen = USER_NAME_LENGTH * sizeof (CHAR16);\r
-        }\r
-        ASSERT (NameLen >= sizeof (CHAR16));\r
-        CopyMem (UserName, (UINT8 *) (Info + 1), NameLen);\r
-        UserName[NameLen / sizeof (CHAR16) - 1] = 0;\r
-        UserId = HiiSetString (\r
-                   mCallbackInfo->HiiHandle,\r
-                   0,\r
-                   UserName,\r
-                   NULL\r
-                   );\r
-        if (UserId != 0) {\r
-          FreePool (Info);\r
-          return UserId;\r
-        }\r
-      }\r
-    }\r
-  }\r
-\r
-  FreePool (Info);\r
-  return 0;\r
-}\r
-\r
-\r
-/**\r
-  Add a username item in form.\r
-\r
-  @param[in]  User          Points to the user profile whose username is added.\r
-  @param[in]  Index         The index of the user in the user name list\r
-  @param[in]  OpCodeHandle  Points to container for dynamic created opcodes.\r
-\r
-**/\r
-VOID\r
-AddUserToForm (\r
-  IN  EFI_USER_PROFILE_HANDLE                   User,\r
-  IN  UINT16                                    Index,\r
-  IN  VOID                                      *OpCodeHandle\r
-  )\r
-{\r
-  EFI_STRING_ID NameId;\r
-\r
-  //\r
-  // Get user name\r
-  //\r
-  NameId = GetUserName (User);\r
-  if (NameId == 0) {\r
-    return ;\r
-  }\r
-\r
-  //\r
-  // Create user name option.\r
-  //\r
-  switch (Index & KEY_FIRST_FORM_MASK) {\r
-  case KEY_MODIFY_USER:\r
-    HiiCreateGotoOpCode (\r
-      OpCodeHandle,                   // Container for dynamic created opcodes\r
-      FORMID_USER_INFO,               // Target Form ID\r
-      NameId,                         // Prompt text\r
-      STRING_TOKEN (STR_NULL_STRING), // Help text\r
-      EFI_IFR_FLAG_CALLBACK,          // Question flag\r
-      Index                           // Question ID\r
-      );\r
-    break;\r
-\r
-  case KEY_DEL_USER:\r
-    HiiCreateActionOpCode (\r
-      OpCodeHandle,                   // Container for dynamic created opcodes\r
-      Index,                          // Question ID\r
-      NameId,                         // Prompt text\r
-      STRING_TOKEN (STR_NULL_STRING), // Help text\r
-      EFI_IFR_FLAG_CALLBACK,          // Question flag\r
-      0                               // Action String ID\r
-      );\r
-    break;\r
-\r
-  default:\r
-    break;\r
-  }\r
-}\r
-\r
-\r
-/**\r
-  Delete the user specified by UserIndex in user profile database.\r
-\r
-  @param[in]  UserIndex       The index of user in the user name list\r
-                              to be deleted.\r
-\r
-**/\r
-VOID\r
-DeleteUser (\r
-  IN UINT8                                      UserIndex\r
-  )\r
-{\r
-  EFI_STATUS              Status;\r
-  EFI_USER_PROFILE_HANDLE User;\r
-  EFI_INPUT_KEY           Key;\r
-  EFI_USER_INFO_HANDLE    UserInfo;\r
-  EFI_USER_INFO           *Info;\r
-  UINTN                   InfoSize;\r
-\r
-  //\r
-  // Find specified user profile and delete it.\r
-  //\r
-  User    = NULL;\r
-  Status  = mUserManager->GetNext (mUserManager, &User);\r
-  if (EFI_ERROR (Status)) {\r
-    goto Done;\r
-  }\r
-\r
-  while (UserIndex > 1) {\r
-    Status = mUserManager->GetNext (mUserManager, &User);\r
-    if (EFI_ERROR (Status)) {\r
-      goto Done;\r
-    }\r
-    UserIndex--;\r
-  }\r
-\r
-  if (UserIndex == 1) {\r
-    //\r
-    // Get the identification policy.\r
-    //\r
-    Status = FindInfoByType (User, EFI_USER_INFO_IDENTITY_POLICY_RECORD, &UserInfo);\r
-    if (EFI_ERROR (Status)) {\r
-      goto Done;\r
-    }\r
-\r
-    InfoSize = 0;\r
-    Info = NULL;\r
-    Status   = mUserManager->GetInfo (mUserManager, User, UserInfo, Info, &InfoSize);\r
-    if (Status == EFI_BUFFER_TOO_SMALL) {\r
-      Info = AllocateZeroPool (InfoSize);\r
-      if (Info == NULL) {\r
-        goto Done;\r
-      }\r
-      Status = mUserManager->GetInfo (mUserManager, User, UserInfo, Info, &InfoSize);\r
-    }\r
-\r
-    //\r
-    // Delete the user on the credential providers by its identification policy.\r
-    //\r
-    ASSERT (Info != NULL);\r
-    DeleteCredentialFromProviders ((UINT8 *)(Info + 1), Info->InfoSize - sizeof (EFI_USER_INFO), User);\r
-    FreePool (Info);\r
-\r
-    Status = mUserManager->Delete (mUserManager, User);\r
-    if (EFI_ERROR (Status)) {\r
-      goto Done;\r
-    }\r
-    CreatePopUp (\r
-      EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,\r
-      &Key,\r
-      L"Delete User Succeed!",\r
-      L"",\r
-      L"Please Press Any Key to Continue ...",\r
-      NULL\r
-      );\r
-    return ;\r
-  }\r
-\r
-Done:\r
-  CreatePopUp (\r
-    EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,\r
-    &Key,\r
-    L"Delete User Failed!",\r
-    L"",\r
-    L"Please Press Any Key to Continue ...",\r
-    NULL\r
-    );\r
-}\r
-\r
-\r
-/**\r
-  Display user select form, cab select a user to delete.\r
-\r
-**/\r
-VOID\r
-SelectUserToDelete (\r
-  VOID\r
-  )\r
-{\r
-  EFI_STATUS              Status;\r
-  UINT8                   Index;\r
-  EFI_USER_PROFILE_HANDLE User;\r
-  EFI_USER_PROFILE_HANDLE CurrentUser;\r
-  VOID                    *StartOpCodeHandle;\r
-  VOID                    *EndOpCodeHandle;\r
-  EFI_IFR_GUID_LABEL      *StartLabel;\r
-  EFI_IFR_GUID_LABEL      *EndLabel;\r
-\r
-  //\r
-  // Initialize the container for dynamic opcodes.\r
-  //\r
-  StartOpCodeHandle = HiiAllocateOpCodeHandle ();\r
-  ASSERT (StartOpCodeHandle != NULL);\r
-\r
-  EndOpCodeHandle = HiiAllocateOpCodeHandle ();\r
-  ASSERT (EndOpCodeHandle != NULL);\r
-\r
-  //\r
-  // Create Hii Extend Label OpCode.\r
-  //\r
-  StartLabel = (EFI_IFR_GUID_LABEL *) HiiCreateGuidOpCode (\r
-                                        StartOpCodeHandle,\r
-                                        &gEfiIfrTianoGuid,\r
-                                        NULL,\r
-                                        sizeof (EFI_IFR_GUID_LABEL)\r
-                                        );\r
-  StartLabel->ExtendOpCode  = EFI_IFR_EXTEND_OP_LABEL;\r
-  StartLabel->Number        = LABEL_USER_DEL_FUNC;\r
-\r
-  EndLabel = (EFI_IFR_GUID_LABEL *) HiiCreateGuidOpCode (\r
-                                      EndOpCodeHandle,\r
-                                      &gEfiIfrTianoGuid,\r
-                                      NULL,\r
-                                      sizeof (EFI_IFR_GUID_LABEL)\r
-                                      );\r
-  EndLabel->ExtendOpCode  = EFI_IFR_EXTEND_OP_LABEL;\r
-  EndLabel->Number        = LABEL_END;\r
-\r
-  //\r
-  // Add each user can be deleted.\r
-  //\r
-  User  = NULL;\r
-  Index = 1;\r
-  mUserManager->Current (mUserManager, &CurrentUser);\r
-  while (TRUE) {\r
-    Status = mUserManager->GetNext (mUserManager, &User);\r
-    if (EFI_ERROR (Status)) {\r
-      break;\r
-    }\r
-\r
-    if (User != CurrentUser) {\r
-      AddUserToForm (\r
-        User,\r
-        (UINT16)(KEY_DEL_USER | KEY_SELECT_USER | Index),\r
-        StartOpCodeHandle\r
-        );\r
-    }\r
-    Index++;\r
-  }\r
-\r
-  HiiUpdateForm (\r
-    mCallbackInfo->HiiHandle, // HII handle\r
-    &gUserProfileManagerGuid, // Formset GUID\r
-    FORMID_DEL_USER,          // Form ID\r
-    StartOpCodeHandle,        // Label for where to insert opcodes\r
-    EndOpCodeHandle           // Replace data\r
-    );\r
-\r
-  HiiFreeOpCodeHandle (StartOpCodeHandle);\r
-  HiiFreeOpCodeHandle (EndOpCodeHandle);\r
-}\r