C-icap-modules-0.1.x Configuration Reference

Modules/Subsystems

Configuration parameters

srv_clamav configuration

Description:
This is an antivirus services which uses the open source
clamav antivirus.
Example:
Service antivirus_module srv_clamav.so
ServiceAlias  avscan srv_clamav?allow204=on&sizelimit=off&mode=simple

srv_url_check configuration

Description:
This is an URL blacklist/whitelist icap service
Example:
Service url_check_module srv_url_check.so

Configuration parameters description

srv_clamav.ScanFileTypes
Format:
srv_clamav.ScanFileTypes type1 [type2] ...
Description:
the list of file types or groups of file types which will be 
scanned for viruses. For supported types look in c-icap.magic 
configuration file.
Default:
None set.
srv_clamav.SendPercentData
Format:
srv_clamav.SendPercentData percent
Description:
the percentage of data that can be sent by the c-icap server 
before receiving the complete body of a request.
This feature in conjuction with the folowing can be usefull 
becouse if the download of the object takes a lot of time 
the connection of web client to proxy can be expired. 
It must be noticed that the data which delivered to the 
web client maybe contains a virus or a part of a virus
and can be dangerous. In the other hand partial data 
(for example 5% data of a zip or an exe file) in most 
cases can not be used. 
Set it to 0 to disable this feature.
Default:
srv_clamav.SendPercentData 0
srv_clamav.StartSendPercentDataAfter
Format:
srv_clamav.StartSendPercentDataAfter bytes
Description:
Only if the object is bigger than size then the percentage 
of data which defined by SendPercentData sent by the c-icap 
server before receiving the complete body of request.
Default:
srv_clamav.StartSendPercentDataAfter 0
srv_clamav.Allow204Responces
Format:
srv_clamav.Allow204Responces on|off
Description:
 enable 204 responces outside previews for srv_clamav if 
 your icap client support it. For squid let it off.
Default:
srv_clamav.Allow204Responces off
srv_clamav.MaxObjectSize
Format:
srv_clamav.MaxObjectSize  Bytes
Description:
The maximum size of files which will be scanned by 
clamav.You can use K and M indicators to define size
in kilobytes or megabytes.
Default:
srv_clamav.MaxObjectSize  5M
srv_clamav.ClamAvTmpDir
Format:
srv_clamav.ClamAvTmpDir path
Description:
clamav's temporary directory.
Default:
srv_clamav.ClamAvTmpDir /var/tmp
srv_clamav.ClamAvMaxFilesInArchive
Format:
srv_clamav.ClamAvMaxFilesInArchive Num
Description:
 Sets the maximum number of files in archive. Used 
 by clamav library. Set it to 0 to disable it.
Default:
srv_clamav.ClamAvMaxFilesInArchive 0
srv_clamav.ClamAvMaxFileSizeInArchive
Format:
srv_clamav.ClamAvMaxFileSizeInArchive Bytes
Description:
 Sets the maximal archived file size. Used by clamav 
 library. Set it to 0 to disable it.
Default:
srv_clamav.ClamAvMaxFileSizeInArchive 100M
srv_clamav.ClamAvMaxRecLevel
Format:
srv_clamav.ClamAvMaxRecLevel level
Description:
 The maximal recursion level. Used by clamav library.
 Set it to 0 to disable it.
Default:
srv_clamav.ClamAvMaxRecLevel 5
srv_clamav.VirSaveDir
Format:
srv_clamav.VirSaveDir path
Description:
The directory where the downloaded files stored.
Must be a directory where a web server has access.
Default:
No set
Example:
srv_clamav.VirSaveDir /srv/www/htdocs/downloads/
srv_clamav.VirHTTPServer
Format:
srv_clamav.VirHTTPServer URL
Description:
The url which used by the web client to retrieve 
downloaded file. The file where the download stored 
can has diferent name than the original, if a file 
with the same name exists in the directory. In the 
url the "%f" can be used to specify the real name 
of downloaded file.
You can use the small cgi program "get_file.pl" 
which exists in contrib directory of c-icap-modules 
distribution.
Default:
No set
Example:
srv_clamav.VirHTTPServer  "http://fortune/cgi-bin/get_file.pl?usename=%f&remove=1&file="
smv_clamav.VirUpdateTime
Format:
smv_clamav.VirUpdateTime seconds
Description:
The secs is the interval between the "progress of download"
 messages in seconds.
Default:
srv_clamav.VirUpdateTime   15
srv_clamav.VirScanFileTypes
Format:
srv_clamav.VirScanFileTypes type1 type2 ...
Description:
 The list of file types and groups of file types, 
 for which this mode must be used.
Default:
None set
Example:
srv_clamav.VirScanFileTypes ARCHIVE EXECUTABLE
url_check.LookupTableDB
Format:
url_check.LookupTableDB DBName type lookup_table_path
Description:
DBName is a a name for this database
type can be one of the following:
     host: defines a hostnames database. Matches if the hostname
     	   exist in ths database.
	   
     url: defines a URL's database. Matches if a part of the
     	  http url exist in this database.
	  For example the  www.site.com/to/path/page.html matches if any
	  of the following exist in this database:
	     www.site.com/to/path/page.html
	     www.site.com/to/path/
	     www.site.com/to/
	     www.site.com/
	     site.com/to/path/page.html
	     site.com/to/path/
	     site.com/to/
	     site.com/
	     com/to/path/page.html
	     com/to/path/
	     com/to/
	     com/www.site.com/to/path/page.html
	     www.site.com/to/path/
	     www.site.com/to/
	     www.site.com/
	     site.com/to/path/page.html
	     site.com/to/path/
	     site.com/to/
	     site.com/
	     com/to/path/page.html
	     com/to/path/
	     com/to/
	     com/
	     
     full_url: it defines a URL's database. Matches if the exact
     	       url exist in this database.
	       
     domain: defines a domain names database. Matches if http 
     	     server hostname belongs to a domain which exists 
	     in this database.http
lookup_table_path is a lookup table definition which contains
keys of the defined type
Default:
None set
Example:
url_check.LookupTableDB  denyhosts host hash:/usr/local/c-icap/etc/denyhosts.txt
url_check.LoadSquidGuardDB
Format:
url_check.LoadSquidGuardDB DBName SquidGuardDBPath
Description:
Defines a squidGuard database. A such database normaly contains
one domain and one urls database, and checked with the same way
the squidGuard use it.
DBName is the database name
SquidGuardDBPath is the path of the database.
Default:
None set
Example:
url_check.LoadSquidGuardDB porn /usr/local/blacklists-toulouse/porn/
url_check.Profile
Format:
url_check.Profile ProfileName pass|block DBName|ALL
Description:
It is used to define policy profiles. The use of "default" as
ProfileName is reserved and defines a default policy for all 
requests for which no profile defined
Default:
None set
Example:
url_check.Profile BlockPorn block porn
url_check.Profile default pass ALL
url_check.ProfileAccess
Format:
url_check.ProfileAccess ProfileName [!]acl1 ...
Description:
It is used to select  policy profile to apply based on acls
Default:
None set
Example:
acl Foo group foo
url_check.ProfileAccess BlockPorn Foo