From: tye1 Date: Mon, 1 Feb 2010 05:01:07 +0000 (+0000) Subject: 1. Update the maximum length to 224 in ISCSI_CONFIG_IFR_NVDATA() to store 223 byte... X-Git-Tag: edk2-stable201903~16440 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=7d6cdbc8dd3efda6ccdbc919a51b5c0adff4beaa 1. Update the maximum length to 224 in ISCSI_CONFIG_IFR_NVDATA() to store 223 byte name plus one NULL-terminator. 2. Update the minimum length to 4 in VFR file for target/initiator name for requiring prefix “iqn.” 3. Fix the 64bit unalignment exception at IPF due to Rsdt is 32 bit alignment but OemTableId field of Rsdt is UINT64 type. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9896 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiConfigDxe.vfr b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiConfigDxe.vfr index 666fa04170..e4a27d757e 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiConfigDxe.vfr +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiConfigDxe.vfr @@ -1,7 +1,7 @@ /** @file Vfr file for iSCSI config. -Copyright (c) 2004 - 2008, Intel Corporation.
+Copyright (c) 2004 - 2010, 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 @@ -34,7 +34,7 @@ formset help = STRING_TOKEN(STR_ISCSI_CONFIG_INIT_NAME_HELP), flags = INTERACTIVE, key = KEY_INITIATOR_NAME, - minsize = 8, + minsize = ISCSI_NAME_IFR_MIN_SIZE, maxsize = ISCSI_NAME_IFR_MAX_SIZE, endstring; @@ -105,7 +105,7 @@ formset help = STRING_TOKEN(STR_ISCSI_TARGET_NAME), flags = INTERACTIVE, key = KEY_TARGET_NAME, - minsize = 8, + minsize = ISCSI_NAME_IFR_MIN_SIZE, maxsize = ISCSI_NAME_IFR_MAX_SIZE, endstring; diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiConfigNVDataStruc.h b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiConfigNVDataStruc.h index 2e9736ec32..24942f57ba 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiConfigNVDataStruc.h +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiConfigNVDataStruc.h @@ -1,7 +1,7 @@ /** @file Define NVData structures used by the iSCSI configuration component -Copyright (c) 2004 - 2007, Intel Corporation.
+Copyright (c) 2004 - 2010, 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 @@ -30,6 +30,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // // Vfr has a limit on the size, it's 255 bytes. // +#define ISCSI_NAME_IFR_MIN_SIZE 4 #define ISCSI_NAME_IFR_MAX_SIZE 223 #define IP_MIN_SIZE 7 @@ -77,7 +78,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #pragma pack(1) typedef struct { - CHAR16 InitiatorName[ISCSI_NAME_IFR_MAX_SIZE]; + CHAR16 InitiatorName[ISCSI_NAME_MAX_SIZE]; UINT8 Enabled; @@ -86,7 +87,7 @@ typedef struct { CHAR16 SubnetMask[IP4_STR_MAX_SIZE]; CHAR16 Gateway[IP4_STR_MAX_SIZE]; - CHAR16 TargetName[ISCSI_NAME_IFR_MAX_SIZE]; + CHAR16 TargetName[ISCSI_NAME_MAX_SIZE]; CHAR16 TargetIp[IP4_STR_MAX_SIZE]; UINT16 TargetPort; CHAR16 BootLun[ISCSI_LUN_STR_MAX_LEN]; diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiIbft.c b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiIbft.c index 6ca8a217f5..cbf699f0d2 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiIbft.c +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiIbft.c @@ -1,7 +1,7 @@ /** @file Implementation for iSCSI Boot Firmware Table publication. -Copyright (c) 2004 - 2009, Intel Corporation.
+Copyright (c) 2004 - 2010, 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 @@ -45,7 +45,7 @@ IScsiInitIbfTableHeader ( Header->OemId[4] = 'L'; CopyMem (Header->OemId, OemId, sizeof (Header->OemId)); - Header->OemTableId = *OemTableId; + CopyMem (&Header->OemTableId, OemTableId, sizeof (UINT64)); } /**