cvs commit: src/lib/libfetch http.c

Pawel Worach pawel.worach at telia.com
Fri Feb 18 22:39:35 GMT 2005


Kelly Yancey wrote:
> kbyanc      2005-02-16 00:22:20 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     lib/libfetch         http.c 
>   Log:
>   Set TCP_NOPUSH on HTTP requests, reducing the number of round-trips
>   necessary to establish each connection.
>   

This seems to have broken fetch though a http proxy (in this case squid on Solaris).

# fetch -v http://news.bbc.co.uk/
looking up proxy.here
connecting to proxy.here:8080
requesting http://news.bbc.co.uk/
fetch: http://news.bbc.co.uk/: Unknown error: 0

tcpdump on proxy box:
# /opt/sfw/sbin/tcpdump -vvv -tt port 8080 and host client
tcpdump: listening on hme0
1108766119.732379 client.41047 > proxy.8080: S 3519007752:3519007752(0) win 
65535 <mss 1460,nop,nop,sackOK,nop,wscale 1,nop,nop,[|tcp]> (DF) (ttl 64, id 
29064, len 64)
1108766119.732409 proxy.8080 > client.41047: S 2176773672:2176773672(0) ack 
3519007753 win 49232 <nop,nop,timestamp 2616599163 204332855,mss[|tcp]> (DF) 
(ttl 64, id 54201, len 64)
1108766119.732719 client.41047 > proxy.8080: . [tcp sum ok] 1:1(0) ack 1 win 
33304 <nop,nop,timestamp 204332855 2616599163> (DF) (ttl 64, id 29065, len 52)
1108766119.733003 client.41047 > proxy.8080: FP 1:113(112) ack 1 win 33304 
<nop,nop,timestamp 204332855 2616599163> (DF) (ttl 64, id 29066, len 164)
1108766119.733268 proxy.8080 > client.41047: . [tcp sum ok] 1:1(0) ack 114 win 
49232 <nop,nop,timestamp 2616599163 204332855> (DF) (ttl 64, id 54202, len 52)
1108766119.734710 proxy.8080 > client.41047: F [tcp sum ok] 1:1(0) ack 114 win 
49232 <nop,nop,timestamp 2616599163 204332855> (DF) (ttl 64, id 54204, len 52)
1108766119.734998 client.41047 > proxy.8080: . [tcp sum ok] 114:114(0) ack 2 win 
33303 <nop,nop,timestamp 204332857 2616599163> (DF) (ttl 64, id 29068, len 52)

Reverting lib/libfetch/http.c to 1.74 makes the problem go away.

-- 
Pawel


More information about the cvs-src mailing list