]> git.ipfire.org Git - thirdparty/squid.git/commit - src/adaptation/AccessRule.h
Added an adaptation service group API to support groups of services. Current
authorAlex Rousskov <rousskov@measurement-factory.com>
Thu, 3 Apr 2008 05:31:29 +0000 (23:31 -0600)
committerAlex Rousskov <rousskov@measurement-factory.com>
Thu, 3 Apr 2008 05:31:29 +0000 (23:31 -0600)
commit62c7f90e68bf54a3699bda369795e9f2a6b781c0
tree24043646092dd2d486a810e39d4bd9fcdd1815e7
parent57afc994403bf0f36920ce0fc5d4aa8bb41a9be8
Added an adaptation service group API to support groups of services. Current
code supports service sets and single-service groups. The former provides a
way to group interchangeable services together so that one (the "best"
available) service is applied to the message. The latter 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.

Moved adaptation access rule state from being shared between ICAPClass and
ICAPAccessCheck classes into a dedicated AccessRule class. This simplifies
both classes and allows for checking access rules in the correct order.

Use group names when linking adaptation access rules to groups. This is less
efficient (especially since we are still using Vector iteration to find a
matching group) but much simpler. TODO: Optimize.

All adaptation services, access rules, and service groups now have a
finalize() method that is called after configuration parsing has been
completed but before the main loop starts. This allows to verify or optimize
name-based links to other services, rules, and groups.

Moved adaptation access check and group classes into their own files.

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.
20 files changed:
src/ICAP/ICAPConfig.cc
src/ICAP/ICAPServiceRep.cc
src/ICAP/ICAPServiceRep.h
src/Server.cc
src/adaptation/AccessCheck.cc [new file with mode: 0644]
src/adaptation/AccessCheck.h [new file with mode: 0644]
src/adaptation/AccessRule.cc [new file with mode: 0644]
src/adaptation/AccessRule.h [new file with mode: 0644]
src/adaptation/Config.cc
src/adaptation/Config.h
src/adaptation/Makefile.am
src/adaptation/Service.cc
src/adaptation/Service.h
src/adaptation/ServiceGroups.cc [new file with mode: 0644]
src/adaptation/ServiceGroups.h [new file with mode: 0644]
src/adaptation/forward.h
src/cache_cf.cc
src/cf.data.depend
src/cf.data.pre
src/client_side_request.cc