#include "adaptation/Config.h"
static void parse_adaptation_service_set_type();
-
static void parse_adaptation_access_type();
-static void dump_adaptation_access_type(StoreEntry *, const char *);
-static void free_adaptation_access_type();
#endif
#if ICAP_CLIENT
#include "ICAP/ICAPConfig.h"
+static void free_adaptation_access_type(const char *);
+
static void parse_icap_service_type(ICAPConfig *);
static void dump_icap_service_type(StoreEntry *, const char *, const ICAPConfig &);
static void free_icap_service_type(ICAPConfig *);
#endif
+#if USE_ECAP
+#include "eCAP/Config.h"
+static void parse_ecap_service_type(Ecap::Config *);
+static void dump_ecap_service_type(StoreEntry *, const char *, const Ecap::Config &);
+static void free_ecap_service_type(Ecap::Config *);
+#endif
+
CBDATA_TYPE(peer);
static const char *const T_SECOND_STR = "second";
Adaptation::Config::ParseAccess(LegacyParser);
}
-static void
-free_adaptation_access_type()
-{
- Adaptation::Config::FreeAccess();
-}
-
-static void
-dump_adaptation_access_type(StoreEntry * entry, const char *name)
-{
- Adaptation::Config::DumpAccess(entry, name);
-}
-
#endif /* USE_ADAPTATION */
{
debugs(93, 0, "WARNING: 'icap_access' is depricated. " <<
"Use 'adaptation_access' instead");
- parse_adaptation_access_type();
+ Adaptation::Config::ParseAccess(LegacyParser);
}
+
static void
free_icap_access_type(ICAPConfig *)
{
- free_adaptation_access_type();
+ Adaptation::Config::FreeAccess();
}
static void
dump_icap_access_type(StoreEntry * entry, const char *name, const ICAPConfig &)
{
- dump_adaptation_access_type(entry, name);
+ Adaptation::Config::DumpAccess(entry, name);
}
#endif
+
+
+#if USE_ECAP
+
+static void
+parse_ecap_service_type(Ecap::Config * cfg)
+{
+ cfg->parseService();
+}
+
+static void
+free_ecap_service_type(Ecap::Config * cfg)
+{
+ cfg->freeService();
+}
+
+static void
+dump_ecap_service_type(StoreEntry * entry, const char *name, const Ecap::Config &cfg)
+{
+ cfg.dumpService(entry, name);
+}
+
+#endif /* USE_ECAP */
NAME: icap_class
TYPE: icap_class_type
IFDEF: ICAP_CLIENT
-LOC: TheICAPConfig
+LOC: none
DEFAULT: none
DOC_START
This depricated option was documented to define an ICAP service
NAME: icap_access
TYPE: icap_access_type
IFDEF: ICAP_CLIENT
-LOC: TheICAPConfig
+LOC: none
DEFAULT: none
DOC_START
This option is depricated. Please use adaptation_access, which
-----------------------------------------------------------------------------
COMMENT_END
+NAME: ecap_enable
+TYPE: onoff
+IFDEF: USE_ECAP
+COMMENT: on|off
+LOC: Ecap::TheConfig.onoff
+DEFAULT: off
+DOC_START
+ Controls whether eCAP support is enabled.
+DOC_END
+
+NAME: ecap_service
+TYPE: ecap_service_type
+IFDEF: USE_ECAP
+LOC: Ecap::TheConfig
+DEFAULT: none
+DOC_START
+ Defines a single eCAP service
+
+ ecap_service servicename vectoring_point bypass service_url
+
+ vectoring_point = reqmod_precache|reqmod_postcache|respmod_precache|respmod_postcache
+ This specifies at which point of transaction processing the
+ eCAP service should be activated. *_postcache vectoring points
+ are not yet supported.
+ bypass = 1|0
+ If set to 1, the eCAP service is treated as optional. If the
+ service cannot be reached or malfunctions, Squid will try to
+ ignore any errors and process the message as if the service
+ was not enabled. No all eCAP errors can be bypassed.
+ If set to 0, the eCAP service is treated as essential and all
+ eCAP errors will result in an error page returned to the
+ HTTP client.
+ service_url = ecap://vendor/service_name?custom&cgi=style¶meters=optional
+
+Example:
+ecap_service service_1 reqmod_precache 0 ecap://filters-R-us/leakDetector?on_error=block
+ecap_service service_2 respmod_precache 1 icap://filters-R-us/virusFilter?config=/etc/vf.cfg
+DOC_END
+
NAME: loadable_modules
TYPE: wordlist
IFDEF: USE_LOADABLE_MODULES