Documentation for multiple TCP clamd servers
authorTodd Lyons <tlyons@exim.org>
Wed, 9 Oct 2013 15:48:39 +0000 (08:48 -0700)
committerTodd Lyons <tlyons@exim.org>
Wed, 9 Oct 2013 15:48:39 +0000 (08:48 -0700)
doc/doc-docbook/spec.xfpt
doc/doc-txt/ChangeLog
src/ACKNOWLEDGMENTS
src/README.UPDATING

index 0d539b09512910bf8ff464010aea9e1f4ccb27f6..2598bc89e7cff0fc653e3789be13599135ffdd30 100644 (file)
@@ -29637,6 +29637,7 @@ number, and a port, separated by space, as in the second of these examples:
 av_scanner = clamd:/opt/clamd/socket
 av_scanner = clamd:192.0.2.3 1234
 av_scanner = clamd:192.0.2.3 1234:local
+av_scanner = clamd:192.0.2.3 1234 : 192.0.2.4 1234
 .endd
 If the value of av_scanner points to a UNIX socket file or contains the local
 keyword, then the ClamAV interface will pass a filename containing the data
@@ -29645,6 +29646,21 @@ more efficient.  Normally in the TCP case, the data is streamed to ClamAV as
 Exim does not assume that there is a common filesystem with the remote host.
 There is an option WITH_OLD_CLAMAV_STREAM in &_src/EDITME_& available, should
 you be running a version of ClamAV prior to 0.95.
+
+The final example shows that multiple TCP targets can be specified.  Exim will
+randomly use one for each incoming email (i.e. it load balances them).  Note
+that only TCP targets may be used if specifying a list of scanners; a UNIX
+socket cannot be mixed in with TCP targets.  If one of the servers becomes
+unavailable, Exim will try the remaining one(s) until it finds one that works.
+When a clamd server becomes unreachable, Exim will log a message.  Exim does
+not keep track of scanner state between multiple messages, and the scanner
+selection is random, so the message will get logged in the mainlog for each
+email that the down scanner gets chosen first:
+.code
+2013-10-09 14:30:39 1VTumd-0000Y8-BQ malware acl condition: clamd:\
+ connection to localhost, port 3310 failed (Connection refused)
+.endd
+
 If the option is unset, the default is &_/tmp/clamd_&. Thanks to David Saez for
 contributing the code for this scanner.
 
index eb7b75572cff1ac747928bb0cf35be0a8fec03ca..384cf9755466d62bfbd875d6b5639e7c4de5f952 100644 (file)
@@ -250,6 +250,8 @@ TL/16 Bugzilla 1289 - Clarify host/ip processing when have errors looking up a
       hostname or reverse DNS when processing a host list. Used suggestions
       from multiple comments on this bug.
 
+TL/17 Bugzilla 1057 - Multiple clamd TCP targets patch from Mark Zealey.
+
 
 Exim version 4.80.1
 -------------------
index 4bcf455f895da5159563e8f6ed36d726ef70a408..1c4a93445a415e657c9bb3eae68db3f7498c7ccd 100644 (file)
@@ -455,6 +455,7 @@ Moritz Wilhelmy           Pointed out PCRE_PRERELEASE glitch
 Alain Williams            Patch supporting MySQL stored procedures
 Mark Zealey               Patch updating $message_linecount for maildir_tag
                           Patch improving spamd server selection
+                          Patch to allow multiple TCP clamd servers
 
 
 Packagers
index 0a781128159ff1b8c90776bef5589b02e626bf8a..8b39848b445386dad84c155386e55ecac39d1b79 100644 (file)
@@ -37,6 +37,9 @@ Exim version 4.82
    unnecessary serialisation and load.  External tools tracking the state of
    Exim by the hints databases may need modification to take this into account.
 
+ * The av_scanner option can now accept multiple clamd TCP targets, all other
+   setting limitations remain.
+
 
 Exim version 4.80
 -----------------