ISCSI_SESSION_CONFIG_NVDATA *SessionConfigData;\r
ISCSI_CHAP_AUTH_CONFIG_NVDATA *AuthConfigData;\r
CHAR16 AttemptNameList[ATTEMPT_NAME_LIST_SIZE];\r
+ ISCSI_NIC_INFO *NicInfo;\r
+ CHAR16 MacString[ISCSI_MAX_MAC_STRING_LEN];\r
EFI_IP_ADDRESS Ip;\r
UINTN Index;\r
UINTN StringLen;\r
\r
+ NicInfo = NULL;\r
ZeroMem (AttemptNameList, sizeof (AttemptNameList));\r
\r
if ((mPrivate != NULL) && (mPrivate->AttemptCount != 0)) {\r
if (SessionConfigData->DnsMode) {\r
AsciiStrToUnicodeStrS (\r
SessionConfigData->TargetUrl,\r
- IfrNvData->TargetIp,\r
- sizeof (IfrNvData->TargetIp) / sizeof (IfrNvData->TargetIp[0])\r
+ IfrNvData->Keyword[Index].ISCSITargetIpAddress,\r
+ sizeof (IfrNvData->Keyword[Index].ISCSITargetIpAddress) / sizeof (IfrNvData->Keyword[Index].ISCSITargetIpAddress[0])\r
);\r
}\r
\r
);\r
}\r
}\r
-\r
CopyMem(IfrNvData->ISCSIDisplayAttemptList, AttemptNameList, ATTEMPT_NAME_LIST_SIZE);\r
}\r
+\r
+ NET_LIST_FOR_EACH (Entry, &mPrivate->NicInfoList) {\r
+ NicInfo = NET_LIST_USER_STRUCT (Entry, ISCSI_NIC_INFO, Link);\r
+ IScsiMacAddrToStr (\r
+ &NicInfo->PermanentAddress,\r
+ NicInfo->HwAddressSize,\r
+ NicInfo->VlanId,\r
+ MacString\r
+ );\r
+ CopyMem (\r
+ IfrNvData->ISCSIMacAddr + StrLen (IfrNvData->ISCSIMacAddr),\r
+ MacString,\r
+ StrLen (MacString) * sizeof (CHAR16)\r
+ );\r
+\r
+ *(IfrNvData->ISCSIMacAddr + StrLen (IfrNvData->ISCSIMacAddr)) = L'/';\r
+ }\r
}\r
\r
/**\r
ISCSI_ATTEMPT_CONFIG_NVDATA *Attempt;\r
UINT8 AttemptIndex;\r
UINT8 Index;\r
+ UINT8 ChapSecretLen;\r
+ UINT8 ReverseChapSecretLen;\r
CHAR16 *AttemptName1;\r
CHAR16 *AttemptName2;\r
ISCSI_ATTEMPT_CONFIG_NVDATA *SameNicAttempt;\r
if (Attempt == NULL) {\r
return EFI_INVALID_PARAMETER;\r
}\r
- Attempt->SessionConfigData.ConnectRetryCount = IfrNvData->ISCSIConnectRetry[AttemptIndex - 1];\r
- if (Attempt->SessionConfigData.ConnectRetryCount == 0) {\r
- Attempt->SessionConfigData.ConnectRetryCount = CONNECT_MIN_RETRY;\r
+\r
+ if (IfrNvData->ISCSIConnectRetry[AttemptIndex - 1] > CONNECT_MAX_RETRY) {\r
+ CreatePopUp (\r
+ EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,\r
+ &Key,\r
+ L"The minimum value is 0 and the maximum is 16. 0 means no retry.",\r
+ NULL\r
+ );\r
+ return EFI_INVALID_PARAMETER;\r
}\r
+ Attempt->SessionConfigData.ConnectRetryCount = IfrNvData->ISCSIConnectRetry[AttemptIndex - 1];\r
\r
} else if ((OffSet >= ATTEMPT_CONNECT_TIMEOUT_VAR_OFFSET) && (OffSet < ATTEMPT_INITIATOR_VIA_DHCP_VAR_OFFSET)) {\r
AttemptIndex = (UINT8) ((OffSet - ATTEMPT_CONNECT_TIMEOUT_VAR_OFFSET) / 2 + 1);\r
if (Attempt == NULL) {\r
return EFI_INVALID_PARAMETER;\r
}\r
+\r
+ if ((IfrNvData->ISCSIConnectTimeout[AttemptIndex - 1] < CONNECT_MIN_TIMEOUT) ||\r
+ (IfrNvData->ISCSIConnectTimeout[AttemptIndex - 1] > CONNECT_MAX_TIMEOUT)) {\r
+ CreatePopUp (\r
+ EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,\r
+ &Key,\r
+ L"The minimum value is 100 milliseconds and the maximum is 20 seconds.",\r
+ NULL\r
+ );\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+\r
Attempt->SessionConfigData.ConnectTimeout = IfrNvData->ISCSIConnectTimeout[AttemptIndex - 1];\r
if (Attempt->SessionConfigData.ConnectTimeout == 0) {\r
Attempt->SessionConfigData.ConnectTimeout = CONNECT_DEFAULT_TIMEOUT;\r
}\r
\r
- if (Attempt->SessionConfigData.Enabled != ISCSI_DISABLED) {\r
- if (Attempt->SessionConfigData.ConnectTimeout < CONNECT_MIN_TIMEOUT) {\r
- CreatePopUp (\r
- EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,\r
- &Key,\r
- L"Connection Establishing Timeout is less than minimum value 100ms.",\r
- NULL\r
- );\r
- return EFI_INVALID_PARAMETER;\r
- }\r
- }\r
-\r
} else if ((OffSet >= ATTEMPT_INITIATOR_VIA_DHCP_VAR_OFFSET) && (OffSet < ATTEMPT_TARGET_VIA_DHCP_VAR_OFFSET)) {\r
AttemptIndex = (UINT8) ((OffSet - ATTEMPT_INITIATOR_VIA_DHCP_VAR_OFFSET) + 1);\r
Attempt = IScsiConfigGetAttemptByConfigIndex (AttemptIndex);\r
);\r
\r
if (Attempt->SessionConfigData.Enabled != ISCSI_DISABLED) {\r
- if (IfrNvData->CHAPName[0] == L'\0') {\r
+ if (IfrNvData->Keyword[Index].ISCSIChapUsername[0] == L'\0') {\r
CreatePopUp (\r
EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,\r
&Key,\r
\r
} else if ((OffSet >= ATTEMPT_CHAR_SECRET_VAR_OFFSET) && (OffSet < ATTEMPT_CHAR_REVERSE_USER_NAME_VAR_OFFSET)) {\r
if (Attempt->AuthenticationType == ISCSI_AUTH_TYPE_CHAP) {\r
+ ChapSecretLen = (UINT8)StrLen (IfrNvData->Keyword[Index].ISCSIChapSecret);\r
UnicodeStrToAsciiStrS (\r
IfrNvData->Keyword[Index].ISCSIChapSecret,\r
Attempt->AuthConfigData.CHAP.CHAPSecret,\r
);\r
\r
if (Attempt->SessionConfigData.Enabled != ISCSI_DISABLED) {\r
- if (IfrNvData->CHAPSecret[0] == L'\0') {\r
+ if ((ChapSecretLen < ISCSI_CHAP_SECRET_MIN_LEN) || (ChapSecretLen > ISCSI_CHAP_SECRET_MAX_LEN)) {\r
CreatePopUp (\r
EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,\r
&Key,\r
- L"CHAP Secret is invalid!",\r
+ L"The Chap Secret minimum length is 12 bytes and the maximum length is 16 bytes.",\r
NULL\r
);\r
return EFI_INVALID_PARAMETER;\r
ISCSI_CHAP_NAME_STORAGE\r
);\r
if (Attempt->SessionConfigData.Enabled != ISCSI_DISABLED) {\r
- if (IfrNvData->ReverseCHAPName[0] == L'\0') {\r
+ if (IfrNvData->Keyword[Index].ISCSIReverseChapUsername[0] == L'\0') {\r
CreatePopUp (\r
EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,\r
&Key,\r
\r
} else if (OffSet >= ATTEMPT_CHAR_REVERSE_SECRET_VAR_OFFSET) {\r
if (Attempt->AuthConfigData.CHAP.CHAPType == ISCSI_CHAP_MUTUAL) {\r
+ ReverseChapSecretLen = (UINT8)StrLen (IfrNvData->Keyword[Index].ISCSIReverseChapSecret);\r
UnicodeStrToAsciiStrS (\r
IfrNvData->Keyword[Index].ISCSIReverseChapSecret,\r
Attempt->AuthConfigData.CHAP.ReverseCHAPSecret,\r
);\r
\r
if (Attempt->SessionConfigData.Enabled != ISCSI_DISABLED) {\r
- if (IfrNvData->ReverseCHAPSecret[0] == L'\0') {\r
+ if ((ReverseChapSecretLen < ISCSI_CHAP_SECRET_MIN_LEN) || (ReverseChapSecretLen > ISCSI_CHAP_SECRET_MAX_LEN)) {\r
CreatePopUp (\r
EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,\r
&Key,\r
- L"Reverse CHAP Secret is invalid!",\r
+ L"The Reverse CHAP Secret minimum length is 12 bytes and the maximum length is 16 bytes.",\r
NULL\r
);\r
return EFI_INVALID_PARAMETER;\r