Amos Jeffries [Sat, 9 Aug 2008 05:59:55 +0000 (17:59 +1200)]
Error page auto-negotiation.
* Converts error_directory squid.conf option into an optional override.
Providing backward compatibility with older configurations and local
customizations.
* Adds error_default_language to administratively set the backup
language presented by Squid.
* Fixes design of previously broken hard-coded failover language.
WAS: default to FreeBSD error install location. Hidden by
error_directory being required.
NOW: failover to build-time configured errors/ directory 'English'
templates.
* Adds --enable-auto-locale configure option to enable the following.
* Adds logic to locate visitors most-preferred of available languages
and present a tailored error page as their reply.
Amos Jeffries [Fri, 8 Aug 2008 07:55:02 +0000 (19:55 +1200)]
Preserve old translators details
We are going to remove the old translations as they are upgraded.
But its probably worth keeping the record of who worked on them as the
new work may be derived information.
Amos Jeffries [Fri, 8 Aug 2008 07:30:09 +0000 (19:30 +1200)]
Fix shell issue on translation output
Seems not only does sed on BSD use different regexp parameters but has a
different pattern set as well. The output HTML may look nasty without
cleaning but if the cleaning goes badly it can make the visual end-product
look worse. In this case spurious 'n' characters around the page.
Dropping the sed-based cleanup entirely in favor of usable pages.
Amos Jeffries [Wed, 6 Aug 2008 10:12:37 +0000 (22:12 +1200)]
Append squid signature to tempates for translation
- Appends the squid signature to each template.
The .PO to html conversion was closing each page off anyway
- Updates dictionary and .PO to new text.
- signature is bound by a "footer" class object for display disabling if
needed.
Amos Jeffries [Tue, 5 Aug 2008 06:39:39 +0000 (18:39 +1200)]
Automatic Translation of .PO and Error Pages
This patch embeds the process of creating pre-translated error templates
from .po
* installs/uninstalls base templates for failover backup if no
translation is to be done.
* Adds dependency on translation toolkit po2html for 'make dist' target.
* Adds 'make translate' target
* Adjusts 'make all' to do translation.
* Adds --without-po2html configure option to optionally skip the
translation step unless explicitly asked for ('make translate').
* Installs translated files properly, and skips silently if missing.
* Un-installs translated files, and skips silently if missing.
Amos Jeffries [Mon, 4 Aug 2008 14:40:22 +0000 (02:40 +1200)]
Fix snapshot MD5 symlinks
For some unknown time the MD5 symlinks used to generate web page links
have been pointing at the source file the MD5 was calculated from
not the MD5 itself.
Amos Jeffries [Fri, 1 Aug 2008 04:24:20 +0000 (16:24 +1200)]
Generate daily langpack tarball
Following the daily dist build this is supposed to bundle all existing
translations into a langpack tarball for distribution.
Squid releases are bundled with their own most-current translations as at
release date. Daily snapshots included.
This bundling is only intended to be built for the HEAD release as a
a drop-in replacement for any error pages bundled per-release with
Squid 2.6 and later.
TODO: auto-translation patch still to merge will generate current
translations for this to work with. At present it only has the old legacy
folders, but should still operate correctly on those.
OpenBSD 4.3 shares the old FreeBSD behavior of limiting the 'non-standard'
(according to them) in6_addr.s6_* fields to only Kernel-visible.
It is in fact non-RFC usage, becoming standard via common use.
Author: Mark Nottingham <mnot@pobox.com>
Bug #2376: Round-Robin becomes unbalanced when a peer dies and comes back
When a peer goes down and then comes back, its round-robin counters aren't
reset, causing it to get a disproportionate amount of traffic until it "catches
up" with the rest of the peers in the round-robin pool.
If it was down for load-related issues, this has the effect of making it more
likely that it will go down again, because it's temporarily handling the load
of the entire pool.
Normally, this isn't a concern, because the number of requests that it can get
out-of-step is relatively small (bounded to how many requests it can be given
before it is considered down -- is this 10 in all cases, or are there corner
cases?), but in an accelerator case where the origin has a process-based
request-handling model, or back-end processes are CPU-intensive, it is.
This patch resets the counters each time a peer changes state.
Author: Francesco Chemolli <kinkie@squid-cache.org>
Merge Cache Manager Update branch
Overall view of the changes:
- cachemanager is now a singleton
- list of actions is now a Vector (still not ideal, but at least it
preserves layering)
- added object-based action management interface to cachemgr.
old-style c interface is still available (via method overload)
- cachemgr initialization functions have been moved to each modules'
Init call or (where applicable) constructor. This has the effect of
reducing each module's interface, and to get rid of some module
frameworks' extra initialization work
- fixed tests to work with the new framewor (including the creation of
a small stub in tests/)
- added some documentation
What I left off is:
- change the actionslist from a Vector to a sorted linked-list (need
the generic linked-list class first)
Windows port: Fix mswin_check_ad_group build error on MinGW and Cygwin
The w32api currently available on MinGW and Cygwin is not complete, and
lacks the needed AD functions for mswin_check_ad_group.
This add to config.test the check for the availability of the needed functions.
icap_access curently treats AUTH_REQUIRED ACL results as a
false-negative 'fail' result. This is not the desired behavior,
but is not bad enough to be treated as an actual bug at this point.