.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Mail::SpamAssassin::Plugin::DCC 3pm" .TH Mail::SpamAssassin::Plugin::DCC 3pm "2020-01-31" "perl v5.28.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Mail::SpamAssassin::Plugin::DCC \- perform DCC check of messages .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& loadplugin Mail::SpamAssassin::Plugin::DCC \& \& full DCC_CHECK eval:check_dcc() \& full DCC_CHECK_50_79 eval:check_dcc_reputation_range(\*(Aq50\*(Aq,\*(Aq79\*(Aq) .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \s-1DCC\s0 or Distributed Checksum Clearinghouse is a system of servers collecting and counting checksums of millions of mail messages. The counts can be used by SpamAssassin to detect and filter spam. .PP See https://www.dcc\-servers.net/dcc/ for more information about \s-1DCC.\s0 .PP Note that \s-1DCC\s0 is disabled by default in \f(CW\*(C`v310.pre\*(C'\fR because its use requires software that is not distributed with SpamAssassin and that has license restrictions for certain commercial uses. See the \s-1DCC\s0 license at https://www.dcc\-servers.net/dcc/LICENSE for details. .PP Enable it by uncommenting the \*(L"loadplugin Mail::SpamAssassin::Plugin::DCC\*(R" confdir/v310.pre or by adding this line to your local.pre. It might also be necessary to install a \s-1DCC\s0 package, port, rpm, or equivalent from your operating system distributor or a tarball from the primary \s-1DCC\s0 source at https://www.dcc\-servers.net/dcc/#download See also https://www.dcc\-servers.net/dcc/INSTALL.html .SH "TAGS" .IX Header "TAGS" The following tags are added to the set, available for use in reports, header fields, other plugins, etc.: .PP .Vb 4 \& _DCCB_ DCC server ID in X\-DCC\-*\-Metrics header field name \& _DCCR_ X\-DCC\-*\-Metrics header field body \& _DCCREP_ DCC Reputation or percent bulk mail (0..100) from \& commercial DCC software .Ve .SH "USER OPTIONS" .IX Header "USER OPTIONS" .IP "use_dcc (0|1) (default: 1)" 4 .IX Item "use_dcc (0|1) (default: 1)" Whether to use \s-1DCC,\s0 if it is available. .IP "dcc_body_max \s-1NUMBER\s0" 4 .IX Item "dcc_body_max NUMBER" .PD 0 .IP "dcc_fuz1_max \s-1NUMBER\s0" 4 .IX Item "dcc_fuz1_max NUMBER" .IP "dcc_fuz2_max \s-1NUMBER\s0" 4 .IX Item "dcc_fuz2_max NUMBER" .PD Sets how often a message's body/fuz1/fuz2 checksum must have been reported to the \s-1DCC\s0 server before SpamAssassin will consider the \s-1DCC\s0 check hit. \&\f(CW999999\fR is \s-1DCC\s0's \s-1MANY\s0 count. .Sp The default is \f(CW999999\fR for all these options. .IP "dcc_rep_percent \s-1NUMBER\s0" 4 .IX Item "dcc_rep_percent NUMBER" Only the commercial \s-1DCC\s0 software provides \s-1DCC\s0 Reputations. A \s-1DCC\s0 Reputation is the percentage of bulk mail received from the last untrusted relay in the path taken by a mail message as measured by all commercial \s-1DCC\s0 installations. See http://www.rhyolite.com/dcc/reputations.html You \f(CW\*(C`must\*(C'\fR whitelist your trusted relays or \s-1MX\s0 servers with \s-1MX\s0 or \&\s-1MXDCC\s0 lines in /var/dcc/whiteclnt as described in the main \s-1DCC\s0 man page to avoid seeing your own \s-1MX\s0 servers as sources of bulk mail. See https://www.dcc\-servers.net/dcc/dcc\-tree/dcc.html#White\-and\-Blacklists The default is \f(CW90\fR. .SH "ADMINISTRATOR OPTIONS" .IX Header "ADMINISTRATOR OPTIONS" .IP "dcc_timeout n (default: 8)" 4 .IX Item "dcc_timeout n (default: 8)" How many seconds you wait for \s-1DCC\s0 to complete, before scanning continues without the \s-1DCC\s0 results. A numeric value is optionally suffixed by a time unit (s, m, h, d, w, indicating seconds (default), minutes, hours, days, weeks). .IP "dcc_home \s-1STRING\s0" 4 .IX Item "dcc_home STRING" This option tells SpamAssassin where to find the dcc homedir. If not specified, try to use the locally configured directory from the \f(CW\*(C`cdcc homedir\*(C'\fR command. Try /var/dcc if that command fails. .IP "dcc_dccifd_path \s-1STRING\s0" 4 .IX Item "dcc_dccifd_path STRING" This option tells SpamAssassin where to find the dccifd socket instead of a local Unix socket named \f(CW\*(C`dccifd\*(C'\fR in the \f(CW\*(C`dcc_home\*(C'\fR directory. If a socket is specified or found, use it instead of \f(CW\*(C`dccproc\*(C'\fR. .Sp If specified, \f(CW\*(C`dcc_dccifd_path\*(C'\fR is the absolute path of local Unix socket or an \s-1INET\s0 socket specified as \f(CW\*(C`[Host]:Port\*(C'\fR or \f(CW\*(C`Host:Port\*(C'\fR. Host can be an IPv4 or IPv6 address or a host name Port is a \s-1TCP\s0 port number. The brackets are required for an IPv6 address. .Sp The default is \f(CW\*(C`undef\*(C'\fR. .IP "dcc_path \s-1STRING\s0" 4 .IX Item "dcc_path STRING" Where to find the \f(CW\*(C`dccproc\*(C'\fR client program instead of relying on SpamAssassin to find it in the current \s-1PATH\s0 or \f(CW\*(C`dcc_home/bin\*(C'\fR. This must often be set, because the current \s-1PATH\s0 is cleared by \fItaint mode\fR in the Perl interpreter, .Sp If a \f(CW\*(C`dccifd\*(C'\fR socket is found in \f(CW\*(C`dcc_home\*(C'\fR or specified explicitly with \f(CW\*(C`dcc_dccifd_path\*(C'\fR, use the \f(CWdccifd(8)\fR interface instead of \f(CW\*(C`dccproc\*(C'\fR. .Sp The default is \f(CW\*(C`undef\*(C'\fR. .IP "dcc_options options" 4 .IX Item "dcc_options options" Specify additional options to the \fBdccproc\fR\|(8) command. Only characters in the range [0\-9A\-Za\-z ,._/\-] are allowed for security reasons. .Sp The default is \f(CW\*(C`undef\*(C'\fR. .IP "dccifd_options options" 4 .IX Item "dccifd_options options" Specify additional options to send to the dccifd daemon with the \s-1ASCII\s0 protocol described on the \fBdccifd\fR\|(8) man page. Only characters in the range [0\-9A\-Za\-z ,._/\-] are allowed for security reasons. .Sp The default is \f(CW\*(C`undef\*(C'\fR. .IP "dcc_learn_score n (default: undef)" 4 .IX Item "dcc_learn_score n (default: undef)" Report messages with total scores this much larger than the SpamAssassin spam threshold to \s-1DCC\s0 as spam.