]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
12 years agoChanged HERE macro to be a true nop, clarified documentation, and marked is as deprec...
Francesco Chemolli [Mon, 12 Nov 2012 13:11:36 +0000 (14:11 +0100)] 
Changed HERE macro to be a true nop, clarified documentation, and marked is as deprecated.
Fixed syntax bug in comm.cc unearthed by the macro-to-function change.

12 years agoBug 3279: Polish: reference bugzilla record to prevent duplicate reports
Amos Jeffries [Mon, 12 Nov 2012 02:25:12 +0000 (19:25 -0700)] 
Bug 3279: Polish: reference bugzilla record to prevent duplicate reports

12 years agoBug 3329: Polish: reference the bugzilla number in cache.log to prevent duplicates
Amos Jeffries [Mon, 12 Nov 2012 02:21:18 +0000 (19:21 -0700)] 
Bug 3329: Polish: reference the bugzilla number in cache.log to prevent duplicates

12 years agoFixed issue introduced by debugs() change
Francesco Chemolli [Sat, 10 Nov 2012 21:00:41 +0000 (22:00 +0100)] 
Fixed issue introduced by debugs() change

12 years agoModify debugs() to automatically include file, line and function name for high-detail...
Francesco Chemolli [Sat, 10 Nov 2012 18:13:37 +0000 (19:13 +0100)] 
Modify debugs() to automatically include file, line and function name for high-detail cache log lines.

12 years agoSourceFormat Enforcement
Automatic source maintenance [Sat, 10 Nov 2012 01:13:27 +0000 (18:13 -0700)] 
SourceFormat Enforcement

12 years agoMultiple certificate_db/ssl_crtd fixes
Christos Tsantilas [Fri, 9 Nov 2012 15:08:10 +0000 (17:08 +0200)] 
Multiple certificate_db/ssl_crtd fixes

- Try to update the index file in all cases the database modified
- The find operator in database should not modify the database. Currently
  if an entry is expired, ssl_crtd removes the cert file but does not
  update the index file.
  rows. Currently we are using the new operator.
- Fix a small memory leak when remove entries from database: A row object
  removed from TXT_DB indexes but never released. This patch:
     * Use OPENSSL_malloc and OPENSSL_free to allocate/release memory for
       TXT_DB rows. OpenSSL SDK assumes that always allocated using these
       functions.
     * Add code in Ssl::CertificateDb::Row destructor to correctly release
       a TXT_DB row.
     * Add the sq_TXT_DB_delete and sq_TXT_DB_delete_row functions which
       removes a row from TXT_DB indexes.

This is a Measurement Factory project

12 years agoFix broken ssl_crtd helper interface
Christos Tsantilas [Wed, 7 Nov 2012 19:26:45 +0000 (21:26 +0200)] 
Fix broken ssl_crtd helper interface

With the patch r12422 which added support for OK/ERR/BH  helper response codes,
the ssl_crtd interface become broken. The ConnStateData::sslCrtdHandleReply
ssl_crtd reply handler, expects a response code included at the beggining of
the returned message. This is not true after the changes.

This patch add a parameter in Ssl::CrtdMessage constructor to define a message
as "ssl_crtd reply" or "ssl_crtd request" message. For ssl_crtd reply messages
the message parser does not expect helper response code.

This is a Measurement Factory project

12 years agoPolish: improve const correctness on Squid vector<> implementation
Amos Jeffries [Wed, 7 Nov 2012 01:43:16 +0000 (14:43 +1300)] 
Polish: improve const correctness on Squid vector<> implementation

This update allows == and != operators to be used with const_iterator
and removes the need for many implicit conversions safely.

12 years agoBug 3659: read_timeout problem with HTTPS
Jean-Philippe Menil [Tue, 6 Nov 2012 05:01:03 +0000 (22:01 -0700)] 
Bug 3659: read_timeout problem with HTTPS

12 years agoCleanup: remove dead testNull unit test
Amos Jeffries [Fri, 2 Nov 2012 23:54:44 +0000 (17:54 -0600)] 
Cleanup: remove dead testNull unit test

12 years agoAdd SEND_BH macro to helper API definitions
Amos Jeffries [Fri, 2 Nov 2012 11:20:14 +0000 (05:20 -0600)] 
Add SEND_BH macro to helper API definitions

12 years agoSourceFormat Enforcement
Automatic source maintenance [Fri, 2 Nov 2012 00:13:41 +0000 (18:13 -0600)] 
SourceFormat Enforcement

12 years agoPortability: Move testRefCount to src/
Amos Jeffries [Thu, 1 Nov 2012 10:31:28 +0000 (23:31 +1300)] 
Portability: Move testRefCount to src/

It seems the automake dependencies on stub_*.o are still not working well
and ICC requires several stubs in order to link libbase.la.

This also adds new stubs for MemBuf.h and cbdata.h APIs.

12 years agoPolish: replace several assert(isOpen(fd))
Amos Jeffries [Tue, 30 Oct 2012 21:43:53 +0000 (10:43 +1300)] 
Polish: replace several assert(isOpen(fd))

Reduces by over half the number of asserts which can be confused as
cache.log bug reports just says "assertion isOpen(fd)" in comm.cc

12 years agoFix HelperReply(const HelperReply&) is private
Amos Jeffries [Tue, 30 Oct 2012 09:16:33 +0000 (22:16 +1300)] 
Fix HelperReply(const HelperReply&) is private

GCC 4.1 and possibly others use copy-constructor when an instance is
created in a function parameter list using copy by reference.
We must create such objects as loal variables and pass to the function
for best efficiency.

12 years agoFix HelperReply(const HelperReply&) is private
Amos Jeffries [Tue, 30 Oct 2012 00:36:45 +0000 (18:36 -0600)] 
Fix HelperReply(const HelperReply&) is private

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

12 years agoSupport OK/ERR/BH response codes from any helper
Amos Jeffries [Mon, 29 Oct 2012 23:12:04 +0000 (12:12 +1300)] 
Support OK/ERR/BH response codes from any helper

Updates the helper reponse callback API from using char* buffer to a
HelperReply object storing teh response code, a blob buffer, and
pointer to the responding helper 'server' (if stateful).

* the helper I/O read handler is updated to parse the result code off
the start of the helper response as is currently done for channel-ID.
The callback handlers are altered to use the HelperReply::status instead
of parsing it off themselves individually.

* the remaining I/O read buffer is stored in a MemBuf and callbacks are
updated to use it via the method other().

* the responding helper-server is stored into the HelperReply object and
stateful helper callbacks are combined into the same API as stateless.
The callback handlers are updated to use HelperReply::lastserver instead
of function parameter.

After this patch the helper response format is:
  [channel-ID] SP [result] [ [SP] blob] <terminator>

'SP' being one octet \0x20 character.

The behavour changes expected from this is that all helpers are now able
to send OK/ERR/BH states. Although the handlers for some helpers will
deal with the new states as unknown response. None of the bundled
helpers have yet been altered to make use of this changed potential.

TODO:
* implement key=value parser for the blob area of the format, and update
handlers to use the HelperReply API to retrieve them.
* upgrade helpers to make use of new response format

12 years agoFix spelling and compile issues in CommIO
Amos Jeffries [Mon, 29 Oct 2012 22:46:06 +0000 (11:46 +1300)] 
Fix spelling and compile issues in CommIO

12 years agoFix broken include in urllogin ACL
Amos Jeffries [Mon, 29 Oct 2012 13:01:01 +0000 (07:01 -0600)] 
Fix broken include in urllogin ACL

12 years agoPolish: update the RefCount API a bt and split Lock out
Amos Jeffries [Mon, 29 Oct 2012 04:59:58 +0000 (22:59 -0600)] 
Polish: update the RefCount API a bt and split Lock out

* Shuffle RefCount.h and its unit-tests into src/base/

* Reworks struct Refcountable_  into class LockableObject in its own header
 + changing the reference counter accessors to a lock()/unlock() names
 + some minor symbol updates of code directly utilizing the RefCountable_
   members

With this we can begin the process of replacing our multiple different
implementations of the reference-counting pattern using LockableObject.

No code changes have been made. Just symbol polishing.

TODO: update the unit-tests for refcounting to use CPPUnit

12 years agoBug 3189: AIO thread race on pipe() initialization
Amos Jeffries [Mon, 29 Oct 2012 02:17:18 +0000 (20:17 -0600)] 
Bug 3189: AIO thread race on pipe() initialization

12 years agoPorted: urllogin ACL from squid 2.7
Amos Jeffries [Mon, 29 Oct 2012 01:31:29 +0000 (19:31 -0600)] 
Ported: urllogin ACL from squid 2.7

12 years agoFix ecap after Http::MethodType change
Francesco Chemolli [Sat, 27 Oct 2012 13:04:38 +0000 (15:04 +0200)] 
Fix ecap after Http::MethodType change

12 years agoSourceFormat Enforcement
Automatic source maintenance [Sat, 27 Oct 2012 00:13:19 +0000 (18:13 -0600)] 
SourceFormat Enforcement

12 years agonote option
Christos Tsantilas [Fri, 26 Oct 2012 19:43:58 +0000 (22:43 +0300)] 
note option

Add forgotten Notes.cc and Notes.h file

12 years agonote option
Christos Tsantilas [Fri, 26 Oct 2012 19:42:31 +0000 (22:42 +0300)] 
note option

This patch adds note option to squid.conf. It is similar to
adaptation_meta but is applied after all adaptation and before logging.
Values of key/value pair notes can be logged using %{key}note macros.

    note key value acl ...
    logformat myFormat ... %{key}note ...

This option may be initially used to log custom information about the master
transaction. For example, an admin may configure Squid to log which "user group"
the transaction belongs to, where "user group" will be determined based on a
set of ACLs and not [just] authentication information.

From user point of view, adaptation_header sets/implies meta (i.e.,
setting adaptation_meta is sufficient to be able to log it using
%note) but the note option itself (if any) is evaluated later,
so it has no effect on ICAP headers.

This is a Measurement Factory project

12 years agoFixed mistakenly reverted test
Francesco Chemolli [Fri, 26 Oct 2012 16:42:05 +0000 (18:42 +0200)] 
Fixed mistakenly reverted test

12 years agoRefactored tools/purge conffile reading to c++-streams
Francesco Chemolli [Fri, 26 Oct 2012 15:29:42 +0000 (17:29 +0200)] 
Refactored tools/purge conffile reading to c++-streams

12 years agoPolish: Http::MethodType upgrade
Amos Jeffries [Fri, 26 Oct 2012 11:36:45 +0000 (05:36 -0600)] 
Polish: Http::MethodType upgrade

Convert the METHOD_* enum into a class with accessors to determine
method string/image, idempotency, safety (as per RFC 2616 terminology).

* creates the initial http/ directory and http/libsquid-http.la
  library as per SourceLayout needs
  - libsquid-http is chosen to prevent symbols mistakes with libhttp
    which may exist on some systems under the libhttp or http/libhttp name.

enum changes:

* migrates _method_t to Http::MethodType and makes it a enum with
  auto-generated strings array provided by the new library.

* the enum list is extended to contain all methods in the HTTPbis WG
  new method registry
  - documentation now references that registry and HTTPbis draft
    document listing methods

HttpRequest class changes:

* cacheable() changed to maybeCacheable() accessor
  - to reflect that it determines NON-cacheability with certainty, but
    when returns TRUE it can still be overridden by Http Reply details
    and/or local environment details.
  - updated to cache the complex calculation result.

HttpRequestMethod class changes:

* The new isIdempotent() and isHttpSafe() accessors are altered
  slightly from the original code to match the RFCs. The existing code
  produces incorrect true/false values on some methods.

* new accessor shouldInvalidate() which produces true if the request
  method alone is enough to determine an RFC SHOULD invalidate condition.
  - purgesOthers() accessor is still present with the old behaviour, but
    for better caching we should convert the code to using
    shouldInvalidate()

* new accessors respMaybeCacheable() which produces true if the
  request method alone is enough to determine an RFC MAY cache condition.
  - replaces isCacheable() accessor which did not produce any certainty
    as implied by the name, and was producing incorrect assessments anyway
    for some methods.
  - it is more of a test whether *Squid* is known to be able to cache
    the response to this method, than whether the RFC permit it.
  - There are several cases where it should produce true according to
    the RFCs but isCacheable() was doing false due to bugs or missing
    feature support. These cases are now documented with reasons and things
    to test or fix before they can be made to return true.

* the remainders of obsolete extension_methods directive code is dropped

Global httpCachable(method) function dropped - replaced by
HttpRequest::maybeCacheable() accessor which does better cacheability
checks.

... and there are a lot of METHOD_FOO -> Http::METHOD_FOO symbol-only
changes fluffing out the patch size.

12 years agoext_lm_group_acl: Add missing rfc1738.h include
Amos Jeffries [Fri, 26 Oct 2012 02:21:21 +0000 (20:21 -0600)] 
ext_lm_group_acl: Add missing rfc1738.h include

12 years agoRemove Bungled warning on missing component directives
Amos Jeffries [Tue, 23 Oct 2012 06:39:34 +0000 (19:39 +1300)] 
Remove Bungled warning on missing component directives

* Make Squid display a ERROR notice and ignore squid.conf directives
  which belong to components disabled at build time instead of throwing
  up 'FATAL: Bungled' message and aborting.

* Polish the 'requires X' message text for better display of cases like
  'requires MS Windows' and 'requires Linux'

* Add 'requires X' message for --enable-auth, --enable-eui, and
  --enable-ssl-crtd which were missing.

12 years agoFix missing predefines in PeerDigest.h
Amos Jeffries [Mon, 22 Oct 2012 11:50:58 +0000 (00:50 +1300)] 
Fix missing predefines in PeerDigest.h

12 years agoAdd constructore/destructor for Mgr::ActionPasswordList
Amos Jeffries [Mon, 22 Oct 2012 11:46:00 +0000 (00:46 +1300)] 
Add constructore/destructor for Mgr::ActionPasswordList

Missing constructor for Mgr::ActionPasswordList resulted in invalid values
for next pointer and segmentation fault parsing multiple cachemgr_passwd
directives.

Missing destructor resulted in memory leaks on reconfigure and shutdown.

12 years agoPrep for 3.2.3 and 3.3.0.1
Amos Jeffries [Sat, 20 Oct 2012 10:33:44 +0000 (04:33 -0600)] 
Prep for 3.2.3 and 3.3.0.1

12 years agoRemove the refresh_pattern ignore-no-cache option
Amos Jeffries [Sat, 20 Oct 2012 08:01:32 +0000 (02:01 -0600)] 
Remove the refresh_pattern ignore-no-cache option

With the HTTP/1.1 Cache-Control:no-cache compliance upgrade this option became
obsolete. Its main use-case was to force caching of responses which contained this
control. Revalidation is now happening and no-cache objects are cached by default.

The one remaining effect of ignoring no-cache is to prevent no-cache from allowing
authenticated responses being cached. Which is the opposite of its usually expected
result and allowing that change of behaviour would be counter productive.

12 years agoHTTP/1.1: Cache-Control compliance upgrade
Amos Jeffries [Fri, 19 Oct 2012 09:17:33 +0000 (03:17 -0600)] 
HTTP/1.1: Cache-Control compliance upgrade

trunk rev 11361 converted Cache-Control header from using a single mask
bitmap (shared by request and response) to separate CC header objects in
the request response. This conversion contained several regressions like
the one bug 3670 reports.

This patch:
 * documents HttpStateData::cacheableReply() clarifying the overall
   method action and what each individual check it doing.
 * resolves several visible regressions, including bug 3670.
 * extends the caching to handle the "no-cache" controls as per HTTP/1.1
   (MAY store, but MUST revalidate before use).
 * extends the caching for several lesser known cases of "MAY store"
   exemptions handling authenticated transactions.
 * removes an old hack handling Pragme:no-cache (undefined in HTTP/1.1)

One side effect of now caching transactions utilizing "no-cache" is that
hacks around Pragma:no-cache are reduced to only having any effect when
Cache-Control is absent. Reducing their performance cost. And now require
--enable-http-violations is built in since HTTP/1.1 states that
response Pragma are not defined and thus SHOULD be ignored.

12 years agoSourceFormat Enforcement
Automatic source maintenance [Fri, 19 Oct 2012 00:13:17 +0000 (18:13 -0600)] 
SourceFormat Enforcement

12 years agobasic_sspi_auth: several compile issues on MinGW
Amos Jeffries [Thu, 18 Oct 2012 08:55:04 +0000 (02:55 -0600)] 
basic_sspi_auth: several compile issues on MinGW

* Fixes build issues with usage() function definition removing the use of
  global my_program_name

* Fixes double definition of safe_free()

* Removes the DEBUG macro. Helper API uses a -d run-time flag now.

12 years agoWindows: revert broken attempt at removing #define macro wrappers
Amos Jeffries [Thu, 18 Oct 2012 08:43:32 +0000 (02:43 -0600)] 
Windows: revert broken attempt at removing #define macro wrappers

"using Squid::foo" style of defining when namespace functions to use when
there is a clash appears not to work on MinGW. We are forced to retain
the old #define macros.
This resolves "error: call of overloaded ... is ambiguous"

Update a few functions parameters to POSIX compliant APIs using socklen_t.
This resolves "error: invalid conversion from 'socklen_t*'"

12 years agoSourceFormat Enforcement
Automatic source maintenance [Wed, 17 Oct 2012 00:14:09 +0000 (18:14 -0600)] 
SourceFormat Enforcement

12 years agoAdded explicit braces to avoid ambiguous "else" and make GCC happy.
Alex Rousskov [Tue, 16 Oct 2012 03:41:57 +0000 (21:41 -0600)] 
Added explicit braces to avoid ambiguous "else" and make GCC happy.

Pragma:no-cache has effect only when Cache-Control is absent.

12 years agoHTTP/1.1: honour Cache-Control before Pragma:no-cache
Amos Jeffries [Tue, 16 Oct 2012 01:38:43 +0000 (19:38 -0600)] 
HTTP/1.1: honour Cache-Control before Pragma:no-cache

HTTPbis WG clarifications on the interaction between Cache-Control and
Pragma specify that Cache-Control may be explicitly crafted to allow
conditional caching by HTTP/1.1 caches and Pragma:no-cache supplied to
prevent caching by older HTTP/1.0 caches unable to understand the
Cache-Control properly.

Squid does obey Cache-Control. So we can deprecate Pragma to the side
cases when Cache-Control is absent entirely.

12 years agoReverted trunk r12255 changes. Provided a portable flexible arrays replacement.
Alex Rousskov [Tue, 16 Oct 2012 00:26:06 +0000 (18:26 -0600)] 
Reverted trunk r12255 changes. Provided a portable flexible arrays replacement.

Trunk r12255 made Clang compiler happy by removing flexible nonPod[] arrays.
Unfortunately, it also moved shared memory items into local memory (in some
cases uninitialized).

This change provides a Clang-friendly flexible array replacement while keeping
items in the shared memory (and using placement-new initialization). The code
may have become even less readable, but hopefully more portable.

N.B. Flexible arrays were introdiced in C99 standard, after C++ was
standardized in 1998. They are not yet in any revised C++ standard, but most
C++ compilers support them, at least for PODs.

12 years agoAllow a ufs cache_dir entry to coexist with a shared memory cache entry
Alex Rousskov [Tue, 16 Oct 2012 00:18:09 +0000 (18:18 -0600)] 
Allow a ufs cache_dir entry to coexist with a shared memory cache entry
instead of being released when it becomes idle.

The original boolean version of the StoreController::dereference() code
(r11730) was written to make sure that idle unlocked local store_table entries
are released if nobody needs them (to avoid creating inconsistencies with
shared caches that could be modified in a different process).

Then, in r11786, we realized that the original code was destroying non-shared
memory cache entries if there were no cache_dirs to vote for keeping them in
store_table. I fixed that by changing the StoreController::dereference() logic
from "remove if nobody needs it" to "remove if somebody objects to keeping
it". That solved the problem at hand, but prohibited an entry to exist in
a non-shared cache_dir and in a shared memory cache at the same time.

We now go back to the original "remove if nobody needs it" design but also
give non-shared memory cache a vote so that it can protect idle but suitable
for memory cache entries from being released if there are no cache_dirs to
vote for them.

This is a second revision of the fix. The first one (r12231) was reverted
because it did not pass tests/testRock unit tests on some platforms. The unit
tests assume that the entry slot is not locked after the entry is stored, but
the first revision of the fix allowed idle entries to remain in store_table
and, hence, their slots were locked and could not be replaced, causing
assertions.  This revision allows the idle entry to be destroyed (and its slot
unlocked) if [non-shared] memory caching is disabled.

It is not clear why only some of the platforms were affected by this. Should
not memory caching be disabled everywhere during testRock (because testRock
does not set memory cache capacity and memory cache entry size limits)?

12 years agoFix linking issue in testDiskIO when optimizations are disabled
Francesco Chemolli [Sat, 13 Oct 2012 21:31:34 +0000 (23:31 +0200)] 
Fix linking issue in testDiskIO when optimizations are disabled

12 years agoWindows: filter the buildable helpers for MinGW
Amos Jeffries [Sat, 13 Oct 2012 05:39:01 +0000 (23:39 -0600)] 
Windows: filter the buildable helpers for MinGW

12 years agolibsspwin32: SSP_LogonUser takes char * parameters
Amos Jeffries [Sat, 13 Oct 2012 05:29:03 +0000 (23:29 -0600)] 
libsspwin32: SSP_LogonUser takes char * parameters

There is no need to cast these parameters via void*. Both the library
and the basic auth helper(s) that use it work with char* strings.

12 years agoWindows: C++ conversion for libsspwin32
Amos Jeffries [Fri, 12 Oct 2012 12:50:01 +0000 (06:50 -0600)] 
Windows: C++ conversion for libsspwin32

Updates this Squid convenience library to build as C++.

Also, fixed header include path for libntlmauth symbol definitions.

12 years agoPortability: pass OS name to helper config.test scripts
Amos Jeffries [Fri, 12 Oct 2012 12:25:08 +0000 (06:25 -0600)] 
Portability: pass OS name to helper config.test scripts

This will help us perform OS-specific enable/disable rather than having
to identify some software or file that SHOULD exist only in those OS, but
which might exist elsewhere for weird reasons (ie windows.h).

NP: the $@ which was being passed was unused by any current config.test
  Removed it and converted to fixed-position parameters for easier
  script development.

12 years agoWindows: fix error: variable 'h_error' set but not used
Amos Jeffries [Fri, 12 Oct 2012 04:55:14 +0000 (22:55 -0600)] 
Windows: fix error: variable 'h_error' set but not used

12 years agoOptimization: Test faster condition first. No functionality changes expected.
Alex Rousskov [Fri, 12 Oct 2012 04:14:44 +0000 (22:14 -0600)] 
Optimization: Test faster condition first. No functionality changes expected.

12 years agoBug 3655: pinning failure breaks NTLM and Negotiate authentication
Wolfgang Breyha [Fri, 12 Oct 2012 02:21:16 +0000 (20:21 -0600)] 
Bug 3655: pinning failure breaks NTLM and Negotiate authentication

12 years agoCorrect --enable-build-info on out-of-tree builds
Henrik Nordstrom [Thu, 11 Oct 2012 21:14:50 +0000 (23:14 +0200)] 
Correct --enable-build-info on out-of-tree builds

bzr expects to be run from the source tree, not the build directory

12 years agoAdded missing library in testStatHist
Francesco Chemolli [Thu, 11 Oct 2012 08:57:12 +0000 (10:57 +0200)] 
Added missing library in testStatHist

12 years agoWindows: better wrap C++-specific code in compat layer
Amos Jeffries [Thu, 11 Oct 2012 07:19:02 +0000 (01:19 -0600)] 
Windows: better wrap C++-specific code in compat layer

12 years agoWindows: build Windows specific libraries only on Windows.
Amos Jeffries [Thu, 11 Oct 2012 07:10:01 +0000 (01:10 -0600)] 
Windows: build Windows specific libraries only on Windows.

Some libraries are only available on Windows and others are unable to be built.

12 years agoStatic Code Analysis: varargs cleanup, improvements to readability
Francesco Chemolli [Wed, 10 Oct 2012 17:06:38 +0000 (19:06 +0200)] 
Static Code Analysis: varargs cleanup, improvements to readability

12 years agoStatic Code Analysis: fix varargs handling in snmp_core.cc
Francesco Chemolli [Wed, 10 Oct 2012 09:14:27 +0000 (11:14 +0200)] 
Static Code Analysis: fix varargs handling in snmp_core.cc

12 years agoStatic Code Analysis: fix varargs handling in snmp_core.cc
Francesco Chemolli [Wed, 10 Oct 2012 08:44:23 +0000 (10:44 +0200)] 
Static Code Analysis: fix varargs handling in snmp_core.cc

12 years agossl_crtd: set new certificate serial number to zero
Amos Jeffries [Wed, 10 Oct 2012 04:47:29 +0000 (22:47 -0600)] 
ssl_crtd: set new certificate serial number to zero

Initialize new BN value to zero instead of simply testing and ignoring
the result.

Detected by Jenkins running clang on FreeBSD 9.

12 years agoFix using assignment as a condition without parentheses
Amos Jeffries [Wed, 10 Oct 2012 00:57:33 +0000 (13:57 +1300)] 
Fix using assignment as a condition without parentheses

12 years agoSourceFormat Enforcement
Automatic source maintenance [Wed, 10 Oct 2012 00:13:20 +0000 (18:13 -0600)] 
SourceFormat Enforcement

12 years agoPortability: fix several class/struct type mismatches
Amos Jeffries [Tue, 9 Oct 2012 23:15:44 +0000 (12:15 +1300)] 
Portability: fix several class/struct type mismatches

Leftover problem from trunk r12339 changes.

Detected by clang on FreeBSD 9.

12 years agoWindows: portability layer updates for MinGW environment
Amos Jeffries [Tue, 9 Oct 2012 09:23:00 +0000 (03:23 -0600)] 
Windows: portability layer updates for MinGW environment

* Move the util.h definitions into os/mswindows.h compat header.
* Add wrapper definitions for many MinGW specific POSIX symbols
* UPdate POSIX wrapper types

A few of these changes are suspect as to whether they work for CygWin and
MSCV. Particularly the POSIX wrapper type changes. We still need a set of
comprehensive MinGW, Cygwin and MSCV build tests to be done. These changes
were enough to build on MinGW some time back, but additional changes are
now likely to be needed and no run-time testing has been done so far.

12 years agoFix ipv6 enabled squidclient. Was failing with assertion failure due to ipv6 support...
Henrik Nordstrom [Tue, 9 Oct 2012 09:00:20 +0000 (11:00 +0200)] 
Fix ipv6 enabled squidclient. Was failing with assertion failure due to ipv6 support not being probed automatically.

12 years agoFreeBSD: net/if_dl.h seems to require param.h
Amos Jeffries [Tue, 9 Oct 2012 01:03:20 +0000 (19:03 -0600)] 
FreeBSD: net/if_dl.h seems to require param.h

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

12 years agoPortability: typo in EUI header requirement checks
Amos Jeffries [Mon, 8 Oct 2012 21:51:51 +0000 (15:51 -0600)] 
Portability: typo in EUI header requirement checks

12 years agoFix includes missed in rev12369
Amos Jeffries [Mon, 8 Oct 2012 09:57:20 +0000 (03:57 -0600)] 
Fix includes missed in rev12369

12 years agoWindows: simplify abstraction layer header files
Amos Jeffries [Mon, 8 Oct 2012 08:40:01 +0000 (02:40 -0600)] 
Windows: simplify abstraction layer header files

Merge compat/os/windows.h, compat/os/mswin.h, and include/squid_windows.h
into a single compat/os/mswindows.h pulled in via the compat.h.

Also, rename compat/mswin.cc to match the new header .h name.

12 years agoWindows: drop unused WIN32_pipe() implementation
Amos Jeffries [Mon, 8 Oct 2012 08:11:02 +0000 (02:11 -0600)] 
Windows: drop unused WIN32_pipe() implementation

The WIN32_pipe() wrapper function is not necessary on MinGW where _pipe()
is available, and is unused on other Windows builds where helper IPC
layer has been written to use STREAM sockets instead of pipe()

12 years agoWindows: merge alternative getrusage() into squid_getrusage() wrapper
Amos Jeffries [Mon, 8 Oct 2012 08:00:06 +0000 (02:00 -0600)] 
Windows: merge alternative getrusage() into squid_getrusage() wrapper

Since we are already providing a wrapper layer for getrusage() we can
merge the Windows alternative implementation into our wrapper directly.
No need to perform multiple layers of abstraction.

12 years agoPortability: change Ipc::Port::listen to doListen()
Amos Jeffries [Mon, 8 Oct 2012 07:20:51 +0000 (01:20 -0600)] 
Portability: change Ipc::Port::listen to doListen()

listen() clashes with POSIX function of the same name.
Some systems (ie MinGW) define it as a macro wrapper.

12 years agoWindows: disable purge tool
Amos Jeffries [Mon, 8 Oct 2012 07:16:04 +0000 (01:16 -0600)] 
Windows: disable purge tool

The purge tool requires quite a few updates before it will build on Windows.
It is easier at this point to simply not build it.

12 years agoWindows: wrap sys/shm.h sys/ipc.h includes
Amos Jeffries [Mon, 8 Oct 2012 07:06:28 +0000 (01:06 -0600)] 
Windows: wrap sys/shm.h sys/ipc.h includes

12 years agoWindows: correct C++ type usage on LoadSecurityDll()
Amos Jeffries [Mon, 8 Oct 2012 06:59:13 +0000 (00:59 -0600)] 
Windows: correct C++ type usage on LoadSecurityDll()

12 years agontlm_sspi_auth: correct linkage to library libntlmauth.la
Amos Jeffries [Mon, 8 Oct 2012 06:57:13 +0000 (00:57 -0600)] 
ntlm_sspi_auth: correct linkage to library libntlmauth.la

12 years agoWindows: updated test for ws2tcpip.h and windows.h
Amos Jeffries [Mon, 8 Oct 2012 06:50:37 +0000 (00:50 -0600)] 
Windows: updated test for ws2tcpip.h and windows.h

12 years agoWindows: check recv() parameter type
Amos Jeffries [Mon, 8 Oct 2012 06:38:35 +0000 (00:38 -0600)] 
Windows: check recv() parameter type

12 years agoPortability: permit eCAP build without pkg-config
Amos Jeffries [Mon, 8 Oct 2012 06:30:38 +0000 (00:30 -0600)] 
Portability: permit eCAP build without pkg-config

Windows does not have a port of pkg-config, other OS may be in the same
situation. That only impacts on Squids ability to confirm the library
version not on its ability to link and use it.

This reduces some configure errors to warnings when pkg-config is not
located on the local system.

12 years agoWindows: provide mkdir() wrapper
Amos Jeffries [Mon, 8 Oct 2012 05:35:27 +0000 (23:35 -0600)] 
Windows: provide mkdir() wrapper

12 years agoWindows: update several __MINGW32__ to generic _SQUID_MINGW_
Amos Jeffries [Mon, 8 Oct 2012 05:28:02 +0000 (23:28 -0600)] 
Windows: update several __MINGW32__ to generic _SQUID_MINGW_

12 years agoWindows: cleanup Squid OS detection macros
Amos Jeffries [Mon, 8 Oct 2012 05:21:11 +0000 (23:21 -0600)] 
Windows: cleanup Squid OS detection macros

* _SQUID_WINDOWS_  for any Windows build specific code
* _SQUID_CYGWIN_   for CygWin Windows build specific code
* _SQUID_MINGW_    for MinGW Windows build specific code

12 years agoWindows: fix detection of GNU atomis operations
Amos Jeffries [Mon, 8 Oct 2012 04:33:15 +0000 (22:33 -0600)] 
Windows: fix detection of GNU atomis operations

On MinGW the GNU atomis operatiosn symbols are defined but do not work.
We require a run-time test to detect problems. Not just a compiler check.

12 years agoWindows: support customization of --prefix= via compat/autoconf.h
Amos Jeffries [Mon, 8 Oct 2012 04:27:26 +0000 (22:27 -0600)] 
Windows: support customization of --prefix= via compat/autoconf.h

Rather than defining DEFAULT_PREFIX on the compiler command line this
builds its value into autoconf.h for use whenever needed. Avoiding
otential issues with buggy Makefile.am coding.

Also allows the --prefix value to be sourced from the autoconf internal
default settings instead of requiring a manual --prefix parameter for
SNMP module to build and link properly.

12 years agoWindows: disable Mmapped DiskIO support
Francesco Chemolli [Mon, 8 Oct 2012 04:13:19 +0000 (22:13 -0600)] 
Windows: disable Mmapped DiskIO support

MinGW does not always supply mmap.

TODO:
 Add proper feature detection to decide when this IS available on Windows.
 Use the Windows native mmap functionality.

12 years agoTypo in rev12352
Amos Jeffries [Sun, 7 Oct 2012 05:00:02 +0000 (23:00 -0600)] 
Typo in rev12352

12 years agoFix error: 'opt_parse_cfg_only' was not declared in this scope
Amos Jeffries [Sun, 7 Oct 2012 03:16:30 +0000 (21:16 -0600)] 
Fix error: 'opt_parse_cfg_only' was not declared in this scope

12 years agoRelease Notes: 3.3 updates
Amos Jeffries [Sun, 7 Oct 2012 03:11:39 +0000 (21:11 -0600)] 
Release Notes: 3.3 updates

12 years agoPolish: use DBG_PARSE_NOTE to warn about deprecated logformat tokens
Amos Jeffries [Sat, 6 Oct 2012 11:59:07 +0000 (05:59 -0600)] 
Polish: use DBG_PARSE_NOTE to warn about deprecated logformat tokens

12 years agoBranch 3.3.0.0
Automatic source maintenance [Sat, 6 Oct 2012 04:24:49 +0000 (22:24 -0600)] 
Branch 3.3.0.0

12 years agoPrep for 3.2.2
Amos Jeffries [Sat, 6 Oct 2012 02:54:53 +0000 (20:54 -0600)] 
Prep for 3.2.2

12 years agoSourceFormat Enforcement
Automatic source maintenance [Sat, 6 Oct 2012 00:13:17 +0000 (18:13 -0600)] 
SourceFormat Enforcement

12 years agoDo not check 'reply content_length is too big' condition twice.
Alex Rousskov [Fri, 5 Oct 2012 23:36:22 +0000 (17:36 -0600)] 
Do not check 'reply content_length is too big' condition twice.

The check got duplicated was

4410
committer: hno
branch nick: HEAD
timestamp: Wed 2000-05-03 00:49:26 +0000
message:
  hno squid-2.2.STABLE2.to_large_objects-2.patch
  Squid-2.2.STABLE2: Don't swap out objects > maximum_object_size

12 years agoAdded missing source files in recipe for testStatHist
Francesco Chemolli [Fri, 5 Oct 2012 15:56:08 +0000 (17:56 +0200)] 
Added missing source files in recipe for testStatHist

12 years agoMove fatal family of functions to own implementation and stub files.
Francesco Chemolli [Fri, 5 Oct 2012 13:38:19 +0000 (15:38 +0200)] 
Move fatal family of functions to own implementation and stub files.

12 years agoMerged from trunk
Francesco Chemolli [Fri, 5 Oct 2012 13:27:37 +0000 (15:27 +0200)] 
Merged from trunk

12 years agoShuffled fatal family of functions into own implementation.
Francesco Chemolli [Fri, 5 Oct 2012 13:10:15 +0000 (15:10 +0200)] 
Shuffled fatal family of functions into own implementation.
Created stub for fatal.cc.
Move all files to src/ due to their dependencies.