Bug 860829

Summary: Grub2 can't resolve names on F18
Product: [Fedora] Fedora Reporter: IBM Bug Proxy <bugproxy>
Component: grub2Assignee: Peter Jones <pjones>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 18CC: bcl, dcantrell, dennis, gustavold, jkachuck, mads, pjones, wgomerin
Target Milestone: ---   
Target Release: ---   
Hardware: ppc64   
OS: All   
Fixed In Version: grub2-2.00-10.fc18 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-10-30 16:30:43 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 846990    
Description Flags
Workaround to fix DNS lookup (ipv4 only)
[PATCH] Issue separate DNS queries for ipv4 and ipv6 none

Description IBM Bug Proxy 2012-09-26 16:02:32 EDT
Description of problem:

Grub2 on Fedora 18 has DNS support, however it does not work properly.
Going to the grub2's console I get the following:

grub> net_ls_dns
grub> net_nslookup ibm.com
error: no DNS reply received.
grub> net_nslookup ibm.com
error: no DNS record found.

Version-Release number of selected component (if applicable):
BIND 9.4.3-P5


Google's DNS server does resolve grub's queries, however I can't tell what DNS server they run. BIND is a largely used DNS server and should be supported.

grub> net_nslookup ibm.com
Comment 1 IBM Bug Proxy 2012-09-28 17:00:43 EDT
Created attachment 618761 [details]
Workaround to fix DNS lookup (ipv4 only)

------- Comment on attachment From gusld@br.ibm.com 2012-09-28 20:50 EDT-------

After some investigation I found that this issue is caused by GRUB2 assembling 2 questions (ipv4 and ipv6) on a single DNS packet.

BIND does not support it, and my tests suggest that dnsmasq also doesn't when resolving local domains.

The reason why BIND doesn't support multiple questions per query is due to potential ambiguity on partial results. You can find some discussions on the following links. These discussions are a bit old but I can confirm that latest stable release of BIND still doesn't support multiple questions per query.

As a proof of concept, I've written and tested the attached patch which basically drops ipv6 question from GRUB's DNS queries. This makes ipv4 DNS work fine, though drops ipv6 DNS support.

I've only tested on ppc64, but this issue probably affects all arches, since the code is not arch-specific.

I will work on a more appropriate patch to make GRUB send 2 separate queries for ipv4 and ipv6. I would appreciate any comments/suggestions.
Comment 2 IBM Bug Proxy 2012-10-16 11:01:48 EDT
Created attachment 628205 [details]
[PATCH] Issue separate DNS queries for ipv4 and ipv6

------- Comment on attachment From gusld@br.ibm.com 2012-10-16 14:59 EDT-------

Sorry, forgot to mention the bugz number in the patch.
Comment 3 Fedora Update System 2012-10-18 14:07:18 EDT
grub2-2.00-10.fc18 has been submitted as an update for Fedora 18.
Comment 4 Fedora Update System 2012-10-19 11:41:25 EDT
Package grub2-2.00-10.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing grub2-2.00-10.fc18'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
Comment 5 Fedora Update System 2012-10-22 15:53:41 EDT
grub2-2.00-11.fc18 has been submitted as an update for Fedora 18.
Comment 6 Gustavo Luiz Duarte 2012-10-30 16:30:43 EDT
Tested grub2-2.00-11.fc18 and it works fine.