190679 |
03-Apr-2009 |
cperciva |
Set SO_NOSIGPIPE on sockets used by phttpget. Without this, if (1) phttpget is attempting to download enough files that it can't send all the requests at once, and (2) the remote server forcibly closes the connection, resulting in RST packets being sent, phttpget will receive a SIGPIPE and terminate without downloading all of the files.
This is probably responsible for a number of hard-to-reproduce errors with portsnap and freebsd-update.
MFC after: 3 days
|
171120 |
30-Jun-2007 |
cperciva |
Add support for HTTP/1.0 Persistent Connections to phttpget. Requests are be marked as HTTP/1.1 but "Connection: Keep-Alive" is added; this convinces HTTP/1.0 servers and proxies to hold the TCP connection open despite not being able to use HTTP pipelining.
This dramatically cuts down on the number of TCP connections (and thus port numbers) used by portsnap when talking to an HTTP/1.0 proxy (e.g., squid), and has the side benefit of improving performance in those cases.
Tested by: simon Approved by: re (kensmith) MFC After: 1 week
|
148880 |
09-Aug-2005 |
cperciva |
When parsing the HTTP_PROXY environment variable, strip a trailing / from the port number (if any exists). This unbreaks env HTTP_PROXY="http://localhost:3128/" portsnap fetch
While I'm here, list both the host and the port in the error message output if getaddrinfo() fails, since either of them could be responsible for the failure.
|
148871 |
08-Aug-2005 |
cperciva |
Add portsnap to the base system. This is a secure, easy to use, fast, lightweight, and generally good way for users to keep their ports trees up to date.
This is version 0.9.4 from the ports tree (sysutils/portsnap) with the following changes: 1. The experimental pipelined http code is enabled. No seatbelts in -CURRENT. (^_^) 2. The working directory has moved from /usr/local/portsnap to /var/db/portsnap (as discussed on -arch two days ago). 3. Portsnap now fetches a list of mirrors (distributed as DNS SRV records) and selects one randomly. This should help to avoid the uneven loading which plagues the cvsup mirror network. 4. The license is now 2-clause BSD instead of 3-clause BSD. 5. Various incidental changes to make portsnap fit into the base system's build mechanics.
X-MFC-After: 6.0-RELEASE X-MFC-Before: 5.5-RELEASE X-MFC-To: RELENG_6, RELENG_5, ports discussed on: -arch and several other places "yes please" from: simon, remko, flz, Diane Bruce thinks this is a great idea: bsdimp Hopes he didn't forget any files: cperciva
|