Bug 9981

Summary: wget truncates non-SSL files in 1.26.2 (fine in 1.25.0)
Product: Busybox Reporter: Neil MacLeod <busybox>
Component: NetworkingAssignee: unassigned
Status: RESOLVED DUPLICATE    
Severity: normal CC: busybox-cvs
Priority: P5    
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Host: Target:
Build:

Description Neil MacLeod 2017-06-21 21:37:13 UTC
We are building busybox 1.26.2 (upgrading from 1.25.0) with the following config:

https://github.com/LibreELEC/LibreELEC.tv/blob/b1f2b80882ff05c839853f8a0ae9d04dee4ce13c/packages/sysutils/busybox/config/busybox-target.conf

and have found that wget in 1.26.2 now fails to download the following 3MB file over http:

http://milhouse.libreelec.tv/other/test.tar

The same file with 1.25.0 will download correctly.

With 1.26.2 if you run:

wget http://milhouse.libreelec.tv/other/test.tar

it will appear to succeed but will only download 28KB (first chunk?) and not the full 3MB, and there will be no progress indicator. The exit code will be 0.

For example:

NUC:~ # wget http://milhouse.libreelec.tv/other/test.tar
Connecting to milhouse.libreelec.tv (163.172.166.199:80)

NUC:~ # echo $?
0
NUC:~ # ls -la test.tar
-rw-r--r--    1 root     root         27872 Jun 21 21:40 test.tar


Strangely, the same 3MB file from a different server WILL download successfully:

NUC:~ # wget http://nmacleod.com/public/oebuild/test.tar
Connecting to nmacleod.com (212.23.8.80:80)
test.tar            100% |****************************************************|  3010k  0:00:00 ETA
NUC:~ # echo $?
0
NUC:~ # ls -la test.tar
-rw-r--r--    1 root     root       3082240 Jun 21 21:55 test.tar


After bisecting the commits I have determined that with the following Busybox commit reverted:

https://github.com/mirror/busybox/commit/de3da6bf87a579a344b0581c6f2ce6a40166b432

the wget command will download the entire http://milhouse.libreelec.tv/other/test.tar file successfully, as expected.

Can anyone advise why wget is behaving this way when downloading from the first server, when Busybox 1.25.0 has no problems downloading from the same server? Is this something new in 1.26.0 that I have omitted, or is this a bug?

Many thanks.
Comment 1 Neil MacLeod 2017-06-22 03:33:30 UTC
Looks like this will be fixed by https://git.busybox.net/busybox/commit/?id=a6f8651911716d1d1624712eb19e4f3608767c7e

I'll test that over the next few days and hopefully close this.
Comment 2 Neil MacLeod 2017-06-22 04:01:28 UTC
Commit is good - closing. Thanks.

*** This bug has been marked as a duplicate of bug 9471 ***
Comment 3 Neil MacLeod 2017-06-22 05:17:03 UTC
Just for reference:

1st server (fails): nginx (with no Cloudflare)
2nd server (works): Apache 2.2.16