Hello,
The eCAP project recently released two new versions of the eCAP
library, with several important features added. The attached patch adds
Squid support for the latest libecap v0.2.0 and fixes a few bugs we
found along the way. I will summarize the changes below. My
lp:~rousskov/squid/3p2-ecap branch contains detailed messages for these
changes.
The new eCAP features revolve around adapter configuration (similar to
ICAP OPTIONS exchange) and transaction meta-information (similar to ICAP
message headers, not to be confused with ICAP-encapsulated HTTP
headers). There is also request satisfaction and message blocking
support. These features are needed for many adaptation projects. For
example, with these additions, we were able to write a ClamAV virus
scanning adapter (to be published after this work is completed).
Summary of changes:
libecap v0.2.0 support: accept/update/log eCAP transaction meta-info.
libecap v0.2.0 support: supply client IP and username to eCAP adapter.
libecap v0.1.0 support: Support blockVirgin() API with ERR_ACCESS_DENIED
Use pkg-config's PKG_CHECK_MODULES to check for and link with libecap.
Support adapter-specific parameters as a part of ecap_service
configuration. Allow uri=value parameter when specifying adaptation
service URIs.
Fixed virgin body handling in our eCAP transaction wrapper
(Ecap::XactionRep). Fixed BodyPipe.cc:144 "!theConsumer" assertion.
Log "important" messages from eCAP adapters with DBG_IMPORTANT not DBG_DATA!
Added XXXs to identify old unrelated problems to be fixed separately.
Thank you,
Alex.
This archive was generated by hypermail 2.2.0 : Mon Feb 21 2011 - 12:00:04 MST