]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
16 years agoShuffle PF interception into its own function.
Amos Jeffries [Sat, 21 Mar 2009 00:57:14 +0000 (13:57 +1300)] 
Shuffle PF interception into its own function.

With this all of the transparent build options are independent, and may be
used in any combination. Squid is no longer bound to the single-firewall
interception support.

NP: one small note the PF lookup is slightly weird due to its altering
the local client address from the NAT information.

16 years agoBug 2618: fix ipfilter transparent proxy
Amos Jeffries [Sat, 21 Mar 2009 00:32:33 +0000 (13:32 +1300)] 
Bug 2618: fix ipfilter transparent proxy

Moved IPF lookup into it's own function to take advantage of shared
intercept logics preparation.

Thanks to John Wehle <john@feith.com> for providing the code fixes.

16 years agoFixed typo: checkCallback should call the parent checkCallback method and
Alex Rousskov [Fri, 20 Mar 2009 20:42:11 +0000 (14:42 -0600)] 
Fixed typo: checkCallback should call the parent checkCallback method and
not itself.

16 years agoPolish on Coverity fixes.
Amos Jeffries [Fri, 20 Mar 2009 04:06:09 +0000 (17:06 +1300)] 
Polish on Coverity fixes.

Typo on array size remained.

And IPAddress operator proved to be unneeded. Now killed completely.

16 years agoSourceLayout: esi/, take 1
Alex Rousskov [Thu, 19 Mar 2009 19:31:31 +0000 (13:31 -0600)] 
SourceLayout: esi/, take 1

Moved src/ESI* files into src/esi/.
Renamed ESI source files from ESIFoo.{cc,cci,h} to Foo.{cc,cci,h}.

Replaced implicit constructor-based Parser registration with an explicit call
to Esi::Init() which knows of all ESI parsers. Added Esi::Clean counterpart.

Made libTrie build conditional on ESI support being enabled.

No true source code changes except for parser initialization.
No functionality changes were intended.
No runtime tests with ESI performed.

TODO: I did not move the tests/ESIExpressions test into src/esi because
we need to fix the entire testing layout before we should start
moving individual tests: They currently depend on individual source
and object files in src/ and in tests/ and that kind of dependency
should not be multiplied but removed.

TODO: Move ESI types into the Esi namespace.

16 years agoMerged from trunk.
Alex Rousskov [Thu, 19 Mar 2009 19:30:38 +0000 (13:30 -0600)] 
Merged from trunk.

16 years agoVarious errors detected by Coverity scan
Amos Jeffries [Thu, 19 Mar 2009 14:44:22 +0000 (03:44 +1300)] 
Various errors detected by Coverity scan

16 years agoCoverity detected buffer access error
Amos Jeffries [Thu, 19 Mar 2009 13:52:49 +0000 (02:52 +1300)] 
Coverity detected buffer access error

Defined values for SNMP error use decimal values 0-9, 17-24 not 0-19.
Thus the static list of message mappings is out by 6.

16 years agoTypo in IPC
Amos Jeffries [Thu, 19 Mar 2009 12:28:22 +0000 (01:28 +1300)] 
Typo in IPC

16 years agoBug #2605: Don't call setsid() on helper childs when running in daemon mode
Henrik Nordstrom [Thu, 19 Mar 2009 09:09:03 +0000 (10:09 +0100)] 
Bug #2605: Don't call setsid() on helper childs when running in daemon mode

16 years agoMerged from trunk.
Alex Rousskov [Tue, 17 Mar 2009 20:36:45 +0000 (14:36 -0600)] 
Merged from trunk.

16 years agoFixed and polished comments.
Alex Rousskov [Tue, 17 Mar 2009 17:10:57 +0000 (11:10 -0600)] 
Fixed and polished comments.

16 years agoInit and Clean ESI module on startup (mainInitialize) and
Alex Rousskov [Tue, 17 Mar 2009 16:57:05 +0000 (10:57 -0600)] 
Init and Clean ESI module on startup (mainInitialize) and
shutdown (SquidShutdown).

16 years agoSynced after simplifying the parser registration API.
Alex Rousskov [Tue, 17 Mar 2009 15:29:06 +0000 (09:29 -0600)] 
Synced after simplifying the parser registration API.

16 years agoAdded ESI module management code to register and de-register ESI parsers.
Alex Rousskov [Tue, 17 Mar 2009 15:27:56 +0000 (09:27 -0600)] 
Added ESI module management code to register and de-register ESI parsers.

16 years agoSimplified registration. We will no longer support implicit registration using
Alex Rousskov [Tue, 17 Mar 2009 15:24:36 +0000 (09:24 -0600)] 
Simplified registration. We will no longer support implicit registration using
static initialization because that not-referenced-by-Squid code gets removed
when building the squid executable from convenience libraries.

Support de-registration as long as it is done in the order opposite of
registration.

16 years agoRemoved min() re-definition.
Alex Rousskov [Tue, 17 Mar 2009 14:29:02 +0000 (08:29 -0600)] 
Removed min() re-definition.
compat/compat_shared.h:114 is the location of the min() definition.

16 years agoAuthor: Various Translators
Amos Jeffries [Tue, 17 Mar 2009 10:36:28 +0000 (22:36 +1200)] 
Author: Various Translators
Language Updates: Uzbek, Persian

16 years agoSync with Rosetta Project
Amos Jeffries [Tue, 17 Mar 2009 10:35:31 +0000 (22:35 +1200)] 
Sync with Rosetta Project

16 years agoMerged from trunk.
Alex Rousskov [Tue, 17 Mar 2009 05:25:04 +0000 (23:25 -0600)] 
Merged from trunk.

16 years agoSupport multiple test spec arguments. If at least one test fails, the
Alex Rousskov [Tue, 17 Mar 2009 04:50:20 +0000 (22:50 -0600)] 
Support multiple test spec arguments. If at least one test fails, the
script exits with a non-zero code (but possibly not immediately, see
--keep-going).

Each test spec is a test config file name or a well-known config name
(no path or extension!). If no specs are given, all known test specs are
used (as before). The same happens if the only test spec given is 'all'.
The following are now equivalent:

    ./test-builds.sh
    ./test-builds.sh all
    ./test-builds.sh btlayer-00-default btlayer-01-minimal btlayer-02-maximus
    ./test-builds.sh test-suite/buildtests/layer-*

You can mix file names and spec names, but not the 'all' macro: There is
currently no support for using 'all' together with other test cases.

Tolerate individual test errors if --keep-going is specified. This helps
when one wants to find more errors than just the first one, especially
when tests are long and are running without a human watching.

When detecting test failures, rely on test-suite/buildtest.sh exit
status code rather than on the presence of error-like strings in the log
file.

Added and polished comments. Comments need more work.

16 years agoPolished.
Alex Rousskov [Tue, 17 Mar 2009 04:47:08 +0000 (22:47 -0600)] 
Polished.

16 years agoReturn the result of the last command explicitly. The script seems to work
Alex Rousskov [Tue, 17 Mar 2009 04:44:17 +0000 (22:44 -0600)] 
Return the result of the last command explicitly. The script seems to work
fine without this code, but it might make things more clear.

Hopefully, $? is no less portable than implicit result return. We can replace
$?  with an if-statement if $? is not portable.

16 years agoMerged from trunk.
Alex Rousskov [Tue, 17 Mar 2009 04:31:38 +0000 (22:31 -0600)] 
Merged from trunk.

16 years agoPolshed debugging, comments.
Alex Rousskov [Tue, 17 Mar 2009 04:18:32 +0000 (22:18 -0600)] 
Polshed debugging, comments.

16 years agoMerged from trunk.
Alex Rousskov [Tue, 17 Mar 2009 03:39:54 +0000 (21:39 -0600)] 
Merged from trunk.

16 years agoFixed the problem with Squid executable missing code to process ACLs.
Alex Rousskov [Tue, 17 Mar 2009 02:05:33 +0000 (20:05 -0600)] 
Fixed the problem with Squid executable missing code to process ACLs.
The solution will probably be replaced by a better one eventually.

16 years agoFixed the problem with Squid executable missing code to process ACLs.
Alex Rousskov [Tue, 17 Mar 2009 02:04:14 +0000 (20:04 -0600)] 
Fixed the problem with Squid executable missing code to process ACLs.
The solution will probably be replaced by a better one eventually.

Background:

Squid uses a "registry pattern" to register parsing and matching code specific
to most ACL types. The registration happens in acl/libacls convenience
library. The rest of Squid does not know about specific ACL types; it only has
access to a registry of pointers to what looks like generic ACL objects.  When
Squid executable is linked, most object files containing specific ACL types
are dropped (i.e., ignored) by the linker because they do not satisfy any
unresolved symbols and, hence, deemed unnecessary.

ACL object files were not missing when Squid executable was built using
explicit ACL object files names because the linker treats those differently
than object files in a convenience library -- it includes them whole.

Attempts to find a fix:

My attempts to link with a static convenience library (libtool's -static
option when defining the library) were not successful: the end result is the
same. The static and regular convenience libraries appear to be different, but
the linker, apparently, troughs out "unnecessary" symbols from both.

My attempts to pass -whole-archive to the linker were not successful: libtool
would reorder the arguments when calling the actual linker, resulting in the
wrong parameter order. I did protect -Wl,-whole-archive and friends with
AC_SUBST() and tried a few different versions of that protection, but was not
successful. It is possible that I just did not find the right trick to make it
work. However, -whole-archive is not portable so it would not be an ideal
solution anyway.

The fix:

I have moved registration code from src/acl/* sources into a src/AclRegs.cc
file, making the latter the source file for Squid executable. With this
change, Squid knows about specific ACL types (because they are needed by the
registration code) and the corresponding ACL classes get linked.

A similar solution is currently used for DiskIO modules, except there the
"pull everything in" source file (DiskIO/DiskIOModules_gen.cc) is generated
and called explicitly.  We may end up generating AclRegs.cc as well, but there
does not seem to be a particular advantage of adding that level of complexity.

Future:

A few options are available:

a) Find flaws in the above attempts to convince libtool to do the right thing
and fix the problem using libtool parameters alone.

b) Wait for libtool to support the kind of convenience library that we need
(the one that does -whole-archive when building an executable).

c) Add some kind of Acl::ModuleInit() global that Squid would call to register
known ACL types. AclRegs.cc code can be moved to acl/* sources then.

16 years agoFixed header guard to allow acl/DestinationDomain.h to be compiled together
Alex Rousskov [Mon, 16 Mar 2009 23:14:18 +0000 (17:14 -0600)] 
Fixed header guard to allow acl/DestinationDomain.h to be compiled together
with acl/SourceDomain.h.

16 years agoMerged from trunk.
Alex Rousskov [Fri, 13 Mar 2009 21:54:28 +0000 (15:54 -0600)] 
Merged from trunk.

16 years agoBuild libTrie only if ESI is enabled. Nothing else appears to use that library.
Alex Rousskov [Fri, 13 Mar 2009 21:47:14 +0000 (15:47 -0600)] 
Build libTrie only if ESI is enabled. Nothing else appears to use that library.
Do not include libTrie/src/Trie*.o in libmiscutil. Code needing ESI should
include libTrie (which was previously unused except for libTrie/test?).

TODO: Is it OK to covert libTrie to a convinience library? If yes, we should
LIBADD libTrie to libesi so that we do not have to remember to add libTrie
when we use libesi.

16 years agoDo not redefine max(). compat/compat_shared.h:135 is the location of the
Alex Rousskov [Fri, 13 Mar 2009 21:44:10 +0000 (15:44 -0600)] 
Do not redefine max(). compat/compat_shared.h:135 is the location of the
previous definition.

Made max() #define safer. Do we really need it?

16 years agoMade max #define safer. Do we really need it?
Alex Rousskov [Fri, 13 Mar 2009 21:41:51 +0000 (15:41 -0600)] 
Made max #define safer. Do we really need it?

16 years agoSourceLayout: acl/, take 1
Alex Rousskov [Fri, 13 Mar 2009 21:05:54 +0000 (15:05 -0600)] 
SourceLayout: acl/, take 1

Moved src/ACL* and a few related files into src/acl/.
Renamed ACL source files from ACLFoo.{cc,cci,h} to Foo.{cc,cci,h}.

Added acl/ libraries, reorganized auth/ libraries, and split ACLChecklist
class to avoid circular dependencies among libraries.

Many targets in src/Makefile.am depended on selected ACL ACL*cc and related
sources.  These targets depend on acl/* libraries now. As a part of this
cleanup, the number of ufsdump sources went from about 160 to about 20.

No functionality changes were intended. Source code changes were kept to the
minimum. All my build tests are successful. However, since I had to move a lot
of files, move some code pieces, and split ACLChecklist, it is possible that
some targets will no longer build in some environments and some authentication
code will break.

Please see individual commit messages for details.

16 years agoMerged from trunk.
Alex Rousskov [Fri, 13 Mar 2009 20:45:32 +0000 (14:45 -0600)] 
Merged from trunk.

16 years agoBug 1232: cache_dir parameter limited to only 63 entries.
Amos Jeffries [Wed, 11 Mar 2009 08:56:13 +0000 (21:56 +1300)] 
Bug 1232: cache_dir parameter limited to only 63 entries.

This alters the squid.conf parsing limit on cache_dir entries
into a softer configuration warning. It was a core dump.

Also opens the final bit of the 7-bit signed range for use
which makes the limit 64 cache dirs in total.

16 years agoMerged from trunk.
Alex Rousskov [Tue, 10 Mar 2009 21:00:00 +0000 (15:00 -0600)] 
Merged from trunk.

16 years agoSourceLayout: esi/, take 1
Alex Rousskov [Tue, 10 Mar 2009 20:52:45 +0000 (14:52 -0600)] 
SourceLayout: esi/, take 1

Moved src/ESI* files into src/esi/.
Renamed ESI source files from ESIFoo.{cc,cci,h} to Foo.{cc,cci,h}.

No true source code changes.
No functionality changes were intended.
No runtime tests with ESI performed.

TODO: I did not move the tests/ESIExpressions test into src/esi because
we need to fix the entire testing layout before we should start
moving individual tests: They currently depend on individual source
and object files in src/ and in tests/ and that kind of dependency
should not be multiplied but removed.

TODO: Move ESI types into the Esi namespace.

16 years agoBug 2559: Problem parsing /0 and /0.0.0.0
Amos Jeffries [Tue, 10 Mar 2009 14:29:30 +0000 (03:29 +1300)] 
Bug 2559: Problem parsing /0 and /0.0.0.0

netmask strikes again.

Squid was parsing /0 on an IPv4 as mask /0.0.0.0 before v4-mapping the
mask to /96 IPv6. Which is invalid CIDR size for IPv4 and maps back as
0.0.0.0/32 there during ACL matching.
This affects any input of /0 and equivalents but in a fail-closed way.

Force /0 to the magic noaddr mask regardless of the protocol.

Also adds a lot of level-9 debugs for tracing other issues in IP ACL parse

16 years agoBug 2404: WCCP in mask mode is broken
Amos Jeffries [Tue, 10 Mar 2009 12:36:54 +0000 (01:36 +1300)] 
Bug 2404: WCCP in mask mode is broken

Also autodoc and cleanup some WCCPv2 structures.

This patch:
 - adds a reference to each struct mentioning the exact draft
   RFC section where that struct is defined.
 - fixes sent mask structure fields to match draft. (bug 2404)
 - removes two duplicate useless structs

16 years agoAuthor: Rafal Ramocki <maniac@sistbg.net>
Amos Jeffries [Mon, 9 Mar 2009 23:33:08 +0000 (12:33 +1300)] 
Author: Rafal Ramocki <maniac@sistbg.net>
Bug 2589: SNMP returning no data - wrong oid decoded.

16 years agoSupport multiple test spec arguments. If at least one test fails, the script
Alex Rousskov [Mon, 9 Mar 2009 16:20:57 +0000 (10:20 -0600)] 
Support multiple test spec arguments. If at least one test fails, the script
exits with a non-zero code (but posibly not immediately, see --keep-going).

Each test spec is a test config file name or a well-known config name (no path
or extension!). If no specs are given, all known test specs are used (as
before). The same happens if the only test spec given is 'all'. The
following are now equivalent:

    ./test-builds.sh
    ./test-builds.sh all
    ./test-builds.sh btlayer-00-default btlayer-01-minimal btlayer-02-maximus
    ./test-builds.sh test-suite/buildtests/layer-*

You can mix file names and spec names, but not the 'all' macro: There is
currently no support for using 'all' together with other test cases.

Tolerate individual test errors if --keep-going is specified. This helps when
one wants to find more errors than just the first one, especially when tests
are long and are running without a human watching.

When detecting test failures, rely on test-suite/buildtest.sh exit status code
rather than on the presence of error-like strings in the log file.

Added and polished comments.

16 years agoTestBed: make parent layer find sucess message in its new location
Amos Jeffries [Mon, 9 Mar 2009 10:36:39 +0000 (04:36 -0600)] 
TestBed: make parent layer find sucess message in its new location

16 years agoMerged from trunk.
Alex Rousskov [Mon, 9 Mar 2009 05:53:08 +0000 (23:53 -0600)] 
Merged from trunk.

16 years agoMoved authenticated() method from ACL[Filled]Checklist into auth/Acl.{cc,h} to
Alex Rousskov [Sun, 8 Mar 2009 22:20:22 +0000 (16:20 -0600)] 
Moved authenticated() method from ACL[Filled]Checklist into auth/Acl.{cc,h} to
break the circular dependency between acl/libs and auth/libs.

Context: SourceLayout: acl/, take 1

16 years agoSynced #includes after moving files around.
Alex Rousskov [Sun, 8 Mar 2009 21:57:12 +0000 (15:57 -0600)] 
Synced #includes after moving files around.

Use newly added ACLFilledChecklist for fast ACL checks. Its constructor locks
request and accessList, simplifying the caller code.

Use newly added ACLFilledChecklist for state-specific ACL code. Also, the
ACLChecklist::authenticated() method is now an AuthenticateAcl global
function. See ACLFilledChecklist addition log for rationale.

Context: SourceLayout: acl/, take 1

16 years agoSynced #includes after moving files around.
Alex Rousskov [Sun, 8 Mar 2009 21:53:27 +0000 (15:53 -0600)] 
Synced #includes after moving files around.

Use newly added ACLFilledChecklist for fast ACL checks. Its constructor locks
request and accessList, simplifying the caller code.

Use newly added ACLFilledChecklist for state-specific ACL code. Also, the
ACLChecklist::authenticated() method is now an AuthenticateAcl global
function. See ACLFilledChecklist addition log for rationale.

Context: SourceLayout: acl/, take 1

16 years agoRemoved some 140 SOURCEs of ufsdump, adding a few stubs. The program seems to
Alex Rousskov [Sun, 8 Mar 2009 21:37:32 +0000 (15:37 -0600)] 
Removed some 140 SOURCEs of ufsdump, adding a few stubs. The program seems to
work on simple ufs cache files.

urlCanonical is currently an always-asserting stub. I am not sure what pulls
in urlCanonical. I know storeKeyPublicByRequest* require it, but I am not sure
which source requires storeKeyPublicByRequest. If the stub assertion fails on
some cache files, we will need to pull more sources or re-implement
urlCanonical.

The more sources are moved into libraries, the more difficult it may be to
write isolated, compact test cases or tools because test case stubs and
customizations may start to conflict with names defined in the libraries and
because pulling in a whole library might require defining more stubs. It is
not clear yet how real this concern is in general, but a lot of acl/
SourceLayout time was spent on making ufsdump build...

Context: SourceLayout: acl/, take 1

16 years agoSplit auth/libauth into two libraries:
Alex Rousskov [Sun, 8 Mar 2009 21:29:22 +0000 (15:29 -0600)] 
Split auth/libauth into two libraries:

  - auth/libauth containing core authentication code (used, in part,
    by the acl/libstate library) and not using acl/ libraries; and
  - auth/libacls containing authentication-related ACL code (used to build
    executables) and using acl/libstate.

The split was necessary to prevent circular dependencies among acl/ and auth/
libraries.

Added conditionally built libraries to libauth, eliminating the need for
AUTH_LIBS_TO_ADD. Use libtool to build those libraries.

Context: SourceLayout: acl/, take 1

16 years agoMoved src/ACL* and a few related files into src/acl/.
Alex Rousskov [Sun, 8 Mar 2009 21:19:10 +0000 (15:19 -0600)] 
Moved src/ACL* and a few related files into src/acl/.
Renamed ACL source files from ACLFoo.{cc,cci,h} to Foo.{cc,cci,h}.

Many targets in src/Makefile.am depended on selected ACL ACL*cc and related
sources.  These targets depend on acl/* libraries now. As a part of this
cleanup and reorganization, the number of ufsdump sources went from about 160
to about 20.

Context: SourceLayout: acl/, take 1

16 years agoSynced #includes after moving files around.
Alex Rousskov [Sun, 8 Mar 2009 19:57:33 +0000 (13:57 -0600)] 
Synced #includes after moving files around.

Context: SourceLayout: acl/, take 1

16 years agoSplit ACL.{cc,h} and src/acl_noncore.cc into acl/Acl and acl/Gadgets, moving
Alex Rousskov [Sun, 8 Mar 2009 19:45:44 +0000 (13:45 -0600)] 
Split ACL.{cc,h} and src/acl_noncore.cc into acl/Acl and acl/Gadgets, moving
high-level global functions into Gadgets and leaving basic API types in Acl.

Moved horrific acl_access::containsPURGE into aclPurgeMethodInUse to avoid
exposing basic ACL API to "strategy" templates and HTTP-specific PURGE method.
The aclPurgeMethodInUse global lives in acl/libacls, which is a top-level
library that already contains a lot of data-specific code.

Context: SourceLayout: acl/, take 1

16 years agoExtracted transaction state storage and related checks from ACLChecklist into
Alex Rousskov [Sun, 8 Mar 2009 19:41:27 +0000 (13:41 -0600)] 
Extracted transaction state storage and related checks from ACLChecklist into
ACLFilledChecklist. Context: SourceLayout: acl/, take 1

ACLChecklist contained many data members representing the state of the current
transaction (in a broad sense). These members and related methods depended
on complex types such as HttpRequest and ConnStateData. Any Squid code using
ACLChecklist (and there is a lot of that code) was, hence, dependent on these
types. These dependencies caused, among other things, huge SOURCES lists in
src/Makefile.am, often for trivial targets such as ufsdump and test cases.

ACLChecklist is an abstract class now (to make sure we do not accidentally
create it). ACLChecklist has only one kid: ACLFilledChecklist. The Filled()
global function can be used to cast ACLChecklist* to ACLFilledChecklist*.
Since all ACLChecklist objects have to be ACLFilledChecklist objects, the cast
is fast and safe. The cast allows us to avoid bloating ACLChecklist with
virtual methods that only make sense in ACLFilledChecklist context.

ACLFilledChecklist now contains state-specific members while ACLChecklist
contains basic check list logic. The code that organizes or passes through
ACL checks does not need to be exposed to ACLFilledChecklist and the data
types it depends on.

Furthermore, ACLFilledChecklist should not contain complicated checks either.
It should focus on maintaining the state. The checks should go into specific
ACLs. Otherwise, complex checks cause dependency cycles with higher-level
libraries that provide code for those checks and yet depend on having access
to ACLFilledChecklist to implement specific ACLs. Currently, only the
authenticated() method got moved to auth/Acl.{cc,h} to break the circular
dependency between acl/libs and auth/libs. More work in that direction will
probably be required as we move more src/* code into libraries.

ACLFilledChecklist constructor replaces aclChecklistCreate global. This
simplifies the initiating code of all fast ACL checks: the checks no longer
need to do manual state locking, duplicating aclChecklistCreate code.

16 years agoRemoved AUTH_LIBS_TO_ADD as unused. auth/libauth.la now includes conditionally
Alex Rousskov [Sun, 8 Mar 2009 19:38:12 +0000 (13:38 -0600)] 
Removed AUTH_LIBS_TO_ADD as unused. auth/libauth.la now includes conditionally
built auth libraries and src/Makefile.am no longer needs to know about them.

Added acl/Makefile generation.

Context: SourceLayout: acl/, take 1

16 years agoMoved src/ACL* and a few related files into src/acl/.
Alex Rousskov [Sun, 8 Mar 2009 19:34:36 +0000 (13:34 -0600)] 
Moved src/ACL* and a few related files into src/acl/.
Renamed ACL source files from ACLFoo.{cc,cci,h} to Foo.{cc,cci,h}.

Many targets in src/Makefile.am depended on selected ACL ACL*cc and related
sources.  These targets depend on acl/* libraries now. As a part of this
cleanup and reorganization, the number of ufsdump sources went from about 160
to about 20.

Context: SourceLayout: acl/, take 1

16 years agoFixed subdir handling when USE_LOADABLE_MODULES is false. DIST_SUBDIRS was
Alex Rousskov [Sun, 8 Mar 2009 18:41:06 +0000 (12:41 -0600)] 
Fixed subdir handling when USE_LOADABLE_MODULES is false. DIST_SUBDIRS was
defined incorrectly. Moreover, we do not need to define DIST_SUBDIRS because
the default works:

  "If `SUBDIRS' is defined conditionally using Automake conditionals,
  Automake will define `DIST_SUBDIRS' automatically from the possibles
  values of `SUBDIRS' in all conditions."

The bug was exposed by ./test-builds.sh layer-01-minimal with "make distcheck"
test added.

16 years agoWrap #define max in an #ifndef to avoid conflict with squid compat.h
Henrik Nordstrom [Sun, 8 Mar 2009 13:22:37 +0000 (14:22 +0100)] 
Wrap #define max in an #ifndef to avoid conflict with squid compat.h

16 years agoRemove empty unused class Adaptation::Icap::Options, barfed at by GCC-4.4
Henrik Nordstrom [Sun, 8 Mar 2009 13:21:33 +0000 (14:21 +0100)] 
Remove empty unused class Adaptation::Icap::Options, barfed at by GCC-4.4

16 years agoMake GCC-4.4 happy
Henrik Nordstrom [Sun, 8 Mar 2009 13:19:15 +0000 (14:19 +0100)] 
Make GCC-4.4 happy

16 years agoAdd Content-Disposition to the known headers list.
Amos Jeffries [Sun, 8 Mar 2009 11:01:14 +0000 (00:01 +1300)] 
Add Content-Disposition to the known headers list.

16 years agoBug 2613: test-builds.sh does not test what it claims to test
Amos Jeffries [Sun, 8 Mar 2009 10:57:37 +0000 (23:57 +1300)] 
Bug 2613: test-builds.sh does not test what it claims to test

* Add report from worker level of testbed to show test being run
* Alter test config path on case where ../ is added to tester location
* rename dist variable to correct config (its the config file path)
* remove some no longer relevant bashism

16 years agoThis file does not need to include authenticate.h, apparently.
Alex Rousskov [Sat, 7 Mar 2009 21:07:45 +0000 (14:07 -0700)] 
This file does not need to include authenticate.h, apparently.

16 years agoThis file does not need to include authenticate.h, apparently.
Alex Rousskov [Sat, 7 Mar 2009 20:43:32 +0000 (13:43 -0700)] 
This file does not need to include authenticate.h, apparently.

16 years agoFix typo on dist of translated files. Add missing .po tasks
Amos Jeffries [Sat, 7 Mar 2009 15:48:21 +0000 (04:48 +1300)] 
Fix typo on dist of translated files. Add missing .po tasks

16 years agoCompat: Shuffle semi-duplicate min/max alternatives all into libcompat
Amos Jeffries [Fri, 6 Mar 2009 13:26:57 +0000 (02:26 +1300)] 
Compat: Shuffle semi-duplicate min/max alternatives all into libcompat

16 years agoTranslation is a build process, no excuse for not using builddir
Amos Jeffries [Fri, 6 Mar 2009 12:45:27 +0000 (05:45 -0700)] 
Translation is a build process, no excuse for not using builddir

16 years agoAuthor: Francesco Chemolli <kinkie@squid-cache.org>
Amos Jeffries [Fri, 6 Mar 2009 07:36:36 +0000 (20:36 +1300)] 
Author: Francesco Chemolli <kinkie@squid-cache.org>
Bug 2608: Build broken by Linux basename() implementation.

This patch implements a replacement for the call to basename() in
debugs().

It involves a hard-coded relative test location for debugs.cc used as an
anchor within the __FILE__ path. This relative path MUST be updated
whenever debugs.cc is moved.

debugs() is no longer valid to be used within auto-generated files which
may retain a completely different relative base path.

16 years agoRemoved unused #includes.
Alex Rousskov [Wed, 4 Mar 2009 22:56:29 +0000 (15:56 -0700)] 
Removed unused #includes.

16 years agoTestBed: distuninstallcheck still broken. By orphan translated files now
Amos Jeffries [Wed, 4 Mar 2009 11:19:52 +0000 (04:19 -0700)] 
TestBed: distuninstallcheck still broken. By orphan translated files now

16 years agoUpdates auto-save
Amos Jeffries [Tue, 3 Mar 2009 23:00:30 +0000 (12:00 +1300)] 
Updates auto-save

16 years agoRolled a basename-alike method to beautify HERE calls for debugs().
Francesco Chemolli [Tue, 3 Mar 2009 13:33:51 +0000 (14:33 +0100)] 
Rolled a basename-alike method to beautify HERE calls for debugs().

16 years agoGrr, enum lists must not end with ,}
Amos Jeffries [Tue, 3 Mar 2009 13:10:23 +0000 (02:10 +1300)] 
Grr, enum lists must not end with ,}

This fixes a few more build issues on non-GCC compilers.

16 years agoExperimental Solaris 10 pthreads Support
Amos Jeffries [Tue, 3 Mar 2009 13:02:21 +0000 (02:02 +1300)] 
Experimental Solaris 10 pthreads Support

Why is it going in since its experimental?
 - we need a snapshot to test the configure code with.
 - side testing indicates this new option is best and does work under
   some conditions with only Solaris native compiler to build with.

16 years agoTypo in HTCP enum definition
Amos Jeffries [Tue, 3 Mar 2009 12:46:03 +0000 (01:46 +1300)] 
Typo in HTCP enum definition

16 years agoAuthor: Wang DaQing <wdq@bigfoot.com>
Amos Jeffries [Mon, 2 Mar 2009 12:13:26 +0000 (01:13 +1300)] 
Author: Wang DaQing <wdq@bigfoot.com>
Language: Simplified Chinese

16 years agoAuthor: Wang DaQing <wdq@bigfoot.com>
Amos Jeffries [Mon, 2 Mar 2009 12:09:34 +0000 (01:09 +1300)] 
Author: Wang DaQing <wdq@bigfoot.com>
Language: Simplified Chinese

------------- This line and the following will be ignored --------------

removed:
  errors/Simplify_Chinese/
  errors/Simplify_Chinese/ERR_ACCESS_DENIED
  errors/Simplify_Chinese/ERR_CACHE_ACCESS_DENIED
  errors/Simplify_Chinese/ERR_CACHE_MGR_ACCESS_DENIED
  errors/Simplify_Chinese/ERR_CANNOT_FORWARD
  errors/Simplify_Chinese/ERR_CONNECT_FAIL
  errors/Simplify_Chinese/ERR_DNS_FAIL
  errors/Simplify_Chinese/ERR_ESI
  errors/Simplify_Chinese/ERR_FORWARDING_DENIED
  errors/Simplify_Chinese/ERR_FTP_DISABLED
  errors/Simplify_Chinese/ERR_FTP_FAILURE
  errors/Simplify_Chinese/ERR_FTP_FORBIDDEN
  errors/Simplify_Chinese/ERR_FTP_NOT_FOUND
  errors/Simplify_Chinese/ERR_FTP_PUT_CREATED
  errors/Simplify_Chinese/ERR_FTP_PUT_ERROR
  errors/Simplify_Chinese/ERR_FTP_PUT_MODIFIED
  errors/Simplify_Chinese/ERR_FTP_UNAVAILABLE
  errors/Simplify_Chinese/ERR_ICAP_FAILURE
  errors/Simplify_Chinese/ERR_INVALID_REQ
  errors/Simplify_Chinese/ERR_INVALID_RESP
  errors/Simplify_Chinese/ERR_INVALID_URL
  errors/Simplify_Chinese/ERR_LIFETIME_EXP
  errors/Simplify_Chinese/ERR_NO_RELAY
  errors/Simplify_Chinese/ERR_ONLY_IF_CACHED_MISS
  errors/Simplify_Chinese/ERR_READ_ERROR
  errors/Simplify_Chinese/ERR_READ_TIMEOUT
  errors/Simplify_Chinese/ERR_SECURE_CONNECT_FAIL
  errors/Simplify_Chinese/ERR_SHUTTING_DOWN
  errors/Simplify_Chinese/ERR_SOCKET_FAILURE
  errors/Simplify_Chinese/ERR_TOO_BIG
  errors/Simplify_Chinese/ERR_UNSUP_HTTPVERSION
  errors/Simplify_Chinese/ERR_UNSUP_REQ
  errors/Simplify_Chinese/ERR_URN_RESOLVE
  errors/Simplify_Chinese/ERR_WRITE_ERROR
  errors/Simplify_Chinese/ERR_ZERO_SIZE_OBJECT
  errors/Simplify_Chinese/README
  errors/Simplify_Chinese/generic
modified:
  errors/Makefile.am
  errors/zh-cn.po
unknown:
  .index.pl
  Makefile
  TODO.txt
  code-level_RTL_languages.css
  config.log
  template-level_RTL_languages.css
  testrtl/
  errors/.htaccess
  errors/00_Original_English/
  errors/ALIASES
  errors/TRANSLATORS_contacted
  errors/af.po
  errors/ak.po
  errors/be.po
  errors/bn.po
  errors/bo.po
  errors/bs.po
  errors/check-chars.sh
  errors/cy.po
  errors/direction.css
  errors/dz.po
  errors/eo.po
  errors/eu.po
  errors/fo.po
  errors/fur.po
  errors/fy.po
  errors/ga.po
  errors/gl.po
  errors/gu.po
  errors/he.po
  errors/hi.po
  errors/hr.po
  errors/hu.po
  errors/index.php
  errors/is.po
  errors/ka.po
  errors/km.po
  errors/ko.po
  errors/ku.po
  errors/lb.po
  errors/logstat.pl
  errors/lt.po
  errors/mg.po
  errors/mi.po
  errors/ml.po
  errors/mn.po
  errors/mr.po
  errors/ms.po
  errors/mt.po
  errors/nah.po
  errors/nb.po
  errors/ne.po
  errors/new@
  errors/nl-be.po
  errors/nn.po
  errors/nso.po
  errors/or.po
  errors/pa.po
  errors/pap.po
  errors/pl.po
  errors/pt.po
  errors/pull-po.sh
  errors/sk.po
  errors/sl.po
  errors/sq.po
  errors/st.po
  errors/ta.po
  errors/tk.po
  errors/tmp2
  errors/vi.po
  errors/wa.po
  errors/wo.po
  errors/zh-hk.po
  errors/zh-tw.po
  errors/zzz.po
  errors/templates/.htaccess
  lib/libLtdl/
  scripts/translate.pl

16 years agoUpdates auto-save
Amos Jeffries [Mon, 2 Mar 2009 11:04:34 +0000 (00:04 +1300)] 
Updates auto-save

16 years agoAuthor: Francesco Chemolli <kinkie@squid-cache.org>
Amos Jeffries [Mon, 2 Mar 2009 09:49:46 +0000 (22:49 +1300)] 
Author: Francesco Chemolli <kinkie@squid-cache.org>
Fixed String search

16 years agoReintegrated missing in strListIsSubstr().
Francesco Chemolli [Sun, 1 Mar 2009 22:22:22 +0000 (23:22 +0100)] 
Reintegrated missing in strListIsSubstr().

16 years agoAdded guards against undefnined Strings in the pos()family.
Francesco Chemolli [Sun, 1 Mar 2009 22:19:44 +0000 (23:19 +0100)] 
Added guards against undefnined Strings in the pos()family.

16 years agoAdd libgen.h to configure checks
Amos Jeffries [Sun, 1 Mar 2009 11:12:42 +0000 (00:12 +1300)] 
Add libgen.h to configure checks

16 years agobasename requires libgen.h on FreeBSD maybe others.
Amos Jeffries [Sun, 1 Mar 2009 11:02:36 +0000 (00:02 +1300)] 
basename requires libgen.h on FreeBSD maybe others.

Its safe to include with HAVE_* wrappers here despite not including
config.h first, because we are only using it in a #define.

The .cc which use those defines are expected to include config.h
before all other headers (including Debug.h) for their requirements.

16 years agoAuthor: Various Translators
Amos Jeffries [Sun, 1 Mar 2009 10:24:26 +0000 (23:24 +1300)] 
Author: Various Translators
Language Updates: Uzbek, Persian

Including RTL display support for Persian.

16 years agoLanguage: Uzbek
Amos Jeffries [Sun, 1 Mar 2009 10:14:01 +0000 (23:14 +1300)] 
Language: Uzbek

16 years agoPrep for 3.1.0.6
Amos Jeffries [Sun, 1 Mar 2009 09:42:42 +0000 (22:42 +1300)] 
Prep for 3.1.0.6

16 years agoSync ChangeLog and ReleaseNotes
Amos Jeffries [Sun, 1 Mar 2009 04:36:37 +0000 (17:36 +1300)] 
Sync ChangeLog and ReleaseNotes

16 years agoUse basename in HERE macro to cleanup debugs
Amos Jeffries [Sun, 1 Mar 2009 03:43:51 +0000 (16:43 +1300)] 
Use basename in HERE macro to cleanup debugs

16 years agoTestBed: Alter translation to work in more make targets
Amos Jeffries [Sat, 28 Feb 2009 13:38:11 +0000 (02:38 +1300)] 
TestBed: Alter translation to work in more make targets

This makes translation work in distcheck, uninstallcheck, and installcheck
out-of-tree testing. Not just dist, all, and check.

Also adds some clean failure for out-of-tree 'make all' translations.
Automake seems to not have enough correct path info to perform translation
when its run inside distcheck target.

Re-add distcheck to Testbed requirements.

TODO: verify through build slaves that its portable.

16 years agoMerge language-specific CSS directly into templates.
Amos Jeffries [Sat, 28 Feb 2009 11:14:03 +0000 (00:14 +1300)] 
Merge language-specific CSS directly into templates.

This makes translated files display non-LTR languages correctly
in Squid without CSS support.

16 years agoUpdates auto-save
Amos Jeffries [Sat, 28 Feb 2009 11:03:51 +0000 (00:03 +1300)] 
Updates auto-save

16 years agoAuthor: Mohsen Saeedi <mohsen.saeedi@gmail.com>
Amos Jeffries [Sat, 28 Feb 2009 10:40:40 +0000 (23:40 +1300)] 
Author: Mohsen Saeedi <mohsen.saeedi@gmail.com>
Add CSS for Persian language display

Temporarily in errorpages.css.

TODO: merge into templates at translation-time for older Squid.

16 years agoPromote byte-units parse message to a full warning message.
Amos Jeffries [Sat, 28 Feb 2009 08:50:18 +0000 (21:50 +1300)] 
Promote byte-units parse message to a full warning message.

This is very important to the parser and some configuration settings.

16 years agoMoved Ecap namespace into Adaptation namespace, to match the sources directory
Alex Rousskov [Fri, 27 Feb 2009 16:40:39 +0000 (09:40 -0700)] 
Moved Ecap namespace into Adaptation namespace, to match the sources directory
structure and Icap namespace placement.

16 years agoMoved Ecap namespace into Adaptation namespace, to match the sources directory
Alex Rousskov [Fri, 27 Feb 2009 16:38:06 +0000 (09:38 -0700)] 
Moved Ecap namespace into Adaptation namespace, to match the sources directory
structure and Icap namespace placement.

16 years agoMerged from trunk.
Alex Rousskov [Fri, 27 Feb 2009 15:52:31 +0000 (08:52 -0700)] 
Merged from trunk.

16 years agoSourceLayout: src/auth, take 0: Moved src/AuthFoo* to src/auth/Foo*, polished.
Alex Rousskov [Fri, 27 Feb 2009 15:45:17 +0000 (08:45 -0700)] 
SourceLayout: src/auth, take 0: Moved src/AuthFoo* to src/auth/Foo*, polished.
SourceLayout: src/fs, take 0: Polished Makefiles.

These fixes should have no runtime effects and were triggered by an attempt to
make "make distclean" work. TODO: add Auth and Fs namespaces, rename classes.

16 years agoMerged from trunk.
Alex Rousskov [Fri, 27 Feb 2009 15:36:53 +0000 (08:36 -0700)] 
Merged from trunk.

16 years agoMerged from trunk.
Alex Rousskov [Fri, 27 Feb 2009 15:34:07 +0000 (08:34 -0700)] 
Merged from trunk.

16 years agoFixed "make distuninstallcheck" by removing installed configuration files
Alex Rousskov [Fri, 27 Feb 2009 15:25:31 +0000 (08:25 -0700)] 
Fixed "make distuninstallcheck" by removing installed configuration files
iff they are identical to the installed default configuration files.

Added scripts/remove-cfg.sh to do the safe removal because we need that
functionality in many Makefiles.

Made installed mime.conf removal safe. We were removing it without checking
for modifications.

Added commands to remove the following installed default configuration
files: cachemgr.conf.default and msntauth.conf.default.

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Fri, 27 Feb 2009 12:25:42 +0000 (01:25 +1300)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Fix missing documentation for auth_param utf8 translation feature.

Missed out of original Squid-3 patch.