Amos Jeffries [Sun, 28 Jun 2009 08:28:20 +0000 (20:28 +1200)]
Bug 422: RFC 2616 Date header requirements
The Date: header appears to already be implemented on all generated
pages and ICAP processed pages.
This tests and enforces Date: on all other outgoing replies as required.
I'm not certain this is the right place, it appears to be post-caching.
The RFC indicates the Date: should be enforced pre-caching. But was
unable to find a place of input cloning/processing after initial parse.
The storeEntry timestamp is used to estimate correct receiving date.
Amos Jeffries [Sun, 28 Jun 2009 08:11:27 +0000 (20:11 +1200)]
Simpler test for PURGE method
Uses a tri-state setting on enable_purge and acl parsing to
detect PURGE method addition/removal instead of a complicated ACL
creation test post-configure.
This removes the annoying false errors about temp ACL and some minor
speed up in all actions that parse squid.conf.
Alex Rousskov [Sat, 27 Jun 2009 01:14:58 +0000 (19:14 -0600)]
Author: Philip Allison <philip.allison@smoothwall.net>
Bug 2614 fix: Potential loss of adapted body data from eCAP adapters
It was possible for Squid to stop reading buffered adapted body data before it
has all been sent to the browser.
Squid treated a call to noteAbContentDone by an adapter as a signal to stop
consuming and sending adapted body data. The correct behaviour is to use
noteAbContentDone to record the fact that the adapter has stopped producing
new adapted body data, but continue to consume and send data until all
buffered ab content is consumed and sent (i.e., abContent returns an empty
Area).
Amos Jeffries [Fri, 26 Jun 2009 13:32:27 +0000 (01:32 +1200)]
Language Updates: Add aliases from live traffic info
Taking a scan of the last 98 days traffic and locating the country-code
Accept-Language headers used in that traffic to refer to the existing
languages gives a subset we can alias to further improve the coverage.
Amos Jeffries [Fri, 26 Jun 2009 07:02:45 +0000 (19:02 +1200)]
Bug 2674: Remove limit on HTTP headers read.
Headers may be accumulated over more than one read. It does not make
sense to limit the internal copy of the accumulated read buffer to 64KB.
Reverts the internal read buffer to MemBuf defaults. This may cause
issues where headers are of unbounded size. But those are expected to be
caught by the header parser.
Amos Jeffries [Sun, 21 Jun 2009 06:32:16 +0000 (18:32 +1200)]
Fix alias linker dist/install
make requires ';' after a SHELL command apparently.
Make alias-link.sh handle case where the DESTDIR is non-existent.
This occurs on some distro packaging systems (ie using langpack as a
separate package may not install errors).
Amos Jeffries [Sat, 20 Jun 2009 06:50:37 +0000 (18:50 +1200)]
Correct Licensing Credits
Several of the licenses mentioned in the CREDITS file are not relevant
to Squid-3.1 code any more. Several license disclaimers were found to be
missing.
Thanks to the Debian Project for identifying these incorrect entries.
Amos Jeffries [Wed, 17 Jun 2009 14:20:11 +0000 (02:20 +1200)]
Language alias linker/installer/upgrade scripts
alias-link.sh
This is a script set designed to be called via make/Makefile and setup
language codes for those languages which it would be impractical to
bundle duplicate translated files for.
Relies on local environment tools to be detected by automake.
make install
- now also calls generation of aliases after existing install.
Provided in file aliases.
make upgrade
- cleans out legacy files from pre-3.1 and replaces with symlinks
to the new upgraded language codes.
Provided in file alias-upgrade.
NP: this is a destructive process and must be manually run.
Bundle aliasing scripts and Makefile to use them with the langpack.
Amos Jeffries [Sun, 14 Jun 2009 06:18:11 +0000 (18:18 +1200)]
Update .pot and rename errpages.pot
The old name dictionary.pot was picked semi-randomly based on my old
experience in other translation arenas. It does not fit with the l18n
requirements of Squid very well. This renaming adjusts to make things
a bit clearer.
Amos Jeffries [Fri, 12 Jun 2009 08:46:29 +0000 (20:46 +1200)]
Bug 2395: FTP auth errors not displayed
Round 2 for this bug. Now we handle missing auth as an expected result
rather than a failure. FTP operations are now well tested and this patch
does not affect code shared with other components.
Side-effect is that browser authentication popups now appear when the
FTP server needs authentication. This has been a long missed event.
The root cause of the issue is not found so other subsequent errors in
FTP sub-protocol still silently lost due to the same issue.
Amos Jeffries [Fri, 5 Jun 2009 23:13:17 +0000 (11:13 +1200)]
Make debug_options rotate=N option back-compatible.
This ties older config which do not set rotate=N to still use the value
of logfile_rotate. If set rotate=N overrides logfile_rotate and can be
any value 0 or up.
Amos Jeffries [Thu, 4 Jun 2009 11:05:26 +0000 (23:05 +1200)]
Collate and HTMLize the current Squid manual pages
This is expected to create a *-manuals.tar.gz bundle like the cfgman
bundle before it with raw and HTML versions of all man files currently
in the Squid sources. For the purpose of providing web page versions
as authorative reference documentation.
This is one of those things that really has to be tested live on snapshot
generation. I'm only sure that groff exists in the spots its needed and
that the creation of the tar.gz should work. More work and testing will
likely be needed before public pages are available.
TODO:
Test this alteration, and convert the bundle to live web pages.
Add man .8 pages for many of the helpers.
Amos Jeffries [Mon, 1 Jun 2009 12:31:43 +0000 (00:31 +1200)]
SourceLayout: Shuffle ident files into libident.la
* Moves files into ident/ for library
* Adds Ident:: namespace for interface.
* Moves ident config to Ident::TheConfig
* reduces one avenue of memory leak on double-Init of ident objects.
* Makes ident ACL only relevant when ident is available
* Wraps Ident code in USE_IDENT for monolithic or empty library build
* Adds documentation for ident API
Amos Jeffries [Sun, 31 May 2009 09:37:54 +0000 (21:37 +1200)]
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Bug #2407: Spelling error in http_port tcpkeepalive option
One of the new parameters according to the docs is "keepalive". However, when
using this option you'll get a "Bungled squid.conf in line ...". That's because
when parsing the configuration Squid is looking for the keyword "tcpkeepalive"
instead of "keepalive" as stated in the docs.
Selected to fix the docs instead of code as having it named keepalive is too
easily confused with HTTP keep-alive / persistent connections.
2009-05-25: Also mistakes on spelling of config dump.
Amos Jeffries [Sat, 30 May 2009 13:50:46 +0000 (01:50 +1200)]
Split-Stack enable DNS sockets.
This breaks the DNS sockets into two when split-stack mode is used.
DnsSocketA becomes IPv4-only and DnsSocketB becomes used as IPv6-only.
Without Split-stack mode DnsSocketA is the only one actually used.
Amos Jeffries [Fri, 29 May 2009 07:37:45 +0000 (19:37 +1200)]
Add Translate: and Unless-Modified-Since: headers to known list.
They are custom microsoft headers we may need to use header_access to
crop away. Translate: is needed for WEBDAV so we must leave this up
to individual admin.
Amos Jeffries [Sat, 23 May 2009 13:40:07 +0000 (01:40 +1200)]
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Bug 2481: Don't set expires: now in generated error responses
Sending Expires: "now" overrides any negative cache logics which may
be present in downstream caches and is a bad idea. Better to send
the responses without any explicit expiry information.