summaryrefslogtreecommitdiff
path: root/netboot.c
AgeCommit message (Collapse)Author
2024-02-17New upstream version 15.8upstream/15.8upstreamSteve McIntyre
2022-04-27New upstream version 15.5upstream/15.5Steve McIntyre
2021-03-23New upstream version 15.3upstream/15.3Steve McIntyre
2018-07-24New upstream version 15+1531942534.dd3230dupstream/15+1531942534.dd3230dMathieu Trudel-Lapierre
2017-09-13New upstream version 13~git1505328970.9c1c35c5upstream/13_git1505328970.9c1c35c5Mathieu Trudel-Lapierre
2016-09-21Import upstream version 0.9+1474479173.6c180c6Mathieu Trudel-Lapierre
2014-10-02Correctly reject bad tftp addresses earlier, rather than later.Peter Jones
This check is for end == NULL but was meant to be *end == '\0'. Without this change, we'll pass a plausibly bad address (i.e. one with no ']' at the end) to Mtftp(... READ_FILE ...), which should fail correctly, but our error messaging will be inconsistent. Signed-off-by: Peter Jones <pjones@redhat.com>
2014-10-02shim buffer overflow on ipv6 option parsingSebastian Krahmer
2014-08-12Factor out x86-isms and add cross compile supportArd Biesheuvel
This patch cleans up and refactors the Makefiles to better allow new architectures to be added: - remove unused Makefile definitions - import Makefile definitions from top level rather than redefining - move x86 specific CFLAGS to inside ifeq() blocks - remove x86 inline asm - allow $(FORMAT) to be overridden: this is necessary as there exists no EFI or PE/COFF aware objcopy for ARM Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2014-06-25Fetch the netboot image from the same deviceGary Ching-Pang Lin
The previous strategy is to locate the first available PXE_BASE_CODE protocol and to fetch the second stage image from it, and this may cause shim to fetch the wrong second stage image, i.e. grub.efi. Consider the machine with the following boot order: 1. PXE Boot 2. Hard Drive Assume that the EFI image, e.g. bootx64.efi, in the PXE server is broken, then "PXE Boot" will fail and fallback to "Hard Drive". While shim.efi in "Hard Drive" is loaded, it will find the PXE protocol is available and fetch grub.efi from the PXE server, not grub.efi in the disk. This commit checks the DeviceHandle from Loaded Image. If the device supports PXE, then shim fetches grub.efi with the PXE protocol. Otherwise, shim loads grub.efi from the disk. Signed-off-by: Gary Ching-Pang Lin <glin@suse.com>
2013-11-21Lengths that might be -1 can't be unsigned, Peter.Peter Jones
Signed-off-by: Peter Jones <pjones@redhat.com>
2013-11-21Fix path generation for Dhcpv4 bootloader.Peter Jones
Right now we always look for e.g. "\grubx64.efi", which is completely wrong. This makes it look for the path shim was loaded from and modify that to end in a sanitized version of our default loader name. Resolves: rhbz#1032583 Signed-off-by: Peter Jones <pjones@redhat.com>
2013-10-02Use CHAR8 not UINT8 for character work.Peter Jones
This gets rid of a lot of type casting that we don't need, and helps reduce warnings when I switch a bunch of gnu-efi stuff to taking const arguments. Signed-off-by: Peter Jones <pjones@redhat.com>
2013-09-26Since different distros name grub*.efi differently, make it compile-time.Peter Jones
Basically, if you don't want grub.efi, you do: make 'DEFAULT_LOADER=\\\\grubx64.efi' Signed-off-by: Peter Jones <pjones@redhat.com>
2013-09-26Define the PXE 2nd stage loader in the beginning of the fileGary Ching-Pang Lin
Make it easier to change the PXE 2nd stage loader. Conflicts: netboot.c
2013-09-24Fix a memory leakSteve Langasek
2013-09-24Correct limits on the length of ipv6 addressesSteve Langasek
The maximum length of a string representation of an ipv6 address is 39 characters (8 groups of 4 hex chars, with 7 colons in between). So don't allocate more room than this - and more importantly, don't blindly accept strings from the server that are longer than our buffer...
2013-09-24More consistent types, fewer castsSteve Langasek
2013-09-24Misc allocation cleanupsSteve Langasek
2013-09-24Fix an off-by-one errorSteve Langasek
We don't need to add one because our end pointer is already off the end of the string we want to copy.
2013-09-24Fix nul termination errors in filenames passed to tftpSteve Langasek
Fix various errors in the tftp string handling, to ensure we always have properly nul-terminated strings.
2013-09-24Pass the right arguments to EFI_PXE_BASE_CODE_TFTP_READ_FILESteve Langasek
A wrong pointer was being passed to EFI_PXE_BASE_CODE_TFTP_READ_FILE, preventing us from getting the file size back from the tftp call, ensuring that we don't have enough information to properly secureboot-validate the retrieved image.
2013-05-31EFI_PXE_BASE_CODE_DHCPV6_PACKET is in gnu-efi-3.0tPeter Jones
2012-11-01Don't fail if there's no network devicesMatthew Garrett
findNetboot() would continue blindly even if no PXE-capable devices were found. Fix that.
2012-10-12Add draft version of Neil's netboot codeMatthew Garrett