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:/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
 .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.
 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.
 
 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.
 
       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
 -------------------
 
 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
 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
 
 
 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.
 
    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
 -----------------
 
 Exim version 4.80
 -----------------