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

Bug#907805: syslinux.efi uses the TFTP server IP for the HTTP domain



Hi Marco,

On Sun, 2 Sep 2018 14:08:09 +0200
Marco d'Itri <md@linux.it> wrote:

> When providing to syslinux.efi an http URL in option 67:
> 
> dhcp-option=option:bootfile-name,http://pxe.example.net/EFI/SYSLINUX/syslinux.efi
> 
> then it will try to download the modules like ldlinux.e64, the 
> configuration file and the payload by sending an HTTP request to the 
> TFTP server address (with pxe.example.net as virtual host) instead of 
> resolving pxe.example.net and using that IP as expected.

I checked the source code and found that efi network support was added
here:
http://repo.or.cz/syslinux.git/commit/fe283b78c973268f2d1f0309826ceeb5c9e8978d
The commit mentions in the TODO part that DNS resolve code is still
missing.

This still seems to be the case, since the pxe_dns function in efi/pxe.c
in the current HEAD
(http://repo.or.cz/syslinux.git/blob/HEAD:/efi/pxe.c, lines 38-49) will
`return 0` in all cases.

The connection to your TFTP server address is the fallback behavior
that's implemented for DNS resolve failures in core/fs/pxe/pxe.c
(http://repo.or.cz/syslinux.git/blob/HEAD:/core/fs/pxe/pxe.c, lines
251-256).

I will do a bit of testing and then forward your report to upstream.

Regards
Lukas


Reply to: