]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/IScsiDxe/Md5.c
MdeModulePkg: Delete IScsiDxe in MdeModulePkg.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / IScsiDxe / Md5.c
diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/Md5.c b/MdeModulePkg/Universal/Network/IScsiDxe/Md5.c
deleted file mode 100644 (file)
index 3555f1a..0000000
+++ /dev/null
@@ -1,350 +0,0 @@
-/** @file\r
-  Implementation of MD5 algorithm.\r
-\r
-Copyright (c) 2004 - 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 "Md5.h"\r
-\r
-CONST UINT32  Md5_Data[][2] = {\r
-  { 0, 1 },\r
-  { 1, 5 },\r
-  { 5, 3 },\r
-  { 0, 7 }\r
-};\r
-\r
-CONST UINT32  Md5_S[][4] = {\r
-  { 7, 22, 17, 12 },\r
-  { 5, 20, 14, 9 },\r
-  { 4, 23, 16 ,11 },\r
-  { 6, 21, 15, 10 },\r
-};\r
-\r
-CONST UINT32  Md5_T[] = {\r
-  0xD76AA478, 0xE8C7B756, 0x242070DB, 0xC1BDCEEE,\r
-  0xF57C0FAF, 0x4787C62A, 0xA8304613, 0xFD469501,\r
-  0x698098D8, 0x8B44F7AF, 0xFFFF5BB1, 0x895CD7BE,\r
-  0x6B901122, 0xFD987193, 0xA679438E, 0x49B40821,\r
-  0xF61E2562, 0xC040B340, 0x265E5A51, 0xE9B6C7AA,\r
-  0xD62F105D, 0x02441453, 0xD8A1E681, 0xE7D3FBC8,\r
-  0x21E1CDE6, 0xC33707D6, 0xF4D50D87, 0x455A14ED,\r
-  0xA9E3E905, 0xFCEFA3F8, 0x676F02D9, 0x8D2A4C8A,\r
-  0xFFFA3942, 0x8771F681, 0x6D9D6122, 0xFDE5380C,\r
-  0xA4BEEA44, 0x4BDECFA9, 0xF6BB4B60, 0xBEBFBC70,\r
-  0x289B7EC6, 0xEAA127FA, 0xD4EF3085, 0x04881D05,\r
-  0xD9D4D039, 0xE6DB99E5, 0x1FA27CF8, 0xC4AC5665,\r
-  0xF4292244, 0x432AFF97, 0xAB9423A7, 0xFC93A039,\r
-  0x655B59C3, 0x8F0CCC92, 0xFFEFF47D, 0x85845DD1,\r
-  0x6FA87E4F, 0xFE2CE6E0, 0xA3014314, 0x4E0811A1,\r
-  0xF7537E82, 0xBD3AF235, 0x2AD7D2BB, 0xEB86D391\r
-};\r
-\r
-CONST UINT8 Md5HashPadding[] =\r
-{\r
-  0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
-};\r
-\r
-//\r
-// ROTATE_LEFT rotates x left n bits.\r
-//\r
-#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32 - (n))))\r
-\r
-#define SA            MedStates[Index2 & 3]\r
-#define SB            MedStates[(Index2 + 1) & 3]\r
-#define SC            MedStates[(Index2 + 2) & 3]\r
-#define SD            MedStates[(Index2 + 3) & 3]\r
-\r
-/**\r
-  Tf1 is one basic MD5 transform function.\r
-\r
-  @param[in]  A      A  32-bit quantity.\r
-  @param[in]  B      A  32-bit quantity.\r
-  @param[in]  C      A  32-bit quantity.\r
-\r
-  @return             Output was produced as a 32-bit quantity based on the\r
-                      three 32-bit input quantity.\r
-**/\r
-UINT32\r
-Tf1 (\r
-  IN UINT32 A,\r
-  IN UINT32 B,\r
-  IN UINT32 C\r
-  )\r
-{\r
-  return (A & B) | (~A & C);\r
-}\r
-\r
-/**\r
-  Tf2 is one basic MD5 transform function.\r
-\r
-  @param[in]  A      A  32-bit quantity.\r
-  @param[in]  B      A  32-bit quantity.\r
-  @param[in]  C      A  32-bit quantity.\r
-\r
-  @return             Output was produced as a 32-bit quantity based on the\r
-                      three 32-bit input quantity.\r
-**/\r
-UINT32\r
-Tf2 (\r
-  IN UINT32 A,\r
-  IN UINT32 B,\r
-  IN UINT32 C\r
-  )\r
-{\r
-  return (A & C) | (B & ~C);\r
-}\r
-\r
-/**\r
-  Tf3 is one basic MD5 transform function.\r
-\r
-  @param[in]  A      A  32-bit quantity.\r
-  @param[in]  B      A  32-bit quantity.\r
-  @param[in]  C      A  32-bit quantity.\r
-\r
-  @return             Output was produced as a 32-bit quantity based on the\r
-                      three 32-bit input quantity.\r
-**/\r
-UINT32\r
-Tf3 (\r
-  IN UINT32 A,\r
-  IN UINT32 B,\r
-  IN UINT32 C\r
-  )\r
-{\r
-  return A ^ B ^ C;\r
-}\r
-\r
-/**\r
-  Tf4 is one basic MD5 transform function.\r
-\r
-  @param[in]  A      A  32-bit quantity.\r
-  @param[in]  B      A  32-bit quantity.\r
-  @param[in]  C      A  32-bit quantity.\r
-\r
-  @return             Output was produced as a 32-bit quantity based on the\r
-                      three 32-bit input quantity.\r
-**/\r
-UINT32\r
-Tf4 (\r
-  IN UINT32 A,\r
-  IN UINT32 B,\r
-  IN UINT32 C\r
-  )\r
-{\r
-  return B ^ (A | ~C);\r
-}\r
-\r
-typedef\r
-UINT32\r
-(*MD5_TRANSFORM_FUNC) (\r
-  IN UINT32  A,\r
-  IN UINT32  B,\r
-  IN UINT32  C\r
-  );\r
-\r
-CONST MD5_TRANSFORM_FUNC Md5_F[] = {\r
-  Tf1,\r
-  Tf2,\r
-  Tf3,\r
-  Tf4\r
-};\r
-\r
-/**\r
-  Perform the MD5 transform on 64 bytes data segment.\r
-\r
-  @param[in, out]  Md5Ctx  It includes the data segment for Md5 transform.\r
-**/\r
-VOID\r
-MD5Transform (\r
-  IN OUT MD5_CTX  *Md5Ctx\r
-  )\r
-{\r
-  UINT32  Index1;\r
-  UINT32  Index2;\r
-  UINT32  MedStates[MD5_HASHSIZE >> 2];\r
-  UINT32  *Data;\r
-  UINT32  IndexD;\r
-  UINT32  IndexT;\r
-\r
-  Data = (UINT32 *) Md5Ctx->M;\r
-\r
-  //\r
-  // Copy MD5 states to MedStates\r
-  //\r
-  CopyMem (MedStates, Md5Ctx->States, MD5_HASHSIZE);\r
-\r
-  IndexT = 0;\r
-  for (Index1 = 0; Index1 < 4; Index1++) {\r
-    IndexD = Md5_Data[Index1][0];\r
-    for (Index2 = 16; Index2 > 0; Index2--) {\r
-      SA += (*Md5_F[Index1]) (SB, SC, SD) + Data[IndexD] + Md5_T[IndexT];\r
-      SA  = ROTATE_LEFT (SA, Md5_S[Index1][Index2 & 3]);\r
-      SA += SB;\r
-\r
-      IndexD += Md5_Data[Index1][1];\r
-      IndexD &= 15;\r
-\r
-      IndexT++;\r
-    }\r
-  }\r
-\r
-  for (Index1 = 0; Index1 < 4; Index1++) {\r
-    Md5Ctx->States[Index1] += MedStates[Index1];\r
-  }\r
-}\r
-\r
-/**\r
-  Copy data segment into the M field of MD5_CTX structure for later transform.\r
-  If the length of data segment is larger than 64 bytes, then does the transform\r
-  immediately and the generated Md5 code is stored in the States field of MD5_CTX\r
-  data struct for later accumulation.\r
-  All of Md5 code generated for the sequential 64-bytes data segaments are be\r
-  accumulated in MD5Final() function.\r
-\r
-  @param[in, out]  Md5Ctx  The data structure of storing the original data\r
-                           segment and the final result.\r
-  @param[in]       Data    The data wanted to be transformed.\r
-  @param[in]       DataLen The length of data.\r
-**/\r
-VOID\r
-MD5UpdateBlock (\r
-  IN OUT MD5_CTX  *Md5Ctx,\r
-  IN CONST UINT8  *Data,\r
-  IN       UINTN  DataLen\r
-  )\r
-{\r
-  UINTN Limit;\r
-\r
-  for (Limit = 64 - Md5Ctx->Count; DataLen >= 64 - Md5Ctx->Count; Limit = 64) {\r
-    CopyMem (Md5Ctx->M + Md5Ctx->Count, (VOID *)Data, Limit);\r
-    MD5Transform (Md5Ctx);\r
-\r
-    Md5Ctx->Count = 0;\r
-    Data         += Limit;\r
-    DataLen      -= Limit;\r
-  }\r
-\r
-  CopyMem (Md5Ctx->M + Md5Ctx->Count, (VOID *)Data, DataLen);\r
-  Md5Ctx->Count += DataLen;\r
-}\r
-\r
-/**\r
-  Initialize four 32-bits chaining variables and use them to do the Md5 transform.\r
-\r
-  @param[out]  Md5Ctx The data structure of Md5.\r
-\r
-  @retval EFI_SUCCESS Initialization is ok.\r
-**/\r
-EFI_STATUS\r
-MD5Init (\r
-  OUT MD5_CTX  *Md5Ctx\r
-  )\r
-{\r
-  ZeroMem (Md5Ctx, sizeof (*Md5Ctx));\r
-\r
-  //\r
-  // Set magic initialization constants.\r
-  //\r
-  Md5Ctx->States[0] = 0x67452301;\r
-  Md5Ctx->States[1] = 0xefcdab89;\r
-  Md5Ctx->States[2] = 0x98badcfe;\r
-  Md5Ctx->States[3] = 0x10325476;\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  the external interface of Md5 algorithm\r
-\r
-  @param[in, out]  Md5Ctx  The data structure of storing the original data\r
-                           segment and the final result.\r
-  @param[in]       Data    The data wanted to be transformed.\r
-  @param[in]       DataLen The length of data.\r
-\r
-  @retval EFI_SUCCESS The transform is ok.\r
-  @retval Others      Other errors as indicated.\r
-**/\r
-EFI_STATUS\r
-MD5Update (\r
-  IN  OUT MD5_CTX  *Md5Ctx,\r
-  IN  VOID         *Data,\r
-  IN  UINTN        DataLen\r
-  )\r
-{\r
-  if (EFI_ERROR (Md5Ctx->Status)) {\r
-    return Md5Ctx->Status;\r
-  }\r
-\r
-  MD5UpdateBlock (Md5Ctx, (CONST UINT8 *) Data, DataLen);\r
-  Md5Ctx->Length += DataLen;\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
-  Accumulate the MD5 value of every data segment and generate the finial\r
-  result according to MD5 algorithm.\r
-\r
-  @param[in, out]   Md5Ctx  The data structure of storing the original data\r
-                            segment and the final result.\r
-  @param[out]      HashVal  The final 128-bits output.\r
-\r
-  @retval EFI_SUCCESS  The transform is ok.\r
-  @retval Others       Other errors as indicated.\r
-**/\r
-EFI_STATUS\r
-MD5Final (\r
-  IN  OUT MD5_CTX  *Md5Ctx,\r
-  OUT UINT8        *HashVal\r
-  )\r
-{\r
-  UINTN PadLength;\r
-\r
-  if (Md5Ctx->Status == EFI_ALREADY_STARTED) {\r
-    //\r
-    // Store Hashed value & Zeroize sensitive context information.\r
-    //\r
-    CopyMem (HashVal, (UINT8 *) Md5Ctx->States, MD5_HASHSIZE);\r
-    ZeroMem ((UINT8 *)Md5Ctx, sizeof (*Md5Ctx));\r
-\r
-    return EFI_SUCCESS;\r
-  }\r
-\r
-  if (EFI_ERROR (Md5Ctx->Status)) {\r
-    return Md5Ctx->Status;\r
-  }\r
-\r
-  PadLength  = Md5Ctx->Count >= 56 ? 120 : 56;\r
-  PadLength -= Md5Ctx->Count;\r
-  MD5UpdateBlock (Md5Ctx, Md5HashPadding, PadLength);\r
-  Md5Ctx->Length = LShiftU64 (Md5Ctx->Length, 3);\r
-  MD5UpdateBlock (Md5Ctx, (CONST UINT8 *) &Md5Ctx->Length, 8);\r
-\r
-  ZeroMem (Md5Ctx->M, sizeof (Md5Ctx->M));\r
-  Md5Ctx->Length  = 0;\r
-  Md5Ctx->Status  = EFI_ALREADY_STARTED;\r
-  return MD5Final (Md5Ctx, HashVal);\r
-}\r
-\r