12781
|
|
|
Alex Rousskov |
11 years ago
|
|
|
12254
|
|
|
Amos Jeffries |
11 years ago
|
|
|
12236
|
|
|
Amos Jeffries |
11 years ago
|
|
|
11141
|
|
|
Amos Jeffries |
13 years ago
|
|
|
10946
|
|
|
Amos Jeffries |
13 years ago
|
|
|
9753
|
|
|
Amos Jeffries |
14 years ago
|
|
|
8931
|
|
eCAP support, part 1: Loadable modules and ICAP-independent Squid core.
The first part of eCAP work includes (a) initial support for loadable modules and (b) removing ICAP from main Squid sources, replaced with the adaptation API that does not depend on a specific adaptation mechanism.
The patch does not contain significant changes to main Squid sources. Generic adaptation API should minimize significant core changes going forward. Details are below. For a low-level change log, see the eCAP bzr branch at https://code.launchpad.net/~rousskov/squid/ecap
Configuration and features:
Added adaptation_service_set squid.conf option, deprecating icap_class. The new option has more accurate documentation and does not depend on the adaptation protocol so one can group eCAP and ICAP services. Added adaptation_service_set squid.conf option, deprecating icap_access. The new option has more accurate documentation and does not depend on the adaptation protocol so one can mix-and-match eCAP and ICAP ACL rules.
Added loadable_modules squid.conf option to specify what shared libraries to load dynamically. The support is based on libtool's ltdl convenience library and is enabled by default. It can be disabled using --disable-loadable-modules. Loadable modules are needed for eCAP, but loadable_modules code deals with generic module manipulation, independent from eCAP support. Squid does not yet communicate with the loaded modules. TODO: support cachemgr reporting and reconfiguration of modules.
Internals:
Squid core no longer knows about ICAP: General message adaptation code has been moved from src/ICAP to src/adaptation/. The only connection between main Squid code and ICAP is squid.conf parser and a few enabling lines in main.cc. USE_ADAPTATION is enabled if ICAP_CLIENT or USE_ECAP is enabled. TODO: Make adaptation comments, debug, and error messages in main Squid code ICAP-neutral. This has not been done yet to reduce VCS conflicts.
The src/ICAP/ directory now has its own Makefile (so does the new src/adaptation). TODO: Should ICAP and eCAP directories be moved inside adaptation/?
The eCAP directory and the --enable-ecap option have been added, but they should not be used yet.
Added an adaptation service group API to support groups of services. Current code supports service sets and single-service groups. Sets provide a way to group interchangeable services together so that one (the "best" available) service is applied to the message. A single-service group is an internal feature to allow user to mix service and group names in squid.conf ACLs. TODO: support service chains (as a service group) and perhaps group of groups?
Implemented delayed creation of adaptation services. We used to create ICAPServiceRep objects when parsing the configuration file. Create-as-you-parse is imperfect for several reasons, especially if the services are dynamically loaded as is the case with eCAP. We now remember the service configuration and then create the actual service object _after_ the configuration has been parsed and loadable modules, if any, have been loaded.
The bootstrap.sh script has been updated to generate ltdl library using libtoolize and move it to lib/libLtdl (except for the standard copyright file). With libtool version 2, the move will be supported by libtoolize itself. The lib/libLtdl directory and libtool.m4 file are not in VCS.
|
Alex Rousskov |
16 years ago
|
|
|
8795
|
|
|
rousskov |
16 years ago
|
|
|
8645
|
|
|
wessels |
16 years ago
|
|
|
8644
|
|
|
wessels |
16 years ago
|
|
|
7891
|
|
|
adrian |
17 years ago
|
|
|
7418
|
|
|
hno |
18 years ago
|
|
|
6609
|
|
|
wessels |
20 years ago
|
|
|
6608
|
|
|
wessels |
20 years ago
|
|
|
6590
|
|
|
wessels |
20 years ago
|
|
|
5678
|
|
|
robertc |
21 years ago
|
|
|
5195
|
|
|
adrian |
22 years ago
|
|
|
5153
|
|
|
hno |
22 years ago
|
|
|
4893
|
|
|
hno |
23 years ago
|
|
|
4794
|
|
|
wessels |
23 years ago
|
|
|