c-icap - ICAP filtering server
c-icap [ -V ] [ -VV ] [ -f config-file
] [ -N ] [ -d debug-level ] [ -D ]
c-icap is an implementation of an ICAP server. It can be
used with HTTP proxies that support the ICAP protocol. Most of the comercial
HTTP proxies must support ICAP pcotocol.
- -V
- Print version
- -VV
- Print build informations
- -f config-file
- Specify the configuration file
- -N
- Do not run as daemon
- -d level
- Specify the debug level
- -D
- Print debug info to stdout
/etc/c-icap/c-icap.conf
The main configuration file
/etc/c-icap/c-icap.magic
In this file defined the types of files and the groups of file types.
/var/run/c-icap.pid
By default c-icap writes its pid in this file. The path
of this file can changed using the PidFile configuration parameter in the
c-icap.conf file
/var/run/c-icap.ctl
The commands socket. This file used to send commands to
the icap server from command line. For information about implemented commands
look below in the "Implemented commands" sub-section
Currently the following commands are implemented:
- stop
The c-icap will shutdown
- reconfigure
The service will reread the config file without the need
to stop and restart the c-icap server. The services will be
reinitialized
- relog
This command causes c-icap to close and reopen the log
files. This is very useful for log rotation.
Services and modules can define their own commands.
Examples:
- To reconfigure c-icap:
-
echo -n "reconfigure" > /var/run/c-icap.ctl
- To rotate access log:
-
mv /var/log/c-icap/access.log /var/log/c-icap/access.log.1
echo -n "relog" > /var/run/c-icap.ctl
Lookup tables are simple read-only databases. A lookup table can
defined in c-icap.conf file using the form:
type:path
where the type is the type of lookup table and path is the extra
information required to use the table (e.g. file path). Currently the
following lookup table types defined internally by c-icap:
- file
- Simple text file databases. The database records are stored in text files
in the form:
key[: value1, value2 ...]
- hash
- Similar to file lookup tables but c-icap uses fast hashes for
searching.
- regex
- Similar to the file lookup tables but the keys are regular expressions in
the form /regex/flags . For possible flags values please read 'Regex
expressions' paragraph in this manual.
- example path
definition:
regex:/path/to/the/file.txt
The c-icap regex expressions have the form /regex_definition/flags
where "flags" is one or more letters, its of them express a
flag.
- Common flags
g This flag forces the score multiplied by the number of
regex
expression matches. For example if the expression matches 5
times and the devined score value is 10 then the final score
will be 50.
i Do caseless matching
m Match-any-character operators don't match a newline
and ^$ operators does not match newlines within data
- If the module compiled using the
pcre library the following flags can be used
s (PCRE_DOTALL) matches anything including NL
x (PCRE_EXTENDED) Ignore whitespace and # comments
A (PCRE_ANCHORED) Force pattern anchoring
D (PCRE_DOLLAR_ENDONLY) $ not to match newline at
end
U (PCRE_UNGREEDY) Invert greediness of quantifiers
X (PCRE_EXTRA) PCRE extra features
u (PCRE_UTF8) Run in UTF-8 mode
Someone can retrieve runtime information using the info
service. The information includes bytes received and transmited, active
services, information about service usage and many other. The information
provided in HTML and text format.
Example:
- Retrieve runtime
information from command line:
c-icap-client -i localhost -s "info?view=text"
-req "a_url"