Add missing ipcache.cc stub in testUfs
Receive annotations from external ACL helpers

This completes the annotation support for common helper interfaces by
making custom key=value pairs sent by external ACL helpers in to
NotePair objects and attaching to the active request.

The other side of this - sending values to the helper is deferred until
the helper format can be converted to logformat codes.
Added missing stub_lipbicmp.cc to testUfs
Support libecap v1.0, allowing asynchronous adapters and eCAP version checks.

After these changes, Squid can support eCAP adapters built with libecap v1.0,
but stops supporting adapters built with earlier libecap versions (due to API
changes). The new libecap version allows Squid to better check the version of
the eCAP adapter being loaded as well as the version of the eCAP library being
used. This should help with migration to libecap v1.0.


Expose [running] main event loop as a global so that modules can add engines.
Bug 3972: Segfault when getting the deny info page ID after a reconfigure

Older ACL code was using a stale AclMatchedName value. More recent code resets
the AclMatchedName global to NULL to avoid leaking the stale value, but that
may crash strcmp() in aclGetDenyInfoPage(). Long-term, the global should be
removed, of course.
Protect aclIsProxyAuth() debugging from NULL names (via NULL AclMatchedName).

Related to Bug 3972 fix in r13156.
Prep for 3.3.11 and 3.4.0.3
OpenBSD portability fix in DiskThreads
librfcnb: portability fixes

Add #include wrapper protection for headers missing on Windows MinGW.

  This is an iCelero Project
Portability: refresh_pattern requires regex

The GnuRegex portability wrapper is required explicitly by
RefreshPattern.h on some systems which do not include regex.h implicitly
via other paths.

  This is an iCelero project
Portability: std::string:npos is not always appropriate for String::npos

On some systems such as Windows MinGW the signed/unsigned property of
std::string::npos does not match up with the Squdi String class size_type
signed/unsigned property. Resulting in compiler signed vs unsigned
mismatch errors when compiling.

  This is an iCelero project.
Windows: fix compile errors in WinSvc.cc

Fix defined by unused symbol errors in WinSvc.cc

Also, set the service error mode to prevent Windows Error Reporting
dialog boxes appearing.

  This is an iCelero Project
Portability: sleep() is sometimes a macro

sleep() is sometimes defined as a macro. Such as in Squid compat library.
Use another name for the sleep starting method in class Ipc::UdsOp

  This is an iCelero Project
Destroy ACLs in the reverse order of creation to avoid destruction segfaults
during reconfiguration.

Group ACLs created later may use other ACLs created earlier. A group ACL must
be deleted first so that its AclDeleter can safely access registration status
(and avoid double deletion) of the ACLs it uses. Since ACLs are remembered (in
Config.aclList) using a singly-linked list, it is difficult to change their
deletion order.  Instead, we change their listing order from FIFO to LIFO.
Documented that ACLs should be refcounted.

Refcounting would avoid ACL destruction problems (when some ACLs use other
ACLs or when an ACL goes async during reconfigure) and may even reduce
problems with AclMatchedName.
Bug 3935: Invalid pointer dereference when peeking at origin server certificate

We must check request->clientConnectionManager pointer for validity before
dereferencing it.

This is a Measurement Factory project
Removed spurious source files from src/icmp/Makefile.am
Bug 3589: intercepted and ICAP modified request using a cache_peer
%tS logformat code

This patch add the %tS logformat code to represent master transaction start time
in <seconds>.<milliseconds> format, similar to the existing access.log "current
time" field (%ts.%03tu).

Also allow formated values for adaptation_meta values.

This is a Measurement Factory project
%tS logformat code, part2

Fix build on 3.HEAD-amd64-CentOs-icc