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

Reply via email to