On Tue, Nov 09, 2021 at 05:14:35AM -0700, Klemens Nanni wrote:
> CVSROOT: /cvs
> Module name: src
> Changes by: [email protected] 2021/11/09 05:14:35
>
> Modified files:
> usr.bin/ftp : fetch.c
>
> Log message:
> Print actually requested URLs
>
> Encoding URL paths changes the requested URL and therefore may yield
> different responses (opposed to an unencoded URL), solely depending on how
> the server implements de/encoding.
>
> Always print the encoded URL which actually gets requested in output like
> "Requesting ..." and erors likes "Error retrieving ....: 404 Not Found"
> and don't use the original URL provided on the command line.
>
> This matches exactly what is seen on the wire, e.g. with tshark(1) and
> helps debugging URL de/encoding related (server) issues.
>
> Feedback OK sthen
Autoinstall on my regress machine failed this morning. I suspect this is
the offending commit but I don't have the time to try a revert right now.
There seem to be a change in behavior here as one of the
fprintf("Requesting ") ended up behind `ifndef SMALL':
@@ -734,9 +748,9 @@ noslash:
proxy_credentials);
ftp_printf(fin, "\r\n");
} else {
- if (verbose)
- fprintf(ttyout, "Requesting %s\n", origline);
#ifndef SMALL
+ if (verbose)
+ fprintf(ttyout, "Requesting %s\n", eurl);
if (resume || timestamp) {
if (stat(savefile, &stbuf) == 0) {
if (resume)
Due to the above change, I suspect ending up taking the `$AI && exit 1'
branch inside install_http() in install.sub:
# In case of URL redirection, use the final location to retrieve the
# rest of the files from. Redirection does not change INSTALL_MIRROR.
_rurl_base=$(sed -n 's/^Requesting //p' $_ftp_stdout | sed '$!d')
_rurl_base=${_rurl_base%/SHA256.sig*}
# Verify SHA256.sig, write SHA256 and extract the list of files.
if unpriv -f $_sha \
signify -Vep $PUB_KEY -x $_sig -m $_sha >/dev/null 2>&1; then
_file_list="$(sed -n 's/^SHA256 (\(.*\)).*$/\1/p' $_sha)"
_file_list="SHA256.sig $_file_list"
else
echo "Unable to get a verified list of distribution sets."
# Deny this server, if it's a mirror without a valid SHA256.sig.
if [[ ${_rurl_base%/$HTTP_SETDIR} ==
"$_http_proto://$INSTALL_MIRROR" ]]; then
$AI && exit 1 || return
fi
fi