]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[image] Do not clear current working URI when executing embedded image 591/head
authorMichael Brown <mcb30@ipxe.org>
Tue, 15 Feb 2022 14:28:01 +0000 (14:28 +0000)
committerMichael Brown <mcb30@ipxe.org>
Wed, 16 Feb 2022 00:21:19 +0000 (00:21 +0000)
commit5d22307c4161dde453d50e8dc7bef8b3a2f6c9b3
tree628e9936df0a3e047f01c4c95a304c1c241a8ee3
parent419b2e71da689ded944c3789c87b7ae3646c7a7c
[image] Do not clear current working URI when executing embedded image

Embedded images do not have an associated URI.  This currently causes
the current working URI (cwuri) to be cleared when starting an
embedded image.

If the current working URI has been set via a ${next-server} setting
from a cached DHCP packet then this will result in unexpected
behaviour.  An attempt by the embedded script to use a relative URI to
download files from the TFTP server will fail with the error:

  Could not start download: Operation not supported (ipxe.org/3c092083)

Rerunning the "dhcp" command will not fix this error, since the TFTP
settings applicator will not see any change to the ${next-server}
setting and so will not reset the current working URI.

Fix by setting the current working URI to the image's URI only if the
image actually has an associated URI.

Debugged-by: Ignat Korchagin <ignat@cloudflare.com>
Originally-fixed-by: Ignat Korchagin <ignat@cloudflare.com>
Tested-by: Ignat Korchagin <ignat@cloudflare.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/core/image.c