X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=NetworkPkg%2FApplication%2FIpsecConfig%2FIpSecConfig.c;h=274f582b2bfe64dafc51354e83b8c6a221a87d59;hp=e4f6057f403b5ad0eb2a1253071cc7e7780aaaf3;hb=96c1d788107db60e86c9726c2cbd773b63c91d7d;hpb=9bdc6592135aa9b687db7a679c52903f63812484 diff --git a/NetworkPkg/Application/IpsecConfig/IpSecConfig.c b/NetworkPkg/Application/IpsecConfig/IpSecConfig.c index e4f6057f40..274f582b2b 100644 --- a/NetworkPkg/Application/IpsecConfig/IpSecConfig.c +++ b/NetworkPkg/Application/IpsecConfig/IpSecConfig.c @@ -1,7 +1,7 @@ /** @file The main process for IpSecConfig application. - Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, 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 @@ -25,6 +25,11 @@ #include "Delete.h" #include "Helper.h" +// +// String token ID of IpSecConfig command help message text. +// +GLOBAL_REMOVE_IF_UNREFERENCED EFI_STRING_ID mStringIpSecHelpTokenId = STRING_TOKEN (STR_IPSEC_CONFIG_HELP); + // // Used for ShellCommandLineParseEx only // and to ensure user inputs are in valid format @@ -40,7 +45,6 @@ SHELL_PARAM_ITEM mIpSecConfigParamList[] = { { L"-enable", TypeFlag }, { L"-disable", TypeFlag }, { L"-status", TypeFlag }, - { L"-?", TypeFlag }, // // SPD Selector @@ -622,11 +626,36 @@ InitializeIpSecConfig ( CONST CHAR16 *ValueStr; CHAR16 *ProblemParam; UINTN NonOptionCount; + EFI_HII_PACKAGE_LIST_HEADER *PackageList; // - // Register our string package with HII and return the handle to it. + // Retrieve HII package list from ImageHandle // - mHiiHandle = HiiAddPackages (&gEfiCallerIdGuid, ImageHandle, IpSecConfigStrings, NULL); + Status = gBS->OpenProtocol ( + ImageHandle, + &gEfiHiiPackageListProtocolGuid, + (VOID **) &PackageList, + ImageHandle, + NULL, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Publish HII package list to HII Database. + // + Status = gHiiDatabase->NewPackageList ( + gHiiDatabase, + PackageList, + NULL, + &mHiiHandle + ); + if (EFI_ERROR (Status)) { + return Status; + } + ASSERT (mHiiHandle != NULL); Status = ShellCommandLineParseEx (mIpSecConfigParamList, &ParamPackage, &ProblemParam, TRUE, FALSE); @@ -728,33 +757,6 @@ InitializeIpSecConfig ( } } - if (ShellCommandLineGetFlag (ParamPackage, L"-?")) { - if (DataType == -1) { - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IPSEC_CONFIG_HELP), mHiiHandle); - goto Done; - } - - switch (DataType) { - case IPsecConfigDataTypeSpd: - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IPSEC_CONFIG_SPD_HELP), mHiiHandle); - break; - - case IPsecConfigDataTypeSad: - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IPSEC_CONFIG_SAD_HELP), mHiiHandle); - break; - - case IPsecConfigDataTypePad: - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IPSEC_CONFIG_PAD_HELP), mHiiHandle); - break; - - default: - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IPSEC_CONFIG_INCORRECT_DB), mHiiHandle); - break; - } - - goto Done; - } - NonOptionCount = ShellCommandLineGetCount (ParamPackage); if ((NonOptionCount - 1) > 0) { ValueStr = ShellCommandLineGetRawValue (ParamPackage, (UINT32) (NonOptionCount - 1));