[squid-users] squid 5.7 FTP upload fails

Alex Rousskov rousskov at measurement-factory.com
Wed Aug 7 18:31:09 UTC 2024


On 2024-08-07 13:05, Matus UHLAR - fantomas wrote:

> after we upgraded squid 4.13 to squid 5.7 (debian 11 to 12)
> our user reported that attempring to uploading bigger files fails.

Thank you for sharing access.log records. Any relevant messages in 
cache.log?

There were a few bug fixes related to FTP and uploads, but I do not see 
some of them in (unsupported) v5. Does your test work with Squid v6+?

Alex.


> I was able to reproduce this behaviour:
> 
> # time curl --no-progress-meter -x 10.X.Y.Z:port -T 
> gnome-cards-data_3.22.23-1_all.deb -u "anonymous:proxy1 at example.com" 
> ftp://example.net/incoming/
> curl: (56) Recv failure: Connection reset by peer
> 
> real    0m1.041s
> user    0m0.008s
> sys     0m0.008s
> 
> -rw-r----- 1 ftpd ftpd 1468896 Aug  7 18:21 
> gnome-cards-data_3.22.23-1_all.deb
> 
> # time curl --no-progress-meter -x 10.X.Y.Z:port -T 
> gnome-cards-data_3.22.23-1_all.deb -u "anonymous:proxy1 at example.com" 
> ftp://example.net/incoming/
> curl: (56) Recv failure: Connection reset by peer
> 
> real    0m1.044s
> user    0m0.008s
> sys     0m0.008s
> 
> -rw-r----- 1 ftpd ftpd 1768488 Aug  7 18:21 
> gnome-cards-data_3.22.23-1_all.deb
> 
> Using squid 4.13 (same network, debian 11 server) works.
> 
> 1723047707.274   1031 10.X.Y.W TCP_MISS_ABORTED/000 0 PUT 
> ftp://anonymous:proxy1%40example.com@example.net/incoming/gnome-cards-data_3.22.23-1_all.deb - HIER_DIRECT/192.0.2.1 - "curl/7.74.0"
> 
> 
> I tried verbose curl output did not help:
> 
> # time curl -v --no-progress-meter -x 10.X.Y.Z:port -T 
> gnome-cards-data_3.22.23-1_all.deb -u "anonymous:proxy1 at example.com" 
> ftp://example.net/incoming/
> *   Trying 10.X.Y.Z:port...
> * Connected to 10.X.Y.Z (10.X.Y.Z) port port (#0)
> * Server auth using Basic with user 'anonymous'
>> PUT 
>> ftp://anonymous:proxy1%40example.com@example.net/incoming/gnome-cards-data_3.22.23-1_all.deb HTTP/1.1
>> Host: example.net:21
>> Authorization: Basic YW5vbnltb3VzOnByb3h5MUB2c3pwLnNr
>> User-Agent: curl/7.74.0
>> Accept: */*
>> Proxy-Connection: Keep-Alive
>> Content-Length: 10526800
>> Expect: 100-continue
>>
> * Done waiting for 100-continue
> } [65536 bytes data]
> * Recv failure: Connection reset by peer
> * Closing connection 0
> curl: (56) Recv failure: Connection reset by peer
> 
> real    0m1.043s
> user    0m0.004s
> sys     0m0.012s
> 
> 
> 
> I have tried to extend the 100-continue timeout for curl, no change.
> (approximately same file sizes, same error only after 10 seconds)
> 
> configuring "force_request_body_continuation allow all" did not help,
> the error occured immediately:
> 
> # time curl -v --no-progress-meter -x 10.X.Y.Z:port -T 
> gnome-cards-data_3.22.23-1_all.deb -u "anonymous:proxy1 at example.com" 
> ftp://example.net/incoming/
> *   Trying 10.X.Y.Z:port...
> * Connected to 10.X.Y.Z (10.X.Y.Z) port port (#0)
> * Server auth using Basic with user 'anonymous'
>> PUT 
>> ftp://anonymous:proxy1%40example.com@example.net/incoming/gnome-cards-data_3.22.23-1_all.deb HTTP/1.1
>> Host: example.net:21
>> Authorization: Basic YW5vbnltb3VzOnByb3h5MUB2c3pwLnNr
>> User-Agent: curl/7.74.0
>> Accept: */*
>> Proxy-Connection: Keep-Alive
>> Content-Length: 10526800
>> Expect: 100-continue
>>
> * Mark bundle as not supporting multiuse
> < HTTP/1.1 100 Continue
> < Connection: keep-alive
> } [65536 bytes data]
> * Send failure: Broken pipe
> * Closing connection 0
> curl: (55) Send failure: Broken pipe
> 
> real    0m0.152s
> user    0m0.005s
> sys     0m0.009s
> 
> 1723050086.883    139 10.X.Y.W TCP_MISS_ABORTED/100 0 PUT 
> ftp://anonymous:proxy1%40example.com@example.net/incoming/gnome-cards-data_3.22.23-1_all.deb - HIER_DIRECT/192.0.2.1 - "curl/7.74.0"
> 
> Any idea what can be wrong?
> CURL 8.8.0 from debian backports did not help as well.
> 



More information about the squid-users mailing list