[syslinux] [syslinux-bounces@zytor.com: Forward of moderated message]

DMARC damage control
Mon, 12 Jan 2015 17:44:27 -0000

DMARC damage control

----- Forwarded message from syslinux-bounces at zytor.com -----

Date: Mon, 12 Jan 2015 09:18:22 -0800
From: syslinux-bounces at zytor.com
To: syslinux-owner at zytor.com
Subject: Forward of moderated message

Date: Mon, 12 Jan 2015 02:41:55 -0800
From: Patrick Masotta <masottaus at yahoo.com>
To: Gene Cumm <gene.cumm at gmail.com>
Cc: Ady <ady-sf at hotmail.com>, For discussion of Syslinux and tftp-hpa
<syslinux at zytor.com>
Subject: Re: [syslinux] PXE Booting EFI
X-Mailer: YahooMailClassic/905 YahooMailWebService/0.8.203.740

 >
 >Excellent investigation and
 >details.? Thank you for this help.? Given
 >the details of your situation, I'm
 >reasonably certain it's a SYSLINUX
 >bug
 >but there is still a small chance of it being some sort
 >of negative interaction.
 >
I do not think there's a negative interaction, while the VMware EFI
environment correctly retrieves
the NBP (syslinux.efi), it is the NBP the one that makes mistakes when deciding
where the PXE
server is located. syslinux.efi is taking the next-server IP from an answer from
a DHCP server that
did not identified itself as a PXE server (no option 60). It looks like a bug to
me.

I think I "kind" of fixed the bug;
at syslinux-6.03/efi/pxe.c

void net_parse_dhcp(void)
{
...

//patmod start
    if(&mode->ProxyOfferReceived)
        parse_dhcp(&mode->ProxyOffer.Dhcpv4, pkt_len);
    else
//patmod end

    parse_dhcp(&mode->PxeReply.Dhcpv4, pkt_len);
    Print(L"\n");

...

}

just add the code surrounded by comments
the idea is to ask if there was a proxyOffer first then parse the corresponding
packet.
a more robust fix probably should include more checking.

I compiled the patch (using Ubuntu 14.04) and now it works !

Best,
Patrick




----- End forwarded message -----

--
Groeten
Geert Stappers
--
Leven en laten leven