CHANGELOG st patch


Updated to version qmail-scanner-2.11, see the file CHANGES
in this directory or
for details.



Updated to version qmail-scanner-2.10, see the file CHANGES
in this directory or
for details.

Fix '--debug DEBUG_LEVEL' in configure script, sometimes the DEBUG_LEVEL
was reset to '1'.



NEW, 'minidebug' has been deprecated, now it is possible to set
a loglevel in 'debug' (values 0-5 or >100)

Fix the regex in the routine 'spamassassin_alt' to catch the
report for some localized languages.

Added a configuration option to use spamd in an remote host (sa-remote)



Updated to version qmail-scanner-2.08, see the file CHANGES
in this directory or
for details.



Updated to version qmail-scanner-2.06, see the file CHANGES
in this directory or
for details.

Now the configure script creates the '$scandir/tmp' directory, 
there were some people with issues about this directory being
created by on its first run.

Fixed a bug in the regex extracting the sa_report,
thanks to Peter Conrad.

Now to have the sa-report header you don't need to enable sa-debug,
of course you have to enable sa-alt and then sa-report. Enabling
sa-debug only adds the sa-report to qmail-queue.log

Added some patches from Miroslav Urbanek that fixed some problems
with logging ($log_details).

Added support for "Eset Mail Security 3.0.x" (ex nod32),
thanks to Apro Krisztian. The nod32 routine is not removed
because nod32-2.7.x is still supported by Eset.



Updated to version qmail-scanner-2.05, see the file CHANGES
in this directory or
for details.

st-patch still support reject even if qmail-custom-error patch
is not present.



Updated to version qmail-scanner-2.04, see the file CHANGES
in this directory or
for details.

Some cosmetic fixes in the configure script.

Fix a bug in the configure script, when the 
qmail-custom-error patch was not present
the exit code was set to 82 instead of 31, and
then the mails were reject with a smtp-code 450
(temporary...) and not with a 550 (permanent).
Thanks to Tomas Charvat for spotted the bug (20080616)

Fix a regex in the quarantine-events.txt file,
a dot was missing (20080704)



Updated to version qmail-scanner-2.02, see the file CHANGES
in this directory or
for details.

The new 'reject' feature of the official version is still managed in
my way in the patched, so only spam mail will be rejected.
The qmail-custom-error patch is supported.

'sa_timeout' and 'sa_maxsize' are configuration parameters that are
easy to change in (in the official version
are, in some way..., hardcoded after the configurarion process).

Added the feature SA 'fault tolerant' also to the ruotine sa_alt.

Added a configuration option --setuidgid-path for people that
installs 'daemontools' in an unusual path.

Fixed a problem with the French localization of SpamAssassin in the
routine sa_alt, the SA report was missing (they call it a
localization but...)

Now if you enabled sa_forward the forwarded mails are not quarantined,
just forwarded. I don't use this feature but some people asked for
this change of behavior, if you want the old way comment the line
'return if ($sa_forward ...' at the start of the routine
'sub email_quarantine_report'.

Modified the '' script in the 'contrib'
directory for the sa_reject test and the notification to the 'admin'.

Fixed some cosmetics messages in the configure script.

The elapsed time in the working_copy routine was wrong when
minidebug was enabled.

Changed some paths for correctly use the etcdir and logdir hidden
options, some people use them...

Added an special PATH to the configure script for Solaris 10,
thanks to Lorenzo Patocchi for the hint. (20080401)

Back to the code suggested by Apro Krisztian for nod32 v2.70.11,
unfortunately the code was missing from qs-2.1 to qs-2.02 (20080410)



Fixed a bug in the settings per domain routine, the 'sa_forward'
variable must be untainted, thanks to Tomas Charvat.

Fixed other minor issues in the settings per domain routine
that only affects particular choices on those settings...
Thanks to Josh Trutwin.

Update the nod32 routine for version '2.70.3'.
Thanks to Apro Krisztian. (20070301)



Fixed the check over the variable SA_ONLYDELETE_HOST, it
didn't work with the settings-per-domain enabled.

Fixed some cosmetics bugs in the routine show_version.

Added to the contrib directory the shell script by Aizudin Ali Yeon, you can use it
with a cronjob to send mails with the log-reports.



Fix a minor bug in the quarantine routine while quaratining a
message for multiples recipients, the error was almost cosmetic.

Changed in the configure script the checks about qs-group. Now it is
not needed that qs-group will be the initial_group of qs-user.

Modified the logs for the 'Policy Blocks' in order to catch them all
with which has been slightly changed.

Implemented option '-s' to sort the file 'settings_per_domain.txt'

Implemented option '-V' to display some configuration details.

Fix a small bug in the configure script about the warning for
daemontools. Thanks to Alexander Hosfeld. (20060704)

Fix a small bug in for compressed logs. (20060910)



Updated to version qmail-scanner-2.01 (more or less...).

Changed the configure script to detect 'setuidgid' (from
daemontools packet) and a workaround for systems that don't
have it installed.

Fix a bug in the configure script about the sa-socket, under some
circustances the socket was detected even if it doesn't exist.

It isn't necessary update to this version if you have q-s-2.00
running, in this version only the configure script has been changed.



Updated to version qmail-scanner-2.00, see for details.
Now the official version quarantine spam, but I have left
my own way of managing spam (there were too many things that
I've ought to change...)

Fixed a cosmetic bug in the headers of messages for multiples recipients
where the spamassassin score was repeated for every user.

Changed the script, now is faster, some log messages
from the spamassassin routine have been slightly changed to have a
better output from the script.

Added the script (Jason had added it in the contrib
directory in the official version), this script outputs the CMDLINE from
your installed in a way you can reuse it for a
new installation, beaware that some options have changed from 1.2x



The feature scanners-per-domain become settings-per-domain, now it is
possible to define some settings of the spamassassin routine per
user/domain in the file settings_per_domain.txt, that replaces the
file scanners_per_domain.txt, see the documentation inside the file.
Just rename your scanners_per_domain.txt file and everything will
continue to work.
Changed the way a message is marked to delete, now it is different
if the message has a virus or is spam.
Thanks to Juraj Hantak and P-O Yliniemi, also Brian Ipsen has suggested
a feature like this some moths ago.

There is support to use spamassassin sql settings. The configure script
will detect if you have this feature enabled. And sa_alt also will
use the sql settings, useful if you use 'settings-per-domain'.
Spamassassin will scan messages for multiples recipients once per recipient.
Thanks to P-O Yliniemi.

Changed the way the fast or verbose mode of spamassassin are triggered,
please use fast_spamassassin, there are too many things that could go
wrong if the of spamassassin is modified when running the
verbose mode. This also fix a bug where the sa_subject wasn't modified.

Changed the variable spamc_subject to sa_subject, just cosmetic.

Fix some cosmetics issues in the output of option '-v'.

The EOL (end of line) check is disabled by default as there some
mailclients (Macintosh..) that insert '\r' in the headers.

Fix some cosmetics (or not..) issues in the CMDLINE and configure script.

Added more checks in the configure script to avoid errors with
empty options.

Fixed the script for a new log format (20050416).

The declaration of some variables is moved ahead in
the code to avoid confusion (20050416).

Now the command '/var/qmail/bin/ -d'
displays the settings per domain database sorted by domain (20050419)



Updated to version qmail-scanner-1.25, see for details.

Small change in the way spamd-socket is detected during the configuration.
And return to my old way of set it in

Check if the ppid (parent pid) is still alive before doing anything,
otherwise quit silently.

MINIDEBUG can be set to '2' to log the ppid, the message size and
send a warn to qmail-smtpd log if there are no sender and no recipient.

Added a separate subroutine to check sa_score against sa_quarantine and
sa_delete, to avoid duplicate code and to have a shorter code, that's
never waste...

If a message for multiples recipients contains a virus_to_delete,
check only for the first recipient.



Updated to version qmail-scanner-1.24, see for details.

sa-fwd-verbose [yes|no]       (default: no)
Whether to add the X-Spam headers to the forwarded message
if sa-forward is set.

If a mail from a local user is blocked it will be notified
to the 'admin' even with 'nmladm' or 'nmlvadm' selected.
The string 'LOCAL USER' is added to the subject of the notification,
it would need to be localized in the future...
(suggested by Nerijus Baliunas)

Added the script '' in the qmailscan directory, this
script does a quick statistic from qmail-queue.log (or .gz)

Added some checks in the configure script to avoid some configure
errors with empty options, it is better don't use an empty option...
Also added some cosmetic information.
Added a check for automatically discover the spamd-socket
that works in RH-7.3

Added the code to use the spamassassin 'sql' per user settings in
the routine 'sub spamassassin_alt', but it is commented, uncomment
it if you wat to use 'sql' per user settings with sa_alt enabled.

Fix a minor bug in the spamassassin routine, quarantine_description
was not set if it already existed. (thanks to Arvinn Lokkebakken)

Fix a minor bug in scanners_per_domain, there wasn't a match
if the return-path was in capitals. (thanks to Devendra Singh)



I forgot to add the check for '$smaildir' when I added
it to the distro... Fixed. (thanks to Nerijus Baliunas)



Add some checks to avoid that sa-report (sa_hdr_report)
could be enabled when sa-alt or sa-debug are disabled.
In this (unnormal) situation the header of the message
was corrupted, but the message was still delivered
correctly. Thanks to Joseph Murdock.

Add a check to avoid an empty $sa_report.

Fixed a bug, when scanners_per_domain was enabled and there
were multiple recipients the X-Spam-Status was lost for
some recipients.



Updated to version qmail-scanner-1.23, see for details.

Fixed a bug in the configure script, the script returned an
error when sa-forward was empty.

Add $smaildir to to quarantine spam in an
alternative mailfolder. You have to edit the file and change it, this
is not a configuration option. Suggested by Nerijus Baliunas.

sa-report [yes|no]            (default: no)
          If sa-alt and sa-debug are enabled you can add
          the X-Spam-Report header to the messages enabling
          this option.

Improved the regex to extract the sa-report.

Replaced the spamc-nasty.eml to speed the configure script.

Tested sa_alt with SpamAssassin 3.0.0-pre4



Add the choice 'none' to the routine scanners_per_domian, now is 
possible to set to 'none' the scanners of an user or set to 'none'
the @scanners_default array. No headers will be add to the
messages regardin the scanners when the scanner_array is 'none'.

Now the routine scanners_per_domian runs only once each scanner
and stores the results in a hash when trere are multiple recipents.

sa-forward    (default: empty)
            User to redirect spam mails 'being quarantined' for
            admin purposes...
            (i.e.  --sa-forward

Some cosmetics changes in the routine of spamassassin.

Updated the routine check_and_grab_uuencoding to 1.22 (oops)

Add some documentation to scanners_per_domian.

Add some documentation to sa_alt, spamassassin config and sa_socket.



Fix a bug where the qmail-scanner-queue-version.txt file was not
generated properly, because @scanners_array was empty, 
thanks to Peter M. Nielsen.

The match against the return-path and the domain-return-path it is
only done if the variable RELAYCLIENT is defined, thanks to Patrik Nilsson.



scanners_per_domain, this options allows to define a per user/domain
       scanners_array, see the file scanners_per_domain.txt for details.
       The match is done for the return-path first and for "each" recipient.
       I will write some documentation as soon as possible...

Removed the run-first-ps option

Removed an extra unuseful code that I added to the spamassassin routine...

Changed the regex that extracts SA_REPORT, and clean some invalid char
in the reports of SA v.2.5x

Added the patch for version F-Secure 4.52 by Jyri



Updated to version qmail-scanner-1.22, see for details.

SA_REPORT added to the admin notify and to the quarantined
file (if sa_alt=1 and sa_debug=1).

Fix a bug in the process number (pid) in the email headers and in
the log.



Fix a bug in the subroutine cleanup, the check for the directory where mails 
must be archived was wrong, this bug is also in the official version.

Fix a cosmetic bug in the subroutine spamassassin.



Updated to version qmail-scanner-1.21, that adds a lot of new features
see for details.

Add support for spamd running with unix-socket (--sa-socket) Ed. H.

BIG CHANGE: Now sa-quarantine and sa-delete are relative values
to spamassassin required_hits, this will allow a "pseudo per user"
configuration (never tested).
See FAQ n.17 in

Fix a little bug in the original spamassassin routine, which some
'rcpt to' with inside '-c', '-r', ... in the mailaddress, spamc interpret
that string as a command line option. Pointed out by Jonas Thomsen.

Changed the way spam-mails are deleted, so now somethig will
arrive to the syslog if log-details is enabled.

virus_to_delete is now a configuration option and now somethig will
arrive to the syslog if log-details is enabled.



virus_to_delete, a control to delete some virus without notifying
anyone, actually it is not a configuration option, you must edit
qmail-scanner-queue to add new virus to the list.

Do not reject mails from (note for Fetchmail users
in the documentation), suggested by Nerijus Baliunas

Changed the name of SA_WHITELIST to SA_ONLYDELETE_HOST, suggested
by Paul Theodoropoulos. SA_WHITELIST still valid for compatibility.

Added minidebug for mails with "no sender and no recipient"

Routine close_log (only cosmetic)


sa-subject     An alternative way to set spamc_subject during configuration

sa-alt         Alternative subroutine for spamassassin

sa-debug       Used with sa-alt logs the tests and the scores of
               spamassassin to qmail-queue.log. There are samples of
               the logs in the documentation.

SA_SKIP_MD     SA skip MAILER-DAEMON messages, this is not a configuration
               option, just a switch in the code, see READMEpatched for details


Documentation updated, added more examples

Added some entries to quarantine-attachments.txt

sa-delta        Tag the subject of spam messages with LOW, MEDIUM and HIGH.

SA_WHITELIST    Do not reject spam messages from some servers,
                just delete them (enviroment variable).

BMC_WHITELIST   Disabled BAD_MIME_CHECKS based in the IP the come from
                (enviroment variable).


Options added to qmail-scanner-1.20

qs-group        Group of the user that Qmail-Scanner runs as.

admin-fromname  From line information used when sending reports.

dscr-hdrs-text  Descriptive headers text.

minidebug       Logs only important information to qmail-queue.log.

run-first-p-s   Run first perl-scanner as it was in the precedents versions
                of qmail-scanner.

sa-quarantine   Quarantine spam messages over this threshold.

sa-delete       Delete spam messages over this threshold.

sa-reject       Reject spam messages instead of delete them.

Salvatore Toribio