From d1050b9dff1cace252aff86630bfdb59dff5f507 Mon Sep 17 00:00:00 2001 From: Michael Kubacki Date: Sun, 5 Dec 2021 14:54:07 -0800 Subject: NetworkPkg: Apply uncrustify changes REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the NetworkPkg package Cc: Andrew Fish Cc: Leif Lindholm Cc: Michael D Kinney Signed-off-by: Michael Kubacki Reviewed-by: Maciej Rabeda --- NetworkPkg/DnsDxe/ComponentName.c | 55 +-- NetworkPkg/DnsDxe/DnsDhcp.c | 187 +++++---- NetworkPkg/DnsDxe/DnsDhcp.h | 59 ++- NetworkPkg/DnsDxe/DnsDriver.c | 264 ++++++------ NetworkPkg/DnsDxe/DnsDriver.h | 104 +++-- NetworkPkg/DnsDxe/DnsImpl.c | 819 +++++++++++++++++++------------------- NetworkPkg/DnsDxe/DnsImpl.h | 297 +++++++------- NetworkPkg/DnsDxe/DnsProtocol.c | 343 ++++++++-------- 8 files changed, 1076 insertions(+), 1052 deletions(-) (limited to 'NetworkPkg/DnsDxe') diff --git a/NetworkPkg/DnsDxe/ComponentName.c b/NetworkPkg/DnsDxe/ComponentName.c index e59c8704fb..32adb93f41 100644 --- a/NetworkPkg/DnsDxe/ComponentName.c +++ b/NetworkPkg/DnsDxe/ComponentName.c @@ -11,6 +11,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // // EFI Component Name Functions // + /** Retrieves a Unicode string that is the user-readable name of the EFI Driver. @@ -85,13 +86,12 @@ EFI_STATUS EFIAPI DnsComponentNameGetControllerName ( IN EFI_COMPONENT_NAME_PROTOCOL *This, - IN EFI_HANDLE ControllerHandle, - IN EFI_HANDLE ChildHandle OPTIONAL, - IN CHAR8 *Language, - OUT CHAR16 **ControllerName + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE ChildHandle OPTIONAL, + IN CHAR8 *Language, + OUT CHAR16 **ControllerName ); - /// /// Component Name Protocol instance /// @@ -107,8 +107,8 @@ EFI_COMPONENT_NAME_PROTOCOL gDnsComponentName = { /// GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gDnsComponentName2 = { - (EFI_COMPONENT_NAME2_GET_DRIVER_NAME) DnsComponentNameGetDriverName, - (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) DnsComponentNameGetControllerName, + (EFI_COMPONENT_NAME2_GET_DRIVER_NAME)DnsComponentNameGetDriverName, + (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME)DnsComponentNameGetControllerName, "en" }; @@ -116,12 +116,12 @@ EFI_COMPONENT_NAME2_PROTOCOL gDnsComponentName2 = { /// Table of driver names /// GLOBAL_REMOVE_IF_UNREFERENCED -EFI_UNICODE_STRING_TABLE mDnsDriverNameTable[] = { +EFI_UNICODE_STRING_TABLE mDnsDriverNameTable[] = { { "eng;en", (CHAR16 *)L"DNS Network Service Driver" }, - { NULL, NULL } + { NULL, NULL } }; -GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE *gDnsControllerNameTable = NULL; +GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE *gDnsControllerNameTable = NULL; /** Retrieves a Unicode string that is the user-readable name of the EFI Driver. @@ -174,12 +174,12 @@ DnsComponentNameGetDriverName ( **/ EFI_STATUS UpdateDns4Name ( - EFI_DNS4_PROTOCOL *Dns4 + EFI_DNS4_PROTOCOL *Dns4 ) { - EFI_STATUS Status; - CHAR16 HandleName[80]; - EFI_DNS4_MODE_DATA ModeData; + EFI_STATUS Status; + CHAR16 HandleName[80]; + EFI_DNS4_MODE_DATA ModeData; if (Dns4 == NULL) { return EFI_INVALID_PARAMETER; @@ -208,6 +208,7 @@ UpdateDns4Name ( if (ModeData.DnsCacheList != NULL) { FreePool (ModeData.DnsCacheList); } + if (ModeData.DnsServerList != NULL) { FreePool (ModeData.DnsServerList); } @@ -249,13 +250,13 @@ UpdateDns4Name ( **/ EFI_STATUS UpdateDns6Name ( - EFI_DNS6_PROTOCOL *Dns6 + EFI_DNS6_PROTOCOL *Dns6 ) { - EFI_STATUS Status; - CHAR16 HandleName[128]; - EFI_DNS6_MODE_DATA ModeData; - CHAR16 Address[sizeof"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"]; + EFI_STATUS Status; + CHAR16 HandleName[128]; + EFI_DNS6_MODE_DATA ModeData; + CHAR16 Address[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"]; if (Dns6 == NULL) { return EFI_INVALID_PARAMETER; @@ -274,6 +275,7 @@ UpdateDns6Name ( if (EFI_ERROR (Status)) { return Status; } + UnicodeSPrint ( HandleName, sizeof (HandleName), @@ -285,6 +287,7 @@ UpdateDns6Name ( if (ModeData.DnsCacheList != NULL) { FreePool (ModeData.DnsCacheList); } + if (ModeData.DnsServerList != NULL) { FreePool (ModeData.DnsServerList); } @@ -358,15 +361,15 @@ EFI_STATUS EFIAPI DnsComponentNameGetControllerName ( IN EFI_COMPONENT_NAME_PROTOCOL *This, - IN EFI_HANDLE ControllerHandle, - IN EFI_HANDLE ChildHandle OPTIONAL, - IN CHAR8 *Language, - OUT CHAR16 **ControllerName + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE ChildHandle OPTIONAL, + IN CHAR8 *Language, + OUT CHAR16 **ControllerName ) { - EFI_STATUS Status; - EFI_DNS4_PROTOCOL *Dns4; - EFI_DNS6_PROTOCOL *Dns6; + EFI_STATUS Status; + EFI_DNS4_PROTOCOL *Dns4; + EFI_DNS6_PROTOCOL *Dns6; // // ChildHandle must be NULL for a Device Driver diff --git a/NetworkPkg/DnsDxe/DnsDhcp.c b/NetworkPkg/DnsDxe/DnsDhcp.c index 8f8b2aab1e..933565a32d 100644 --- a/NetworkPkg/DnsDxe/DnsDhcp.c +++ b/NetworkPkg/DnsDxe/DnsDhcp.c @@ -19,22 +19,22 @@ SPDX-License-Identifier: BSD-2-Clause-Patent **/ VOID DnsInitSeedPacket ( - OUT EFI_DHCP4_PACKET *Seed, - IN EFI_IP4_CONFIG2_INTERFACE_INFO *InterfaceInfo + OUT EFI_DHCP4_PACKET *Seed, + IN EFI_IP4_CONFIG2_INTERFACE_INFO *InterfaceInfo ) { - EFI_DHCP4_HEADER *Header; + EFI_DHCP4_HEADER *Header; // // Get IfType and HwAddressSize from SNP mode data. // - Seed->Size = sizeof (EFI_DHCP4_PACKET); - Seed->Length = sizeof (Seed->Dhcp4); - Header = &Seed->Dhcp4.Header; + Seed->Size = sizeof (EFI_DHCP4_PACKET); + Seed->Length = sizeof (Seed->Dhcp4); + Header = &Seed->Dhcp4.Header; ZeroMem (Header, sizeof (EFI_DHCP4_HEADER)); - Header->OpCode = DHCP4_OPCODE_REQUEST; - Header->HwType = InterfaceInfo->IfType; - Header->HwAddrLen = (UINT8) InterfaceInfo->HwAddressSize; + Header->OpCode = DHCP4_OPCODE_REQUEST; + Header->HwType = InterfaceInfo->IfType; + Header->HwAddrLen = (UINT8)InterfaceInfo->HwAddressSize; CopyMem (Header->ClientHwAddr, &(InterfaceInfo->HwAddress), Header->HwAddrLen); Seed->Dhcp4.Magik = DHCP4_MAGIC; @@ -56,10 +56,10 @@ DhcpCommonNotify ( ) { if ((Event == NULL) || (Context == NULL)) { - return ; + return; } - *((BOOLEAN *) Context) = TRUE; + *((BOOLEAN *)Context) = TRUE; } /** @@ -77,26 +77,26 @@ DhcpCommonNotify ( **/ EFI_STATUS ParseDhcp4Ack ( - IN EFI_DHCP4_PROTOCOL *Dhcp4, - IN EFI_DHCP4_PACKET *Packet, - IN DNS4_SERVER_INFOR *DnsServerInfor + IN EFI_DHCP4_PROTOCOL *Dhcp4, + IN EFI_DHCP4_PACKET *Packet, + IN DNS4_SERVER_INFOR *DnsServerInfor ) { - EFI_STATUS Status; - UINT32 OptionCount; - EFI_DHCP4_PACKET_OPTION **OptionList; - UINT32 ServerCount; - EFI_IPv4_ADDRESS *ServerList; - UINT32 Index; - UINT32 Count; + EFI_STATUS Status; + UINT32 OptionCount; + EFI_DHCP4_PACKET_OPTION **OptionList; + UINT32 ServerCount; + EFI_IPv4_ADDRESS *ServerList; + UINT32 Index; + UINT32 Count; ServerCount = 0; - ServerList = NULL; + ServerList = NULL; OptionCount = 0; OptionList = NULL; - Status = Dhcp4->Parse (Dhcp4, Packet, &OptionCount, OptionList); + Status = Dhcp4->Parse (Dhcp4, Packet, &OptionCount, OptionList); if (Status != EFI_BUFFER_TOO_SMALL) { return EFI_DEVICE_ERROR; } @@ -119,19 +119,18 @@ ParseDhcp4Ack ( // Get DNS server addresses // if (OptionList[Index]->OpCode == DHCP4_TAG_DNS_SERVER) { - if (((OptionList[Index]->Length & 0x3) != 0) || (OptionList[Index]->Length == 0)) { Status = EFI_DEVICE_ERROR; break; } ServerCount = OptionList[Index]->Length/4; - ServerList = AllocatePool (ServerCount * sizeof (EFI_IPv4_ADDRESS)); + ServerList = AllocatePool (ServerCount * sizeof (EFI_IPv4_ADDRESS)); if (ServerList == NULL) { return EFI_OUT_OF_RESOURCES; } - for (Count=0; Count < ServerCount; Count++) { + for (Count = 0; Count < ServerCount; Count++) { CopyMem (ServerList + Count, &OptionList[Index]->Data[4 * Count], sizeof (EFI_IPv4_ADDRESS)); } @@ -167,25 +166,25 @@ ParseDhcp4Ack ( EFI_STATUS EFIAPI ParseDhcp6Ack ( - IN EFI_DHCP6_PROTOCOL *This, - IN VOID *Context, - IN EFI_DHCP6_PACKET *Packet + IN EFI_DHCP6_PROTOCOL *This, + IN VOID *Context, + IN EFI_DHCP6_PACKET *Packet ) { - EFI_STATUS Status; - UINT32 OptionCount; - EFI_DHCP6_PACKET_OPTION **OptionList; - DNS6_SERVER_INFOR *DnsServerInfor; - UINT32 ServerCount; - EFI_IPv6_ADDRESS *ServerList; - UINT32 Index; - UINT32 Count; + EFI_STATUS Status; + UINT32 OptionCount; + EFI_DHCP6_PACKET_OPTION **OptionList; + DNS6_SERVER_INFOR *DnsServerInfor; + UINT32 ServerCount; + EFI_IPv6_ADDRESS *ServerList; + UINT32 Index; + UINT32 Count; OptionCount = 0; ServerCount = 0; ServerList = NULL; - Status = This->Parse (This, Packet, &OptionCount, NULL); + Status = This->Parse (This, Packet, &OptionCount, NULL); if (Status != EFI_BUFFER_TOO_SMALL) { return EFI_DEVICE_ERROR; } @@ -201,7 +200,7 @@ ParseDhcp6Ack ( return EFI_DEVICE_ERROR; } - DnsServerInfor = (DNS6_SERVER_INFOR *) Context; + DnsServerInfor = (DNS6_SERVER_INFOR *)Context; for (Index = 0; Index < OptionCount; Index++) { OptionList[Index]->OpCode = NTOHS (OptionList[Index]->OpCode); @@ -211,7 +210,6 @@ ParseDhcp6Ack ( // Get DNS server addresses from this reply packet. // if (OptionList[Index]->OpCode == DHCP6_TAG_DNS_SERVER) { - if (((OptionList[Index]->OpLen & 0xf) != 0) || (OptionList[Index]->OpLen == 0)) { Status = EFI_DEVICE_ERROR; gBS->FreePool (OptionList); @@ -219,13 +217,13 @@ ParseDhcp6Ack ( } ServerCount = OptionList[Index]->OpLen/16; - ServerList = AllocatePool (ServerCount * sizeof (EFI_IPv6_ADDRESS)); + ServerList = AllocatePool (ServerCount * sizeof (EFI_IPv6_ADDRESS)); if (ServerList == NULL) { gBS->FreePool (OptionList); return EFI_OUT_OF_RESOURCES; } - for (Count=0; Count < ServerCount; Count++) { + for (Count = 0; Count < ServerCount; Count++) { CopyMem (ServerList + Count, &OptionList[Index]->Data[16 * Count], sizeof (EFI_IPv6_ADDRESS)); } @@ -237,7 +235,6 @@ ParseDhcp6Ack ( gBS->FreePool (OptionList); return Status; - } /** @@ -255,47 +252,47 @@ ParseDhcp6Ack ( **/ EFI_STATUS GetDns4ServerFromDhcp4 ( - IN DNS_INSTANCE *Instance, - OUT UINT32 *DnsServerCount, - OUT EFI_IPv4_ADDRESS **DnsServerList + IN DNS_INSTANCE *Instance, + OUT UINT32 *DnsServerCount, + OUT EFI_IPv4_ADDRESS **DnsServerList ) { - EFI_STATUS Status; - EFI_HANDLE Image; - EFI_HANDLE Controller; - EFI_STATUS MediaStatus; - EFI_HANDLE MnpChildHandle; - EFI_MANAGED_NETWORK_PROTOCOL *Mnp; - EFI_MANAGED_NETWORK_CONFIG_DATA MnpConfigData; - EFI_HANDLE Dhcp4Handle; - EFI_DHCP4_PROTOCOL *Dhcp4; - EFI_IP4_CONFIG2_PROTOCOL *Ip4Config2; - UINTN DataSize; - VOID *Data; - EFI_IP4_CONFIG2_INTERFACE_INFO *InterfaceInfo; - EFI_DHCP4_PACKET SeedPacket; - EFI_DHCP4_PACKET_OPTION *ParaList[2]; - DNS4_SERVER_INFOR DnsServerInfor; - - EFI_DHCP4_TRANSMIT_RECEIVE_TOKEN Token; - BOOLEAN IsDone; - UINTN Index; - - Image = Instance->Service->ImageHandle; - Controller = Instance->Service->ControllerHandle; - - MnpChildHandle = NULL; - Mnp = NULL; - - Dhcp4Handle = NULL; - Dhcp4 = NULL; - - Ip4Config2 = NULL; - DataSize = 0; - Data = NULL; - InterfaceInfo = NULL; - - ZeroMem ((UINT8 *) ParaList, sizeof (ParaList)); + EFI_STATUS Status; + EFI_HANDLE Image; + EFI_HANDLE Controller; + EFI_STATUS MediaStatus; + EFI_HANDLE MnpChildHandle; + EFI_MANAGED_NETWORK_PROTOCOL *Mnp; + EFI_MANAGED_NETWORK_CONFIG_DATA MnpConfigData; + EFI_HANDLE Dhcp4Handle; + EFI_DHCP4_PROTOCOL *Dhcp4; + EFI_IP4_CONFIG2_PROTOCOL *Ip4Config2; + UINTN DataSize; + VOID *Data; + EFI_IP4_CONFIG2_INTERFACE_INFO *InterfaceInfo; + EFI_DHCP4_PACKET SeedPacket; + EFI_DHCP4_PACKET_OPTION *ParaList[2]; + DNS4_SERVER_INFOR DnsServerInfor; + + EFI_DHCP4_TRANSMIT_RECEIVE_TOKEN Token; + BOOLEAN IsDone; + UINTN Index; + + Image = Instance->Service->ImageHandle; + Controller = Instance->Service->ControllerHandle; + + MnpChildHandle = NULL; + Mnp = NULL; + + Dhcp4Handle = NULL; + Dhcp4 = NULL; + + Ip4Config2 = NULL; + DataSize = 0; + Data = NULL; + InterfaceInfo = NULL; + + ZeroMem ((UINT8 *)ParaList, sizeof (ParaList)); ZeroMem (&MnpConfigData, sizeof (EFI_MANAGED_NETWORK_CONFIG_DATA)); @@ -332,7 +329,7 @@ GetDns4ServerFromDhcp4 ( Status = gBS->OpenProtocol ( MnpChildHandle, &gEfiManagedNetworkProtocolGuid, - (VOID **) &Mnp, + (VOID **)&Mnp, Image, Controller, EFI_OPEN_PROTOCOL_BY_DRIVER @@ -352,7 +349,7 @@ GetDns4ServerFromDhcp4 ( MnpConfigData.EnableReceiveTimestamps = FALSE; MnpConfigData.DisableBackgroundPolling = FALSE; - Status = Mnp->Configure(Mnp, &MnpConfigData); + Status = Mnp->Configure (Mnp, &MnpConfigData); if (EFI_ERROR (Status)) { goto ON_EXIT; } @@ -373,7 +370,7 @@ GetDns4ServerFromDhcp4 ( Status = gBS->OpenProtocol ( Dhcp4Handle, &gEfiDhcp4ProtocolGuid, - (VOID **) &Dhcp4, + (VOID **)&Dhcp4, Image, Controller, EFI_OPEN_PROTOCOL_BY_DRIVER @@ -385,13 +382,13 @@ GetDns4ServerFromDhcp4 ( // // Get Ip4Config2 instance info. // - Status = gBS->HandleProtocol (Controller, &gEfiIp4Config2ProtocolGuid, (VOID **) &Ip4Config2); + Status = gBS->HandleProtocol (Controller, &gEfiIp4Config2ProtocolGuid, (VOID **)&Ip4Config2); if (EFI_ERROR (Status)) { goto ON_EXIT; } Status = Ip4Config2->GetData (Ip4Config2, Ip4Config2DataTypeInterfaceInfo, &DataSize, Data); - if (EFI_ERROR (Status) && Status != EFI_BUFFER_TOO_SMALL) { + if (EFI_ERROR (Status) && (Status != EFI_BUFFER_TOO_SMALL)) { goto ON_EXIT; } @@ -470,7 +467,7 @@ GetDns4ServerFromDhcp4 ( Status = Dhcp4->Build (Dhcp4, &SeedPacket, 0, NULL, 2, ParaList, &Token.Packet); - Token.Packet->Dhcp4.Header.Xid = HTONL(NET_RANDOM (NetRandomInitSeed ())); + Token.Packet->Dhcp4.Header.Xid = HTONL (NET_RANDOM (NetRandomInitSeed ())); Token.Packet->Dhcp4.Header.Reserved = HTONS ((UINT16)0x8000); @@ -601,10 +598,10 @@ ON_EXIT: **/ EFI_STATUS GetDns6ServerFromDhcp6 ( - IN EFI_HANDLE Image, - IN EFI_HANDLE Controller, - OUT UINT32 *DnsServerCount, - OUT EFI_IPv6_ADDRESS **DnsServerList + IN EFI_HANDLE Image, + IN EFI_HANDLE Controller, + OUT UINT32 *DnsServerCount, + OUT EFI_IPv6_ADDRESS **DnsServerList ) { EFI_HANDLE Dhcp6Handle; @@ -651,7 +648,7 @@ GetDns6ServerFromDhcp6 ( Status = gBS->OpenProtocol ( Dhcp6Handle, &gEfiDhcp6ProtocolGuid, - (VOID **) &Dhcp6, + (VOID **)&Dhcp6, Image, Controller, EFI_OPEN_PROTOCOL_BY_DRIVER @@ -724,7 +721,7 @@ GetDns6ServerFromDhcp6 ( } while (TimerStatus == EFI_NOT_READY); } - *DnsServerList = DnsServerInfor.ServerList; + *DnsServerList = DnsServerInfor.ServerList; ON_EXIT: @@ -753,6 +750,4 @@ ON_EXIT: ); return Status; - } - diff --git a/NetworkPkg/DnsDxe/DnsDhcp.h b/NetworkPkg/DnsDxe/DnsDhcp.h index 7212ba0ce4..c0ed7851f4 100644 --- a/NetworkPkg/DnsDxe/DnsDhcp.h +++ b/NetworkPkg/DnsDxe/DnsDhcp.h @@ -14,39 +14,38 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // #pragma pack(1) -#define IP4_ETHER_PROTO 0x0800 +#define IP4_ETHER_PROTO 0x0800 -#define DHCP4_OPCODE_REQUEST 1 -#define DHCP4_MAGIC 0x63538263 /// network byte order -#define DHCP4_TAG_EOP 255 /// End Option +#define DHCP4_OPCODE_REQUEST 1 +#define DHCP4_MAGIC 0x63538263 /// network byte order +#define DHCP4_TAG_EOP 255 /// End Option -#define DHCP4_TAG_TYPE 53 -#define DHCP4_MSG_REQUEST 3 -#define DHCP4_MSG_INFORM 8 +#define DHCP4_TAG_TYPE 53 +#define DHCP4_MSG_REQUEST 3 +#define DHCP4_MSG_INFORM 8 -#define DHCP4_TAG_PARA_LIST 55 -#define DHCP4_TAG_DNS_SERVER 6 +#define DHCP4_TAG_PARA_LIST 55 +#define DHCP4_TAG_DNS_SERVER 6 +#define DHCP6_TAG_DNS_REQUEST 6 +#define DHCP6_TAG_DNS_SERVER 23 -#define DHCP6_TAG_DNS_REQUEST 6 -#define DHCP6_TAG_DNS_SERVER 23 - -#define DNS_CHECK_MEDIA_GET_DHCP_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20) +#define DNS_CHECK_MEDIA_GET_DHCP_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20) // // The required Dns4 server information. // typedef struct { - UINT32 *ServerCount; - EFI_IPv4_ADDRESS *ServerList; + UINT32 *ServerCount; + EFI_IPv4_ADDRESS *ServerList; } DNS4_SERVER_INFOR; // // The required Dns6 server information. // typedef struct { - UINT32 *ServerCount; - EFI_IPv6_ADDRESS *ServerList; + UINT32 *ServerCount; + EFI_IPv6_ADDRESS *ServerList; } DNS6_SERVER_INFOR; #pragma pack() @@ -66,9 +65,9 @@ typedef struct { **/ EFI_STATUS ParseDhcp4Ack ( - IN EFI_DHCP4_PROTOCOL *Dhcp4, - IN EFI_DHCP4_PACKET *Packet, - IN DNS4_SERVER_INFOR *DnsServerInfor + IN EFI_DHCP4_PROTOCOL *Dhcp4, + IN EFI_DHCP4_PACKET *Packet, + IN DNS4_SERVER_INFOR *DnsServerInfor ); /** @@ -91,9 +90,9 @@ ParseDhcp4Ack ( EFI_STATUS EFIAPI ParseDhcp6Ack ( - IN EFI_DHCP6_PROTOCOL *This, - IN VOID *Context, - IN EFI_DHCP6_PACKET *Packet + IN EFI_DHCP6_PROTOCOL *This, + IN VOID *Context, + IN EFI_DHCP6_PACKET *Packet ); /** @@ -111,9 +110,9 @@ ParseDhcp6Ack ( **/ EFI_STATUS GetDns4ServerFromDhcp4 ( - IN DNS_INSTANCE *Instance, - OUT UINT32 *DnsServerCount, - OUT EFI_IPv4_ADDRESS **DnsServerList + IN DNS_INSTANCE *Instance, + OUT UINT32 *DnsServerCount, + OUT EFI_IPv4_ADDRESS **DnsServerList ); /** @@ -132,10 +131,10 @@ GetDns4ServerFromDhcp4 ( **/ EFI_STATUS GetDns6ServerFromDhcp6 ( - IN EFI_HANDLE Image, - IN EFI_HANDLE Controller, - OUT UINT32 *DnsServerCount, - OUT EFI_IPv6_ADDRESS **DnsServerList + IN EFI_HANDLE Image, + IN EFI_HANDLE Controller, + OUT UINT32 *DnsServerCount, + OUT EFI_IPv6_ADDRESS **DnsServerList ); #endif diff --git a/NetworkPkg/DnsDxe/DnsDriver.c b/NetworkPkg/DnsDxe/DnsDriver.c index 4db0c6bdd1..466c64046f 100644 --- a/NetworkPkg/DnsDxe/DnsDriver.c +++ b/NetworkPkg/DnsDxe/DnsDriver.c @@ -8,7 +8,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include "DnsImpl.h" -EFI_DRIVER_BINDING_PROTOCOL gDns4DriverBinding = { +EFI_DRIVER_BINDING_PROTOCOL gDns4DriverBinding = { Dns4DriverBindingSupported, Dns4DriverBindingStart, Dns4DriverBindingStop, @@ -17,7 +17,7 @@ EFI_DRIVER_BINDING_PROTOCOL gDns4DriverBinding = { NULL }; -EFI_DRIVER_BINDING_PROTOCOL gDns6DriverBinding = { +EFI_DRIVER_BINDING_PROTOCOL gDns6DriverBinding = { Dns6DriverBindingSupported, Dns6DriverBindingStart, Dns6DriverBindingStop, @@ -26,17 +26,17 @@ EFI_DRIVER_BINDING_PROTOCOL gDns6DriverBinding = { NULL }; -EFI_SERVICE_BINDING_PROTOCOL mDns4ServiceBinding = { +EFI_SERVICE_BINDING_PROTOCOL mDns4ServiceBinding = { Dns4ServiceBindingCreateChild, Dns4ServiceBindingDestroyChild }; -EFI_SERVICE_BINDING_PROTOCOL mDns6ServiceBinding = { +EFI_SERVICE_BINDING_PROTOCOL mDns6ServiceBinding = { Dns6ServiceBindingCreateChild, Dns6ServiceBindingDestroyChild }; -DNS_DRIVER_DATA *mDriverData = NULL; +DNS_DRIVER_DATA *mDriverData = NULL; /** Destroy the DNS instance and recycle the resources. @@ -46,7 +46,7 @@ DNS_DRIVER_DATA *mDriverData = NULL; **/ VOID DnsDestroyInstance ( - IN DNS_INSTANCE *Instance + IN DNS_INSTANCE *Instance ) { ZeroMem (&Instance->Dns4CfgData, sizeof (EFI_DNS4_CONFIG_DATA)); @@ -61,7 +61,7 @@ DnsDestroyInstance ( Dns6InstanceCancelToken (Instance, NULL); } - if (Instance->UdpIo!= NULL) { + if (Instance->UdpIo != NULL) { UdpIoFreeIo (Instance->UdpIo); } @@ -80,11 +80,11 @@ DnsDestroyInstance ( **/ EFI_STATUS DnsCreateInstance ( - IN DNS_SERVICE *Service, - OUT DNS_INSTANCE **Instance + IN DNS_SERVICE *Service, + OUT DNS_INSTANCE **Instance ) { - DNS_INSTANCE *DnsIns; + DNS_INSTANCE *DnsIns; *Instance = NULL; @@ -137,8 +137,8 @@ DnsCreateInstance ( EFI_STATUS EFIAPI DnsDestroyChildEntryInHandleBuffer ( - IN LIST_ENTRY *Entry, - IN VOID *Context + IN LIST_ENTRY *Entry, + IN VOID *Context ) { DNS_INSTANCE *Instance; @@ -146,14 +146,14 @@ DnsDestroyChildEntryInHandleBuffer ( UINTN NumberOfChildren; EFI_HANDLE *ChildHandleBuffer; - if (Entry == NULL || Context == NULL) { + if ((Entry == NULL) || (Context == NULL)) { return EFI_INVALID_PARAMETER; } - Instance = NET_LIST_USER_STRUCT_S (Entry, DNS_INSTANCE, Link, DNS_INSTANCE_SIGNATURE); - ServiceBinding = ((DNS_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *) Context)->ServiceBinding; - NumberOfChildren = ((DNS_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *) Context)->NumberOfChildren; - ChildHandleBuffer = ((DNS_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *) Context)->ChildHandleBuffer; + Instance = NET_LIST_USER_STRUCT_S (Entry, DNS_INSTANCE, Link, DNS_INSTANCE_SIGNATURE); + ServiceBinding = ((DNS_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *)Context)->ServiceBinding; + NumberOfChildren = ((DNS_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *)Context)->NumberOfChildren; + ChildHandleBuffer = ((DNS_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *)Context)->ChildHandleBuffer; if (!NetIsInHandleBuffer (Instance->ChildHandle, NumberOfChildren, ChildHandleBuffer)) { return EFI_SUCCESS; @@ -177,8 +177,8 @@ DnsDestroyChildEntryInHandleBuffer ( EFI_STATUS EFIAPI DnsConfigNullUdp ( - IN UDP_IO *UdpIo, - IN VOID *Context + IN UDP_IO *UdpIo, + IN VOID *Context ) { return EFI_SUCCESS; @@ -192,7 +192,7 @@ DnsConfigNullUdp ( **/ VOID DnsDestroyService ( - IN DNS_SERVICE *DnsSb + IN DNS_SERVICE *DnsSb ) { UdpIoFreeIo (DnsSb->ConnectUdp); @@ -227,19 +227,19 @@ DnsDestroyService ( **/ EFI_STATUS DnsCreateService ( - IN EFI_HANDLE Controller, - IN EFI_HANDLE Image, - IN UINT8 IpVersion, - OUT DNS_SERVICE **Service + IN EFI_HANDLE Controller, + IN EFI_HANDLE Image, + IN UINT8 IpVersion, + OUT DNS_SERVICE **Service ) { - EFI_STATUS Status; - DNS_SERVICE *DnsSb; + EFI_STATUS Status; + DNS_SERVICE *DnsSb; - Status = EFI_SUCCESS; - DnsSb = NULL; + Status = EFI_SUCCESS; + DnsSb = NULL; - *Service = NULL; + *Service = NULL; DnsSb = AllocateZeroPool (sizeof (DNS_SERVICE)); if (DnsSb == NULL) { @@ -263,11 +263,11 @@ DnsCreateService ( DnsSb->ControllerHandle = Controller; DnsSb->ImageHandle = Image; - DnsSb->TimerToGetMap = NULL; + DnsSb->TimerToGetMap = NULL; - DnsSb->Timer = NULL; + DnsSb->Timer = NULL; - DnsSb->IpVersion = IpVersion; + DnsSb->IpVersion = IpVersion; // // Create the timer used to time out the procedure which is used to @@ -299,6 +299,7 @@ DnsCreateService ( if (DnsSb->TimerToGetMap != NULL) { gBS->CloseEvent (DnsSb->TimerToGetMap); } + FreePool (DnsSb); return Status; } @@ -315,6 +316,7 @@ DnsCreateService ( if (DnsSb->TimerToGetMap != NULL) { gBS->CloseEvent (DnsSb->TimerToGetMap); } + gBS->CloseEvent (DnsSb->Timer); FreePool (DnsSb); return EFI_DEVICE_ERROR; @@ -341,11 +343,11 @@ DnsUnload ( { EFI_STATUS Status; - LIST_ENTRY *Entry; - DNS4_CACHE *ItemCache4; - DNS4_SERVER_IP *ItemServerIp4; - DNS6_CACHE *ItemCache6; - DNS6_SERVER_IP *ItemServerIp6; + LIST_ENTRY *Entry; + DNS4_CACHE *ItemCache4; + DNS4_SERVER_IP *ItemServerIp4; + DNS6_CACHE *ItemCache6; + DNS6_SERVER_IP *ItemServerIp6; ItemCache4 = NULL; ItemServerIp4 = NULL; @@ -355,7 +357,7 @@ DnsUnload ( // // Disconnect the driver specified by ImageHandle // - Status = NetLibDefaultUnload(ImageHandle); + Status = NetLibDefaultUnload (ImageHandle); if (EFI_ERROR (Status)) { return Status; } @@ -493,25 +495,25 @@ DnsDriverEntryPoint ( return Status; - Error4: - gBS->CloseEvent (mDriverData->Timer); +Error4: + gBS->CloseEvent (mDriverData->Timer); - Error3: - FreePool (mDriverData); +Error3: + FreePool (mDriverData); - Error2: - EfiLibUninstallDriverBindingComponentName2 ( - &gDns6DriverBinding, - &gDnsComponentName, - &gDnsComponentName2 - ); +Error2: + EfiLibUninstallDriverBindingComponentName2 ( + &gDns6DriverBinding, + &gDnsComponentName, + &gDnsComponentName2 + ); - Error1: - EfiLibUninstallDriverBindingComponentName2 ( - &gDns4DriverBinding, - &gDnsComponentName, - &gDnsComponentName2 - ); +Error1: + EfiLibUninstallDriverBindingComponentName2 ( + &gDns4DriverBinding, + &gDnsComponentName, + &gDnsComponentName2 + ); return Status; } @@ -641,8 +643,8 @@ Dns4DriverBindingStart ( IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL ) { - DNS_SERVICE *DnsSb; - EFI_STATUS Status; + DNS_SERVICE *DnsSb; + EFI_STATUS Status; Status = DnsCreateService (ControllerHandle, This->DriverBindingHandle, IP_VERSION_4, &DnsSb); if (EFI_ERROR (Status)) { @@ -712,12 +714,12 @@ Dns4DriverBindingStop ( IN EFI_HANDLE *ChildHandleBuffer OPTIONAL ) { - EFI_SERVICE_BINDING_PROTOCOL *ServiceBinding; - DNS_SERVICE *DnsSb; - EFI_HANDLE NicHandle; - EFI_STATUS Status; - LIST_ENTRY *List; - DNS_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT Context; + EFI_SERVICE_BINDING_PROTOCOL *ServiceBinding; + DNS_SERVICE *DnsSb; + EFI_HANDLE NicHandle; + EFI_STATUS Status; + LIST_ENTRY *List; + DNS_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT Context; // // DNS driver opens UDP child, So, Controller is a UDP @@ -733,7 +735,7 @@ Dns4DriverBindingStop ( Status = gBS->OpenProtocol ( NicHandle, &gEfiDns4ServiceBindingProtocolGuid, - (VOID **) &ServiceBinding, + (VOID **)&ServiceBinding, This->DriverBindingHandle, NicHandle, EFI_OPEN_PROTOCOL_GET_PROTOCOL @@ -748,19 +750,19 @@ Dns4DriverBindingStop ( // // Destroy the Dns child instance in ChildHandleBuffer. // - List = &DnsSb->Dns4ChildrenList; + List = &DnsSb->Dns4ChildrenList; Context.ServiceBinding = ServiceBinding; Context.NumberOfChildren = NumberOfChildren; Context.ChildHandleBuffer = ChildHandleBuffer; - Status = NetDestroyLinkList ( - List, - DnsDestroyChildEntryInHandleBuffer, - &Context, - NULL - ); + Status = NetDestroyLinkList ( + List, + DnsDestroyChildEntryInHandleBuffer, + &Context, + NULL + ); } - if (NumberOfChildren == 0 && IsListEmpty (&DnsSb->Dns4ChildrenList)) { + if ((NumberOfChildren == 0) && IsListEmpty (&DnsSb->Dns4ChildrenList)) { gBS->UninstallProtocolInterface ( NicHandle, &gEfiDns4ServiceBindingProtocolGuid, @@ -905,8 +907,8 @@ Dns6DriverBindingStart ( IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL ) { - DNS_SERVICE *DnsSb; - EFI_STATUS Status; + DNS_SERVICE *DnsSb; + EFI_STATUS Status; Status = DnsCreateService (ControllerHandle, This->DriverBindingHandle, IP_VERSION_6, &DnsSb); if (EFI_ERROR (Status)) { @@ -977,12 +979,12 @@ Dns6DriverBindingStop ( IN EFI_HANDLE *ChildHandleBuffer OPTIONAL ) { - EFI_SERVICE_BINDING_PROTOCOL *ServiceBinding; - DNS_SERVICE *DnsSb; - EFI_HANDLE NicHandle; - EFI_STATUS Status; - LIST_ENTRY *List; - DNS_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT Context; + EFI_SERVICE_BINDING_PROTOCOL *ServiceBinding; + DNS_SERVICE *DnsSb; + EFI_HANDLE NicHandle; + EFI_STATUS Status; + LIST_ENTRY *List; + DNS_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT Context; // // DNS driver opens UDP child, So, Controller is a UDP @@ -998,7 +1000,7 @@ Dns6DriverBindingStop ( Status = gBS->OpenProtocol ( NicHandle, &gEfiDns6ServiceBindingProtocolGuid, - (VOID **) &ServiceBinding, + (VOID **)&ServiceBinding, This->DriverBindingHandle, NicHandle, EFI_OPEN_PROTOCOL_GET_PROTOCOL @@ -1013,19 +1015,19 @@ Dns6DriverBindingStop ( // // Destroy the Dns child instance in ChildHandleBuffer. // - List = &DnsSb->Dns6ChildrenList; + List = &DnsSb->Dns6ChildrenList; Context.ServiceBinding = ServiceBinding; Context.NumberOfChildren = NumberOfChildren; Context.ChildHandleBuffer = ChildHandleBuffer; - Status = NetDestroyLinkList ( - List, - DnsDestroyChildEntryInHandleBuffer, - &Context, - NULL - ); + Status = NetDestroyLinkList ( + List, + DnsDestroyChildEntryInHandleBuffer, + &Context, + NULL + ); } - if (NumberOfChildren == 0 && IsListEmpty (&DnsSb->Dns6ChildrenList)) { + if ((NumberOfChildren == 0) && IsListEmpty (&DnsSb->Dns6ChildrenList)) { gBS->UninstallProtocolInterface ( NicHandle, &gEfiDns6ServiceBindingProtocolGuid, @@ -1071,11 +1073,11 @@ Dns4ServiceBindingCreateChild ( IN EFI_HANDLE *ChildHandle ) { - DNS_SERVICE *DnsSb; - DNS_INSTANCE *Instance; - EFI_STATUS Status; - EFI_TPL OldTpl; - VOID *Udp4; + DNS_SERVICE *DnsSb; + DNS_INSTANCE *Instance; + EFI_STATUS Status; + EFI_TPL OldTpl; + VOID *Udp4; if ((This == NULL) || (ChildHandle == NULL)) { return EFI_INVALID_PARAMETER; @@ -1087,6 +1089,7 @@ Dns4ServiceBindingCreateChild ( if (EFI_ERROR (Status)) { return Status; } + ASSERT (Instance != NULL); // @@ -1110,7 +1113,7 @@ Dns4ServiceBindingCreateChild ( Status = gBS->OpenProtocol ( DnsSb->ConnectUdp->UdpHandle, &gEfiUdp4ProtocolGuid, - (VOID **) &Udp4, + (VOID **)&Udp4, gDns4DriverBinding.DriverBindingHandle, Instance->ChildHandle, EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER @@ -1132,7 +1135,7 @@ Dns4ServiceBindingCreateChild ( Status = gBS->OpenProtocol ( Instance->UdpIo->UdpHandle, &gEfiUdp4ProtocolGuid, - (VOID **) &Udp4, + (VOID **)&Udp4, gDns4DriverBinding.DriverBindingHandle, Instance->ChildHandle, EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER @@ -1148,12 +1151,12 @@ Dns4ServiceBindingCreateChild ( *ChildHandle ); - gBS->UninstallMultipleProtocolInterfaces ( - Instance->ChildHandle, - &gEfiDns4ProtocolGuid, - &Instance->Dns4, - NULL - ); + gBS->UninstallMultipleProtocolInterfaces ( + Instance->ChildHandle, + &gEfiDns4ProtocolGuid, + &Instance->Dns4, + NULL + ); goto ON_ERROR; } @@ -1201,12 +1204,12 @@ Dns4ServiceBindingDestroyChild ( IN EFI_HANDLE ChildHandle ) { - DNS_SERVICE *DnsSb; - DNS_INSTANCE *Instance; + DNS_SERVICE *DnsSb; + DNS_INSTANCE *Instance; - EFI_DNS4_PROTOCOL *Dns4; - EFI_STATUS Status; - EFI_TPL OldTpl; + EFI_DNS4_PROTOCOL *Dns4; + EFI_STATUS Status; + EFI_TPL OldTpl; if ((This == NULL) || (ChildHandle == NULL)) { return EFI_INVALID_PARAMETER; @@ -1218,7 +1221,7 @@ Dns4ServiceBindingDestroyChild ( Status = gBS->OpenProtocol ( ChildHandle, &gEfiDns4ProtocolGuid, - (VOID **) &Dns4, + (VOID **)&Dns4, gDns4DriverBinding.DriverBindingHandle, ChildHandle, EFI_OPEN_PROTOCOL_GET_PROTOCOL @@ -1228,8 +1231,8 @@ Dns4ServiceBindingDestroyChild ( return EFI_UNSUPPORTED; } - Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL4 (Dns4); - DnsSb = DNS_SERVICE_FROM_THIS (This); + Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL4 (Dns4); + DnsSb = DNS_SERVICE_FROM_THIS (This); if (Instance->Service != DnsSb) { return EFI_INVALID_PARAMETER; @@ -1314,11 +1317,11 @@ Dns6ServiceBindingCreateChild ( IN EFI_HANDLE *ChildHandle ) { - DNS_SERVICE *DnsSb; - DNS_INSTANCE *Instance; - EFI_STATUS Status; - EFI_TPL OldTpl; - VOID *Udp6; + DNS_SERVICE *DnsSb; + DNS_INSTANCE *Instance; + EFI_STATUS Status; + EFI_TPL OldTpl; + VOID *Udp6; if ((This == NULL) || (ChildHandle == NULL)) { return EFI_INVALID_PARAMETER; @@ -1330,6 +1333,7 @@ Dns6ServiceBindingCreateChild ( if (EFI_ERROR (Status)) { return Status; } + ASSERT (Instance != NULL); // @@ -1353,7 +1357,7 @@ Dns6ServiceBindingCreateChild ( Status = gBS->OpenProtocol ( DnsSb->ConnectUdp->UdpHandle, &gEfiUdp6ProtocolGuid, - (VOID **) &Udp6, + (VOID **)&Udp6, gDns6DriverBinding.DriverBindingHandle, Instance->ChildHandle, EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER @@ -1375,7 +1379,7 @@ Dns6ServiceBindingCreateChild ( Status = gBS->OpenProtocol ( Instance->UdpIo->UdpHandle, &gEfiUdp6ProtocolGuid, - (VOID **) &Udp6, + (VOID **)&Udp6, gDns6DriverBinding.DriverBindingHandle, Instance->ChildHandle, EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER @@ -1391,12 +1395,12 @@ Dns6ServiceBindingCreateChild ( *ChildHandle ); - gBS->UninstallMultipleProtocolInterfaces ( - Instance->ChildHandle, - &gEfiDns6ProtocolGuid, - &Instance->Dns6, - NULL - ); + gBS->UninstallMultipleProtocolInterfaces ( + Instance->ChildHandle, + &gEfiDns6ProtocolGuid, + &Instance->Dns6, + NULL + ); goto ON_ERROR; } @@ -1444,12 +1448,12 @@ Dns6ServiceBindingDestroyChild ( IN EFI_HANDLE ChildHandle ) { - DNS_SERVICE *DnsSb; - DNS_INSTANCE *Instance; + DNS_SERVICE *DnsSb; + DNS_INSTANCE *Instance; - EFI_DNS6_PROTOCOL *Dns6; - EFI_STATUS Status; - EFI_TPL OldTpl; + EFI_DNS6_PROTOCOL *Dns6; + EFI_STATUS Status; + EFI_TPL OldTpl; if ((This == NULL) || (ChildHandle == NULL)) { return EFI_INVALID_PARAMETER; @@ -1461,7 +1465,7 @@ Dns6ServiceBindingDestroyChild ( Status = gBS->OpenProtocol ( ChildHandle, &gEfiDns6ProtocolGuid, - (VOID **) &Dns6, + (VOID **)&Dns6, gDns6DriverBinding.DriverBindingHandle, ChildHandle, EFI_OPEN_PROTOCOL_GET_PROTOCOL @@ -1471,8 +1475,8 @@ Dns6ServiceBindingDestroyChild ( return EFI_UNSUPPORTED; } - Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL6 (Dns6); - DnsSb = DNS_SERVICE_FROM_THIS (This); + Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL6 (Dns6); + DnsSb = DNS_SERVICE_FROM_THIS (This); if (Instance->Service != DnsSb) { return EFI_INVALID_PARAMETER; diff --git a/NetworkPkg/DnsDxe/DnsDriver.h b/NetworkPkg/DnsDxe/DnsDriver.h index 67365ca81a..99123fa3c5 100644 --- a/NetworkPkg/DnsDxe/DnsDriver.h +++ b/NetworkPkg/DnsDxe/DnsDriver.h @@ -15,84 +15,84 @@ SPDX-License-Identifier: BSD-2-Clause-Patent /// /// Dns service block /// -typedef struct _DNS_DRIVER_DATA DNS_DRIVER_DATA; +typedef struct _DNS_DRIVER_DATA DNS_DRIVER_DATA; /// /// Dns service block /// -typedef struct _DNS_SERVICE DNS_SERVICE; +typedef struct _DNS_SERVICE DNS_SERVICE; /// /// Dns instance block /// typedef struct _DNS_INSTANCE DNS_INSTANCE; -#define DNS_SERVICE_SIGNATURE SIGNATURE_32 ('D', 'N', 'S', 'S') +#define DNS_SERVICE_SIGNATURE SIGNATURE_32 ('D', 'N', 'S', 'S') -#define DNS_INSTANCE_SIGNATURE SIGNATURE_32 ('D', 'N', 'S', 'I') +#define DNS_INSTANCE_SIGNATURE SIGNATURE_32 ('D', 'N', 'S', 'I') struct _DNS_DRIVER_DATA { - EFI_EVENT Timer; /// Ticking timer for DNS cache update. + EFI_EVENT Timer; /// Ticking timer for DNS cache update. - LIST_ENTRY Dns4CacheList; - LIST_ENTRY Dns4ServerList; + LIST_ENTRY Dns4CacheList; + LIST_ENTRY Dns4ServerList; - LIST_ENTRY Dns6CacheList; - LIST_ENTRY Dns6ServerList; + LIST_ENTRY Dns6CacheList; + LIST_ENTRY Dns6ServerList; }; struct _DNS_SERVICE { - UINT32 Signature; - EFI_SERVICE_BINDING_PROTOCOL ServiceBinding; + UINT32 Signature; + EFI_SERVICE_BINDING_PROTOCOL ServiceBinding; - UINT16 Dns4ChildrenNum; - LIST_ENTRY Dns4ChildrenList; + UINT16 Dns4ChildrenNum; + LIST_ENTRY Dns4ChildrenList; - UINT16 Dns6ChildrenNum; - LIST_ENTRY Dns6ChildrenList; + UINT16 Dns6ChildrenNum; + LIST_ENTRY Dns6ChildrenList; - EFI_HANDLE ControllerHandle; - EFI_HANDLE ImageHandle; + EFI_HANDLE ControllerHandle; + EFI_HANDLE ImageHandle; - EFI_EVENT TimerToGetMap; + EFI_EVENT TimerToGetMap; - EFI_EVENT Timer; /// Ticking timer for packet retransmission. + EFI_EVENT Timer; /// Ticking timer for packet retransmission. - UINT8 IpVersion; - UDP_IO *ConnectUdp; + UINT8 IpVersion; + UDP_IO *ConnectUdp; }; struct _DNS_INSTANCE { - UINT32 Signature; - LIST_ENTRY Link; + UINT32 Signature; + LIST_ENTRY Link; - EFI_DNS4_PROTOCOL Dns4; - EFI_DNS6_PROTOCOL Dns6; + EFI_DNS4_PROTOCOL Dns4; + EFI_DNS6_PROTOCOL Dns6; - INTN State; - BOOLEAN InDestroy; + INTN State; + BOOLEAN InDestroy; - DNS_SERVICE *Service; - EFI_HANDLE ChildHandle; + DNS_SERVICE *Service; + EFI_HANDLE ChildHandle; - EFI_DNS4_CONFIG_DATA Dns4CfgData; - EFI_DNS6_CONFIG_DATA Dns6CfgData; + EFI_DNS4_CONFIG_DATA Dns4CfgData; + EFI_DNS6_CONFIG_DATA Dns6CfgData; - EFI_IP_ADDRESS SessionDnsServer; + EFI_IP_ADDRESS SessionDnsServer; - NET_MAP Dns4TxTokens; - NET_MAP Dns6TxTokens; + NET_MAP Dns4TxTokens; + NET_MAP Dns6TxTokens; - UDP_IO *UdpIo; + UDP_IO *UdpIo; }; typedef struct { - EFI_SERVICE_BINDING_PROTOCOL *ServiceBinding; - UINTN NumberOfChildren; - EFI_HANDLE *ChildHandleBuffer; + EFI_SERVICE_BINDING_PROTOCOL *ServiceBinding; + UINTN NumberOfChildren; + EFI_HANDLE *ChildHandleBuffer; } DNS_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT; -extern DNS_DRIVER_DATA *mDriverData; +extern DNS_DRIVER_DATA *mDriverData; #define DNS_SERVICE_FROM_THIS(a) \ CR (a, DNS_SERVICE, ServiceBinding, DNS_SERVICE_SIGNATURE) @@ -103,7 +103,6 @@ extern DNS_DRIVER_DATA *mDriverData; #define DNS_INSTANCE_FROM_THIS_PROTOCOL6(a) \ CR (a, DNS_INSTANCE, Dns6, DNS_INSTANCE_SIGNATURE) - /** Destroy the DNS instance and recycle the resources. @@ -112,7 +111,7 @@ extern DNS_DRIVER_DATA *mDriverData; **/ VOID DnsDestroyInstance ( - IN DNS_INSTANCE *Instance + IN DNS_INSTANCE *Instance ); /** @@ -127,8 +126,8 @@ DnsDestroyInstance ( **/ EFI_STATUS DnsCreateInstance ( - IN DNS_SERVICE *Service, - OUT DNS_INSTANCE **Instance + IN DNS_SERVICE *Service, + OUT DNS_INSTANCE **Instance ); /** @@ -144,8 +143,8 @@ DnsCreateInstance ( EFI_STATUS EFIAPI DnsDestroyChildEntryInHandleBuffer ( - IN LIST_ENTRY *Entry, - IN VOID *Context + IN LIST_ENTRY *Entry, + IN VOID *Context ); /** @@ -163,8 +162,8 @@ DnsDestroyChildEntryInHandleBuffer ( EFI_STATUS EFIAPI DnsConfigNullUdp ( - IN UDP_IO *UdpIo, - IN VOID *Context + IN UDP_IO *UdpIo, + IN VOID *Context ); /** @@ -175,7 +174,7 @@ DnsConfigNullUdp ( **/ VOID DnsDestroyService ( - IN DNS_SERVICE *DnsSb + IN DNS_SERVICE *DnsSb ); /** @@ -197,10 +196,10 @@ DnsDestroyService ( **/ EFI_STATUS DnsCreateService ( - IN EFI_HANDLE Controller, - IN EFI_HANDLE Image, - IN UINT8 IpVersion, - OUT DNS_SERVICE **Service + IN EFI_HANDLE Controller, + IN EFI_HANDLE Image, + IN UINT8 IpVersion, + OUT DNS_SERVICE **Service ); /** @@ -594,5 +593,4 @@ Dns6ServiceBindingDestroyChild ( IN EFI_HANDLE ChildHandle ); - #endif diff --git a/NetworkPkg/DnsDxe/DnsImpl.c b/NetworkPkg/DnsDxe/DnsImpl.c index 78a56f2b56..d311812800 100644 --- a/NetworkPkg/DnsDxe/DnsImpl.c +++ b/NetworkPkg/DnsDxe/DnsImpl.c @@ -20,8 +20,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent **/ EFI_STATUS Dns4RemoveTokenEntry ( - IN NET_MAP *TokenMap, - IN DNS4_TOKEN_ENTRY *TokenEntry + IN NET_MAP *TokenMap, + IN DNS4_TOKEN_ENTRY *TokenEntry ) { NET_MAP_ITEM *Item; @@ -29,7 +29,7 @@ Dns4RemoveTokenEntry ( // // Find the TokenEntry first. // - Item = NetMapFindKey (TokenMap, (VOID *) TokenEntry); + Item = NetMapFindKey (TokenMap, (VOID *)TokenEntry); if (Item != NULL) { // @@ -55,8 +55,8 @@ Dns4RemoveTokenEntry ( **/ EFI_STATUS Dns6RemoveTokenEntry ( - IN NET_MAP *TokenMap, - IN DNS6_TOKEN_ENTRY *TokenEntry + IN NET_MAP *TokenMap, + IN DNS6_TOKEN_ENTRY *TokenEntry ) { NET_MAP_ITEM *Item; @@ -64,7 +64,7 @@ Dns6RemoveTokenEntry ( // // Find the TokenEntry first. // - Item = NetMapFindKey (TokenMap, (VOID *) TokenEntry); + Item = NetMapFindKey (TokenMap, (VOID *)TokenEntry); if (Item != NULL) { // @@ -102,9 +102,9 @@ Dns4CancelTokens ( IN VOID *Arg OPTIONAL ) { - DNS4_TOKEN_ENTRY *TokenEntry; - NET_BUF *Packet; - UDP_IO *UdpIo; + DNS4_TOKEN_ENTRY *TokenEntry; + NET_BUF *Packet; + UDP_IO *UdpIo; if ((Arg != NULL) && (Item->Key != Arg)) { return EFI_SUCCESS; @@ -115,8 +115,8 @@ Dns4CancelTokens ( // If the TokenEntry is a transmit TokenEntry, the corresponding Packet is recorded in // Item->Value. // - Packet = (NET_BUF *) (Item->Value); - UdpIo = (UDP_IO *) (*((UINTN *) &Packet->ProtoData[0])); + Packet = (NET_BUF *)(Item->Value); + UdpIo = (UDP_IO *)(*((UINTN *)&Packet->ProtoData[0])); UdpIoCancelSentDatagram (UdpIo, Packet); } @@ -124,7 +124,7 @@ Dns4CancelTokens ( // // Remove TokenEntry from Dns4TxTokens. // - TokenEntry = (DNS4_TOKEN_ENTRY *) Item->Key; + TokenEntry = (DNS4_TOKEN_ENTRY *)Item->Key; if (Dns4RemoveTokenEntry (Map, TokenEntry) == EFI_SUCCESS) { TokenEntry->Token->Status = EFI_ABORTED; gBS->SignalEvent (TokenEntry->Token->Event); @@ -162,9 +162,9 @@ Dns6CancelTokens ( IN VOID *Arg OPTIONAL ) { - DNS6_TOKEN_ENTRY *TokenEntry; - NET_BUF *Packet; - UDP_IO *UdpIo; + DNS6_TOKEN_ENTRY *TokenEntry; + NET_BUF *Packet; + UDP_IO *UdpIo; if ((Arg != NULL) && (Item->Key != Arg)) { return EFI_SUCCESS; @@ -175,8 +175,8 @@ Dns6CancelTokens ( // If the TokenEntry is a transmit TokenEntry, the corresponding Packet is recorded in // Item->Value. // - Packet = (NET_BUF *) (Item->Value); - UdpIo = (UDP_IO *) (*((UINTN *) &Packet->ProtoData[0])); + Packet = (NET_BUF *)(Item->Value); + UdpIo = (UDP_IO *)(*((UINTN *)&Packet->ProtoData[0])); UdpIoCancelSentDatagram (UdpIo, Packet); } @@ -184,7 +184,7 @@ Dns6CancelTokens ( // // Remove TokenEntry from Dns6TxTokens. // - TokenEntry = (DNS6_TOKEN_ENTRY *) Item->Key; + TokenEntry = (DNS6_TOKEN_ENTRY *)Item->Key; if (Dns6RemoveTokenEntry (Map, TokenEntry) == EFI_SUCCESS) { TokenEntry->Token->Status = EFI_ABORTED; gBS->SignalEvent (TokenEntry->Token->Event); @@ -212,18 +212,18 @@ Dns6CancelTokens ( EFI_STATUS EFIAPI GetDns4TokenEntry ( - IN NET_MAP *TokensMap, - IN EFI_DNS4_COMPLETION_TOKEN *Token, - OUT DNS4_TOKEN_ENTRY **TokenEntry + IN NET_MAP *TokensMap, + IN EFI_DNS4_COMPLETION_TOKEN *Token, + OUT DNS4_TOKEN_ENTRY **TokenEntry ) { - LIST_ENTRY *Entry; + LIST_ENTRY *Entry; - NET_MAP_ITEM *Item; + NET_MAP_ITEM *Item; NET_LIST_FOR_EACH (Entry, &TokensMap->Used) { - Item = NET_LIST_USER_STRUCT (Entry, NET_MAP_ITEM, Link); - *TokenEntry = (DNS4_TOKEN_ENTRY *) (Item->Key); + Item = NET_LIST_USER_STRUCT (Entry, NET_MAP_ITEM, Link); + *TokenEntry = (DNS4_TOKEN_ENTRY *)(Item->Key); if ((*TokenEntry)->Token == Token) { return EFI_SUCCESS; } @@ -248,24 +248,24 @@ GetDns4TokenEntry ( EFI_STATUS EFIAPI GetDns6TokenEntry ( - IN NET_MAP *TokensMap, - IN EFI_DNS6_COMPLETION_TOKEN *Token, - OUT DNS6_TOKEN_ENTRY **TokenEntry + IN NET_MAP *TokensMap, + IN EFI_DNS6_COMPLETION_TOKEN *Token, + OUT DNS6_TOKEN_ENTRY **TokenEntry ) { - LIST_ENTRY *Entry; + LIST_ENTRY *Entry; - NET_MAP_ITEM *Item; + NET_MAP_ITEM *Item; NET_LIST_FOR_EACH (Entry, &TokensMap->Used) { - Item = NET_LIST_USER_STRUCT (Entry, NET_MAP_ITEM, Link); - *TokenEntry = (DNS6_TOKEN_ENTRY *) (Item->Key); + Item = NET_LIST_USER_STRUCT (Entry, NET_MAP_ITEM, Link); + *TokenEntry = (DNS6_TOKEN_ENTRY *)(Item->Key); if ((*TokenEntry)->Token == Token) { return EFI_SUCCESS; } } - *TokenEntry =NULL; + *TokenEntry = NULL; return EFI_NOT_FOUND; } @@ -293,7 +293,7 @@ Dns4InstanceCancelToken ( TokenEntry = NULL; - if(Token != NULL ) { + if (Token != NULL ) { Status = GetDns4TokenEntry (&Instance->Dns4TxTokens, Token, &TokenEntry); if (EFI_ERROR (Status)) { return Status; @@ -313,8 +313,9 @@ Dns4InstanceCancelToken ( // the Dns4TxTokens and returns success. // if (NetMapIsEmpty (&Instance->Dns4TxTokens)) { - Instance->UdpIo->Protocol.Udp4->Cancel (Instance->UdpIo->Protocol.Udp4, &Instance->UdpIo->RecvRequest->Token.Udp4); + Instance->UdpIo->Protocol.Udp4->Cancel (Instance->UdpIo->Protocol.Udp4, &Instance->UdpIo->RecvRequest->Token.Udp4); } + return EFI_SUCCESS; } @@ -350,7 +351,7 @@ Dns6InstanceCancelToken ( TokenEntry = NULL; - if(Token != NULL ) { + if (Token != NULL ) { Status = GetDns6TokenEntry (&Instance->Dns6TxTokens, Token, &TokenEntry); if (EFI_ERROR (Status)) { return Status; @@ -370,8 +371,9 @@ Dns6InstanceCancelToken ( // the Dns6TxTokens and returns success. // if (NetMapIsEmpty (&Instance->Dns6TxTokens)) { - Instance->UdpIo->Protocol.Udp6->Cancel (Instance->UdpIo->Protocol.Udp6, &Instance->UdpIo->RecvRequest->Token.Udp6); + Instance->UdpIo->Protocol.Udp6->Cancel (Instance->UdpIo->Protocol.Udp6, &Instance->UdpIo->RecvRequest->Token.Udp6); } + return EFI_SUCCESS; } @@ -437,8 +439,8 @@ Dns4CopyConfigure ( IN EFI_DNS4_CONFIG_DATA *Src ) { - UINTN Len; - UINT32 Index; + UINTN Len; + UINT32 Index; CopyMem (Dst, Src, sizeof (*Dst)); Dst->DnsServerList = NULL; @@ -479,8 +481,8 @@ Dns6CopyConfigure ( IN EFI_DNS6_CONFIG_DATA *Src ) { - UINTN Len; - UINT32 Index; + UINTN Len; + UINT32 Index; CopyMem (Dst, Src, sizeof (*Dst)); Dst->DnsServerList = NULL; @@ -513,7 +515,7 @@ Dns6CopyConfigure ( VOID EFIAPI DnsDummyExtFree ( - IN VOID *Arg + IN VOID *Arg ) { } @@ -535,15 +537,15 @@ DnsDummyExtFree ( **/ BOOLEAN Dns4GetMapping ( - IN DNS_INSTANCE *Instance, - IN UDP_IO *UdpIo, - IN EFI_UDP4_CONFIG_DATA *UdpCfgData + IN DNS_INSTANCE *Instance, + IN UDP_IO *UdpIo, + IN EFI_UDP4_CONFIG_DATA *UdpCfgData ) { - DNS_SERVICE *Service; - EFI_IP4_MODE_DATA Ip4Mode; - EFI_UDP4_PROTOCOL *Udp; - EFI_STATUS Status; + DNS_SERVICE *Service; + EFI_IP4_MODE_DATA Ip4Mode; + EFI_UDP4_PROTOCOL *Udp; + EFI_STATUS Status; ASSERT (Instance->Dns4CfgData.UseDefaultSetting); @@ -563,10 +565,10 @@ Dns4GetMapping ( Udp->Poll (Udp); if (!EFI_ERROR (Udp->GetModeData (Udp, NULL, &Ip4Mode, NULL, NULL)) && - Ip4Mode.IsConfigured) { - + Ip4Mode.IsConfigured) + { Udp->Configure (Udp, NULL); - return (BOOLEAN) (Udp->Configure (Udp, UdpCfgData) == EFI_SUCCESS); + return (BOOLEAN)(Udp->Configure (Udp, UdpCfgData) == EFI_SUCCESS); } } @@ -587,15 +589,15 @@ Dns4GetMapping ( **/ BOOLEAN Dns6GetMapping ( - IN DNS_INSTANCE *Instance, - IN UDP_IO *UdpIo, - IN EFI_UDP6_CONFIG_DATA *UdpCfgData + IN DNS_INSTANCE *Instance, + IN UDP_IO *UdpIo, + IN EFI_UDP6_CONFIG_DATA *UdpCfgData ) { - DNS_SERVICE *Service; - EFI_IP6_MODE_DATA Ip6Mode; - EFI_UDP6_PROTOCOL *Udp; - EFI_STATUS Status; + DNS_SERVICE *Service; + EFI_IP6_MODE_DATA Ip6Mode; + EFI_UDP6_PROTOCOL *Udp; + EFI_STATUS Status; Service = Instance->Service; Udp = UdpIo->Protocol.Udp6; @@ -661,13 +663,13 @@ Dns6GetMapping ( **/ EFI_STATUS Dns4ConfigUdp ( - IN DNS_INSTANCE *Instance, - IN UDP_IO *UdpIo + IN DNS_INSTANCE *Instance, + IN UDP_IO *UdpIo ) { - EFI_DNS4_CONFIG_DATA *Config; - EFI_UDP4_CONFIG_DATA UdpConfig; - EFI_STATUS Status; + EFI_DNS4_CONFIG_DATA *Config; + EFI_UDP4_CONFIG_DATA UdpConfig; + EFI_STATUS Status; Config = &Instance->Dns4CfgData; @@ -709,13 +711,13 @@ Dns4ConfigUdp ( **/ EFI_STATUS Dns6ConfigUdp ( - IN DNS_INSTANCE *Instance, - IN UDP_IO *UdpIo + IN DNS_INSTANCE *Instance, + IN UDP_IO *UdpIo ) { - EFI_DNS6_CONFIG_DATA *Config; - EFI_UDP6_CONFIG_DATA UdpConfig; - EFI_STATUS Status; + EFI_DNS6_CONFIG_DATA *Config; + EFI_UDP6_CONFIG_DATA UdpConfig; + EFI_STATUS Status; Config = &Instance->Dns6CfgData; @@ -757,16 +759,16 @@ Dns6ConfigUdp ( EFI_STATUS EFIAPI UpdateDns4Cache ( - IN LIST_ENTRY *Dns4CacheList, - IN BOOLEAN DeleteFlag, - IN BOOLEAN Override, - IN EFI_DNS4_CACHE_ENTRY DnsCacheEntry + IN LIST_ENTRY *Dns4CacheList, + IN BOOLEAN DeleteFlag, + IN BOOLEAN Override, + IN EFI_DNS4_CACHE_ENTRY DnsCacheEntry ) { - DNS4_CACHE *NewDnsCache; - DNS4_CACHE *Item; - LIST_ENTRY *Entry; - LIST_ENTRY *Next; + DNS4_CACHE *NewDnsCache; + DNS4_CACHE *Item; + LIST_ENTRY *Entry; + LIST_ENTRY *Next; NewDnsCache = NULL; Item = NULL; @@ -776,8 +778,9 @@ UpdateDns4Cache ( // NET_LIST_FOR_EACH_SAFE (Entry, Next, Dns4CacheList) { Item = NET_LIST_USER_STRUCT (Entry, DNS4_CACHE, AllCacheLink); - if (StrCmp (DnsCacheEntry.HostName, Item->DnsCache.HostName) == 0 && \ - CompareMem (DnsCacheEntry.IpAddress, Item->DnsCache.IpAddress, sizeof (EFI_IPv4_ADDRESS)) == 0) { + if ((StrCmp (DnsCacheEntry.HostName, Item->DnsCache.HostName) == 0) && \ + (CompareMem (DnsCacheEntry.IpAddress, Item->DnsCache.IpAddress, sizeof (EFI_IPv4_ADDRESS)) == 0)) + { // // This is the Dns cache entry // @@ -855,16 +858,16 @@ UpdateDns4Cache ( EFI_STATUS EFIAPI UpdateDns6Cache ( - IN LIST_ENTRY *Dns6CacheList, - IN BOOLEAN DeleteFlag, - IN BOOLEAN Override, - IN EFI_DNS6_CACHE_ENTRY DnsCacheEntry + IN LIST_ENTRY *Dns6CacheList, + IN BOOLEAN DeleteFlag, + IN BOOLEAN Override, + IN EFI_DNS6_CACHE_ENTRY DnsCacheEntry ) { - DNS6_CACHE *NewDnsCache; - DNS6_CACHE *Item; - LIST_ENTRY *Entry; - LIST_ENTRY *Next; + DNS6_CACHE *NewDnsCache; + DNS6_CACHE *Item; + LIST_ENTRY *Entry; + LIST_ENTRY *Next; NewDnsCache = NULL; Item = NULL; @@ -874,8 +877,9 @@ UpdateDns6Cache ( // NET_LIST_FOR_EACH_SAFE (Entry, Next, Dns6CacheList) { Item = NET_LIST_USER_STRUCT (Entry, DNS6_CACHE, AllCacheLink); - if (StrCmp (DnsCacheEntry.HostName, Item->DnsCache.HostName) == 0 && \ - CompareMem (DnsCacheEntry.IpAddress, Item->DnsCache.IpAddress, sizeof (EFI_IPv6_ADDRESS)) == 0) { + if ((StrCmp (DnsCacheEntry.HostName, Item->DnsCache.HostName) == 0) && \ + (CompareMem (DnsCacheEntry.IpAddress, Item->DnsCache.IpAddress, sizeof (EFI_IPv6_ADDRESS)) == 0)) + { // // This is the Dns cache entry // @@ -950,14 +954,14 @@ UpdateDns6Cache ( EFI_STATUS EFIAPI AddDns4ServerIp ( - IN LIST_ENTRY *Dns4ServerList, - IN EFI_IPv4_ADDRESS ServerIp + IN LIST_ENTRY *Dns4ServerList, + IN EFI_IPv4_ADDRESS ServerIp ) { - DNS4_SERVER_IP *NewServerIp; - DNS4_SERVER_IP *Item; - LIST_ENTRY *Entry; - LIST_ENTRY *Next; + DNS4_SERVER_IP *NewServerIp; + DNS4_SERVER_IP *Item; + LIST_ENTRY *Entry; + LIST_ENTRY *Next; NewServerIp = NULL; Item = NULL; @@ -1005,14 +1009,14 @@ AddDns4ServerIp ( EFI_STATUS EFIAPI AddDns6ServerIp ( - IN LIST_ENTRY *Dns6ServerList, - IN EFI_IPv6_ADDRESS ServerIp + IN LIST_ENTRY *Dns6ServerList, + IN EFI_IPv6_ADDRESS ServerIp ) { - DNS6_SERVER_IP *NewServerIp; - DNS6_SERVER_IP *Item; - LIST_ENTRY *Entry; - LIST_ENTRY *Next; + DNS6_SERVER_IP *NewServerIp; + DNS6_SERVER_IP *Item; + LIST_ENTRY *Entry; + LIST_ENTRY *Next; NewServerIp = NULL; Item = NULL; @@ -1062,37 +1066,37 @@ AddDns6ServerIp ( **/ BOOLEAN IsValidDnsResponse ( - IN NET_MAP *TokensMap, - IN UINT16 Identification, - IN UINT16 Type, - IN UINT16 Class, - OUT NET_MAP_ITEM **Item + IN NET_MAP *TokensMap, + IN UINT16 Identification, + IN UINT16 Type, + IN UINT16 Class, + OUT NET_MAP_ITEM **Item ) { - LIST_ENTRY *Entry; + LIST_ENTRY *Entry; - NET_BUF *Packet; - UINT8 *TxString; - DNS_HEADER *DnsHeader; - CHAR8 *QueryName; - DNS_QUERY_SECTION *QuerySection; + NET_BUF *Packet; + UINT8 *TxString; + DNS_HEADER *DnsHeader; + CHAR8 *QueryName; + DNS_QUERY_SECTION *QuerySection; NET_LIST_FOR_EACH (Entry, &TokensMap->Used) { - *Item = NET_LIST_USER_STRUCT (Entry, NET_MAP_ITEM, Link); - Packet = (NET_BUF *) ((*Item)->Value); + *Item = NET_LIST_USER_STRUCT (Entry, NET_MAP_ITEM, Link); + Packet = (NET_BUF *)((*Item)->Value); if (Packet == NULL) { - continue; } else { TxString = NetbufGetByte (Packet, 0, NULL); ASSERT (TxString != NULL); - DnsHeader = (DNS_HEADER *) TxString; - QueryName = (CHAR8 *) (TxString + sizeof (*DnsHeader)); - QuerySection = (DNS_QUERY_SECTION *) (QueryName + AsciiStrLen (QueryName) + 1); - - if (NTOHS (DnsHeader->Identification) == Identification && - NTOHS (QuerySection->Type) == Type && - NTOHS (QuerySection->Class) == Class) { + DnsHeader = (DNS_HEADER *)TxString; + QueryName = (CHAR8 *)(TxString + sizeof (*DnsHeader)); + QuerySection = (DNS_QUERY_SECTION *)(QueryName + AsciiStrLen (QueryName) + 1); + + if ((NTOHS (DnsHeader->Identification) == Identification) && + (NTOHS (QuerySection->Type) == Type) && + (NTOHS (QuerySection->Class) == Class)) + { return TRUE; } } @@ -1117,33 +1121,33 @@ IsValidDnsResponse ( **/ EFI_STATUS ParseDnsResponse ( - IN OUT DNS_INSTANCE *Instance, - IN UINT8 *RxString, - IN UINT32 Length, - OUT BOOLEAN *Completed + IN OUT DNS_INSTANCE *Instance, + IN UINT8 *RxString, + IN UINT32 Length, + OUT BOOLEAN *Completed ) { - DNS_HEADER *DnsHeader; + DNS_HEADER *DnsHeader; - CHAR8 *QueryName; - UINT32 QueryNameLen; - DNS_QUERY_SECTION *QuerySection; + CHAR8 *QueryName; + UINT32 QueryNameLen; + DNS_QUERY_SECTION *QuerySection; - CHAR8 *AnswerName; - DNS_ANSWER_SECTION *AnswerSection; - UINT8 *AnswerData; + CHAR8 *AnswerName; + DNS_ANSWER_SECTION *AnswerSection; + UINT8 *AnswerData; - NET_MAP_ITEM *Item; - DNS4_TOKEN_ENTRY *Dns4TokenEntry; - DNS6_TOKEN_ENTRY *Dns6TokenEntry; + NET_MAP_ITEM *Item; + DNS4_TOKEN_ENTRY *Dns4TokenEntry; + DNS6_TOKEN_ENTRY *Dns6TokenEntry; - UINT32 IpCount; - UINT32 RRCount; - UINT32 AnswerSectionNum; - UINT32 CNameTtl; + UINT32 IpCount; + UINT32 RRCount; + UINT32 AnswerSectionNum; + UINT32 CNameTtl; - EFI_IPv4_ADDRESS *HostAddr4; - EFI_IPv6_ADDRESS *HostAddr6; + EFI_IPv4_ADDRESS *HostAddr4; + EFI_IPv6_ADDRESS *HostAddr6; EFI_DNS4_CACHE_ENTRY *Dns4CacheEntry; EFI_DNS6_CACHE_ENTRY *Dns6CacheEntry; @@ -1151,32 +1155,32 @@ ParseDnsResponse ( DNS_RESOURCE_RECORD *Dns4RR; DNS6_RESOURCE_RECORD *Dns6RR; - EFI_STATUS Status; - UINT32 RemainingLength; + EFI_STATUS Status; + UINT32 RemainingLength; - EFI_TPL OldTpl; + EFI_TPL OldTpl; - Item = NULL; - Dns4TokenEntry = NULL; - Dns6TokenEntry = NULL; + Item = NULL; + Dns4TokenEntry = NULL; + Dns6TokenEntry = NULL; IpCount = 0; RRCount = 0; AnswerSectionNum = 0; CNameTtl = 0; - HostAddr4 = NULL; - HostAddr6 = NULL; + HostAddr4 = NULL; + HostAddr6 = NULL; - Dns4CacheEntry = NULL; - Dns6CacheEntry = NULL; + Dns4CacheEntry = NULL; + Dns6CacheEntry = NULL; - Dns4RR = NULL; - Dns6RR = NULL; + Dns4RR = NULL; + Dns6RR = NULL; - *Completed = TRUE; - Status = EFI_SUCCESS; - RemainingLength = Length; + *Completed = TRUE; + Status = EFI_SUCCESS; + RemainingLength = Length; // // Check whether the remaining packet length is available or not. @@ -1191,14 +1195,14 @@ ParseDnsResponse ( // // Get header // - DnsHeader = (DNS_HEADER *) RxString; + DnsHeader = (DNS_HEADER *)RxString; DnsHeader->Identification = NTOHS (DnsHeader->Identification); - DnsHeader->Flags.Uint16 = NTOHS (DnsHeader->Flags.Uint16); - DnsHeader->QuestionsNum = NTOHS (DnsHeader->QuestionsNum); - DnsHeader->AnswersNum = NTOHS (DnsHeader->AnswersNum); - DnsHeader->AuthorityNum = NTOHS (DnsHeader->AuthorityNum); - DnsHeader->AditionalNum = NTOHS (DnsHeader->AditionalNum); + DnsHeader->Flags.Uint16 = NTOHS (DnsHeader->Flags.Uint16); + DnsHeader->QuestionsNum = NTOHS (DnsHeader->QuestionsNum); + DnsHeader->AnswersNum = NTOHS (DnsHeader->AnswersNum); + DnsHeader->AuthorityNum = NTOHS (DnsHeader->AuthorityNum); + DnsHeader->AditionalNum = NTOHS (DnsHeader->AditionalNum); // // There is always one QuestionsNum in DNS message. The capability to handle more @@ -1212,9 +1216,9 @@ ParseDnsResponse ( // // Get Query name // - QueryName = (CHAR8 *) (RxString + sizeof (*DnsHeader)); + QueryName = (CHAR8 *)(RxString + sizeof (*DnsHeader)); - QueryNameLen = (UINT32) AsciiStrLen (QueryName) + 1; + QueryNameLen = (UINT32)AsciiStrLen (QueryName) + 1; // // Check whether the remaining packet length is available or not. @@ -1229,8 +1233,8 @@ ParseDnsResponse ( // // Get query section // - QuerySection = (DNS_QUERY_SECTION *) (QueryName + QueryNameLen); - QuerySection->Type = NTOHS (QuerySection->Type); + QuerySection = (DNS_QUERY_SECTION *)(QueryName + QueryNameLen); + QuerySection->Type = NTOHS (QuerySection->Type); QuerySection->Class = NTOHS (QuerySection->Class); OldTpl = gBS->RaiseTPL (TPL_CALLBACK); @@ -1245,13 +1249,15 @@ ParseDnsResponse ( QuerySection->Type, QuerySection->Class, &Item - )) { + )) + { *Completed = FALSE; - Status = EFI_ABORTED; + Status = EFI_ABORTED; goto ON_EXIT; } + ASSERT (Item != NULL); - Dns4TokenEntry = (DNS4_TOKEN_ENTRY *) (Item->Key); + Dns4TokenEntry = (DNS4_TOKEN_ENTRY *)(Item->Key); } else { if (!IsValidDnsResponse ( &Instance->Dns6TxTokens, @@ -1259,20 +1265,23 @@ ParseDnsResponse ( QuerySection->Type, QuerySection->Class, &Item - )) { + )) + { *Completed = FALSE; - Status = EFI_ABORTED; + Status = EFI_ABORTED; goto ON_EXIT; } + ASSERT (Item != NULL); - Dns6TokenEntry = (DNS6_TOKEN_ENTRY *) (Item->Key); + Dns6TokenEntry = (DNS6_TOKEN_ENTRY *)(Item->Key); } // // Continue Check Some Errors. // - if (DnsHeader->Flags.Bits.RCode != DNS_FLAGS_RCODE_NO_ERROR || DnsHeader->AnswersNum < 1 || \ - DnsHeader->Flags.Bits.QR != DNS_FLAGS_QR_RESPONSE) { + if ((DnsHeader->Flags.Bits.RCode != DNS_FLAGS_RCODE_NO_ERROR) || (DnsHeader->AnswersNum < 1) || \ + (DnsHeader->Flags.Bits.QR != DNS_FLAGS_QR_RESPONSE)) + { // // The domain name referenced in the query does not exist. // @@ -1300,6 +1309,7 @@ ParseDnsResponse ( Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; } + Dns4TokenEntry->Token->RspData.GLookupData->RRList = AllocateZeroPool (DnsHeader->AnswersNum * sizeof (DNS_RESOURCE_RECORD)); if (Dns4TokenEntry->Token->RspData.GLookupData->RRList == NULL) { Status = EFI_OUT_OF_RESOURCES; @@ -1315,6 +1325,7 @@ ParseDnsResponse ( Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; } + Dns4TokenEntry->Token->RspData.H2AData->IpList = AllocateZeroPool (DnsHeader->AnswersNum * sizeof (EFI_IPv4_ADDRESS)); if (Dns4TokenEntry->Token->RspData.H2AData->IpList == NULL) { Status = EFI_OUT_OF_RESOURCES; @@ -1337,6 +1348,7 @@ ParseDnsResponse ( Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; } + Dns6TokenEntry->Token->RspData.GLookupData->RRList = AllocateZeroPool (DnsHeader->AnswersNum * sizeof (DNS_RESOURCE_RECORD)); if (Dns6TokenEntry->Token->RspData.GLookupData->RRList == NULL) { Status = EFI_OUT_OF_RESOURCES; @@ -1352,6 +1364,7 @@ ParseDnsResponse ( Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; } + Dns6TokenEntry->Token->RspData.H2AData->IpList = AllocateZeroPool (DnsHeader->AnswersNum * sizeof (EFI_IPv6_ADDRESS)); if (Dns6TokenEntry->Token->RspData.H2AData->IpList == NULL) { Status = EFI_OUT_OF_RESOURCES; @@ -1369,7 +1382,7 @@ ParseDnsResponse ( // // Get Answer name // - AnswerName = (CHAR8 *) QuerySection + sizeof (*QuerySection); + AnswerName = (CHAR8 *)QuerySection + sizeof (*QuerySection); // // Processing AnswerSection. @@ -1380,7 +1393,7 @@ ParseDnsResponse ( // if (RemainingLength <= sizeof (UINT16) + sizeof (DNS_ANSWER_SECTION)) { *Completed = FALSE; - Status = EFI_ABORTED; + Status = EFI_ABORTED; goto ON_EXIT; } else { RemainingLength -= (sizeof (UINT16) + sizeof (DNS_ANSWER_SECTION)); @@ -1389,7 +1402,7 @@ ParseDnsResponse ( // // Answer name should be PTR, else EFI_UNSUPPORTED returned. // - if ((*(UINT8 *) AnswerName & 0xC0) != 0xC0) { + if ((*(UINT8 *)AnswerName & 0xC0) != 0xC0) { Status = EFI_UNSUPPORTED; goto ON_EXIT; } @@ -1397,10 +1410,10 @@ ParseDnsResponse ( // // Get Answer section. // - AnswerSection = (DNS_ANSWER_SECTION *) (AnswerName + sizeof (UINT16)); - AnswerSection->Type = NTOHS (AnswerSection->Type); - AnswerSection->Class = NTOHS (AnswerSection->Class); - AnswerSection->Ttl = NTOHL (AnswerSection->Ttl); + AnswerSection = (DNS_ANSWER_SECTION *)(AnswerName + sizeof (UINT16)); + AnswerSection->Type = NTOHS (AnswerSection->Type); + AnswerSection->Class = NTOHS (AnswerSection->Class); + AnswerSection->Ttl = NTOHL (AnswerSection->Ttl); AnswerSection->DataLength = NTOHS (AnswerSection->DataLength); // @@ -1408,7 +1421,7 @@ ParseDnsResponse ( // if (RemainingLength < AnswerSection->DataLength) { *Completed = FALSE; - Status = EFI_ABORTED; + Status = EFI_ABORTED; goto ON_EXIT; } else { RemainingLength -= AnswerSection->DataLength; @@ -1417,9 +1430,9 @@ ParseDnsResponse ( // // Check whether it's the GeneralLookUp querying. // - if (Instance->Service->IpVersion == IP_VERSION_4 && Dns4TokenEntry->GeneralLookUp) { - Dns4RR = Dns4TokenEntry->Token->RspData.GLookupData->RRList; - AnswerData = (UINT8 *) AnswerSection + sizeof (*AnswerSection); + if ((Instance->Service->IpVersion == IP_VERSION_4) && Dns4TokenEntry->GeneralLookUp) { + Dns4RR = Dns4TokenEntry->Token->RspData.GLookupData->RRList; + AnswerData = (UINT8 *)AnswerSection + sizeof (*AnswerSection); // // Fill the ResourceRecord. @@ -1429,23 +1442,25 @@ ParseDnsResponse ( Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; } + CopyMem (Dns4RR[RRCount].QName, QueryName, AsciiStrLen (QueryName)); - Dns4RR[RRCount].QType = AnswerSection->Type; - Dns4RR[RRCount].QClass = AnswerSection->Class; - Dns4RR[RRCount].TTL = AnswerSection->Ttl; + Dns4RR[RRCount].QType = AnswerSection->Type; + Dns4RR[RRCount].QClass = AnswerSection->Class; + Dns4RR[RRCount].TTL = AnswerSection->Ttl; Dns4RR[RRCount].DataLength = AnswerSection->DataLength; - Dns4RR[RRCount].RData = AllocateZeroPool (Dns4RR[RRCount].DataLength); + Dns4RR[RRCount].RData = AllocateZeroPool (Dns4RR[RRCount].DataLength); if (Dns4RR[RRCount].RData == NULL) { Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; } + CopyMem (Dns4RR[RRCount].RData, AnswerData, Dns4RR[RRCount].DataLength); - RRCount ++; + RRCount++; Status = EFI_SUCCESS; - } else if (Instance->Service->IpVersion == IP_VERSION_6 && Dns6TokenEntry->GeneralLookUp) { - Dns6RR = Dns6TokenEntry->Token->RspData.GLookupData->RRList; - AnswerData = (UINT8 *) AnswerSection + sizeof (*AnswerSection); + } else if ((Instance->Service->IpVersion == IP_VERSION_6) && Dns6TokenEntry->GeneralLookUp) { + Dns6RR = Dns6TokenEntry->Token->RspData.GLookupData->RRList; + AnswerData = (UINT8 *)AnswerSection + sizeof (*AnswerSection); // // Fill the ResourceRecord. @@ -1455,19 +1470,21 @@ ParseDnsResponse ( Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; } + CopyMem (Dns6RR[RRCount].QName, QueryName, AsciiStrLen (QueryName)); - Dns6RR[RRCount].QType = AnswerSection->Type; - Dns6RR[RRCount].QClass = AnswerSection->Class; - Dns6RR[RRCount].TTL = AnswerSection->Ttl; + Dns6RR[RRCount].QType = AnswerSection->Type; + Dns6RR[RRCount].QClass = AnswerSection->Class; + Dns6RR[RRCount].TTL = AnswerSection->Ttl; Dns6RR[RRCount].DataLength = AnswerSection->DataLength; - Dns6RR[RRCount].RData = AllocateZeroPool (Dns6RR[RRCount].DataLength); + Dns6RR[RRCount].RData = AllocateZeroPool (Dns6RR[RRCount].DataLength); if (Dns6RR[RRCount].RData == NULL) { Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; } + CopyMem (Dns6RR[RRCount].RData, AnswerData, Dns6RR[RRCount].DataLength); - RRCount ++; + RRCount++; Status = EFI_SUCCESS; } else { // @@ -1475,143 +1492,149 @@ ParseDnsResponse ( // Check the Query type, parse the response packet. // switch (AnswerSection->Type) { - case DNS_TYPE_A: - // - // This is address entry, get Data. - // - ASSERT (Dns4TokenEntry != NULL); + case DNS_TYPE_A: + // + // This is address entry, get Data. + // + ASSERT (Dns4TokenEntry != NULL); - if (AnswerSection->DataLength != 4) { - Status = EFI_ABORTED; - goto ON_EXIT; - } + if (AnswerSection->DataLength != 4) { + Status = EFI_ABORTED; + goto ON_EXIT; + } - HostAddr4 = Dns4TokenEntry->Token->RspData.H2AData->IpList; - AnswerData = (UINT8 *) AnswerSection + sizeof (*AnswerSection); - CopyMem (&HostAddr4[IpCount], AnswerData, sizeof (EFI_IPv4_ADDRESS)); + HostAddr4 = Dns4TokenEntry->Token->RspData.H2AData->IpList; + AnswerData = (UINT8 *)AnswerSection + sizeof (*AnswerSection); + CopyMem (&HostAddr4[IpCount], AnswerData, sizeof (EFI_IPv4_ADDRESS)); - // - // Allocate new CacheEntry pool to update DNS cache dynamically. - // - Dns4CacheEntry = AllocateZeroPool (sizeof (EFI_DNS4_CACHE_ENTRY)); - if (Dns4CacheEntry == NULL) { - Status = EFI_OUT_OF_RESOURCES; - goto ON_EXIT; - } - Dns4CacheEntry->HostName = AllocateZeroPool (2 * (StrLen(Dns4TokenEntry->QueryHostName) + 1)); - if (Dns4CacheEntry->HostName == NULL) { - Status = EFI_OUT_OF_RESOURCES; - goto ON_EXIT; - } - CopyMem (Dns4CacheEntry->HostName, Dns4TokenEntry->QueryHostName, 2 * (StrLen(Dns4TokenEntry->QueryHostName) + 1)); - Dns4CacheEntry->IpAddress = AllocateZeroPool (sizeof (EFI_IPv4_ADDRESS)); - if (Dns4CacheEntry->IpAddress == NULL) { - Status = EFI_OUT_OF_RESOURCES; - goto ON_EXIT; - } - CopyMem (Dns4CacheEntry->IpAddress, AnswerData, sizeof (EFI_IPv4_ADDRESS)); + // + // Allocate new CacheEntry pool to update DNS cache dynamically. + // + Dns4CacheEntry = AllocateZeroPool (sizeof (EFI_DNS4_CACHE_ENTRY)); + if (Dns4CacheEntry == NULL) { + Status = EFI_OUT_OF_RESOURCES; + goto ON_EXIT; + } - if (CNameTtl != 0 && AnswerSection->Ttl != 0) { - Dns4CacheEntry->Timeout = MIN (CNameTtl, AnswerSection->Ttl); - } else { - Dns4CacheEntry->Timeout = MAX (CNameTtl, AnswerSection->Ttl); - } + Dns4CacheEntry->HostName = AllocateZeroPool (2 * (StrLen (Dns4TokenEntry->QueryHostName) + 1)); + if (Dns4CacheEntry->HostName == NULL) { + Status = EFI_OUT_OF_RESOURCES; + goto ON_EXIT; + } - UpdateDns4Cache (&mDriverData->Dns4CacheList, FALSE, TRUE, *Dns4CacheEntry); + CopyMem (Dns4CacheEntry->HostName, Dns4TokenEntry->QueryHostName, 2 * (StrLen (Dns4TokenEntry->QueryHostName) + 1)); + Dns4CacheEntry->IpAddress = AllocateZeroPool (sizeof (EFI_IPv4_ADDRESS)); + if (Dns4CacheEntry->IpAddress == NULL) { + Status = EFI_OUT_OF_RESOURCES; + goto ON_EXIT; + } - // - // Free allocated CacheEntry pool. - // - FreePool (Dns4CacheEntry->HostName); - Dns4CacheEntry->HostName = NULL; + CopyMem (Dns4CacheEntry->IpAddress, AnswerData, sizeof (EFI_IPv4_ADDRESS)); - FreePool (Dns4CacheEntry->IpAddress); - Dns4CacheEntry->IpAddress = NULL; + if ((CNameTtl != 0) && (AnswerSection->Ttl != 0)) { + Dns4CacheEntry->Timeout = MIN (CNameTtl, AnswerSection->Ttl); + } else { + Dns4CacheEntry->Timeout = MAX (CNameTtl, AnswerSection->Ttl); + } - FreePool (Dns4CacheEntry); - Dns4CacheEntry = NULL; + UpdateDns4Cache (&mDriverData->Dns4CacheList, FALSE, TRUE, *Dns4CacheEntry); - IpCount ++; - Status = EFI_SUCCESS; - break; - case DNS_TYPE_AAAA: - // - // This is address entry, get Data. - // - ASSERT (Dns6TokenEntry != NULL); + // + // Free allocated CacheEntry pool. + // + FreePool (Dns4CacheEntry->HostName); + Dns4CacheEntry->HostName = NULL; - if (AnswerSection->DataLength != 16) { - Status = EFI_ABORTED; - goto ON_EXIT; - } + FreePool (Dns4CacheEntry->IpAddress); + Dns4CacheEntry->IpAddress = NULL; - HostAddr6 = Dns6TokenEntry->Token->RspData.H2AData->IpList; - AnswerData = (UINT8 *) AnswerSection + sizeof (*AnswerSection); - CopyMem (&HostAddr6[IpCount], AnswerData, sizeof (EFI_IPv6_ADDRESS)); + FreePool (Dns4CacheEntry); + Dns4CacheEntry = NULL; - // - // Allocate new CacheEntry pool to update DNS cache dynamically. - // - Dns6CacheEntry = AllocateZeroPool (sizeof (EFI_DNS6_CACHE_ENTRY)); - if (Dns6CacheEntry == NULL) { - Status = EFI_OUT_OF_RESOURCES; - goto ON_EXIT; - } - Dns6CacheEntry->HostName = AllocateZeroPool (2 * (StrLen(Dns6TokenEntry->QueryHostName) + 1)); - if (Dns6CacheEntry->HostName == NULL) { - Status = EFI_OUT_OF_RESOURCES; - goto ON_EXIT; - } - CopyMem (Dns6CacheEntry->HostName, Dns6TokenEntry->QueryHostName, 2 * (StrLen(Dns6TokenEntry->QueryHostName) + 1)); - Dns6CacheEntry->IpAddress = AllocateZeroPool (sizeof (EFI_IPv6_ADDRESS)); - if (Dns6CacheEntry->IpAddress == NULL) { - Status = EFI_OUT_OF_RESOURCES; - goto ON_EXIT; - } - CopyMem (Dns6CacheEntry->IpAddress, AnswerData, sizeof (EFI_IPv6_ADDRESS)); + IpCount++; + Status = EFI_SUCCESS; + break; + case DNS_TYPE_AAAA: + // + // This is address entry, get Data. + // + ASSERT (Dns6TokenEntry != NULL); - if (CNameTtl != 0 && AnswerSection->Ttl != 0) { - Dns6CacheEntry->Timeout = MIN (CNameTtl, AnswerSection->Ttl); - } else { - Dns6CacheEntry->Timeout = MAX (CNameTtl, AnswerSection->Ttl); - } + if (AnswerSection->DataLength != 16) { + Status = EFI_ABORTED; + goto ON_EXIT; + } - UpdateDns6Cache (&mDriverData->Dns6CacheList, FALSE, TRUE, *Dns6CacheEntry); + HostAddr6 = Dns6TokenEntry->Token->RspData.H2AData->IpList; + AnswerData = (UINT8 *)AnswerSection + sizeof (*AnswerSection); + CopyMem (&HostAddr6[IpCount], AnswerData, sizeof (EFI_IPv6_ADDRESS)); - // - // Free allocated CacheEntry pool. - // - FreePool (Dns6CacheEntry->HostName); - Dns6CacheEntry->HostName = NULL; + // + // Allocate new CacheEntry pool to update DNS cache dynamically. + // + Dns6CacheEntry = AllocateZeroPool (sizeof (EFI_DNS6_CACHE_ENTRY)); + if (Dns6CacheEntry == NULL) { + Status = EFI_OUT_OF_RESOURCES; + goto ON_EXIT; + } - FreePool (Dns6CacheEntry->IpAddress); - Dns6CacheEntry->IpAddress = NULL; + Dns6CacheEntry->HostName = AllocateZeroPool (2 * (StrLen (Dns6TokenEntry->QueryHostName) + 1)); + if (Dns6CacheEntry->HostName == NULL) { + Status = EFI_OUT_OF_RESOURCES; + goto ON_EXIT; + } - FreePool (Dns6CacheEntry); - Dns6CacheEntry = NULL; + CopyMem (Dns6CacheEntry->HostName, Dns6TokenEntry->QueryHostName, 2 * (StrLen (Dns6TokenEntry->QueryHostName) + 1)); + Dns6CacheEntry->IpAddress = AllocateZeroPool (sizeof (EFI_IPv6_ADDRESS)); + if (Dns6CacheEntry->IpAddress == NULL) { + Status = EFI_OUT_OF_RESOURCES; + goto ON_EXIT; + } - IpCount ++; - Status = EFI_SUCCESS; - break; - case DNS_TYPE_CNAME: - // - // According RFC 1034 - 3.6.2, if the query name is an alias, the name server will include the CNAME - // record in the response and restart the query at the domain name specified in the data field of the - // CNAME record. So, just record the TTL value of the CNAME, then skip to parse the next record. - // - CNameTtl = AnswerSection->Ttl; - break; - default: - Status = EFI_UNSUPPORTED; - goto ON_EXIT; + CopyMem (Dns6CacheEntry->IpAddress, AnswerData, sizeof (EFI_IPv6_ADDRESS)); + + if ((CNameTtl != 0) && (AnswerSection->Ttl != 0)) { + Dns6CacheEntry->Timeout = MIN (CNameTtl, AnswerSection->Ttl); + } else { + Dns6CacheEntry->Timeout = MAX (CNameTtl, AnswerSection->Ttl); + } + + UpdateDns6Cache (&mDriverData->Dns6CacheList, FALSE, TRUE, *Dns6CacheEntry); + + // + // Free allocated CacheEntry pool. + // + FreePool (Dns6CacheEntry->HostName); + Dns6CacheEntry->HostName = NULL; + + FreePool (Dns6CacheEntry->IpAddress); + Dns6CacheEntry->IpAddress = NULL; + + FreePool (Dns6CacheEntry); + Dns6CacheEntry = NULL; + + IpCount++; + Status = EFI_SUCCESS; + break; + case DNS_TYPE_CNAME: + // + // According RFC 1034 - 3.6.2, if the query name is an alias, the name server will include the CNAME + // record in the response and restart the query at the domain name specified in the data field of the + // CNAME record. So, just record the TTL value of the CNAME, then skip to parse the next record. + // + CNameTtl = AnswerSection->Ttl; + break; + default: + Status = EFI_UNSUPPORTED; + goto ON_EXIT; } } // // Find next one // - AnswerName = (CHAR8 *) AnswerSection + sizeof (*AnswerSection) + AnswerSection->DataLength; - AnswerSectionNum ++; + AnswerName = (CHAR8 *)AnswerSection + sizeof (*AnswerSection) + AnswerSection->DataLength; + AnswerSectionNum++; } if (Instance->Service->IpVersion == IP_VERSION_4) { @@ -1646,8 +1669,8 @@ ON_COMPLETE: // // Parsing is complete, free the sending packet and signal Event here. // - if (Item != NULL && Item->Value != NULL) { - NetbufFree ((NET_BUF *) (Item->Value)); + if ((Item != NULL) && (Item->Value != NULL)) { + NetbufFree ((NET_BUF *)(Item->Value)); } if (Instance->Service->IpVersion == IP_VERSION_4) { @@ -1678,7 +1701,7 @@ ON_EXIT: if (Dns4TokenEntry->Token->RspData.GLookupData != NULL) { if (Dns4TokenEntry->Token->RspData.GLookupData->RRList != NULL) { while (RRCount != 0) { - RRCount --; + RRCount--; if (Dns4TokenEntry->Token->RspData.GLookupData->RRList[RRCount].QName != NULL) { FreePool (Dns4TokenEntry->Token->RspData.GLookupData->RRList[RRCount].QName); } @@ -1694,7 +1717,7 @@ ON_EXIT: FreePool (Dns4TokenEntry->Token->RspData.GLookupData); } } else { - if (QuerySection->Type == DNS_TYPE_A && Dns4TokenEntry->Token->RspData.H2AData != NULL) { + if ((QuerySection->Type == DNS_TYPE_A) && (Dns4TokenEntry->Token->RspData.H2AData != NULL)) { if (Dns4TokenEntry->Token->RspData.H2AData->IpList != NULL) { FreePool (Dns4TokenEntry->Token->RspData.H2AData->IpList); } @@ -1710,7 +1733,7 @@ ON_EXIT: if (Dns6TokenEntry->Token->RspData.GLookupData != NULL) { if (Dns6TokenEntry->Token->RspData.GLookupData->RRList != NULL) { while (RRCount != 0) { - RRCount --; + RRCount--; if (Dns6TokenEntry->Token->RspData.GLookupData->RRList[RRCount].QName != NULL) { FreePool (Dns6TokenEntry->Token->RspData.GLookupData->RRList[RRCount].QName); } @@ -1726,7 +1749,7 @@ ON_EXIT: FreePool (Dns6TokenEntry->Token->RspData.GLookupData); } } else { - if (QuerySection->Type == DNS_TYPE_AAAA && Dns6TokenEntry->Token->RspData.H2AData != NULL) { + if ((QuerySection->Type == DNS_TYPE_AAAA) && (Dns6TokenEntry->Token->RspData.H2AData != NULL)) { if (Dns6TokenEntry->Token->RspData.H2AData->IpList != NULL) { FreePool (Dns6TokenEntry->Token->RspData.H2AData->IpList); } @@ -1778,20 +1801,20 @@ ON_EXIT: VOID EFIAPI DnsOnPacketReceived ( - NET_BUF *Packet, - UDP_END_POINT *EndPoint, - EFI_STATUS IoStatus, - VOID *Context + NET_BUF *Packet, + UDP_END_POINT *EndPoint, + EFI_STATUS IoStatus, + VOID *Context ) { - DNS_INSTANCE *Instance; + DNS_INSTANCE *Instance; - UINT8 *RcvString; - UINT32 Len; + UINT8 *RcvString; + UINT32 Len; - BOOLEAN Completed; + BOOLEAN Completed; - Instance = (DNS_INSTANCE *) Context; + Instance = (DNS_INSTANCE *)Context; NET_CHECK_SIGNATURE (Instance, DNS_INSTANCE_SIGNATURE); RcvString = NULL; @@ -1836,29 +1859,29 @@ ON_EXIT: VOID EFIAPI DnsOnPacketSent ( - NET_BUF *Packet, - UDP_END_POINT *EndPoint, - EFI_STATUS IoStatus, - VOID *Context + NET_BUF *Packet, + UDP_END_POINT *EndPoint, + EFI_STATUS IoStatus, + VOID *Context ) { - DNS_INSTANCE *Instance; - LIST_ENTRY *Entry; - NET_MAP_ITEM *Item; - DNS4_TOKEN_ENTRY *Dns4TokenEntry; - DNS6_TOKEN_ENTRY *Dns6TokenEntry; + DNS_INSTANCE *Instance; + LIST_ENTRY *Entry; + NET_MAP_ITEM *Item; + DNS4_TOKEN_ENTRY *Dns4TokenEntry; + DNS6_TOKEN_ENTRY *Dns6TokenEntry; Dns4TokenEntry = NULL; Dns6TokenEntry = NULL; - Instance = (DNS_INSTANCE *) Context; + Instance = (DNS_INSTANCE *)Context; NET_CHECK_SIGNATURE (Instance, DNS_INSTANCE_SIGNATURE); if (Instance->Service->IpVersion == IP_VERSION_4) { NET_LIST_FOR_EACH (Entry, &Instance->Dns4TxTokens.Used) { Item = NET_LIST_USER_STRUCT (Entry, NET_MAP_ITEM, Link); if (Packet == (NET_BUF *)(Item->Value)) { - Dns4TokenEntry = ((DNS4_TOKEN_ENTRY *)Item->Key); + Dns4TokenEntry = ((DNS4_TOKEN_ENTRY *)Item->Key); Dns4TokenEntry->PacketToLive = Dns4TokenEntry->Token->RetryInterval; break; } @@ -1867,7 +1890,7 @@ DnsOnPacketSent ( NET_LIST_FOR_EACH (Entry, &Instance->Dns6TxTokens.Used) { Item = NET_LIST_USER_STRUCT (Entry, NET_MAP_ITEM, Link); if (Packet == (NET_BUF *)(Item->Value)) { - Dns6TokenEntry = ((DNS6_TOKEN_ENTRY *)Item->Key); + Dns6TokenEntry = ((DNS6_TOKEN_ENTRY *)Item->Key); Dns6TokenEntry->PacketToLive = Dns6TokenEntry->Token->RetryInterval; break; } @@ -1889,11 +1912,11 @@ DnsOnPacketSent ( **/ EFI_STATUS DoDnsQuery ( - IN DNS_INSTANCE *Instance, - IN NET_BUF *Packet + IN DNS_INSTANCE *Instance, + IN NET_BUF *Packet ) { - EFI_STATUS Status; + EFI_STATUS Status; // // Ready to receive the DNS response. @@ -1930,16 +1953,16 @@ DoDnsQuery ( **/ EFI_STATUS ConstructDNSQuery ( - IN DNS_INSTANCE *Instance, - IN CHAR8 *QueryName, - IN UINT16 Type, - IN UINT16 Class, - OUT NET_BUF **Packet + IN DNS_INSTANCE *Instance, + IN CHAR8 *QueryName, + IN UINT16 Type, + IN UINT16 Class, + OUT NET_BUF **Packet ) { - NET_FRAGMENT Frag; - DNS_HEADER *DnsHeader; - DNS_QUERY_SECTION *DnsQuery; + NET_FRAGMENT Frag; + DNS_HEADER *DnsHeader; + DNS_QUERY_SECTION *DnsQuery; // // Messages carried by UDP are restricted to 512 bytes (not counting the IP @@ -1953,23 +1976,23 @@ ConstructDNSQuery ( // // Fill header // - DnsHeader = (DNS_HEADER *) Frag.Bulk; - DnsHeader->Identification = (UINT16)NET_RANDOM (NetRandomInitSeed()); - DnsHeader->Flags.Uint16 = 0x0000; - DnsHeader->Flags.Bits.RD = 1; + DnsHeader = (DNS_HEADER *)Frag.Bulk; + DnsHeader->Identification = (UINT16)NET_RANDOM (NetRandomInitSeed ()); + DnsHeader->Flags.Uint16 = 0x0000; + DnsHeader->Flags.Bits.RD = 1; DnsHeader->Flags.Bits.OpCode = DNS_FLAGS_OPCODE_STANDARD; - DnsHeader->Flags.Bits.QR = DNS_FLAGS_QR_QUERY; - DnsHeader->QuestionsNum = 1; - DnsHeader->AnswersNum = 0; - DnsHeader->AuthorityNum = 0; - DnsHeader->AditionalNum = 0; + DnsHeader->Flags.Bits.QR = DNS_FLAGS_QR_QUERY; + DnsHeader->QuestionsNum = 1; + DnsHeader->AnswersNum = 0; + DnsHeader->AuthorityNum = 0; + DnsHeader->AditionalNum = 0; DnsHeader->Identification = HTONS (DnsHeader->Identification); - DnsHeader->Flags.Uint16 = HTONS (DnsHeader->Flags.Uint16); - DnsHeader->QuestionsNum = HTONS (DnsHeader->QuestionsNum); - DnsHeader->AnswersNum = HTONS (DnsHeader->AnswersNum); - DnsHeader->AuthorityNum = HTONS (DnsHeader->AuthorityNum); - DnsHeader->AditionalNum = HTONS (DnsHeader->AditionalNum); + DnsHeader->Flags.Uint16 = HTONS (DnsHeader->Flags.Uint16); + DnsHeader->QuestionsNum = HTONS (DnsHeader->QuestionsNum); + DnsHeader->AnswersNum = HTONS (DnsHeader->AnswersNum); + DnsHeader->AuthorityNum = HTONS (DnsHeader->AuthorityNum); + DnsHeader->AditionalNum = HTONS (DnsHeader->AditionalNum); Frag.Len = sizeof (*DnsHeader); @@ -1977,16 +2000,16 @@ ConstructDNSQuery ( // Fill Query name // CopyMem (Frag.Bulk + Frag.Len, QueryName, AsciiStrLen (QueryName)); - Frag.Len = (UINT32) (Frag.Len + AsciiStrLen (QueryName)); + Frag.Len = (UINT32)(Frag.Len + AsciiStrLen (QueryName)); *(Frag.Bulk + Frag.Len) = 0; - Frag.Len ++; + Frag.Len++; // // Rest query section // - DnsQuery = (DNS_QUERY_SECTION *) (Frag.Bulk + Frag.Len); + DnsQuery = (DNS_QUERY_SECTION *)(Frag.Bulk + Frag.Len); - DnsQuery->Type = HTONS (Type); + DnsQuery->Type = HTONS (Type); DnsQuery->Class = HTONS (Class); Frag.Len += sizeof (*DnsQuery); @@ -2003,7 +2026,7 @@ ConstructDNSQuery ( // // Store the UdpIo in ProtoData. // - *((UINTN *) &((*Packet)->ProtoData[0])) = (UINTN) (Instance->UdpIo); + *((UINTN *)&((*Packet)->ProtoData[0])) = (UINTN)(Instance->UdpIo); return EFI_SUCCESS; } @@ -2020,13 +2043,13 @@ ConstructDNSQuery ( **/ EFI_STATUS DnsRetransmit ( - IN DNS_INSTANCE *Instance, - IN NET_BUF *Packet + IN DNS_INSTANCE *Instance, + IN NET_BUF *Packet ) { - EFI_STATUS Status; + EFI_STATUS Status; - UINT8 *Buffer; + UINT8 *Buffer; ASSERT (Packet != NULL); @@ -2064,26 +2087,25 @@ DnsRetransmit ( VOID EFIAPI DnsOnTimerRetransmit ( - IN EFI_EVENT Event, - IN VOID *Context + IN EFI_EVENT Event, + IN VOID *Context ) { - DNS_SERVICE *Service; + DNS_SERVICE *Service; - LIST_ENTRY *Entry; - LIST_ENTRY *Next; + LIST_ENTRY *Entry; + LIST_ENTRY *Next; - DNS_INSTANCE *Instance; - LIST_ENTRY *EntryNetMap; - NET_MAP_ITEM *ItemNetMap; - DNS4_TOKEN_ENTRY *Dns4TokenEntry; - DNS6_TOKEN_ENTRY *Dns6TokenEntry; + DNS_INSTANCE *Instance; + LIST_ENTRY *EntryNetMap; + NET_MAP_ITEM *ItemNetMap; + DNS4_TOKEN_ENTRY *Dns4TokenEntry; + DNS6_TOKEN_ENTRY *Dns6TokenEntry; Dns4TokenEntry = NULL; Dns6TokenEntry = NULL; - Service = (DNS_SERVICE *) Context; - + Service = (DNS_SERVICE *)Context; if (Service->IpVersion == IP_VERSION_4) { // @@ -2095,9 +2117,9 @@ DnsOnTimerRetransmit ( EntryNetMap = Instance->Dns4TxTokens.Used.ForwardLink; while (EntryNetMap != &Instance->Dns4TxTokens.Used) { - ItemNetMap = NET_LIST_USER_STRUCT (EntryNetMap, NET_MAP_ITEM, Link); + ItemNetMap = NET_LIST_USER_STRUCT (EntryNetMap, NET_MAP_ITEM, Link); Dns4TokenEntry = (DNS4_TOKEN_ENTRY *)(ItemNetMap->Key); - if (Dns4TokenEntry->PacketToLive == 0 || (--Dns4TokenEntry->PacketToLive > 0)) { + if ((Dns4TokenEntry->PacketToLive == 0) || (--Dns4TokenEntry->PacketToLive > 0)) { EntryNetMap = EntryNetMap->ForwardLink; continue; } @@ -2139,9 +2161,9 @@ DnsOnTimerRetransmit ( EntryNetMap = Instance->Dns6TxTokens.Used.ForwardLink; while (EntryNetMap != &Instance->Dns6TxTokens.Used) { - ItemNetMap = NET_LIST_USER_STRUCT (EntryNetMap, NET_MAP_ITEM, Link); - Dns6TokenEntry = (DNS6_TOKEN_ENTRY *) (ItemNetMap->Key); - if (Dns6TokenEntry->PacketToLive == 0 || (--Dns6TokenEntry->PacketToLive > 0)) { + ItemNetMap = NET_LIST_USER_STRUCT (EntryNetMap, NET_MAP_ITEM, Link); + Dns6TokenEntry = (DNS6_TOKEN_ENTRY *)(ItemNetMap->Key); + if ((Dns6TokenEntry->PacketToLive == 0) || (--Dns6TokenEntry->PacketToLive > 0)) { EntryNetMap = EntryNetMap->ForwardLink; continue; } @@ -2151,7 +2173,7 @@ DnsOnTimerRetransmit ( // otherwise exit the transfer. // if (++Dns6TokenEntry->RetryCounting <= Dns6TokenEntry->Token->RetryCount) { - DnsRetransmit (Instance, (NET_BUF *) ItemNetMap->Value); + DnsRetransmit (Instance, (NET_BUF *)ItemNetMap->Value); EntryNetMap = EntryNetMap->ForwardLink; } else { // @@ -2166,7 +2188,7 @@ DnsOnTimerRetransmit ( // Free the sending packet. // if (ItemNetMap->Value != NULL) { - NetbufFree ((NET_BUF *) (ItemNetMap->Value)); + NetbufFree ((NET_BUF *)(ItemNetMap->Value)); } EntryNetMap = Instance->Dns6TxTokens.Used.ForwardLink; @@ -2186,14 +2208,14 @@ DnsOnTimerRetransmit ( VOID EFIAPI DnsOnTimerUpdate ( - IN EFI_EVENT Event, - IN VOID *Context + IN EFI_EVENT Event, + IN VOID *Context ) { - LIST_ENTRY *Entry; - LIST_ENTRY *Next; - DNS4_CACHE *Item4; - DNS6_CACHE *Item6; + LIST_ENTRY *Entry; + LIST_ENTRY *Next; + DNS4_CACHE *Item4; + DNS6_CACHE *Item6; Item4 = NULL; Item6 = NULL; @@ -2242,4 +2264,3 @@ DnsOnTimerUpdate ( } } } - diff --git a/NetworkPkg/DnsDxe/DnsImpl.h b/NetworkPkg/DnsDxe/DnsImpl.h index affbb4be8d..c57a6747d2 100644 --- a/NetworkPkg/DnsDxe/DnsImpl.h +++ b/NetworkPkg/DnsDxe/DnsImpl.h @@ -70,110 +70,109 @@ extern EFI_DNS6_PROTOCOL mDns6Protocol; // // DNS related // -#define DNS_SERVER_PORT 53 +#define DNS_SERVER_PORT 53 -#define DNS_PROTOCOL_UDP EFI_IP_PROTO_UDP -#define DNS_PROTOCOL_TCP EFI_IP_PROTO_TCP +#define DNS_PROTOCOL_UDP EFI_IP_PROTO_UDP +#define DNS_PROTOCOL_TCP EFI_IP_PROTO_TCP -#define DNS_STATE_UNCONFIGED 0 -#define DNS_STATE_CONFIGED 1 -#define DNS_STATE_DESTROY 2 +#define DNS_STATE_UNCONFIGED 0 +#define DNS_STATE_CONFIGED 1 +#define DNS_STATE_DESTROY 2 -#define DNS_DEFAULT_TIMEOUT 2 +#define DNS_DEFAULT_TIMEOUT 2 -#define DNS_TIME_TO_GETMAP 5 +#define DNS_TIME_TO_GETMAP 5 #pragma pack(1) -typedef union _DNS_FLAGS DNS_FLAGS; +typedef union _DNS_FLAGS DNS_FLAGS; typedef struct { - LIST_ENTRY AllCacheLink; - EFI_DNS4_CACHE_ENTRY DnsCache; + LIST_ENTRY AllCacheLink; + EFI_DNS4_CACHE_ENTRY DnsCache; } DNS4_CACHE; typedef struct { - LIST_ENTRY AllCacheLink; - EFI_DNS6_CACHE_ENTRY DnsCache; + LIST_ENTRY AllCacheLink; + EFI_DNS6_CACHE_ENTRY DnsCache; } DNS6_CACHE; typedef struct { - LIST_ENTRY AllServerLink; - EFI_IPv4_ADDRESS Dns4ServerIp; + LIST_ENTRY AllServerLink; + EFI_IPv4_ADDRESS Dns4ServerIp; } DNS4_SERVER_IP; typedef struct { - LIST_ENTRY AllServerLink; - EFI_IPv6_ADDRESS Dns6ServerIp; + LIST_ENTRY AllServerLink; + EFI_IPv6_ADDRESS Dns6ServerIp; } DNS6_SERVER_IP; typedef struct { - UINT32 RetryCounting; - UINT32 PacketToLive; - CHAR16 *QueryHostName; - EFI_IPv4_ADDRESS QueryIpAddress; - BOOLEAN GeneralLookUp; - EFI_DNS4_COMPLETION_TOKEN *Token; + UINT32 RetryCounting; + UINT32 PacketToLive; + CHAR16 *QueryHostName; + EFI_IPv4_ADDRESS QueryIpAddress; + BOOLEAN GeneralLookUp; + EFI_DNS4_COMPLETION_TOKEN *Token; } DNS4_TOKEN_ENTRY; typedef struct { - UINT32 RetryCounting; - UINT32 PacketToLive; - CHAR16 *QueryHostName; - EFI_IPv6_ADDRESS QueryIpAddress; - BOOLEAN GeneralLookUp; - EFI_DNS6_COMPLETION_TOKEN *Token; + UINT32 RetryCounting; + UINT32 PacketToLive; + CHAR16 *QueryHostName; + EFI_IPv6_ADDRESS QueryIpAddress; + BOOLEAN GeneralLookUp; + EFI_DNS6_COMPLETION_TOKEN *Token; } DNS6_TOKEN_ENTRY; union _DNS_FLAGS { struct { - UINT16 RCode:4; - UINT16 Zero:3; - UINT16 RA:1; - UINT16 RD:1; - UINT16 TC:1; - UINT16 AA:1; - UINT16 OpCode:4; - UINT16 QR:1; + UINT16 RCode : 4; + UINT16 Zero : 3; + UINT16 RA : 1; + UINT16 RD : 1; + UINT16 TC : 1; + UINT16 AA : 1; + UINT16 OpCode : 4; + UINT16 QR : 1; } Bits; - UINT16 Uint16; + UINT16 Uint16; }; #define DNS_FLAGS_QR_QUERY 0 #define DNS_FLAGS_QR_RESPONSE 1 -#define DNS_FLAGS_OPCODE_STANDARD 0 -#define DNS_FLAGS_OPCODE_INVERSE 1 -#define DNS_FLAGS_OPCODE_SERVER_STATE 2 +#define DNS_FLAGS_OPCODE_STANDARD 0 +#define DNS_FLAGS_OPCODE_INVERSE 1 +#define DNS_FLAGS_OPCODE_SERVER_STATE 2 #define DNS_FLAGS_RCODE_NO_ERROR 0 #define DNS_FLAGS_RCODE_NAME_ERROR 3 typedef struct { - UINT16 Identification; - DNS_FLAGS Flags; - UINT16 QuestionsNum; - UINT16 AnswersNum; - UINT16 AuthorityNum; - UINT16 AditionalNum; + UINT16 Identification; + DNS_FLAGS Flags; + UINT16 QuestionsNum; + UINT16 AnswersNum; + UINT16 AuthorityNum; + UINT16 AditionalNum; } DNS_HEADER; typedef struct { - UINT16 Type; - UINT16 Class; + UINT16 Type; + UINT16 Class; } DNS_QUERY_SECTION; typedef struct { - UINT16 Type; - UINT16 Class; - UINT32 Ttl; - UINT16 DataLength; + UINT16 Type; + UINT16 Class; + UINT32 Ttl; + UINT16 DataLength; } DNS_ANSWER_SECTION; #define DNS4_DOMAIN L"in-addr.arpa" #define DNS6_DOMAIN L"IP6.ARPA" - #pragma pack() /** @@ -188,8 +187,8 @@ typedef struct { **/ EFI_STATUS Dns4RemoveTokenEntry ( - IN NET_MAP *TokenMap, - IN DNS4_TOKEN_ENTRY *TokenEntry + IN NET_MAP *TokenMap, + IN DNS4_TOKEN_ENTRY *TokenEntry ); /** @@ -204,8 +203,8 @@ Dns4RemoveTokenEntry ( **/ EFI_STATUS Dns6RemoveTokenEntry ( - IN NET_MAP *TokenMap, - IN DNS6_TOKEN_ENTRY *TokenEntry + IN NET_MAP *TokenMap, + IN DNS6_TOKEN_ENTRY *TokenEntry ); /** @@ -270,9 +269,9 @@ Dns6CancelTokens ( EFI_STATUS EFIAPI GetDns4TokenEntry ( - IN NET_MAP *TokensMap, - IN EFI_DNS4_COMPLETION_TOKEN *Token, - OUT DNS4_TOKEN_ENTRY **TokenEntry + IN NET_MAP *TokensMap, + IN EFI_DNS4_COMPLETION_TOKEN *Token, + OUT DNS4_TOKEN_ENTRY **TokenEntry ); /** @@ -289,9 +288,9 @@ GetDns4TokenEntry ( EFI_STATUS EFIAPI GetDns6TokenEntry ( - IN NET_MAP *TokensMap, - IN EFI_DNS6_COMPLETION_TOKEN *Token, - OUT DNS6_TOKEN_ENTRY **TokenEntry + IN NET_MAP *TokensMap, + IN EFI_DNS6_COMPLETION_TOKEN *Token, + OUT DNS6_TOKEN_ENTRY **TokenEntry ); /** @@ -395,7 +394,7 @@ Dns6CopyConfigure ( VOID EFIAPI DnsDummyExtFree ( - IN VOID *Arg + IN VOID *Arg ); /** @@ -415,9 +414,9 @@ DnsDummyExtFree ( **/ BOOLEAN Dns4GetMapping ( - IN DNS_INSTANCE *Instance, - IN UDP_IO *UdpIo, - IN EFI_UDP4_CONFIG_DATA *UdpCfgData + IN DNS_INSTANCE *Instance, + IN UDP_IO *UdpIo, + IN EFI_UDP4_CONFIG_DATA *UdpCfgData ); /** @@ -434,9 +433,9 @@ Dns4GetMapping ( **/ BOOLEAN Dns6GetMapping ( - IN DNS_INSTANCE *Instance, - IN UDP_IO *UdpIo, - IN EFI_UDP6_CONFIG_DATA *UdpCfgData + IN DNS_INSTANCE *Instance, + IN UDP_IO *UdpIo, + IN EFI_UDP6_CONFIG_DATA *UdpCfgData ); /** @@ -451,8 +450,8 @@ Dns6GetMapping ( **/ EFI_STATUS Dns4ConfigUdp ( - IN DNS_INSTANCE *Instance, - IN UDP_IO *UdpIo + IN DNS_INSTANCE *Instance, + IN UDP_IO *UdpIo ); /** @@ -467,8 +466,8 @@ Dns4ConfigUdp ( **/ EFI_STATUS Dns6ConfigUdp ( - IN DNS_INSTANCE *Instance, - IN UDP_IO *UdpIo + IN DNS_INSTANCE *Instance, + IN UDP_IO *UdpIo ); /** @@ -488,10 +487,10 @@ Dns6ConfigUdp ( EFI_STATUS EFIAPI UpdateDns4Cache ( - IN LIST_ENTRY *Dns4CacheList, - IN BOOLEAN DeleteFlag, - IN BOOLEAN Override, - IN EFI_DNS4_CACHE_ENTRY DnsCacheEntry + IN LIST_ENTRY *Dns4CacheList, + IN BOOLEAN DeleteFlag, + IN BOOLEAN Override, + IN EFI_DNS4_CACHE_ENTRY DnsCacheEntry ); /** @@ -510,10 +509,10 @@ UpdateDns4Cache ( EFI_STATUS EFIAPI UpdateDns6Cache ( - IN LIST_ENTRY *Dns6CacheList, - IN BOOLEAN DeleteFlag, - IN BOOLEAN Override, - IN EFI_DNS6_CACHE_ENTRY DnsCacheEntry + IN LIST_ENTRY *Dns6CacheList, + IN BOOLEAN DeleteFlag, + IN BOOLEAN Override, + IN EFI_DNS6_CACHE_ENTRY DnsCacheEntry ); /** @@ -529,8 +528,8 @@ UpdateDns6Cache ( EFI_STATUS EFIAPI AddDns4ServerIp ( - IN LIST_ENTRY *Dns4ServerList, - IN EFI_IPv4_ADDRESS ServerIp + IN LIST_ENTRY *Dns4ServerList, + IN EFI_IPv4_ADDRESS ServerIp ); /** @@ -546,8 +545,8 @@ AddDns4ServerIp ( EFI_STATUS EFIAPI AddDns6ServerIp ( - IN LIST_ENTRY *Dns6ServerList, - IN EFI_IPv6_ADDRESS ServerIp + IN LIST_ENTRY *Dns6ServerList, + IN EFI_IPv6_ADDRESS ServerIp ); /** @@ -565,11 +564,11 @@ AddDns6ServerIp ( **/ BOOLEAN IsValidDnsResponse ( - IN NET_MAP *TokensMap, - IN UINT16 Identification, - IN UINT16 Type, - IN UINT16 Class, - OUT NET_MAP_ITEM **Item + IN NET_MAP *TokensMap, + IN UINT16 Identification, + IN UINT16 Type, + IN UINT16 Class, + OUT NET_MAP_ITEM **Item ); /** @@ -586,10 +585,10 @@ IsValidDnsResponse ( **/ EFI_STATUS ParseDnsResponse ( - IN OUT DNS_INSTANCE *Instance, - IN UINT8 *RxString, - IN UINT32 Length, - OUT BOOLEAN *Completed + IN OUT DNS_INSTANCE *Instance, + IN UINT8 *RxString, + IN UINT32 Length, + OUT BOOLEAN *Completed ); /** @@ -604,10 +603,10 @@ ParseDnsResponse ( VOID EFIAPI DnsOnPacketReceived ( - NET_BUF *Packet, - UDP_END_POINT *EndPoint, - EFI_STATUS IoStatus, - VOID *Context + NET_BUF *Packet, + UDP_END_POINT *EndPoint, + EFI_STATUS IoStatus, + VOID *Context ); /** @@ -622,10 +621,10 @@ DnsOnPacketReceived ( VOID EFIAPI DnsOnPacketSent ( - NET_BUF *Packet, - UDP_END_POINT *EndPoint, - EFI_STATUS IoStatus, - VOID *Context + NET_BUF *Packet, + UDP_END_POINT *EndPoint, + EFI_STATUS IoStatus, + VOID *Context ); /** @@ -640,8 +639,8 @@ DnsOnPacketSent ( **/ EFI_STATUS DoDnsQuery ( - IN DNS_INSTANCE *Instance, - IN NET_BUF *Packet + IN DNS_INSTANCE *Instance, + IN NET_BUF *Packet ); /** @@ -659,11 +658,11 @@ DoDnsQuery ( **/ EFI_STATUS ConstructDNSQuery ( - IN DNS_INSTANCE *Instance, - IN CHAR8 *QueryName, - IN UINT16 Type, - IN UINT16 Class, - OUT NET_BUF **Packet + IN DNS_INSTANCE *Instance, + IN CHAR8 *QueryName, + IN UINT16 Type, + IN UINT16 Class, + OUT NET_BUF **Packet ); /** @@ -678,8 +677,8 @@ ConstructDNSQuery ( **/ EFI_STATUS DnsRetransmit ( - IN DNS_INSTANCE *Instance, - IN NET_BUF *Packet + IN DNS_INSTANCE *Instance, + IN NET_BUF *Packet ); /** @@ -692,8 +691,8 @@ DnsRetransmit ( VOID EFIAPI DnsOnTimerRetransmit ( - IN EFI_EVENT Event, - IN VOID *Context + IN EFI_EVENT Event, + IN VOID *Context ); /** @@ -706,11 +705,10 @@ DnsOnTimerRetransmit ( VOID EFIAPI DnsOnTimerUpdate ( - IN EFI_EVENT Event, - IN VOID *Context + IN EFI_EVENT Event, + IN VOID *Context ); - /** Retrieve mode data of this DNS instance. @@ -729,8 +727,8 @@ DnsOnTimerUpdate ( EFI_STATUS EFIAPI Dns4GetModeData ( - IN EFI_DNS4_PROTOCOL *This, - OUT EFI_DNS4_MODE_DATA *DnsModeData + IN EFI_DNS4_PROTOCOL *This, + OUT EFI_DNS4_MODE_DATA *DnsModeData ); /** @@ -761,8 +759,8 @@ Dns4GetModeData ( EFI_STATUS EFIAPI Dns4Configure ( - IN EFI_DNS4_PROTOCOL *This, - IN EFI_DNS4_CONFIG_DATA *DnsConfigData + IN EFI_DNS4_PROTOCOL *This, + IN EFI_DNS4_CONFIG_DATA *DnsConfigData ); /** @@ -789,7 +787,7 @@ EFI_STATUS EFIAPI Dns4HostNameToIp ( IN EFI_DNS4_PROTOCOL *This, - IN CHAR16 *HostName, + IN CHAR16 *HostName, IN EFI_DNS4_COMPLETION_TOKEN *Token ); @@ -818,9 +816,9 @@ Dns4HostNameToIp ( EFI_STATUS EFIAPI Dns4IpToHostName ( - IN EFI_DNS4_PROTOCOL *This, - IN EFI_IPv4_ADDRESS IpAddress, - IN EFI_DNS4_COMPLETION_TOKEN *Token + IN EFI_DNS4_PROTOCOL *This, + IN EFI_IPv4_ADDRESS IpAddress, + IN EFI_DNS4_COMPLETION_TOKEN *Token ); /** @@ -853,11 +851,11 @@ Dns4IpToHostName ( EFI_STATUS EFIAPI Dns4GeneralLookUp ( - IN EFI_DNS4_PROTOCOL *This, - IN CHAR8 *QName, - IN UINT16 QType, - IN UINT16 QClass, - IN EFI_DNS4_COMPLETION_TOKEN *Token + IN EFI_DNS4_PROTOCOL *This, + IN CHAR8 *QName, + IN UINT16 QType, + IN UINT16 QClass, + IN EFI_DNS4_COMPLETION_TOKEN *Token ); /** @@ -889,10 +887,10 @@ Dns4GeneralLookUp ( EFI_STATUS EFIAPI Dns4UpdateDnsCache ( - IN EFI_DNS4_PROTOCOL *This, + IN EFI_DNS4_PROTOCOL *This, IN BOOLEAN DeleteFlag, IN BOOLEAN Override, - IN EFI_DNS4_CACHE_ENTRY DnsCacheEntry + IN EFI_DNS4_CACHE_ENTRY DnsCacheEntry ); /** @@ -919,7 +917,7 @@ Dns4UpdateDnsCache ( EFI_STATUS EFIAPI Dns4Poll ( - IN EFI_DNS4_PROTOCOL *This + IN EFI_DNS4_PROTOCOL *This ); /** @@ -954,7 +952,6 @@ Dns4Cancel ( IN EFI_DNS4_COMPLETION_TOKEN *Token ); - /** Retrieve mode data of this DNS instance. @@ -974,8 +971,8 @@ Dns4Cancel ( EFI_STATUS EFIAPI Dns6GetModeData ( - IN EFI_DNS6_PROTOCOL *This, - OUT EFI_DNS6_MODE_DATA *DnsModeData + IN EFI_DNS6_PROTOCOL *This, + OUT EFI_DNS6_MODE_DATA *DnsModeData ); /** @@ -1004,8 +1001,8 @@ Dns6GetModeData ( EFI_STATUS EFIAPI Dns6Configure ( - IN EFI_DNS6_PROTOCOL *This, - IN EFI_DNS6_CONFIG_DATA *DnsConfigData + IN EFI_DNS6_PROTOCOL *This, + IN EFI_DNS6_CONFIG_DATA *DnsConfigData ); /** @@ -1064,9 +1061,9 @@ Dns6HostNameToIp ( EFI_STATUS EFIAPI Dns6IpToHostName ( - IN EFI_DNS6_PROTOCOL *This, - IN EFI_IPv6_ADDRESS IpAddress, - IN EFI_DNS6_COMPLETION_TOKEN *Token + IN EFI_DNS6_PROTOCOL *This, + IN EFI_IPv6_ADDRESS IpAddress, + IN EFI_DNS6_COMPLETION_TOKEN *Token ); /** @@ -1101,11 +1098,11 @@ Dns6IpToHostName ( EFI_STATUS EFIAPI Dns6GeneralLookUp ( - IN EFI_DNS6_PROTOCOL *This, - IN CHAR8 *QName, - IN UINT16 QType, - IN UINT16 QClass, - IN EFI_DNS6_COMPLETION_TOKEN *Token + IN EFI_DNS6_PROTOCOL *This, + IN CHAR8 *QName, + IN UINT16 QType, + IN UINT16 QClass, + IN EFI_DNS6_COMPLETION_TOKEN *Token ); /** @@ -1138,10 +1135,10 @@ Dns6GeneralLookUp ( EFI_STATUS EFIAPI Dns6UpdateDnsCache ( - IN EFI_DNS6_PROTOCOL *This, + IN EFI_DNS6_PROTOCOL *This, IN BOOLEAN DeleteFlag, IN BOOLEAN Override, - IN EFI_DNS6_CACHE_ENTRY DnsCacheEntry + IN EFI_DNS6_CACHE_ENTRY DnsCacheEntry ); /** @@ -1170,7 +1167,7 @@ Dns6UpdateDnsCache ( EFI_STATUS EFIAPI Dns6Poll ( - IN EFI_DNS6_PROTOCOL *This + IN EFI_DNS6_PROTOCOL *This ); /** diff --git a/NetworkPkg/DnsDxe/DnsProtocol.c b/NetworkPkg/DnsDxe/DnsProtocol.c index a0bb58ef1d..563c6ce723 100644 --- a/NetworkPkg/DnsDxe/DnsProtocol.c +++ b/NetworkPkg/DnsDxe/DnsProtocol.c @@ -48,24 +48,24 @@ EFI_DNS6_PROTOCOL mDns6Protocol = { EFI_STATUS EFIAPI Dns4GetModeData ( - IN EFI_DNS4_PROTOCOL *This, - OUT EFI_DNS4_MODE_DATA *DnsModeData + IN EFI_DNS4_PROTOCOL *This, + OUT EFI_DNS4_MODE_DATA *DnsModeData ) { - DNS_INSTANCE *Instance; + DNS_INSTANCE *Instance; - EFI_TPL OldTpl; + EFI_TPL OldTpl; - UINTN Index; + UINTN Index; - LIST_ENTRY *Entry; - LIST_ENTRY *Next; + LIST_ENTRY *Entry; + LIST_ENTRY *Next; - DNS4_SERVER_IP *ServerItem; - EFI_IPv4_ADDRESS *ServerList; - DNS4_CACHE *CacheItem; - EFI_DNS4_CACHE_ENTRY *CacheList; - EFI_STATUS Status; + DNS4_SERVER_IP *ServerItem; + EFI_IPv4_ADDRESS *ServerList; + DNS4_CACHE *CacheItem; + EFI_DNS4_CACHE_ENTRY *CacheList; + EFI_STATUS Status; ServerItem = NULL; ServerList = NULL; @@ -73,7 +73,6 @@ Dns4GetModeData ( CacheList = NULL; Status = EFI_SUCCESS; - if ((This == NULL) || (DnsModeData == NULL)) { return EFI_INVALID_PARAMETER; } @@ -103,8 +102,8 @@ Dns4GetModeData ( NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns4ServerList) { Index++; } - DnsModeData->DnsServerCount = (UINT32) Index; - ServerList = AllocatePool (sizeof (EFI_IPv4_ADDRESS) * DnsModeData->DnsServerCount); + DnsModeData->DnsServerCount = (UINT32)Index; + ServerList = AllocatePool (sizeof (EFI_IPv4_ADDRESS) * DnsModeData->DnsServerCount); if (ServerList == NULL) { Status = EFI_OUT_OF_RESOURCES; Dns4CleanConfigure (&DnsModeData->DnsConfigData); @@ -122,12 +121,12 @@ Dns4GetModeData ( // // Get the DnsCacheCount and DnsCacheList // - Index =0; + Index = 0; NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns4CacheList) { Index++; } - DnsModeData->DnsCacheCount = (UINT32) Index; - CacheList = AllocatePool (sizeof (EFI_DNS4_CACHE_ENTRY) * DnsModeData->DnsCacheCount); + DnsModeData->DnsCacheCount = (UINT32)Index; + CacheList = AllocatePool (sizeof (EFI_DNS4_CACHE_ENTRY) * DnsModeData->DnsCacheCount); if (CacheList == NULL) { Status = EFI_OUT_OF_RESOURCES; Dns4CleanConfigure (&DnsModeData->DnsConfigData); @@ -135,7 +134,7 @@ Dns4GetModeData ( goto ON_EXIT; } - Index =0; + Index = 0; NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns4CacheList) { CacheItem = NET_LIST_USER_STRUCT (Entry, DNS4_CACHE, AllCacheLink); CopyMem (CacheList + Index, &CacheItem->DnsCache, sizeof (EFI_DNS4_CACHE_ENTRY)); @@ -176,30 +175,31 @@ ON_EXIT: EFI_STATUS EFIAPI Dns4Configure ( - IN EFI_DNS4_PROTOCOL *This, - IN EFI_DNS4_CONFIG_DATA *DnsConfigData + IN EFI_DNS4_PROTOCOL *This, + IN EFI_DNS4_CONFIG_DATA *DnsConfigData ) { - EFI_STATUS Status; - DNS_INSTANCE *Instance; + EFI_STATUS Status; + DNS_INSTANCE *Instance; - EFI_TPL OldTpl; - IP4_ADDR Ip; - IP4_ADDR Netmask; + EFI_TPL OldTpl; + IP4_ADDR Ip; + IP4_ADDR Netmask; - UINT32 ServerListCount; - EFI_IPv4_ADDRESS *ServerList; + UINT32 ServerListCount; + EFI_IPv4_ADDRESS *ServerList; Status = EFI_SUCCESS; ServerList = NULL; - if (This == NULL || - (DnsConfigData != NULL && ((DnsConfigData->DnsServerListCount != 0 && DnsConfigData->DnsServerList == NULL) || - (DnsConfigData->DnsServerListCount == 0 && DnsConfigData->DnsServerList != NULL)))) { + if ((This == NULL) || + ((DnsConfigData != NULL) && (((DnsConfigData->DnsServerListCount != 0) && (DnsConfigData->DnsServerList == NULL)) || + ((DnsConfigData->DnsServerListCount == 0) && (DnsConfigData->DnsServerList != NULL))))) + { return EFI_INVALID_PARAMETER; } - if (DnsConfigData != NULL && DnsConfigData->Protocol != DNS_PROTOCOL_UDP) { + if ((DnsConfigData != NULL) && (DnsConfigData->Protocol != DNS_PROTOCOL_UDP)) { return EFI_UNSUPPORTED; } @@ -213,8 +213,8 @@ Dns4Configure ( // // Reset the Instance if ConfigData is NULL // - if (!NetMapIsEmpty(&Instance->Dns4TxTokens)) { - Dns4InstanceCancelToken(Instance, NULL); + if (!NetMapIsEmpty (&Instance->Dns4TxTokens)) { + Dns4InstanceCancelToken (Instance, NULL); } if (Instance->UdpIo != NULL) { @@ -224,6 +224,7 @@ Dns4Configure ( if (Instance->Dns4CfgData.DnsServerList != NULL) { FreePool (Instance->Dns4CfgData.DnsServerList); } + ZeroMem (&Instance->Dns4CfgData, sizeof (EFI_DNS4_CONFIG_DATA)); Instance->State = DNS_STATE_UNCONFIGED; @@ -234,11 +235,12 @@ Dns4Configure ( CopyMem (&Ip, &DnsConfigData->StationIp, sizeof (IP4_ADDR)); CopyMem (&Netmask, &DnsConfigData->SubnetMask, sizeof (IP4_ADDR)); - Ip = NTOHL (Ip); - Netmask = NTOHL (Netmask); + Ip = NTOHL (Ip); + Netmask = NTOHL (Netmask); if (!DnsConfigData->UseDefaultSetting && - ((!IP4_IS_VALID_NETMASK (Netmask) || (Netmask != 0 && !NetIp4IsUnicast (Ip, Netmask))))) { + ((!IP4_IS_VALID_NETMASK (Netmask) || ((Netmask != 0) && !NetIp4IsUnicast (Ip, Netmask))))) + { Status = EFI_INVALID_PARAMETER; goto ON_EXIT; } @@ -263,7 +265,7 @@ Dns4Configure ( return Status; } - ASSERT(ServerList != NULL); + ASSERT (ServerList != NULL); OldTpl = gBS->RaiseTPL (TPL_CALLBACK); @@ -281,6 +283,7 @@ Dns4Configure ( FreePool (Instance->Dns4CfgData.DnsServerList); Instance->Dns4CfgData.DnsServerList = NULL; } + goto ON_EXIT; } @@ -293,6 +296,7 @@ Dns4Configure ( FreePool (Instance->Dns4CfgData.DnsServerList); Instance->Dns4CfgData.DnsServerList = NULL; } + goto ON_EXIT; } @@ -332,23 +336,23 @@ Dns4HostNameToIp ( IN EFI_DNS4_COMPLETION_TOKEN *Token ) { - EFI_STATUS Status; + EFI_STATUS Status; - DNS_INSTANCE *Instance; + DNS_INSTANCE *Instance; EFI_DNS4_CONFIG_DATA *ConfigData; - UINTN Index; - DNS4_CACHE *Item; - LIST_ENTRY *Entry; - LIST_ENTRY *Next; + UINTN Index; + DNS4_CACHE *Item; + LIST_ENTRY *Entry; + LIST_ENTRY *Next; - CHAR8 *QueryName; + CHAR8 *QueryName; - DNS4_TOKEN_ENTRY *TokenEntry; - NET_BUF *Packet; + DNS4_TOKEN_ENTRY *TokenEntry; + NET_BUF *Packet; - EFI_TPL OldTpl; + EFI_TPL OldTpl; Status = EFI_SUCCESS; Item = NULL; @@ -359,11 +363,11 @@ Dns4HostNameToIp ( // // Validate the parameters // - if ((This == NULL) || (HostName == NULL) || Token == NULL) { + if ((This == NULL) || (HostName == NULL) || (Token == NULL)) { return EFI_INVALID_PARAMETER; } - OldTpl = gBS->RaiseTPL (TPL_CALLBACK); + OldTpl = gBS->RaiseTPL (TPL_CALLBACK); Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL4 (This); @@ -417,7 +421,7 @@ Dns4HostNameToIp ( } Token->RspData.H2AData->IpCount = (UINT32)Index; - Token->RspData.H2AData->IpList = AllocatePool (sizeof (EFI_IPv4_ADDRESS) * Index); + Token->RspData.H2AData->IpList = AllocatePool (sizeof (EFI_IPv4_ADDRESS) * Index); if (Token->RspData.H2AData->IpList == NULL) { if (Token->RspData.H2AData != NULL) { FreePool (Token->RspData.H2AData); @@ -430,7 +434,7 @@ Dns4HostNameToIp ( Index = 0; NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns4CacheList) { Item = NET_LIST_USER_STRUCT (Entry, DNS4_CACHE, AllCacheLink); - if ((UINT32)Index < Token->RspData.H2AData->IpCount && StrCmp (HostName, Item->DnsCache.HostName) == 0) { + if (((UINT32)Index < Token->RspData.H2AData->IpCount) && (StrCmp (HostName, Item->DnsCache.HostName) == 0)) { CopyMem ((Token->RspData.H2AData->IpList) + Index, Item->DnsCache.IpAddress, sizeof (EFI_IPv4_ADDRESS)); Index++; } @@ -451,14 +455,14 @@ Dns4HostNameToIp ( // // Construct DNS TokenEntry. // - TokenEntry = AllocateZeroPool (sizeof(DNS4_TOKEN_ENTRY)); + TokenEntry = AllocateZeroPool (sizeof (DNS4_TOKEN_ENTRY)); if (TokenEntry == NULL) { Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; } - TokenEntry->PacketToLive = Token->RetryInterval; - TokenEntry->Token = Token; + TokenEntry->PacketToLive = Token->RetryInterval; + TokenEntry->Token = Token; TokenEntry->QueryHostName = AllocateZeroPool (StrSize (HostName)); if (TokenEntry->QueryHostName == NULL) { Status = EFI_OUT_OF_RESOURCES; @@ -551,9 +555,9 @@ ON_EXIT: EFI_STATUS EFIAPI Dns4IpToHostName ( - IN EFI_DNS4_PROTOCOL *This, - IN EFI_IPv4_ADDRESS IpAddress, - IN EFI_DNS4_COMPLETION_TOKEN *Token + IN EFI_DNS4_PROTOCOL *This, + IN EFI_IPv4_ADDRESS IpAddress, + IN EFI_DNS4_COMPLETION_TOKEN *Token ) { return EFI_UNSUPPORTED; @@ -589,23 +593,23 @@ Dns4IpToHostName ( EFI_STATUS EFIAPI Dns4GeneralLookUp ( - IN EFI_DNS4_PROTOCOL *This, - IN CHAR8 *QName, - IN UINT16 QType, - IN UINT16 QClass, - IN EFI_DNS4_COMPLETION_TOKEN *Token + IN EFI_DNS4_PROTOCOL *This, + IN CHAR8 *QName, + IN UINT16 QType, + IN UINT16 QClass, + IN EFI_DNS4_COMPLETION_TOKEN *Token ) { - EFI_STATUS Status; + EFI_STATUS Status; - DNS_INSTANCE *Instance; + DNS_INSTANCE *Instance; EFI_DNS4_CONFIG_DATA *ConfigData; - DNS4_TOKEN_ENTRY *TokenEntry; - NET_BUF *Packet; + DNS4_TOKEN_ENTRY *TokenEntry; + NET_BUF *Packet; - EFI_TPL OldTpl; + EFI_TPL OldTpl; Status = EFI_SUCCESS; TokenEntry = NULL; @@ -614,11 +618,11 @@ Dns4GeneralLookUp ( // // Validate the parameters // - if ((This == NULL) || (QName == NULL) || Token == NULL) { + if ((This == NULL) || (QName == NULL) || (Token == NULL)) { return EFI_INVALID_PARAMETER; } - OldTpl = gBS->RaiseTPL (TPL_CALLBACK); + OldTpl = gBS->RaiseTPL (TPL_CALLBACK); Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL4 (This); @@ -655,15 +659,15 @@ Dns4GeneralLookUp ( // // Construct DNS TokenEntry. // - TokenEntry = AllocateZeroPool (sizeof(DNS4_TOKEN_ENTRY)); + TokenEntry = AllocateZeroPool (sizeof (DNS4_TOKEN_ENTRY)); if (TokenEntry == NULL) { Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; } - TokenEntry->PacketToLive = Token->RetryInterval; + TokenEntry->PacketToLive = Token->RetryInterval; TokenEntry->GeneralLookUp = TRUE; - TokenEntry->Token = Token; + TokenEntry->Token = Token; // // Construct DNS Query Packet. @@ -741,18 +745,18 @@ ON_EXIT: EFI_STATUS EFIAPI Dns4UpdateDnsCache ( - IN EFI_DNS4_PROTOCOL *This, - IN BOOLEAN DeleteFlag, - IN BOOLEAN Override, - IN EFI_DNS4_CACHE_ENTRY DnsCacheEntry + IN EFI_DNS4_PROTOCOL *This, + IN BOOLEAN DeleteFlag, + IN BOOLEAN Override, + IN EFI_DNS4_CACHE_ENTRY DnsCacheEntry ) { - EFI_STATUS Status; - EFI_TPL OldTpl; + EFI_STATUS Status; + EFI_TPL OldTpl; Status = EFI_SUCCESS; - if (DnsCacheEntry.HostName == NULL || DnsCacheEntry.IpAddress == NULL || DnsCacheEntry.Timeout == 0) { + if ((DnsCacheEntry.HostName == NULL) || (DnsCacheEntry.IpAddress == NULL) || (DnsCacheEntry.Timeout == 0)) { return EFI_INVALID_PARAMETER; } @@ -792,11 +796,11 @@ Dns4UpdateDnsCache ( EFI_STATUS EFIAPI Dns4Poll ( - IN EFI_DNS4_PROTOCOL *This + IN EFI_DNS4_PROTOCOL *This ) { - DNS_INSTANCE *Instance; - EFI_UDP4_PROTOCOL *Udp; + DNS_INSTANCE *Instance; + EFI_UDP4_PROTOCOL *Udp; if (This == NULL) { return EFI_INVALID_PARAMETER; @@ -847,9 +851,9 @@ Dns4Cancel ( IN EFI_DNS4_COMPLETION_TOKEN *Token ) { - EFI_STATUS Status; - DNS_INSTANCE *Instance; - EFI_TPL OldTpl; + EFI_STATUS Status; + DNS_INSTANCE *Instance; + EFI_TPL OldTpl; if (This == NULL) { return EFI_INVALID_PARAMETER; @@ -897,24 +901,24 @@ Dns4Cancel ( EFI_STATUS EFIAPI Dns6GetModeData ( - IN EFI_DNS6_PROTOCOL *This, - OUT EFI_DNS6_MODE_DATA *DnsModeData + IN EFI_DNS6_PROTOCOL *This, + OUT EFI_DNS6_MODE_DATA *DnsModeData ) { - DNS_INSTANCE *Instance; + DNS_INSTANCE *Instance; - EFI_TPL OldTpl; + EFI_TPL OldTpl; - UINTN Index; + UINTN Index; - LIST_ENTRY *Entry; - LIST_ENTRY *Next; + LIST_ENTRY *Entry; + LIST_ENTRY *Next; - DNS6_SERVER_IP *ServerItem; - EFI_IPv6_ADDRESS *ServerList; - DNS6_CACHE *CacheItem; - EFI_DNS6_CACHE_ENTRY *CacheList; - EFI_STATUS Status; + DNS6_SERVER_IP *ServerItem; + EFI_IPv6_ADDRESS *ServerList; + DNS6_CACHE *CacheItem; + EFI_DNS6_CACHE_ENTRY *CacheList; + EFI_STATUS Status; ServerItem = NULL; ServerList = NULL; @@ -928,7 +932,7 @@ Dns6GetModeData ( OldTpl = gBS->RaiseTPL (TPL_CALLBACK); - Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL6 (This); + Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL6 (This); if (Instance->State == DNS_STATE_UNCONFIGED) { Status = EFI_NOT_STARTED; goto ON_EXIT; @@ -951,8 +955,8 @@ Dns6GetModeData ( NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns6ServerList) { Index++; } - DnsModeData->DnsServerCount = (UINT32) Index; - ServerList = AllocatePool (sizeof(EFI_IPv6_ADDRESS) * DnsModeData->DnsServerCount); + DnsModeData->DnsServerCount = (UINT32)Index; + ServerList = AllocatePool (sizeof (EFI_IPv6_ADDRESS) * DnsModeData->DnsServerCount); if (ServerList == NULL) { Status = EFI_OUT_OF_RESOURCES; Dns6CleanConfigure (&DnsModeData->DnsConfigData); @@ -970,12 +974,12 @@ Dns6GetModeData ( // // Get the DnsCacheCount and DnsCacheList // - Index =0; + Index = 0; NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns6CacheList) { Index++; } - DnsModeData->DnsCacheCount = (UINT32) Index; - CacheList = AllocatePool (sizeof(EFI_DNS6_CACHE_ENTRY) * DnsModeData->DnsCacheCount); + DnsModeData->DnsCacheCount = (UINT32)Index; + CacheList = AllocatePool (sizeof (EFI_DNS6_CACHE_ENTRY) * DnsModeData->DnsCacheCount); if (CacheList == NULL) { Status = EFI_OUT_OF_RESOURCES; Dns6CleanConfigure (&DnsModeData->DnsConfigData); @@ -983,7 +987,7 @@ Dns6GetModeData ( goto ON_EXIT; } - Index =0; + Index = 0; NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns6CacheList) { CacheItem = NET_LIST_USER_STRUCT (Entry, DNS6_CACHE, AllCacheLink); CopyMem (CacheList + Index, &CacheItem->DnsCache, sizeof (EFI_DNS6_CACHE_ENTRY)); @@ -1022,28 +1026,29 @@ ON_EXIT: EFI_STATUS EFIAPI Dns6Configure ( - IN EFI_DNS6_PROTOCOL *This, - IN EFI_DNS6_CONFIG_DATA *DnsConfigData + IN EFI_DNS6_PROTOCOL *This, + IN EFI_DNS6_CONFIG_DATA *DnsConfigData ) { - EFI_STATUS Status; - DNS_INSTANCE *Instance; + EFI_STATUS Status; + DNS_INSTANCE *Instance; - EFI_TPL OldTpl; + EFI_TPL OldTpl; - UINT32 ServerListCount; - EFI_IPv6_ADDRESS *ServerList; + UINT32 ServerListCount; + EFI_IPv6_ADDRESS *ServerList; Status = EFI_SUCCESS; ServerList = NULL; - if (This == NULL || - (DnsConfigData != NULL && ((DnsConfigData->DnsServerCount != 0 && DnsConfigData->DnsServerList == NULL) || - (DnsConfigData->DnsServerCount == 0 && DnsConfigData->DnsServerList != NULL)))) { + if ((This == NULL) || + ((DnsConfigData != NULL) && (((DnsConfigData->DnsServerCount != 0) && (DnsConfigData->DnsServerList == NULL)) || + ((DnsConfigData->DnsServerCount == 0) && (DnsConfigData->DnsServerList != NULL))))) + { return EFI_INVALID_PARAMETER; } - if (DnsConfigData != NULL && DnsConfigData->Protocol != DNS_PROTOCOL_UDP) { + if ((DnsConfigData != NULL) && (DnsConfigData->Protocol != DNS_PROTOCOL_UDP)) { return EFI_UNSUPPORTED; } @@ -1057,8 +1062,8 @@ Dns6Configure ( // // Reset the Instance if ConfigData is NULL // - if (!NetMapIsEmpty(&Instance->Dns6TxTokens)) { - Dns6InstanceCancelToken(Instance, NULL); + if (!NetMapIsEmpty (&Instance->Dns6TxTokens)) { + Dns6InstanceCancelToken (Instance, NULL); } if (Instance->UdpIo != NULL) { @@ -1068,6 +1073,7 @@ Dns6Configure ( if (Instance->Dns6CfgData.DnsServerList != NULL) { FreePool (Instance->Dns6CfgData.DnsServerList); } + ZeroMem (&Instance->Dns6CfgData, sizeof (EFI_DNS6_CONFIG_DATA)); Instance->State = DNS_STATE_UNCONFIGED; @@ -1089,7 +1095,7 @@ Dns6Configure ( gBS->RestoreTPL (OldTpl); // - //The DNS instance will retrieve DNS server from DHCP Server. + // The DNS instance will retrieve DNS server from DHCP Server. // Status = GetDns6ServerFromDhcp6 ( Instance->Service->ImageHandle, @@ -1101,7 +1107,7 @@ Dns6Configure ( goto ON_EXIT; } - ASSERT(ServerList != NULL); + ASSERT (ServerList != NULL); OldTpl = gBS->RaiseTPL (TPL_CALLBACK); @@ -1121,6 +1127,7 @@ Dns6Configure ( FreePool (Instance->Dns6CfgData.DnsServerList); Instance->Dns6CfgData.DnsServerList = NULL; } + goto ON_EXIT; } @@ -1133,6 +1140,7 @@ Dns6Configure ( FreePool (Instance->Dns6CfgData.DnsServerList); Instance->Dns6CfgData.DnsServerList = NULL; } + goto ON_EXIT; } @@ -1174,23 +1182,23 @@ Dns6HostNameToIp ( IN EFI_DNS6_COMPLETION_TOKEN *Token ) { - EFI_STATUS Status; + EFI_STATUS Status; - DNS_INSTANCE *Instance; + DNS_INSTANCE *Instance; EFI_DNS6_CONFIG_DATA *ConfigData; - UINTN Index; - DNS6_CACHE *Item; - LIST_ENTRY *Entry; - LIST_ENTRY *Next; + UINTN Index; + DNS6_CACHE *Item; + LIST_ENTRY *Entry; + LIST_ENTRY *Next; - CHAR8 *QueryName; + CHAR8 *QueryName; - DNS6_TOKEN_ENTRY *TokenEntry; - NET_BUF *Packet; + DNS6_TOKEN_ENTRY *TokenEntry; + NET_BUF *Packet; - EFI_TPL OldTpl; + EFI_TPL OldTpl; Status = EFI_SUCCESS; Item = NULL; @@ -1201,11 +1209,11 @@ Dns6HostNameToIp ( // // Validate the parameters // - if ((This == NULL) || (HostName == NULL) || Token == NULL) { + if ((This == NULL) || (HostName == NULL) || (Token == NULL)) { return EFI_INVALID_PARAMETER; } - OldTpl = gBS->RaiseTPL (TPL_CALLBACK); + OldTpl = gBS->RaiseTPL (TPL_CALLBACK); Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL6 (This); @@ -1259,7 +1267,7 @@ Dns6HostNameToIp ( } Token->RspData.H2AData->IpCount = (UINT32)Index; - Token->RspData.H2AData->IpList = AllocatePool (sizeof (EFI_IPv6_ADDRESS) * Index); + Token->RspData.H2AData->IpList = AllocatePool (sizeof (EFI_IPv6_ADDRESS) * Index); if (Token->RspData.H2AData->IpList == NULL) { if (Token->RspData.H2AData != NULL) { FreePool (Token->RspData.H2AData); @@ -1272,7 +1280,7 @@ Dns6HostNameToIp ( Index = 0; NET_LIST_FOR_EACH_SAFE (Entry, Next, &mDriverData->Dns6CacheList) { Item = NET_LIST_USER_STRUCT (Entry, DNS6_CACHE, AllCacheLink); - if ((UINT32)Index < Token->RspData.H2AData->IpCount && StrCmp (HostName, Item->DnsCache.HostName) == 0) { + if (((UINT32)Index < Token->RspData.H2AData->IpCount) && (StrCmp (HostName, Item->DnsCache.HostName) == 0)) { CopyMem ((Token->RspData.H2AData->IpList) + Index, Item->DnsCache.IpAddress, sizeof (EFI_IPv6_ADDRESS)); Index++; } @@ -1299,8 +1307,8 @@ Dns6HostNameToIp ( goto ON_EXIT; } - TokenEntry->PacketToLive = Token->RetryInterval; - TokenEntry->Token = Token; + TokenEntry->PacketToLive = Token->RetryInterval; + TokenEntry->Token = Token; TokenEntry->QueryHostName = AllocateZeroPool (StrSize (HostName)); if (TokenEntry->QueryHostName == NULL) { Status = EFI_OUT_OF_RESOURCES; @@ -1394,9 +1402,9 @@ ON_EXIT: EFI_STATUS EFIAPI Dns6IpToHostName ( - IN EFI_DNS6_PROTOCOL *This, - IN EFI_IPv6_ADDRESS IpAddress, - IN EFI_DNS6_COMPLETION_TOKEN *Token + IN EFI_DNS6_PROTOCOL *This, + IN EFI_IPv6_ADDRESS IpAddress, + IN EFI_DNS6_COMPLETION_TOKEN *Token ) { return EFI_UNSUPPORTED; @@ -1434,23 +1442,23 @@ Dns6IpToHostName ( EFI_STATUS EFIAPI Dns6GeneralLookUp ( - IN EFI_DNS6_PROTOCOL *This, - IN CHAR8 *QName, - IN UINT16 QType, - IN UINT16 QClass, - IN EFI_DNS6_COMPLETION_TOKEN *Token + IN EFI_DNS6_PROTOCOL *This, + IN CHAR8 *QName, + IN UINT16 QType, + IN UINT16 QClass, + IN EFI_DNS6_COMPLETION_TOKEN *Token ) { - EFI_STATUS Status; + EFI_STATUS Status; - DNS_INSTANCE *Instance; + DNS_INSTANCE *Instance; EFI_DNS6_CONFIG_DATA *ConfigData; - DNS6_TOKEN_ENTRY *TokenEntry; - NET_BUF *Packet; + DNS6_TOKEN_ENTRY *TokenEntry; + NET_BUF *Packet; - EFI_TPL OldTpl; + EFI_TPL OldTpl; Status = EFI_SUCCESS; TokenEntry = NULL; @@ -1459,11 +1467,11 @@ Dns6GeneralLookUp ( // // Validate the parameters // - if ((This == NULL) || (QName == NULL) || Token == NULL) { + if ((This == NULL) || (QName == NULL) || (Token == NULL)) { return EFI_INVALID_PARAMETER; } - OldTpl = gBS->RaiseTPL (TPL_CALLBACK); + OldTpl = gBS->RaiseTPL (TPL_CALLBACK); Instance = DNS_INSTANCE_FROM_THIS_PROTOCOL6 (This); @@ -1500,15 +1508,15 @@ Dns6GeneralLookUp ( // // Construct DNS TokenEntry. // - TokenEntry = AllocateZeroPool (sizeof(DNS6_TOKEN_ENTRY)); + TokenEntry = AllocateZeroPool (sizeof (DNS6_TOKEN_ENTRY)); if (TokenEntry == NULL) { Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; } - TokenEntry->PacketToLive = Token->RetryInterval; + TokenEntry->PacketToLive = Token->RetryInterval; TokenEntry->GeneralLookUp = TRUE; - TokenEntry->Token = Token; + TokenEntry->Token = Token; // // Construct DNS Query Packet. @@ -1587,18 +1595,18 @@ ON_EXIT: EFI_STATUS EFIAPI Dns6UpdateDnsCache ( - IN EFI_DNS6_PROTOCOL *This, - IN BOOLEAN DeleteFlag, - IN BOOLEAN Override, - IN EFI_DNS6_CACHE_ENTRY DnsCacheEntry + IN EFI_DNS6_PROTOCOL *This, + IN BOOLEAN DeleteFlag, + IN BOOLEAN Override, + IN EFI_DNS6_CACHE_ENTRY DnsCacheEntry ) { - EFI_STATUS Status; - EFI_TPL OldTpl; + EFI_STATUS Status; + EFI_TPL OldTpl; Status = EFI_SUCCESS; - if (DnsCacheEntry.HostName == NULL || DnsCacheEntry.IpAddress == NULL || DnsCacheEntry.Timeout == 0) { + if ((DnsCacheEntry.HostName == NULL) || (DnsCacheEntry.IpAddress == NULL) || (DnsCacheEntry.Timeout == 0)) { return EFI_INVALID_PARAMETER; } @@ -1640,11 +1648,11 @@ Dns6UpdateDnsCache ( EFI_STATUS EFIAPI Dns6Poll ( - IN EFI_DNS6_PROTOCOL *This + IN EFI_DNS6_PROTOCOL *This ) { - DNS_INSTANCE *Instance; - EFI_UDP6_PROTOCOL *Udp; + DNS_INSTANCE *Instance; + EFI_UDP6_PROTOCOL *Udp; if (This == NULL) { return EFI_INVALID_PARAMETER; @@ -1696,9 +1704,9 @@ Dns6Cancel ( IN EFI_DNS6_COMPLETION_TOKEN *Token ) { - EFI_STATUS Status; - DNS_INSTANCE *Instance; - EFI_TPL OldTpl; + EFI_STATUS Status; + DNS_INSTANCE *Instance; + EFI_TPL OldTpl; if (This == NULL) { return EFI_INVALID_PARAMETER; @@ -1726,4 +1734,3 @@ Dns6Cancel ( return Status; } - -- cgit v1.2.3