]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
14 years agoAdded "disker" processes to be responsible for individual cache_dir I/O.
Alex Rousskov [Sun, 30 Jan 2011 23:16:22 +0000 (16:16 -0700)] 
Added "disker" processes to be responsible for individual cache_dir I/O.

Determine kid process role based on the process name rather than kid ID.
This allows the process to perform role-specific actions before (or while)
squid.conf is parsed.

14 years agoWhen searching for a hit, ask each cache_dir after checking in store_table.
Alex Rousskov [Sun, 30 Jan 2011 02:21:30 +0000 (19:21 -0700)] 
When searching for a hit, ask each cache_dir after checking in store_table.

This allows SMP cache_dirs to share their contents without constantly worrying
about keeping the worker-specific store_table in sync among workers.

14 years agoAdded stream operator << for StoreEntry to ease debugging.
Alex Rousskov [Sun, 30 Jan 2011 02:19:26 +0000 (19:19 -0700)] 
Added stream operator << for StoreEntry to ease debugging.

14 years agoSupport multiple services and vectoring-point crossing in ICAP X-Next-Services.
Alex Rousskov [Sat, 29 Jan 2011 18:18:12 +0000 (11:18 -0700)] 
Support multiple services and vectoring-point crossing in ICAP X-Next-Services.

Adding source files forgotten in r11167.

Merged from the 3p1-rock branch (r9630).

14 years agoAdded a configuration check to prevent IoState::startWriting() assertions.
Alex Rousskov [Sat, 29 Jan 2011 00:08:52 +0000 (17:08 -0700)] 
Added a configuration check to prevent IoState::startWriting() assertions.

Rock::IoState::startWriting() asserts that [padded] write request size does
not exceed the slot size. Padded request size always exceeds the slot size for
slots smaller than the page.

This check may also help avoid using unallocated buffer for padding, but that
part may need more work.

14 years agoAdded STORE_META_OBJSIZE size to keep storeSwapMetaSize in sync with
Alex Rousskov [Fri, 28 Jan 2011 01:25:12 +0000 (18:25 -0700)] 
Added STORE_META_OBJSIZE size to keep storeSwapMetaSize in sync with
storeSwapMetaBuild.

14 years agoSupport multiple services and vectoring-point crossing in ICAP X-Next-Services.
Alex Rousskov [Thu, 27 Jan 2011 21:19:45 +0000 (14:19 -0700)] 
Support multiple services and vectoring-point crossing in ICAP X-Next-Services.

Merged from the 3p1-rock branch (r9630).

14 years agoMiscellaneous useful changes from 3p1-rock (r9630) unrelated to Rock Store.
Alex Rousskov [Thu, 27 Jan 2011 21:16:49 +0000 (14:16 -0700)] 
Miscellaneous useful changes from 3p1-rock (r9630) unrelated to Rock Store.

14 years agoRock Store implementation merged from the 3p1-rock branch (r9630).
Alex Rousskov [Thu, 27 Jan 2011 21:14:56 +0000 (14:14 -0700)] 
Rock Store implementation merged from the 3p1-rock branch (r9630).

14 years agoCleanup: remove dead code from typedefs.h take00
Amos Jeffries [Thu, 20 Jan 2011 10:13:05 +0000 (03:13 -0700)] 
Cleanup: remove dead code from typedefs.h

Initially the idea was to use these as hints when porting from Squid-2
but has proven not to be very useful.

14 years agoTypo in ModKqueue
Amos Jeffries [Tue, 18 Jan 2011 12:16:17 +0000 (05:16 -0700)] 
Typo in ModKqueue

14 years agoCorrect language code for Czech
Amos Jeffries [Mon, 17 Jan 2011 21:11:29 +0000 (10:11 +1300)] 
Correct language code for Czech

14 years agoFix broken cfgman links on obsolete directives
Amos Jeffries [Mon, 17 Jan 2011 14:07:52 +0000 (03:07 +1300)] 
Fix broken cfgman links on obsolete directives

14 years agoFix Solaris getrusage wrapping
Amos Jeffries [Sat, 15 Jan 2011 03:24:47 +0000 (16:24 +1300)] 
Fix Solaris getrusage wrapping

14 years agoBug 2586: multiple memory leaks during reconfigure
Christos Tsantilas [Fri, 14 Jan 2011 17:45:23 +0000 (19:45 +0200)] 
Bug 2586: multiple memory leaks during reconfigure

This patch fixes:
   - a SSL_CTX object memory leak
   - a very small memory leak in MimeIcon class
   - a small memory leak while parsing adaptation_service

14 years agoMake FTP and CacheMgr obey --disable-auth-basic
Amos Jeffries [Fri, 14 Jan 2011 14:10:21 +0000 (07:10 -0700)] 
Make FTP and CacheMgr obey --disable-auth-basic

When teh proxy has been built with this auth module explicitly disabled
do not add headers indicating that it is available.

The side effect of not having Basic authentication support in the proxy
is that FTP is reduced to depending on URL logins and CacheMgr protected
actions cannot be used.

14 years agoSupport configurable status codes for deny_info
Amos Jeffries [Fri, 14 Jan 2011 06:15:23 +0000 (23:15 -0700)] 
Support configurable status codes for deny_info

This changes the default behaviour of deny_info redirects. Making Squid
automaticaly select 307 or 303 status code where appropriate for HTTP/1.1
clients and 302 for HTTP/1.0 clients or other appropriate cases.
For example;
    deny_info 303:http://example.com/ POST

On top of the behaviour change this patch adds capability for admin to
configure deny_info with explicit status codes ranging from 200 to 599.

There are limits placed on the use of each range of status codes:
 * 2xx, 4xx and 5xx may only be set when there is a local file or template
   being used as body content on the response.
 * 3xx status may only be set when there is a URI being used as a redirect
   destination.

These limitations are enforced with a configuration hard abort due to:

3xx with a named template and 4xx/5xx with a redirect break with a range
of horrible results to our file loading and output Location: URLs. My
tests ended up with Squid scanning the FS for local files called
http://blah, redirecting the browser to 404:ERR_ACCESS_DENIED, or getting
past those with zero-sized replies and crashes when err is required to
have length.

They are going to take something much more major logic re-plumbing and
maybe deeper cleanup to get the crossover down to safe enough for just a
warning. Given the RFC defined use of each status range I did not think
it worth doing to enable something on the fine edge of non-standard.

14 years agoBug 3089: FTP command output overrides directory listing
Amos Jeffries [Fri, 14 Jan 2011 05:50:43 +0000 (22:50 -0700)] 
Bug 3089: FTP command output overrides directory listing

14 years agoFix "unrecognized value for USE_LIBNETFILTERCONNTRACK: 'auto'"
Amos Jeffries [Wed, 12 Jan 2011 12:54:10 +0000 (01:54 +1300)] 
Fix "unrecognized value for USE_LIBNETFILTERCONNTRACK: 'auto'"

Thanks to Andrew Beverly.

14 years agoftp_eprt directive to disable EPRT extensions in FTP
Amos Jeffries [Wed, 12 Jan 2011 05:23:00 +0000 (22:23 -0700)] 
ftp_eprt directive to disable EPRT extensions in FTP

This allows admin to resolve compatibility problems with old devices which
encounter a range of problems when FTP extensions are used by selectively
disabling any of the extensions individually.

The other EPSV extensions already have enable/disable directives.

14 years agoPortability fix: removed unused code from smblib
Francesco Chemolli [Tue, 11 Jan 2011 22:01:53 +0000 (23:01 +0100)] 
Portability fix: removed unused code from smblib

14 years agoBug 2959: remove SAMBAPREFIX dependency
Amos Jeffries [Tue, 11 Jan 2011 07:33:27 +0000 (00:33 -0700)] 
Bug 2959: remove SAMBAPREFIX dependency

This removes the tricky SAMBAPREFIX variable which passes full-path
information from the squid build machine down to the run-time host
helper.

Such information is not always correct when crossing machines, and the
binaries being run can easily be added to PATH in the run-time host
environment instead.

The net result of doing this is removal of Samba from the build
dependencies and increased availability of the basic_smb_auth and
ext_wbinfo_group_acl helpers.

14 years agoPrevent extra lines being pulled into xprof_type.h
Amos Jeffries [Tue, 11 Jan 2011 07:31:04 +0000 (00:31 -0700)] 
Prevent extra lines being pulled into xprof_type.h

14 years agoPortability fix: remove unneeded functions in lib/rfcnb
Francesco Chemolli [Mon, 10 Jan 2011 17:11:07 +0000 (18:11 +0100)] 
Portability fix: remove unneeded functions in lib/rfcnb

14 years agoportability fix: lib/rfcnb symbol shuffling
Francesco Chemolli [Mon, 10 Jan 2011 16:55:29 +0000 (17:55 +0100)] 
portability fix: lib/rfcnb symbol shuffling

14 years agoStandard compliance fix: size_t is guaranteed unsigned.
Francesco Chemolli [Mon, 10 Jan 2011 14:46:21 +0000 (15:46 +0100)] 
Standard compliance fix: size_t is guaranteed unsigned.

14 years agoMaintenance: auto-sync XPROF counter types with sources
Amos Jeffries [Mon, 10 Jan 2011 11:01:26 +0000 (04:01 -0700)] 
Maintenance: auto-sync XPROF counter types with sources

14 years agoSourceLayout: shuffle comm IO loops into libcomm and Comm namespace
Amos Jeffries [Mon, 10 Jan 2011 09:43:43 +0000 (02:43 -0700)] 
SourceLayout: shuffle comm IO loops into libcomm and Comm namespace

14 years agoCorrect EUI logging documentation
Amos Jeffries [Sat, 8 Jan 2011 06:32:58 +0000 (19:32 +1300)] 
Correct EUI logging documentation

14 years agoAuthor: Henrik Nordstrom <hno@squid-cache.org>
Amos Jeffries [Sat, 8 Jan 2011 06:23:27 +0000 (19:23 +1300)] 
Author: Henrik Nordstrom <hno@squid-cache.org>
Port from 2.7: maximum staleness limits

The default behaviour of Squid is to provide a stale copy (with Warnigng:
header) until an actove response from the origin server causes the object
to be updated or garbage collection causes its removal.

The max_stale direcive and refresh_pattern max-stale=N option allow admin
to set an upper limit on the objects age when serving stale responses.

14 years agoFixed typo in unused(?) HttpHeader::putSc() method. Range header was deleted.
Alex Rousskov [Mon, 3 Jan 2011 22:51:39 +0000 (15:51 -0700)] 
Fixed typo in unused(?) HttpHeader::putSc() method. Range header was deleted.

14 years agoAuthor: Florent <fcarli@gmail.com>
Christos Tsantilas [Thu, 30 Dec 2010 11:16:21 +0000 (13:16 +0200)] 
Author: Florent <fcarli@gmail.com>
Bug 3129: ssl-crtd / Dynamically generated certicates' "subject" and "issuer" include "-----BEGIN CERTIFICATE-----"

14 years agoAuthor: Henrik Nordstrom <hno@squid-cache.org>
Amos Jeffries [Mon, 27 Dec 2010 20:25:30 +0000 (13:25 -0700)] 
Author: Henrik Nordstrom <hno@squid-cache.org>
Support RFC 5861 Cache-Control: stale-if-error option

The default behaviour for Squid is to present the stale object when
revalidation fails with a 5xx error.

stale-if-error places a maximum limit on how long this stale object may
be sent. After the limit has passed Squid is required to present the 5xx
message to the client.

Original code for Squid-2 was sponsored by Yahoo!.

Portage done by Alex Rousskov and Amos Jeffries.

14 years agoAdd omitted Makefile generation
Amos Jeffries [Sun, 26 Dec 2010 02:07:17 +0000 (15:07 +1300)] 
Add omitted Makefile generation

14 years agoAuthor: Marcello Romani <marcello.romani@libero.it>
Amos Jeffries [Sun, 26 Dec 2010 01:38:26 +0000 (14:38 +1300)] 
Author: Marcello Romani <marcello.romani@libero.it>
Author: Amos Jeffries <squid3@treenet.co.nz>
Database Logging Daemon

Original code by Marcello Romani, this version has some additions to
initialize any missing database tables depended on during its startup
phase and some additional polish to fit within the current Squid release.

COPYRIGHT AND LICENSE

Copyright (C) 2008 by Marcello Romani

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.8 or,
at your option, any later version of Perl 5 you may have available.

14 years agoCPU profiler is a dev testing feature. Disable by default.
Amos Jeffries [Fri, 24 Dec 2010 14:00:09 +0000 (07:00 -0700)] 
CPU profiler is a dev testing feature. Disable by default.

14 years agoPrep for 3.1.10 and 3.2.0.4
Amos Jeffries [Wed, 22 Dec 2010 03:14:21 +0000 (16:14 +1300)] 
Prep for 3.1.10 and 3.2.0.4

14 years agohttp_port display cleanup
Amos Jeffries [Mon, 20 Dec 2010 23:52:52 +0000 (16:52 -0700)] 
http_port display cleanup

 * ignore-cc is a violation when not on accel ports.

14 years agoUse the right printf args for client_request_buffer_max warning
Amos Jeffries [Fri, 17 Dec 2010 12:59:35 +0000 (05:59 -0700)] 
Use the right printf args for client_request_buffer_max warning

14 years agoAdd docs and prevent parse loops on client_request_buffer_max
Amos Jeffries [Fri, 17 Dec 2010 05:46:37 +0000 (22:46 -0700)] 
Add docs and prevent parse loops on client_request_buffer_max

14 years agoCompat: static functions cannot be passed externally
Amos Jeffries [Thu, 16 Dec 2010 02:25:55 +0000 (19:25 -0700)] 
Compat: static functions cannot be passed externally

14 years agoSourceFormat Enforcement
Automatic source maintenance [Thu, 16 Dec 2010 01:15:12 +0000 (18:15 -0700)] 
SourceFormat Enforcement

14 years agoAuthor: Chad Naugle <chad.naugle@travimp.com>
Amos Jeffries [Wed, 15 Dec 2010 21:59:50 +0000 (14:59 -0700)] 
Author: Chad Naugle <chad.naugle@travimp.com>
ext_edirectory_user_ip: hack fix -3 result in StringSplit algorithm

14 years agoext_edirectory_userip_acl: alternative split algorithms
Amos Jeffries [Wed, 15 Dec 2010 12:13:01 +0000 (05:13 -0700)] 
ext_edirectory_userip_acl: alternative split algorithms

Some compilers do not support dynamically allocated stack space.
Instead perform a scan and hunk copy/wipe of the passed buffers directly.
As a side effect the split is no longer triple-copying data and
double-memset'ing.

14 years agoDocumentation fixes
Amos Jeffries [Wed, 15 Dec 2010 10:12:22 +0000 (23:12 +1300)] 
Documentation fixes

14 years agoAuthor: Graham Keeling <graham@equiinet.com>
Christos Tsantilas [Wed, 15 Dec 2010 09:38:03 +0000 (11:38 +0200)] 
Author: Graham Keeling <graham@equiinet.com>
Bug 3113: Squid can eat far too much memory when uploading files

Problem description:
  Uploading a large file to a web site on the internet, squid's client
input buffer will increase far faster than it can be emptied to
the target website, and the machine will swiftly run out of memory.

This patch adds the client_request_buffer_max_size configuration
parameter  which specifies the maximum buffer size of a client request.

14 years agoVarious source format cleanups
Henrik Nordstrom [Tue, 14 Dec 2010 14:01:14 +0000 (15:01 +0100)] 
Various source format cleanups

undo damage done by earlier astyle versions and adjust some
imported code to follow reasonable style. no functional change.

14 years agoFix the "Report ERR_SECURE_CONNECT_FAIL details" patch (rev 11122)
Christos Tsantilas [Tue, 14 Dec 2010 12:17:34 +0000 (14:17 +0200)] 
Fix the "Report ERR_SECURE_CONNECT_FAIL details" patch (rev 11122)

Looks that the error_t is a define in some platforms. Rename Ssl::error_t to
Ssl::ssl_error_t to avoid compile problems

14 years agoCompat: define #define PRINTF_FORMAT_ARG* for non-gcc compilers
Amos Jeffries [Tue, 14 Dec 2010 03:35:01 +0000 (20:35 -0700)] 
Compat: define #define PRINTF_FORMAT_ARG* for non-gcc compilers

14 years agoFreeBSD: slightly better version test for pthread support
Amos Jeffries [Tue, 14 Dec 2010 02:54:35 +0000 (19:54 -0700)] 
FreeBSD: slightly better version test for pthread support

The old one could not handle minor releases. This one only looks at the
first byte of the numeric version. So will break again when 10.* is released.

However 6.* should be dead by then.

14 years agoSourceFormat Enforcement
Automatic source maintenance [Tue, 14 Dec 2010 01:12:24 +0000 (18:12 -0700)] 
SourceFormat Enforcement

14 years agoReport ERR_SECURE_CONNECT_FAIL details to the user via a new error detail API.
Christos Tsantilas [Mon, 13 Dec 2010 23:02:52 +0000 (01:02 +0200)] 
Report ERR_SECURE_CONNECT_FAIL details to the user via a new error detail API.

Currently, the ERR_SECURE_CONNECT_FAIL response contains no usable error
information. Moreover, there is no interface to pass SSL error information
to the response generation code.

This patch adds an interface to allow Squid error responses to contain detailed
information about SSL certificate verification failure. For example, the error
message may contain the following text:
 "Server Certificate Verification Failed: Certificate Common Name
  (www.lufthansa.com) does not match the host name you are connecting to
  (www.lufthansa.de)."

This is a Measurement Factory project.

Change details:
--------------------

- errorpage.cc/.h: The error page now supports the '%D'  formating code to
  display the detail string passed by modules. The detail strings passed by
  modules can contain error page formating codes. Currently only SSL detail
  errors messages are supported.

- A new class Ssl::ErrorDetail defined in ssl/ErrorDetail.[cc,h]
  The Ssl::ErrorDetail objects passed to the SSL verification callback functions
  (sl_verify_cb callback function defined in support.cc) and filled with error
  detail data (error_no and a pointer to the X509 Certificate) in the case of
  an error and passed back to the forward.cc code.

- The Ssl::ErrorDetail class internally uses (hard coded) templates and
  formating codes to allow supporting multiple languages and adding easily
   new features

Other changes:
-------------------

- errorpage.cc/.h: The BuildContent method split to BuildContent and ConvertText
  method. The second method does the real conversion from a given text template
  to output. It is used now to allow formating the detail strings passed with
  %D.

 - sslparseErrorString moved to ssl/ErrorDetail.cc file and renamed to
   Ssl::parseErrorString

 - sslFindErrorString moved to ssl/ErrorDetail.cc file and renamed to
   Ssl::getErrorName

 - The ssl_error_t typedef definition moved from ssl/support.h to
   ssl/ErrorDetail.h and renamed to Ssl::error_t

14 years agoCompat: cleanup several config.h hacks
Amos Jeffries [Mon, 13 Dec 2010 11:31:14 +0000 (00:31 +1300)] 
Compat: cleanup several config.h hacks

* removes the xmemcpy and xmemmove hacks. Squid has been building for some
  long time without them being consistently used all-over. No complaints.
  bcopy() alternative is still use if needed. However main code can now
  use memcpy( )and memmove() without special X knowledge.

* shuffle strnstr replacement into libcompat from libmisc

* shuffles xis*() function wrappers for is*() with type-casting into compat

No operational changes.

14 years agoFix switch wrapping in log Format custom
Amos Jeffries [Mon, 13 Dec 2010 01:52:37 +0000 (18:52 -0700)] 
Fix switch wrapping in log Format custom

14 years agoSourceFormat Enforcement
Automatic source maintenance [Mon, 13 Dec 2010 01:12:30 +0000 (18:12 -0700)] 
SourceFormat Enforcement

14 years agoHandle early eCAP transaction failures better.
Alex Rousskov [Sun, 12 Dec 2010 23:29:26 +0000 (16:29 -0700)] 
Handle early eCAP transaction failures better.

Do not throw an exception if eCAP transaction had to deal with a virgin body
but was not consuming it at swangSong() time. This may happen if the eCAP
adapter throws an exception before the adapter requests the virgin body
transmission or after it stops the transmission. In other words, the
transaction wrapper consumes only if proxyingVb is on.

14 years agoAdd omitted Format Token includes
Amos Jeffries [Sun, 12 Dec 2010 12:51:33 +0000 (05:51 -0700)] 
Add omitted Format Token includes

14 years agoSourceLayout: cleanup the various log line formatting code
Amos Jeffries [Sun, 12 Dec 2010 05:30:58 +0000 (22:30 -0700)] 
SourceLayout: cleanup the various log line formatting code

Adds:

* namespace Log::Format for log display functionality. Each line formater
  is a global function inside here. The log format enum is also in here
  along with the display encoding 'gadget' functions.

* namespace Time in SquidTime.h for the related time string display
  functions. Unified the various log pretty-print httpd-style time
  functions into Time::FormatHttpd(time_t).
 ** care has been taken to preserve the local-static optimization found
    in accessLogTime() to prevent wasted cycles re-printing the same
    time value more than once per second.

NP: the similar but timezone-missing format is now Time::FormatStrf()
    with the same optimization applied to speed up its callers.

* namespace Math:: to avoid symbol clash with global function Log() and
  namespace Log.

* support for the Apache "combined" log format. Was documented earlier as
  being available but not actually present.

Obsoletes:

* forward_log directive and associated experimental code. If needed
  we can easily add another special format to dump the details.
  FWIW they are all available in the squid format anyway (timestamp,
  squid status, source peer). The documented action of dumping every
  forwarding attempt was not working.

* referer_log and useragent_log directives and matching ./configure options.
 ** shuffled into access_log formats "referrer" and "useragent" for more
    flexibility with less directives.

* emulate_httpd_log replaced with Apache "common" format.

* the "auto" pseudo-format becomes obsolete with emulat_httpd_log.
  default is now "squid" format in all situations.

Code Shuffles:

* moved the logformat directive parsing into LogConfig object methods.

* shuffled the logformat parsing and token code into src/log/Tokens.h|cc
 ** this is purely to break it out of access_log.cc. namespace and scoping
    needs some work.

14 years agoThe memPoolAlloc counter never updated
Christos Tsantilas [Fri, 10 Dec 2010 18:04:41 +0000 (20:04 +0200)] 
The memPoolAlloc counter never updated

14 years agoThe HTTP/ICP requests/messages per minute are not correct when multiple workers used
Christos Tsantilas [Fri, 10 Dec 2010 17:32:43 +0000 (19:32 +0200)] 
The HTTP/ICP requests/messages per minute are not correct when multiple workers used

The HTTP requests/min and ICP messages/min are the sum of the corresponding
kids values not the average.

14 years agoRemove/update references to configure.in
Amos Jeffries [Fri, 10 Dec 2010 09:59:02 +0000 (02:59 -0700)] 
Remove/update references to configure.in

14 years agoPolicy: cleanup some duplicate config.h includes
Amos Jeffries [Fri, 10 Dec 2010 09:49:50 +0000 (02:49 -0700)] 
Policy: cleanup some duplicate config.h includes

14 years agoSourceFormat Enforcement
Automatic source maintenance [Fri, 10 Dec 2010 01:12:26 +0000 (18:12 -0700)] 
SourceFormat Enforcement

14 years agoAuthor: Chad Naugle <chad.naugle@travimp.com>
Amos Jeffries [Thu, 9 Dec 2010 08:55:19 +0000 (01:55 -0700)] 
Author: Chad Naugle <chad.naugle@travimp.com>
Bug 2905: ext_edirectory_userip_acl: buffer handling updates

14 years agoRename libTrie configure.in to configure.ac as well
Amos Jeffries [Wed, 8 Dec 2010 11:19:56 +0000 (04:19 -0700)] 
Rename libTrie configure.in to configure.ac as well

14 years agoTolerate adapted body delivery failures in REQMOD request satisfaction mode.
Alex Rousskov [Tue, 7 Dec 2010 19:32:43 +0000 (12:32 -0700)] 
Tolerate adapted body delivery failures in REQMOD request satisfaction mode.

Without these changes, Squid may assert if an ICAP or eCAP service fails
while delivering response body in REQMOD:
    assertion failed: client_side.cc:1438: "rep"

Other assertions may be possible as well, because we were trying to
serve a freshly built, HttpReply-free error response while already
writing the REQMOD "request satisfaction" response. The assertion
probably depends on that writing stage (wrote nothing yet, wrote
headers, wrote some body, etc).

Polished ERR_DETAIL constants to distinguish the special "request
satisfaction" case and to remove ICAP-specific labels from general
adaptation code.

14 years agoSupport upcoming "fresh message creation" eCAP API.
Alex Rousskov [Tue, 7 Dec 2010 19:10:11 +0000 (12:10 -0700)] 
Support upcoming "fresh message creation" eCAP API.

Adapters need "fresh" (i.e., empty and not cloned) messages to support
"request satisfaction" mode and other cases where cloning a virgin message is
not possible or is awkward because the adapted message is not an adjusted
version of the virgin one.

14 years agoFreeBSD 7.x required for pthreads support
Amos Jeffries [Tue, 7 Dec 2010 11:23:40 +0000 (04:23 -0700)] 
FreeBSD 7.x required for pthreads support

14 years agoPolish on cache_dir min-size port
Amos Jeffries [Tue, 7 Dec 2010 09:14:33 +0000 (02:14 -0700)] 
Polish on cache_dir min-size port

14 years agoSourceFormat Enforcement
Automatic source maintenance [Tue, 7 Dec 2010 01:12:43 +0000 (18:12 -0700)] 
SourceFormat Enforcement

14 years agoBootstrapped
Automatic source maintenance [Tue, 7 Dec 2010 01:11:16 +0000 (18:11 -0700)] 
Bootstrapped

14 years agoAuthor: Markus Moeller <huaraz@moeller.plus.com>
Henrik Nordstrom [Mon, 6 Dec 2010 21:23:54 +0000 (22:23 +0100)] 
Author: Markus Moeller <huaraz@moeller.plus.com>
Correct libasl dependency probe for kerberos_ldap_group

14 years agofix compile error on OpenSolaris using SunStudio CC
Christos Tsantilas [Mon, 6 Dec 2010 20:06:08 +0000 (22:06 +0200)] 
fix compile error on OpenSolaris using SunStudio CC

The way the TidyPointer used inside ssl/gadgets.h which included
through ssl/support.h in squid.h file  requires the ssl libraries
linked with every binary, even if not realy needed.
To solve this probelm remove the 'include "ssl/support.h"' line
from the squid.h and add it only where required.

14 years agoThe *_free SSL API functions can not be used with TidyPointer in some OSes/compilers
Christos Tsantilas [Mon, 6 Dec 2010 14:12:56 +0000 (16:12 +0200)] 
The *_free SSL API functions can not be used with TidyPointer in some OSes/compilers

The *_free SSL functions are declared as extern "C" and can not be used as
DeAllocator argument of the TidyPointer class with some compilers and OSes.
To solve this problem:

- Define the CtoCpp1 macro to allow easy implementation of the C++ equivalent
  function of an extern C function.
  Currently defined in gadgets.h file, if required in the future can be
  moved to TidyPointer.h file
- Use the CtoCpp macro to define the X509_free_cpp
- Remove the Ssl::BIO_free_wrapper function does not needed any more

14 years agoRemove the TidyPointer::deAllocator member does not really needed. Use
Christos Tsantilas [Mon, 6 Dec 2010 14:11:46 +0000 (16:11 +0200)] 
Remove the TidyPointer::deAllocator member does not really needed. Use
directly the DeAllocator function given as template argument instead.

14 years agoFix 'can't create ./src/***: No such file' errors on linking
Amos Jeffries [Mon, 6 Dec 2010 14:06:06 +0000 (03:06 +1300)] 
Fix 'can't create ./src/***: No such file' errors on linking

Side effect of the AIX port fixes using .o instead of duplicating and
re-building the .cc individually. "It seemed a good idea at the time"(tm).
It is a bit strange that it should only show up now, those changes were
made long ago.

Anyways, I've come to the conclusion from other places that the rebuild is
slower to compile but a lot safer to deal with linkage and dependencies.

14 years agoAuthor: Markus Moeller <huaraz@moeller.plus.com>
Amos Jeffries [Mon, 6 Dec 2010 13:53:59 +0000 (02:53 +1300)] 
Author: Markus Moeller <huaraz@moeller.plus.com>
Updated Kerberos header includes

Better heimdal support as new heimdal version have gssapi_krb5 header
files which were in the past only in older MIT releases available.

14 years agoFreeBSD: search /usr/local/include/libxml2 for libxml2 headers
Amos Jeffries [Mon, 6 Dec 2010 13:04:00 +0000 (06:04 -0700)] 
FreeBSD: search /usr/local/include/libxml2 for libxml2 headers

14 years agoFix host OS detection in configure.ac
Amos Jeffries [Mon, 6 Dec 2010 08:24:12 +0000 (01:24 -0700)] 
Fix host OS detection in configure.ac

squid_host_os was being left with the version appended. Which screwed all
the switch and if cases which depended on exact matching the name only.

This corrects the squid_host_os to not contain numeric versions and also
corrects several of the test cases using host_os instead of squid_host_os
or using squid_host_os with version digits.

14 years agoBootstrapped
Automatic source maintenance [Mon, 6 Dec 2010 01:10:52 +0000 (18:10 -0700)] 
Bootstrapped

14 years agoBuild libprofiler only when it will be operational
Amos Jeffries [Sun, 5 Dec 2010 14:29:27 +0000 (03:29 +1300)] 
Build libprofiler only when it will be operational

The internal CPU profiler requires specific CPU support. It is not useful
to build and link the library unless it is going to work.
Uses AC_PREPROC_IFELSE to allow building on cross-compilers.

14 years agoFreeBSD: fix oid definition clash.
Amos Jeffries [Sun, 5 Dec 2010 13:14:30 +0000 (06:14 -0700)] 
FreeBSD: fix oid definition clash.

Use config.h insted of squid.h in peer_proxy_negotiate_auth.cc to avoid
"oid" type clash between the krb5/gssapi library API and SNMP libray APIs

14 years agoFreeBSD: locate packages under /usr/local
Amos Jeffries [Sun, 5 Dec 2010 12:54:17 +0000 (05:54 -0700)] 
FreeBSD: locate packages under /usr/local

14 years agoFix invalid conversion 'long int' to 'time_t'
Amos Jeffries [Sun, 5 Dec 2010 06:14:11 +0000 (23:14 -0700)] 
Fix invalid conversion 'long int' to 'time_t'

14 years agoUpdate bootstrap internal references to configure.in
Amos Jeffries [Sun, 5 Dec 2010 03:09:54 +0000 (16:09 +1300)] 
Update bootstrap internal references to configure.in

14 years agoRenamve configure.ac to match current autotools standards
Henrik Nordstrom [Sun, 5 Dec 2010 02:25:52 +0000 (03:25 +0100)] 
Renamve configure.ac to match current autotools standards

14 years agoMake bootstrap.sh use system default autotools versions instead of searching
Henrik Nordstrom [Sun, 5 Dec 2010 02:23:25 +0000 (03:23 +0100)] 
Make bootstrap.sh use system default autotools versions instead of searching

can be overridden on commandline if needed. See bootstrap.sh for details.

14 years agoAuthor: Markus Moeller <huaraz@moeller.plus.com>
Amos Jeffries [Sun, 5 Dec 2010 00:25:25 +0000 (17:25 -0700)] 
Author: Markus Moeller <huaraz@moeller.plus.com>
Updated Kerberos header includes

Better heimdal support as new heimdal version have gssapi_krb5 header
files which were in the past only in older MIT releases available.

To use kerberos_ldap_group on freebsd config.test has to be changed as
FreeBSD installs additional packages in /usr/local.

On FreeBSD 7 the krb5.h file does not work with C++. Checks for it.

14 years agoUpdate autoconf to 2.68
Henrik Nordstrom [Sat, 4 Dec 2010 21:35:55 +0000 (22:35 +0100)] 
Update autoconf to 2.68

14 years agoAuthor: Dmitry Kurochkin <dmitry.kurochkin@measurement-factory.com>
Amos Jeffries [Sat, 4 Dec 2010 13:11:43 +0000 (06:11 -0700)] 
Author: Dmitry Kurochkin <dmitry.kurochkin@measurement-factory.com>
Bug 3099: Incorrect 412 on If-None-Match and If-Modified-Since

14 years agoFix many C/C++ ABI warnings
Amos Jeffries [Sat, 4 Dec 2010 13:10:19 +0000 (06:10 -0700)] 
Fix many C/C++ ABI warnings

14 years agoBug 3068: Actually make SwapDir capacity fields 64-bit.
Amos Jeffries [Sat, 4 Dec 2010 01:41:43 +0000 (18:41 -0700)] 
Bug 3068: Actually make SwapDir capacity fields 64-bit.

This one uses uint64_t instead of size_t. It's a bit wider reaching than
the earlier commit since much of the existing code used size_t.

14 years agoExperiment: file internal extern declaration for C/C++ crossover
Amos Jeffries [Sat, 4 Dec 2010 01:25:10 +0000 (18:25 -0700)] 
Experiment: file internal extern declaration for C/C++ crossover

14 years agoAvoid comm_read "!fd_table[fd].closing()" assertion after adaptation ACL check
Alex Rousskov [Fri, 3 Dec 2010 23:04:01 +0000 (16:04 -0700)] 
Avoid comm_read "!fd_table[fd].closing()" assertion after adaptation ACL check

The assertion was hit if Server fd was closed while we were checking
adaptation ACLs, and we have not been notified of the closure yet (because the
Adaptation::AccessCheck callback is not async while closure notification is).

14 years agoPolished HttpStateData::persistentConnStatus() code. No functionality changes.
Alex Rousskov [Fri, 3 Dec 2010 22:59:37 +0000 (15:59 -0700)] 
Polished HttpStateData::persistentConnStatus() code. No functionality changes.

Moved virginReply() call closer to the first virgin reply use. This will help
re-adding "did we parse the header yet" check if we ever need it again. It
also saves a couple of CPU cycles for some transactions.

14 years agoPolished HttpStateData::persistentConnStatus() code. No functionality changes.
Alex Rousskov [Fri, 3 Dec 2010 22:56:17 +0000 (15:56 -0700)] 
Polished HttpStateData::persistentConnStatus() code. No functionality changes.

Do not check for flags.headers_parsed. The removed check was:
 - misplaced: connection-related conditions such as eof must be checked first;
 - wasteful: we never call persistentConnStatus() unless we parsed headers.

Moreover, calling persistentConnStatus() before we parse headers would trigger
and assertion because the method uses virginReply() which does not exist until
the headers are parsed.

14 years agoFix malloc_statistics C++ linkages
Amos Jeffries [Fri, 3 Dec 2010 04:57:33 +0000 (17:57 +1300)] 
Fix malloc_statistics C++ linkages

14 years agoFixes instance hides CacheManager::instance errors
Amos Jeffries [Fri, 3 Dec 2010 03:38:34 +0000 (16:38 +1300)] 
Fixes instance hides CacheManager::instance errors

14 years agoDocument libcompat-squid overview
Amos Jeffries [Fri, 3 Dec 2010 03:32:41 +0000 (16:32 +1300)] 
Document libcompat-squid overview

14 years agoFix size obscures MemBlob::size warnings.
Amos Jeffries [Fri, 3 Dec 2010 01:56:04 +0000 (14:56 +1300)] 
Fix size obscures MemBlob::size warnings.