From 3700da73846e10853ed95010d7ad2f0b9135439f Mon Sep 17 00:00:00 2001 From: Jiaxin Wu Date: Fri, 22 Jan 2016 01:40:56 +0800 Subject: [PATCH] NetworkPkg: Replace the internal function with exposed one This patch is used to replace the internal function with the exposed one defined in NetLib.h. Cc: Hegde Nagaraj P Cc: El-Haj-Mahmoud Samer Cc: Ye Ting Cc: Fu Siyuan Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiaxin Wu Reviewed-by: Hegde Nagaraj P Reviewed-by: Fu Siyuan --- NetworkPkg/DnsDxe/DnsImpl.c | 63 ++++----------------------------- NetworkPkg/DnsDxe/DnsImpl.h | 19 ---------- NetworkPkg/DnsDxe/DnsProtocol.c | 4 +-- 3 files changed, 8 insertions(+), 78 deletions(-) diff --git a/NetworkPkg/DnsDxe/DnsImpl.c b/NetworkPkg/DnsDxe/DnsImpl.c index 617e623286..19184415e5 100644 --- a/NetworkPkg/DnsDxe/DnsImpl.c +++ b/NetworkPkg/DnsDxe/DnsImpl.c @@ -1037,61 +1037,6 @@ AddDns6ServerIp ( return EFI_SUCCESS; } -/** - Fill QName for IP querying. QName is a domain name represented as - a sequence of labels, where each label consists of a length octet - followed by that number of octets. The domain name terminates with - the zero length octet for the null label of the root. Caller should - take responsibility to the buffer in QName. - - @param HostName Queried HostName - - @retval NULL Failed to fill QName. - @return QName filled successfully. - -**/ -CHAR8 * -EFIAPI -DnsFillinQNameForQueryIp ( - IN CHAR16 *HostName - ) -{ - CHAR8 *QueryName; - CHAR8 *Header; - CHAR8 *Tail; - UINTN Len; - UINTN Index; - - QueryName = NULL; - Header = NULL; - Tail = NULL; - - QueryName = AllocateZeroPool (DNS_DEFAULT_BLKSIZE); - if (QueryName == NULL) { - return NULL; - } - - Header = QueryName; - Tail = Header + 1; - Len = 0; - for (Index = 0; HostName[Index] != 0; Index++) { - *Tail = (CHAR8) HostName[Index]; - if (*Tail == '.') { - *Header = (CHAR8) Len; - Header = Tail; - Tail ++; - Len = 0; - } else { - Tail++; - Len++; - } - } - *Header = (CHAR8) Len; - *Tail = 0; - - return QueryName; -} - /** Find out whether the response is valid or invalid. @@ -1806,8 +1751,12 @@ ConstructDNSQuery ( NET_FRAGMENT Frag; DNS_HEADER *DnsHeader; DNS_QUERY_SECTION *DnsQuery; - - Frag.Bulk = AllocatePool (DNS_DEFAULT_BLKSIZE * sizeof (UINT8)); + + // + // Messages carried by UDP are restricted to 512 bytes (not counting the IP + // or UDP headers). + // + Frag.Bulk = AllocatePool (DNS_MAX_MESSAGE_SIZE * sizeof (UINT8)); if (Frag.Bulk == NULL) { return EFI_OUT_OF_RESOURCES; } diff --git a/NetworkPkg/DnsDxe/DnsImpl.h b/NetworkPkg/DnsDxe/DnsImpl.h index 8cd73e73a6..0ef8255e05 100644 --- a/NetworkPkg/DnsDxe/DnsImpl.h +++ b/NetworkPkg/DnsDxe/DnsImpl.h @@ -87,7 +87,6 @@ extern EFI_DNS6_PROTOCOL mDns6Protocol; #define DNS_DEFAULT_TIMEOUT 2 #define DNS_DEFAULT_RETRY 3 -#define DNS_DEFAULT_BLKSIZE 512 #define DNS_TIME_TO_GETMAP 5 @@ -556,24 +555,6 @@ AddDns6ServerIp ( IN EFI_IPv6_ADDRESS ServerIp ); -/** - Fill QName for IP querying. QName is a domain name represented as - a sequence of labels, where each label consists of a length octet - followed by that number of octets. The domain name terminates with - the zero length octet for the null label of the root. - - @param HostName Queried HostName - - @retval NULL Failed to fill QName. - @return QName filled successfully. - -**/ -CHAR8 * -EFIAPI -DnsFillinQNameForQueryIp ( - IN CHAR16 *HostName - ); - /** Find out whether the response is valid or invalid. diff --git a/NetworkPkg/DnsDxe/DnsProtocol.c b/NetworkPkg/DnsDxe/DnsProtocol.c index f572b8b722..11009fdc0d 100644 --- a/NetworkPkg/DnsDxe/DnsProtocol.c +++ b/NetworkPkg/DnsDxe/DnsProtocol.c @@ -454,7 +454,7 @@ Dns4HostNameToIp ( // // Construct QName. // - QueryName = DnsFillinQNameForQueryIp (TokenEntry->QueryHostName); + QueryName = NetLibCreateDnsQName (TokenEntry->QueryHostName); if (QueryName == NULL) { Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; @@ -1264,7 +1264,7 @@ Dns6HostNameToIp ( // // Construct QName. // - QueryName = DnsFillinQNameForQueryIp (TokenEntry->QueryHostName); + QueryName = NetLibCreateDnsQName (TokenEntry->QueryHostName); if (QueryName == NULL) { Status = EFI_OUT_OF_RESOURCES; goto ON_EXIT; -- 2.39.2