Gene Cumm
2010-Nov-14 16:18 UTC
[syslinux] PXELINUX: DNS issue on unqualified names [PATCH][git-pull]
On Sun, Nov 14, 2010 at 10:32, Gene Cumm <gene.cumm at gmail.com> wrote:> Per doc/pxelinux.txt, the special PXELINUX filename specification of > "IP address::filename" allows "IP address" to be a DNS recognizable > name. ?If it contains no dots, the domain name (DHCP option 15) is > supposed to be appended to qualify the name. > > Testing PXELINUX 3.86, this behavior does occur as I can see the DNS > request having the specified domain name appended properly. ?Testing > with PXELINUX 4.03, I notice that the domain name is not appended. > > I'm going to look into why this occurs.This was a lot easier than I thought it was going to be. git://git.zytor.com/users/genec/syslinux.git Branch pxelinux-dns-for-hpa has the trivial patch. -- -Gene
Geert Stappers
2010-Nov-14 17:27 UTC
[syslinux] PXELINUX: DNS issue on unqualified names [PATCH][git-pull]
Op 20101114 om 11:18 schreef Gene Cumm:> On Sun, Nov 14, 2010 at 10:32, Gene Cumm <gene.cumm at gmail.com> wrote: > > Per doc/pxelinux.txt, the special PXELINUX filename specification of > > "IP address::filename" allows "IP address" to be a DNS recognizable > > name. ?If it contains no dots, the domain name (DHCP option 15) is > > supposed to be appended to qualify the name. > > > > Testing PXELINUX 3.86, this behavior does occur as I can see the DNS > > request having the specified domain name appended properly. ?Testing > > with PXELINUX 4.03, I notice that the domain name is not appended. > > > > I'm going to look into why this occurs. > > This was a lot easier than I thought it was going to be. > > git://git.zytor.com/users/genec/syslinux.git > > Branch pxelinux-dns-for-hpa has the trivial patch.FWIW commit 83ffac5bc53ba7a8626a1bc35e76cf4b3a781a37 Author: Gene Cumm <gene.cumm at gmail.com> Date: Sun Nov 14 11:13:27 2010 -0500 PXELINUX: Fix DNS resolver to properly use LocalDomain when needed. diff --git a/core/fs/pxe/dnsresolv.c b/core/fs/pxe/dnsresolv.c index 2b263fa..e76f2f8 100644 --- a/core/fs/pxe/dnsresolv.c +++ b/core/fs/pxe/dnsresolv.c @@ -216,6 +216,7 @@ uint32_t dns_resolv(const char *name) p--; /* Remove final null */ /* Uncompressed DNS label set so it ends in null */ strcpy(p, LocalDomain); + while (*(p++)) {} } /* Fill the DNS query packet */