Package: debian-installer
Version: 20200920
Debian installer fails to fetch preseed files over http.
How to reproduce:
Boot the installer with url=http://pxeserver./example.txt
Where example.txt contains:
d-i preseed/include string something.txt \
other.txt \
more.txt
The installer will fail to fetch at least one of the required files, and
catching pcaps will show no fetch attempts are made.
Booting the installer with DEBCONF_DEBUG=5 and debuging /bin/preseed_fetch,
/bin/fetch-url and /usr/lib/fetch_url/http shows that wget404() in the
latter is what's failing. It seems the pipeline fails since /dev/fd/4 does
not exist.
Changing /dev/fd/4 to /dev/null is a workaround making the problem go away.
Reading README.wget404[1] clearly states this output redirection dance is
never actually used, and that this convoluted expression merely exists
because it could possibly-maybe be useful some day. As far as I can see the
callers of wget404() does indeed not use its output.
Given that this construct does cause real world problems, without adding any
actual value, how would you consider having wget404() simplified to simply
consume the error message and thus skip all usage of &3 and &4?
[1]:
https://sources.debian.org/src/debian-installer-utils/1.133/README.wget404/#L119