I ran off and updated the patch files on the squid website for 2.4.stable1,
and then updated this port to use them.
Note that diskd is still broken here - I haven't actually
committed a fix to squid yet .. :-P
Update the squid-2.4 port to actually _be_ squid-2.4 . Phew.
This port builds, installs, packages, pkg_delete's cleanly.
I'm going to run it through some more linting and tidying up before
I'm completely done with it.
Differences from squid22/squid23 :
* install-pinger isn't built. I'll tackle this later, possibly by creating
a squid user/group. I don't like having suid binaries installed,
even more so when 99% of the users of this port won't even enable
ICMP pinging.
* I've enabled the lru and heap replacement policies. LRU is used by
default, the beauty here is that the user can choose one or the other
without needing a recompile.
* I've enabled ufs (sync), diskd (async) and null (no caching, only proxying).
This again lets users choose what they want without needing a recompile.
The default is still a 100mb cache in /usr/local/squid/cache/ running
ufs. I would change it to diskd but if the user hasn't tweaked their
sysV shm/msg parameters sufficiently they'll just be puzzled when squid
gives mysterious sysV errors (and if they load it up enough to have UFS
become an issue, they'd be better off reading the squid FAQ anyhow..)
Synopsis:
"If you fill up your squid cache, CPU will go to 100% but the cache will not be
cleaned up."
PR: 18920
Submitted by: Mike Harding <mvh@ix.netcom.com>
Obtained from: http://www.squid-cache.org/Versions/v2/2.3/bugs/
- the distributed patches got regenerated to have the correct paths
- disable optimization because of gcc bugs (as recommended by squid folks)
- list a few new --enable/--disable options
Squid 2.0 is the-version-formerly-known-as-1.2.
v2.0 has NOVM-like functionality internally, so there's no seperate
NOVM version. v1.1.* is no longer officially supported.
Note: the b14 -> b15 change will loose your cache unless you take
the steps on http://squid.nlanr.net/ to recover it.
Read the Changelog for details, this is a fairly large update.
Major changes:
- the URL and SHA cache key methods are gone, MD5 is the only option.
- the swap.state system has been redesigned as a transaction log for
much faster restarts and crash recovery.
- SIZE on ftp binary transfers.
- Lots of bug fixes and code cleanups.
From the web page; http://squid.nlanr.net/Squid/1.2.beta/
WARNING, with beta12 we are starting to stuff object metadata into
the beginning of objects on disk. With beta13 we have changed the
"swap.state" file format to binary instead of text. When you run this
version for the first time you WILL LOSE YOUR CACHE!
The previous warning still stands:
This is BETA software. Do not run this on your production systems.
Logfile formats are subject (and likely) to change at any time without
warning.
"We are currently in a beta-test period for Squid-1.2. If you like
seeing Squid coredump frequently, please join us!"
"This is BETA software. Do not run this on your production systems.
Logfile formats are subject (and likely) to change at any time without
warning.
Here is a brief list of the major features of this version:
HTTP/1.1 persisitent connections.
Lower VM usage; in-transit objects are not held fully in memory.
Totally independent swap directories.
Customizable error texts.
FTP supported internally; no more ftpget.
Asynchronous disk operations (optional, requires pthreads library).
Internal icons for FTP and gopher directories.
snprintf() used everywhere instead of sprintf().
...and many more!
"
As well, there is support for using MD5 or SHA hashes of URL's in the
cache index for space (and speed?) savings, SNMP support, poll(2) is
used by default, etc.
Please see http://squid.nlanr.net/Squid/1.2.beta/ before using.
slowdown problem.
Note, I've changed the DIST_SUBDIR.. all the patches files seem to be
called "fixes.patch" and were colliding with each other.
Reviewed by:
Submitted by:
Obtained from:
Note: the patch file on the web site has several problems.. First, it
doesn't apply, and second, it bogusly changes the version. It also
introduces some problems for FreeBSD where the author missed the point of
a fix I sent back. :-(
- POST didn't work if there were null characters (strncpy vs. memcpy)
- defensive measures to try and stop "HELP! IP cache overflowing"
- warn when forced to do blocking gethostbyxxxx() calls
- fix some coredumps and other problems
Reviewed by:
Submitted by:
Obtained from:
Note, there are a few important changes to the squid.conf file,
be sure to read the ChangeLog file for the details. Some names
have been renamed, and a new option needs to be specified if squid
is run as root - it needs to know what uid to change to, it won't run
as root by default. This may require changes to the port to create a
user or something.
Among the changes are some patches submitted to the maintainers by
yours truly to improve the password support in cachemgr.cgi. It also
reports the resource "maxrss" correctly for what it is.
The distributed patches to 1.1.4:
* ftpget.c.patch: Changes the default MIME type to
"application/octet-stream" and fixes directory listings from
NetWare servers.
* icp.c.patch: Fixes "Unknown status reply from server: 0!" error
messages in Netscape.
* ipcache.c.patch: Fixes ipcache_dnsHandleRead() coredumps.
* neighbors.c.patch: Fixes BIT_SET/BIT_TEST typo in
getDefaultParent().
Reviewed by:
Submitted by:
Obtained from:
- Fixed announcement bug. Announcements were always off unless
a file was specified.
- Fixed wrong number of args to examine_select() debug.
- Fixed null-string content-type
- Don't cache replies with 'Set-Cookie:' headers.
- Fixed bug when client issues IMS, Squid has stale object and
Squid's lastmod time is greater than the client IMS time.
A 304 reply would be appropriate for Squid, but not the client
(diagnosed by Mark Treacy).
- Fixed httpBuildRequestHeader() content length bug which breaks for
really large POST requests (Takahiro Yugawa).
- Fixed 'passthrough_proxy' to pick up port number from list of
neighbors.
- Ensure pid file is world-readable if umask is set otherwise
(Doug Urner).
- Collect statistics on a few more HTTP headers.
Reviewed by:
Submitted by:
Obtained from:
This fixes some small bugs, including a CR/LF problem and (I think) two
problems with aborting. The author has hinted that this might be the last
beta before 1.1.0.