grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v1] dns: fixed lookup error when no IPv6 is returned


From: Daniel Kiper
Subject: Re: [PATCH v1] dns: fixed lookup error when no IPv6 is returned
Date: Fri, 28 Apr 2023 16:25:01 +0200
User-agent: NeoMutt/20170113 (1.7.2)

On Fri, Apr 28, 2023 at 01:17:44PM +0200, Renaud Métrich wrote:
> When trying to resolve DNS names into IP addresses, the DNS code fails
> from time to time with the following error:
> -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< 
> --------
> error: ../../grub-core/net/dns.c:688:no DNS record found.
> -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< 
> --------
>
> This happens when both IPv4 and IPv6 queries are performed against the
> DNS server (e.g. 8.8.8.8) but there is no IP returned for IPv6 query, as
> shown below:
> -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< 
> --------
> grub> net_del_dns 192.168.122.1
> grub> net_add_dns 8.8.8.8
> grub> net_nslookup ipv4.test-ipv6.com
> error: ../../grub-core/net/dns.c:688:no DNS record found.
> grub> net_nslookup ipv4.test-ipv6.com
> 216.218.228.115
> -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< 
> --------
>
> The root cause is the code exiting prematurely when the data->addresses
> buffer has been allocated in recv_hook(), even if there was no address
> returned last time recv_hook() executed.
>
> This patch additionally simplifies the error handling.

And it even does more than that. Please split this patch into three patches:
  - simplify error handling,
  - add grub_dprintf() messages,
  - fix the issue described in the commit message.

Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]