]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
14 years agoObsolete log_fqdn directive
Amos Jeffries [Tue, 16 Nov 2010 05:54:47 +0000 (18:54 +1300)] 
Obsolete log_fqdn directive

It has been informally deprecated for a while now, the %>A logformat
equivalent turns the global config setting on automatically on sight.

14 years agoReduce debug level on bodypipe re-write change
Amos Jeffries [Tue, 16 Nov 2010 05:43:47 +0000 (18:43 +1300)] 
Reduce debug level on bodypipe re-write change

- the original reason for adding is unknown
- it is an annoyance for some
- there have been no big problems tracked down to this bodypipe change
  over the last few years. It appears relatively harmless.

14 years agoDocumentation gramar:
Amos Jeffries [Mon, 15 Nov 2010 22:58:59 +0000 (11:58 +1300)] 
Documentation gramar:

14 years agoAuthor: Markus Moeller <huaraz@moeller.plus.com>
Amos Jeffries [Mon, 15 Nov 2010 09:40:48 +0000 (22:40 +1300)] 
Author: Markus Moeller <huaraz@moeller.plus.com>
Fix 'declaration of 'dup' shadows a global' errors.

14 years agoAuthor: Various Translators
Amos Jeffries [Thu, 11 Nov 2010 17:01:49 +0000 (06:01 +1300)] 
Author: Various Translators
Translations Update auto-save

14 years agoAdded missing status phrase to some 304 (Not Modified) replies.
Alex Rousskov [Thu, 11 Nov 2010 15:46:07 +0000 (08:46 -0700)] 
Added missing status phrase to some 304 (Not Modified) replies.

The bug affected 304 hits, at least.

14 years agoext_edirectory_acl: min() template requires identical type. cast to size_t
Amos Jeffries [Wed, 10 Nov 2010 11:49:28 +0000 (00:49 +1300)] 
ext_edirectory_acl: min() template requires identical type. cast to size_t

14 years agoPolicy: detect config.h and squid.h include problems
Amos Jeffries [Wed, 10 Nov 2010 09:50:38 +0000 (22:50 +1300)] 
Policy: detect config.h and squid.h include problems

We currently have a policy that config.h MUST be included first so as to
pull in the portability definitions early. It MAY be included via the
legacy squid.h at present.

This alteration to the source maintenance script validates that each .c
and .cc file in the sources includes config.h or squid.h first in its
include order. Also that each .h and .cci do not include config.h which
is a double include with enforced .c/.cc requirement.

 * an ERROR: line is produces for each violating file
 * as yet the maintenance run is not blocked so as to catch as many
   errors as possible in one run
 * detection only, as yet no code alterations are performed by this script
 * FORMAT: informative lines are silenced to make ERROR: more visible

14 years agoDist missing opensolaris portability header
Amos Jeffries [Tue, 9 Nov 2010 20:38:04 +0000 (09:38 +1300)] 
Dist missing opensolaris portability header

14 years agoPartial revert r11017 (incorrect strncpy changes)
Amos Jeffries [Tue, 9 Nov 2010 05:24:53 +0000 (22:24 -0700)] 
Partial revert r11017 (incorrect strncpy changes)

Also a few other strncpy overflows and some memset() incorrect use.

14 years agoChangeLog update
Amos Jeffries [Sun, 7 Nov 2010 07:10:11 +0000 (01:10 -0600)] 
ChangeLog update

14 years agoSolaris: base system lacks paths.h system definitions
Amos Jeffries [Sun, 7 Nov 2010 05:26:48 +0000 (23:26 -0600)] 
Solaris: base system lacks paths.h system definitions

14 years agoBug 3091 fix: Bypassed ICAP errors are not counted as service failures.
Alex Rousskov [Sun, 7 Nov 2010 03:07:29 +0000 (21:07 -0600)] 
Bug 3091 fix: Bypassed ICAP errors are not counted as service failures.

Notify ICAP service about the failure even if we can bypass it. Otherwise,
a failing service may continue to stay "up", preventing Squid from using a
healthy backup alternative in a service_set (or bypassing ICAP completeley).

14 years agoext_edirectory_userip_acl: fix uninitialized pointer free
Amos Jeffries [Sun, 7 Nov 2010 01:01:54 +0000 (19:01 -0600)] 
ext_edirectory_userip_acl: fix uninitialized pointer free

14 years agoCheck for ldap_start_tls_s
Amos Jeffries [Sat, 6 Nov 2010 23:34:12 +0000 (17:34 -0600)] 
Check for ldap_start_tls_s

14 years agoFix tabbing and WS indentation of src/Makefile
Amos Jeffries [Sat, 6 Nov 2010 14:58:44 +0000 (08:58 -0600)] 
Fix tabbing and WS indentation of src/Makefile

14 years agoPortability fixes for ext_edirectory_userip_acl Solaris builds
Amos Jeffries [Sat, 6 Nov 2010 04:28:11 +0000 (17:28 +1300)] 
Portability fixes for ext_edirectory_userip_acl Solaris builds

 - bcmp() function is obsolete. use memcmp() instead
 - Kerberos is not supported by LDAP_AUTH_*

14 years agoPrep for 3.2.0.3
Amos Jeffries [Sat, 6 Nov 2010 02:43:02 +0000 (15:43 +1300)] 
Prep for 3.2.0.3

14 years agoSourceFormat Enforcement
Automatic source maintenance [Sat, 6 Nov 2010 00:12:25 +0000 (18:12 -0600)] 
SourceFormat Enforcement

14 years agoUpdate translation files
Amos Jeffries [Fri, 5 Nov 2010 14:34:43 +0000 (03:34 +1300)] 
Update translation files

14 years agoAvoid a lot of bufer overruns in ext_edirectory_userip_acl
Amos Jeffries [Fri, 5 Nov 2010 12:47:05 +0000 (01:47 +1300)] 
Avoid a lot of bufer overruns in ext_edirectory_userip_acl

14 years agoSourceFormat Enforcement
Automatic source maintenance [Thu, 4 Nov 2010 00:12:17 +0000 (18:12 -0600)] 
SourceFormat Enforcement

14 years agoFixed DNS query leaks and increased defense against DNS cache poisoning.
Christos Tsantilas [Wed, 3 Nov 2010 16:32:59 +0000 (18:32 +0200)] 
Fixed DNS query leaks and increased defense against DNS cache poisoning.

We were leaking (i.e. forgetting about) DNS queries under several conditions.
The most realistic leak case would go like this:

  - We send UDP query1.
    No response.

  - We send UDP query2.
    The response for query1 comes, with TC bit.

  - We try to connect over TCP, sending TCP query3.
    The response for query2 comes, with TC bit, matching TCP query3 ID.
    Since we are waiting a response over TCP, we drop the UDP response,
    and delete the query from the queue. We leak.

This change avoids forgetting the query under the above scenario.

Moreover, the above steps are hiding another problem: we are accepting responses
to timed out queries, making DNS cache poisoning easier. This change avoids
that by using unique query ID for each sent query. We have also added an
instance ID so that we still can track/identify a single "transaction" from
Squid point of view, even when that transaction involves many DNS query
messages.

When we forget about a DNS query, the caller may get stuck, holding a cbdata
lock. This is typical for ACLs that require domain name resolution, for example.
On a busy server with a long ACL list, the lock counter keeps growing due to
forgotten requests and may overflow, causing a "c->locks < 65535" assertion.
This change fixes the assertion unless there are more DNS leaks or different
lock leaks present.

This is a Measurement Factory project.

14 years agoThe cbdataReference/cbdataReferenceDone of ClientInfo::quotaQueue member
Christos Tsantilas [Wed, 3 Nov 2010 16:28:34 +0000 (18:28 +0200)] 
The cbdataReference/cbdataReferenceDone of ClientInfo::quotaQueue member
does not required for ClientInfo class internal use

Related squid-dev discussion:
      http://www.mail-archive.com/squid-dev@squid-cache.org/msg14280.html

14 years agoAdded debugging to the "client-max-age = 0 and ignore-reload" freshness check.
Alex Rousskov [Wed, 3 Nov 2010 16:10:13 +0000 (10:10 -0600)] 
Added debugging to the "client-max-age = 0 and ignore-reload" freshness check.

14 years agoHTTP Compliance: entry is stale if request has max-age=0.
Alex Rousskov [Tue, 2 Nov 2010 21:58:24 +0000 (15:58 -0600)] 
HTTP Compliance: entry is stale if request has max-age=0.

We should always do validation for requests with Cache-Control max-age=0,
even when entry age is also zero. In our case, RFC 2616 says:

    freshness_lifetime = max_age_value
    response_is_fresh = (freshness_lifetime > current_age)

and response_is_fresh is always false if freshness_lifetime is zero.

The check code was introduced in r5998 with a "Import of fix-ranges
branch" message. The code was commented out at the time of that
commit, for reasons unknown.

Test case:
    test_case/rfc2616/noSrv-hit-stale-max-age-req

14 years agoC++ fixes for ext_edirectory_userip_acl
Amos Jeffries [Tue, 2 Nov 2010 12:16:02 +0000 (01:16 +1300)] 
C++ fixes for ext_edirectory_userip_acl

14 years agoAuthor: Various Translators
Amos Jeffries [Tue, 2 Nov 2010 11:01:37 +0000 (00:01 +1300)] 
Author: Various Translators
Translations Update auto-save

14 years agoBug 3092: basic_sasl_auth needs libmiscencoding
Amos Jeffries [Tue, 2 Nov 2010 02:47:34 +0000 (20:47 -0600)] 
Bug 3092: basic_sasl_auth needs libmiscencoding

14 years agoCorrect ESI processing condition. Need to look for parsed header, not the header...
Henrik Nordstrom [Tue, 2 Nov 2010 01:03:15 +0000 (02:03 +0100)] 
Correct ESI processing condition. Need to look for parsed header, not the header mask (filtered)

14 years agoFix Surrogate-Control header parser of name=value tags.
Henrik Nordstrom [Tue, 2 Nov 2010 00:49:51 +0000 (01:49 +0100)] 
Fix Surrogate-Control header parser of name=value tags.

14 years agoSourceFormat Enforcement
Automatic source maintenance [Tue, 2 Nov 2010 00:12:43 +0000 (18:12 -0600)] 
SourceFormat Enforcement

14 years agobasic_smb_auth needs libmiscencoding.la
Henrik Nordstrom [Mon, 1 Nov 2010 23:54:02 +0000 (00:54 +0100)] 
basic_smb_auth needs libmiscencoding.la

14 years agoReverted r11002 after r11003 added a more general safe_free() fix.
Alex Rousskov [Mon, 1 Nov 2010 20:55:47 +0000 (14:55 -0600)] 
Reverted r11002 after r11003 added a more general safe_free() fix.

14 years agoChanged safe_free() definition to eliminate multiple "ambiguous else" warnings.
Alex Rousskov [Mon, 1 Nov 2010 20:45:08 +0000 (14:45 -0600)] 
Changed safe_free() definition to eliminate multiple "ambiguous else" warnings.

14 years agoAdded explicit braces to avoid "ambiguous else" warning with GCC v4.4.1.
Alex Rousskov [Mon, 1 Nov 2010 20:23:56 +0000 (14:23 -0600)] 
Added explicit braces to avoid "ambiguous else" warning with GCC v4.4.1.

14 years agoCompile fixes from CentOS
Amos Jeffries [Mon, 1 Nov 2010 10:13:56 +0000 (04:13 -0600)] 
Compile fixes from CentOS

14 years agoBug 3038: Detatch libmisc from libcompat
Amos Jeffries [Mon, 1 Nov 2010 05:44:28 +0000 (23:44 -0600)] 
Bug 3038: Detatch libmisc from libcompat

* Migrates many of the remaining libmisc portability wrappers into
  libcompat.

* Splits libmisc into:
   libprofiler - Squid internal profiler (developer-only)
   libmiscencoding - Various binary encoding / crypto algorithms
   libmisccontainers - Various data container algorithms

* Makes all binaries which need to link the libmisc* pieces directly instead
  of via $(COMPAT_LIB) which now only links the libcompat and internal
  profiler due to profiling being used on some libcompat functions.

* Adds a stub_debug for binaries needing the Debug.h API without squid
  timers and globals.

Some effort has been made to identify binaries whose dependencies can be
reduced. More of this dependency removal can be done in future.

14 years agoSupport RFC 2965 Set-Cookie2 / Cookie2 headers
Amos Jeffries [Mon, 1 Nov 2010 00:52:59 +0000 (18:52 -0600)] 
Support RFC 2965 Set-Cookie2 / Cookie2 headers

14 years agoHarden quoted-string parser to RFC requirements
Amos Jeffries [Mon, 1 Nov 2010 00:21:57 +0000 (18:21 -0600)] 
Harden quoted-string parser to RFC requirements

Fix RFC 2616 section 2.2 quote-string handling.

 * Restrict the parser to the known length of the value string to prevent
   buffer over-reads from specially crafted inputs.
 * Drop quoted-string values containing CTL octets.

14 years agoMove client delay pools release notes to 3.2
Amos Jeffries [Fri, 29 Oct 2010 03:26:33 +0000 (21:26 -0600)] 
Move client delay pools release notes to 3.2

14 years agoSourceFormat Enforcement
Automatic source maintenance [Fri, 29 Oct 2010 00:12:28 +0000 (18:12 -0600)] 
SourceFormat Enforcement

14 years agoUse the new Cache Manager registration API for the newly added /dev/poll code.
Alex Rousskov [Thu, 28 Oct 2010 20:01:27 +0000 (14:01 -0600)] 
Use the new Cache Manager registration API for the newly added /dev/poll code.

14 years agoSMP Cache Manager, Phase2 implementation.
Alex Rousskov [Thu, 28 Oct 2010 18:52:59 +0000 (12:52 -0600)] 
SMP Cache Manager, Phase2 implementation.

Cache Manager actions are forwarded to Coordinator. Coordinator iterates over
Kids, aggregating their stats if possible and/or allowing each kid to dump
non-aggregatable output directly into response if needed. Non-aggregated
output is wrapped in "by kidN { ... } by kidN" markup to ease auto-processing.

Regressions and small output formatting changes are probably unavoidable
because stats are aggregated and passed around as doubles instead of integers
(no more overflows though!) and because many stats collection and formatting
lines had to be touched. These are steps in the right direction though, IMO.

Old code both computed and dumped stats to Store at the same time. To avoid
computing code duplication, we now collect stats in primitive Stats objects
and then either dump those to Store or send them to Coordinator for
aggregation and, eventual Store dump. What stats to collect, when to
aggregate, and when to dump is decided by action-specific Mgr::Action classes.

The Cache Manager menu now consists of ActionProfile objects. ActionProfile
maintains hard-coded information about specific actions. It uses ActionCreator
member to create Action objects when a cache manager request is received.

Added Mgr::ActionParams class to maintain action parameters, including HTTP
request details necessary for Store entry creation (in another strand) and
action-specific parameters (currently just credentials). In Phase3, this class
can be extended to supply more parameters such as kid IDs to which the action
should apply.

Added Mgr::Command that combines hard-coded ActionProfile details with
user-specified ActionParams. This simplifies many interfaces because we no
longer need to supply a long list of parameters, covering various parts of
action config.

Moved Cache Manager registration to Mgr::RegisterAction() globals to reduce
dependency on the CacheManager class, which is a singleton anyway, and which
is unused by most of the registration callers.  On the other hand, without
this change, no legacy (function-based actions) code would have been changed!

Enhanced TypedMsgHdr class to simplify storing and loading non-POD classes.
The caller can now easily handle a non-POD class as a series of put/get calls,
one for each POD member. This was necessary to send Mgr::ActionParams to
Coordinator and back. Will probably be useful for sending other complex
structures as well.

Reconfigure, shutdown, and other "basic" actions have been moved to
src/mgr/BasicActions.cc. Mgr::RegisterBasics() registers them.

Most of the Cache Manager code is now in src/mgr/.

Many more polishing touches.

More polishing left for future projects: Move CacheManager to Mgr namespace
and src/mgr/ directory. Use SBuf instead of String for ActionParams and
TypedMsgHdr. Rename Ipc::TypedMsgHdr to Ipc::Msg, Ipc::SocketMsg, or similar
because it maintains more than just msghdr struct. More stats aggregation,
and Phase3 changes.

14 years agoPortability fix: u_int*_t types are deprecated, replaced with uint*_t
Francesco Chemolli [Thu, 28 Oct 2010 15:50:51 +0000 (17:50 +0200)] 
Portability fix: u_int*_t types are deprecated, replaced with uint*_t

14 years agoAdded ERR_PRECONDITION_FAILED template that I missed in r10990 commit.
Alex Rousskov [Thu, 28 Oct 2010 14:20:39 +0000 (08:20 -0600)] 
Added ERR_PRECONDITION_FAILED template that I missed in r10990 commit.

14 years agoSourceFormat Enforcement
Automatic source maintenance [Thu, 28 Oct 2010 00:17:18 +0000 (18:17 -0600)] 
SourceFormat Enforcement

14 years agoHTTP Compliance: Support If-Match and If-None-Match requests.
Alex Rousskov [Wed, 27 Oct 2010 23:29:55 +0000 (17:29 -0600)] 
HTTP Compliance: Support If-Match and If-None-Match requests.

Add support for If-Match and If-None-Match headers as described in RFC 2616
(sections 14.24 and 14.26 in particular).

Moved IMS handling from clientReplyContext::cacheHit() to
clientReplyContext::processConditional() while preserving the original IMS
logic, except for the case when a request has both IMS and If-None-Match.

Co-Advisors test cases:
    test_clause/rfc2616/ifMatch-mismatch-strong
    test_clause/rfc2616/ifMatch-mismatch-weak
    test_clause/rfc2616/ifNoneMatch-match-imsNone
    and many more

14 years agoFirst part of StringNg merge: MemBlob.
Francesco Chemolli [Wed, 27 Oct 2010 21:26:26 +0000 (23:26 +0200)] 
First part of StringNg merge: MemBlob.

14 years agoAuthor: Hank Hampel <hh@nr-city.net>
Amos Jeffries [Wed, 27 Oct 2010 14:00:08 +0000 (08:00 -0600)] 
Author: Hank Hampel <hh@nr-city.net>
Bug 3028: Permit wbinfo_group.pl to authenticate Kerberos users with NT domain.

14 years agoautoconf: changed shell indirect variable quotation to make it more Bourne shell...
Francesco Chemolli [Tue, 26 Oct 2010 23:31:45 +0000 (01:31 +0200)] 
autoconf: changed shell indirect variable quotation to make it more Bourne shell friendly.

14 years agoAuthor: Various Translators
Amos Jeffries [Tue, 26 Oct 2010 23:01:30 +0000 (12:01 +1300)] 
Author: Various Translators
Translations Update auto-save

14 years agoAuthor: Various Translators
Amos Jeffries [Tue, 26 Oct 2010 17:01:56 +0000 (06:01 +1300)] 
Author: Various Translators
Translations Update auto-save

14 years agoFixed DEFAULT_PID_FILE typo to fix "var/run" creation during "make install".
Alex Rousskov [Tue, 26 Oct 2010 14:29:39 +0000 (08:29 -0600)] 
Fixed DEFAULT_PID_FILE typo to fix "var/run" creation during "make install".

14 years agoSourceFormat Enforcement
Automatic source maintenance [Tue, 26 Oct 2010 00:17:17 +0000 (18:17 -0600)] 
SourceFormat Enforcement

14 years agoClient-side bandwidth limit (a.k.a., quota or delay pool) implementation.
Christos Tsantilas [Mon, 25 Oct 2010 21:49:58 +0000 (00:49 +0300)] 
Client-side bandwidth limit (a.k.a., quota or delay pool) implementation.

Put fde::clientInfo initialization inside an "#if DELAY_POOLS/#endif" to allow
squid compile when delay pools are disabled

14 years agoAlex Rousskov <rousskov@measurement-factory.com>
Christos Tsantilas [Mon, 25 Oct 2010 20:30:14 +0000 (23:30 +0300)] 
Alex Rousskov <rousskov@measurement-factory.com>
Client-side bandwidth limit (a.k.a., quota or delay pool) implementation.

Add forgoten ClientDelayConfig.h and ClientDelayConfig.cc files. These
files should be submitted with the  r10980 patch

14 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Christos Tsantilas [Mon, 25 Oct 2010 18:25:19 +0000 (21:25 +0300)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Client-side bandwidth limit (a.k.a., quota or delay pool) implementation.

In mobile environments, Squid may need to limit Squid-to-client bandwidth
available to individual users, identified by their IP addresses. The IP
address pool can be as large as a /10 IPv4 network (4 million unique IP
addresses) and even larger in IPv6 environments. On the other hand, the code
should support thousands of connections coming from a single IP (e.g., a child
proxy).

The implementation is based on storing bandwidth-related "bucket" information
in the existing "client database" hash (client_db.cc). The old code already
assigned each client IP a single ClientInfo object, which satisfies the
client-side IP-based bandwidth pooling requirements. The old hash size is
increased to support up to 32K concurrent clients if needed.

Client-side pools are configured similarly to server-side ones, but there is
only one pool class. See client_delay_pools,
client_delay_initial_bucket_level, client_delay_parameters, and
client_delay_access in squid.conf. The client_delay_access matches the client
with delay parameters. It does not pool clients from different IP addresses
together.

Special care is taken to provide fair distribution of bandwidth among clients
sharing the same bucket (i.e., clients coming from the same IP address).
Multiple same-IP clients competing for bandwidth are queued using FIFO
algorithm. If a bucket becomes empty, the first client among those sharing the
bucket is delayed by 1 second before it can attempt to receive more response
data from Squid.  This delay may need to be lowered in high-bandwidth
environments.

This feature has been documented at
http://wiki.squid-cache.org/Features/ClientBandwidthLimit

14 years agoPrep for 3.1.9
Amos Jeffries [Mon, 25 Oct 2010 07:31:39 +0000 (01:31 -0600)] 
Prep for 3.1.9

14 years agoAuthor: Marcin Wisnicki <mwisnicki@gmail.com>
Amos Jeffries [Mon, 25 Oct 2010 04:14:50 +0000 (22:14 -0600)] 
Author: Marcin Wisnicki <mwisnicki@gmail.com>
Bug 3088: dnsserver is segfaulting

14 years agoAuthor: Various Translators
Amos Jeffries [Sun, 24 Oct 2010 23:01:08 +0000 (12:01 +1300)] 
Author: Various Translators
Translations Update auto-save

14 years agoAuthor: Various Translators
Amos Jeffries [Sun, 24 Oct 2010 17:01:17 +0000 (06:01 +1300)] 
Author: Various Translators
Translations Update auto-save

14 years agoAuthor: Various Translators
Amos Jeffries [Sun, 24 Oct 2010 11:02:19 +0000 (00:02 +1300)] 
Author: Various Translators
Translations Update auto-save

14 years agoBug 2808: getRoundRobinParent not handling weights correctly
Amos Jeffries [Sun, 24 Oct 2010 07:08:13 +0000 (01:08 -0600)] 
Bug 2808: getRoundRobinParent not handling weights correctly

Suspected fix. Has not been able to be replicated before the change.

14 years agoBug 2793: memory statistics sometimes display wrong
Amos Jeffries [Sun, 24 Oct 2010 06:47:31 +0000 (00:47 -0600)] 
Bug 2793: memory statistics sometimes display wrong

14 years agoAuthor: Various Translators
Amos Jeffries [Sat, 23 Oct 2010 23:01:06 +0000 (12:01 +1300)] 
Author: Various Translators
Translations Update auto-save

14 years agoGet url_rewrite_concurrency upgrade parse right
Amos Jeffries [Sat, 23 Oct 2010 12:42:05 +0000 (06:42 -0600)] 
Get url_rewrite_concurrency upgrade parse right

14 years agoUpgrade process for obsolete options
Amos Jeffries [Sat, 23 Oct 2010 08:50:56 +0000 (02:50 -0600)] 
Upgrade process for obsolete options

One problem we currently have with upgrades is leaving the parser able
to avoid its bungled/unknown option message for directives which have
been fully removed or massively syntax altered.

We are able to handle this for flags and option syntax easily but the
parser has been particularly dense and strict on the directives (first
word of each line).

This patch updates the cf_* and cfgman code to allow a special directive
type "obsolete" which causes these directives to be handled specially
without causing the directives to remain in the publicly visible
squid.conf documentation.

It allows DOC_START / DOC_END comments to be written in cf.data.pre
describing the upgrade actions that need to be taken. This text is
dumped to cache.log verbatim when the configuration option is sighted.

If "-k parse" is used the text is displayed at debug level 0, otherwise
displayed at debug level 1. One line indicating a generic "directive X
is obsolete" is always displayed at level 0 for backwards compatibility
with admin expectations of a high level "bungled" message.

After all this text display, parse_obsolete(char*) is called with the
directive name. This function exists in cache_cf.cc and can be coded to
selectivey do more complex handling of the directive. ie for upgrade
actions deeper than removal.

 * cf.data.pre has entries added for all the 2.6-3.1 directives I could
   find that were removed up to 3.HEAD

14 years agoAuthor: Various Translators
Amos Jeffries [Fri, 22 Oct 2010 17:02:20 +0000 (06:02 +1300)] 
Author: Various Translators
Translations Update auto-save

14 years agoFixed autoconf SQUID_STATE_ROLLBACK improper shell variable expansion.
Francesco Chemolli [Fri, 22 Oct 2010 14:57:27 +0000 (16:57 +0200)] 
Fixed autoconf SQUID_STATE_ROLLBACK improper shell variable expansion.
Fixed out-of-order SQUID_CXXFLAGS autoconf substitution

14 years agoBug 3084: IPv6 without Host: header in request causes connection to hang
Amos Jeffries [Fri, 22 Oct 2010 13:23:09 +0000 (07:23 -0600)] 
Bug 3084: IPv6 without Host: header in request causes connection to hang

accel and intercept mode URL re-generation used NtoA instead of ToHostname.
This results in the URL incorrectly wrapping the raw-IPv6 and problems
connecting to non-existent addresses in some cases.

14 years agoBuild failed in Hudson for opensolaris and debian sid
Christos Tsantilas [Fri, 22 Oct 2010 09:26:09 +0000 (12:26 +0300)] 
Build failed in Hudson for opensolaris and debian sid

Build failed for opensolaris and debian sid with a linker message that
the TextException::FileNameHash(char const*) is undefined.
This patch trying to resolve the problem

14 years agoLangpack Serbian compatibility alias update
Amos Jeffries [Fri, 22 Oct 2010 06:45:07 +0000 (00:45 -0600)] 
Langpack Serbian compatibility alias update

14 years agoSourceFormat Enforcement
Automatic source maintenance [Fri, 22 Oct 2010 00:12:11 +0000 (18:12 -0600)] 
SourceFormat Enforcement

14 years agoFixes for the "%err_code and %err_detail logformat codes" patch
Christos Tsantilas [Thu, 21 Oct 2010 10:34:44 +0000 (13:34 +0300)] 
Fixes for the "%err_code and %err_detail logformat codes" patch

The newly added file src/err_detail_type.h must listed in squid_SOURCES
variable in Makefile.am to be included in archives generated using "make dist"
For the same reason  the files scripts/{calc-must-ids.pl,calc-must-ids.sh}
must listed in EXTRA_DIST variable.

14 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>, Christos Tsantilas <chtsant...
Christos Tsantilas [Thu, 21 Oct 2010 08:13:41 +0000 (11:13 +0300)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>, Christos Tsantilas <chtsanti@users.sourceforge.net>
Added %err_code and %err_detail logformat codes to record details about transaction failures

For example, when Squid responds with 500 Internal Server Error, it is often
useful to know what went wrong.

This patch :
 - log a detail string instead of numbers for common errors
 - log a label with the detail code number for generic errors (system errors,
   or exceptions)
 - adds more details about errors, especially those detected with exceptions:
   We record a hash of the filename and the source code line number of the
   first caught exception.
 - adds two scripts which can help the developers to find the exact position
   of the caught exception:
   1) The calc-must-ids.pl take as argument one or more files and compute for
      each Must expression in the given files its  id;
   2) The calc-must-ids.sh can be used to find the exact position of a Must
      expression from its id. Example usage:
          # ./scripts/calc-must-ids.sh 0xB79EF14
          ./src/adaptation/ecap/MessageRep.cc:356: 0xB79EF14 Must(false);

14 years agoBug 3082: Typo in error message
Amos Jeffries [Thu, 21 Oct 2010 03:18:45 +0000 (16:18 +1300)] 
Bug 3082: Typo in error message

14 years agoDo not zero the destination set in CpuAnd() replacement for CPU_AND()
Alex Rousskov [Wed, 20 Oct 2010 04:16:57 +0000 (22:16 -0600)] 
Do not zero the destination set in CpuAnd() replacement for CPU_AND()
because the destination set may be one of the source sets. This fixes

   ERROR: invalid CPU affinity for process PID 17935, may be caused by
   an invalid core in 'cpu_affinity_map' or by external affinity
   restrictions

errors on systems with partial CPU affinity support lacking their own CPU_AND.

based on 3p2-plus r10834.

14 years agoBug 3040: Lower-case domain entries from hosts and resolv.conf files
Amos Jeffries [Wed, 20 Oct 2010 01:32:49 +0000 (19:32 -0600)] 
Bug 3040: Lower-case domain entries from hosts and resolv.conf files

14 years agoBug 3036: adaptation_access acls cannot see myportname
Amos Jeffries [Tue, 19 Oct 2010 02:37:51 +0000 (20:37 -0600)] 
Bug 3036: adaptation_access acls cannot see myportname

Temporary fix to pass myportname to adaptation_access ACLs.

14 years agoSourceFormat Enforcement
Automatic source maintenance [Tue, 19 Oct 2010 00:12:13 +0000 (18:12 -0600)] 
SourceFormat Enforcement

14 years agoBug 3078: crashes repeatedly after rebuilding the cache
Amos Jeffries [Mon, 18 Oct 2010 11:49:19 +0000 (00:49 +1300)] 
Bug 3078: crashes repeatedly after rebuilding the cache

Regression from must-revalidate HTTP/1.1 compliance fixes.
Only flag refresh/revalidation failure when client request is present.

14 years agoAuthor: OpenSolaris Project
Amos Jeffries [Mon, 18 Oct 2010 09:16:27 +0000 (22:16 +1300)] 
Author: OpenSolaris Project
Bug 3057: 64-bit Solaris 9 Squid unable to determine peer IP and port

Fix by bundling a cleaner copy by the OpenSolaris authors that contains
backward-compatible fixes for broken Solaris 9 struct addrinfo.

Bundling this header as a full replacement is safer and easier than
hacking around with special struct defines.

14 years agoAdd missing pre-define icpGetOutgoingIpAddress
Amos Jeffries [Sun, 17 Oct 2010 10:22:59 +0000 (04:22 -0600)] 
Add missing pre-define icpGetOutgoingIpAddress

14 years agoFix Regression: SMP broke ICP outgoing IP lookup if no udp_outgoing_addr set
Amos Jeffries [Sun, 17 Oct 2010 10:20:35 +0000 (04:20 -0600)] 
Fix Regression: SMP broke ICP outgoing IP lookup if no udp_outgoing_addr set

14 years agoBuild error: /dev/poll signed/unsigned comparison in comm_flush_updates
Amos Jeffries [Sun, 17 Oct 2010 10:03:24 +0000 (04:03 -0600)] 
Build error: /dev/poll signed/unsigned comparison in comm_flush_updates

14 years agoAdd omitted link to comm_devpoll.cc
Amos Jeffries [Sun, 17 Oct 2010 09:24:49 +0000 (22:24 +1300)] 
Add omitted link to comm_devpoll.cc

14 years agoportability: smblib: replace bzero with memset
Amos Jeffries [Sun, 17 Oct 2010 06:22:58 +0000 (00:22 -0600)] 
portability: smblib: replace bzero with memset

14 years agoEDNS: type mismatch on min() ssize_t / int
Amos Jeffries [Sun, 17 Oct 2010 05:24:33 +0000 (23:24 -0600)] 
EDNS: type mismatch on min() ssize_t / int

14 years agoreal fix: printf portability issue in EDNS display
Amos Jeffries [Sun, 17 Oct 2010 05:10:55 +0000 (23:10 -0600)] 
real fix: printf portability issue in EDNS display

14 years agoprintf portability issue in EDNS display
Amos Jeffries [Sun, 17 Oct 2010 05:00:32 +0000 (23:00 -0600)] 
printf portability issue in EDNS display

14 years agoAuthor: Adrian Chadd <adri@squid-cache.org>
Amos Jeffries [Sun, 17 Oct 2010 04:49:27 +0000 (22:49 -0600)] 
Author: Adrian Chadd <adri@squid-cache.org>
Author: Peter Payne
Bug 2356: Solaris /dev/poll event ports support.

Original code by Adrian Chadd.
Ported from Squid-2 by Peter Payne, Pirosa Limited UK.

With sponsorship of development and testing from:
  BBC (UK)
  Siemens IT Solutions and Services (UK)

14 years agoSourceFormat Enforcements
Amos Jeffries [Sun, 17 Oct 2010 04:05:30 +0000 (22:05 -0600)] 
SourceFormat Enforcements

14 years agoRelease notes update for EDNS
Amos Jeffries [Sun, 17 Oct 2010 03:34:46 +0000 (21:34 -0600)] 
Release notes update for EDNS

14 years agoBug 2785: DNS needs to set EDNS options advertising Squid capabilities
Amos Jeffries [Sun, 17 Oct 2010 03:26:02 +0000 (21:26 -0600)] 
Bug 2785: DNS needs to set EDNS options advertising Squid capabilities

... allowing Squid to advertise a larger UDP reply size than 512 bytes.

Internally Squid has a buffer allocated on demand so there is no
practicable limit on individual packets. Network topology and external
software places stricter boundaries on what works and what does not.

Squid does not parse the additional section of replies so for now the
full auto-negotiation EDNS allows is not used. Instead a configuration
option is provided for admin to configure a desirable packet size in
bytes. EDNS defaults to "none" (disabled) until tested in a wider
environment.

Testing so far has brought to light problems with EDNS adverts on A and
IPv4-PTR queries. So support is limited to AAAA and IPv6-PTR queries only.
EDNS compliant resolvers have the option of caching the info between
requests for a short while so this will hopefully leak over to improve
IPv4 responses as well.

14 years agoFix static/extern type clash in smblib
Amos Jeffries [Sun, 17 Oct 2010 03:24:24 +0000 (21:24 -0600)] 
Fix static/extern type clash in smblib

14 years agoSourceFormat Enforcement
Automatic source maintenance [Sun, 17 Oct 2010 00:18:41 +0000 (18:18 -0600)] 
SourceFormat Enforcement

14 years agobasic_msnt_auth helper and NTLM/SMBLIB/RFCNB library polish.
Amos Jeffries [Sat, 16 Oct 2010 23:19:46 +0000 (17:19 -0600)] 
basic_msnt_auth helper and NTLM/SMBLIB/RFCNB library polish.

Samba smblib/rfcnb code:
 * Import the latest copy which I could find a download link to.
   This source is from 1997 so I suspect there is something even newer
   we should be using. Time was tight is the only excuse for using
   these sources. Our originals were from 1995 and 1996 depending on the
   helper using it, with a mix of patches.

 * These two directories are in ours sources as lib/smblib and lib/rfcnb.
   Each has its own convenience library. Kept separate with original
   filenames to simplify future upgrades or removal.

 * Samba sources have been diffed and compared function by function
   against the copies previously in our sources. Functionality extensions
   we use have been grafted back on top of the new(er) Samba sources.
  - this was mostly around passing extra Unicode, DC hints and pre-crypted
    passwords to the login checks.
  - some files from libntlmauth have yet to be compared in fine detail,
    that will be completed today before merge.
  - some basic API function and struct definitions had to be moved to the
    API headers to prevent needing to include the *-priv.h private
    definitions externally to the library.

 * the Samba API headers have been wrapped with #ifndef safety wrappers

 * compile errors and include changes required to compile have been
   made (code stays C)

 * duplicate code in helpers/basic_auth/MSNT/* and libntlmauth/* is
   removed.

 * abuse of the smblib-priv.h and rfcnb-priv.h headers and all local
   re-definitions has been erased from our code. Replaced by includes
   of the library API headers: rfcnb/rfcnb.h  smblib/smblib.h

libntlmauth:
 * smblib/rfcnb bits erased
 * moved to lib/ntlmauth in its much reduced form
 * built as a convenience library instead of full library

14 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Fri, 15 Oct 2010 10:24:57 +0000 (04:24 -0600)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Bug 3002 pt2: store initialization (-z) does not work with SMP configs.

In SMP mode, when -z command line option is specified, start kids and allow
them to create their cache_dirs instead of trying to create macro-dependent
cache_dirs in the Master process.

In SMP mode, quit if cache_dir option is found before the workers option.

14 years agoFix idle struct addrinfo definition.
Amos Jeffries [Fri, 15 Oct 2010 09:44:20 +0000 (22:44 +1300)] 
Fix idle struct addrinfo definition.

ai_addrlen is defined formally as socklen_t not size_t. This could have
caused problems if the idle version were ever used.

Found during investigation of bug 3057 by "Anonymous".