


j-chkmail Change Log

	[BUG] Check to see if configured external scanner exists and
	  if j-chkmail has execution access. Problem pointed out by

Mar 07 2003 - Jose Marcio Martins da Cruz
	j-chkmail 1.3.1RC5
        [FEATURE] - -q option added to j-printstats. Allows query
	   about gateway activity during some past time period
           Try j-printstats -q
               j-printstats -q -l 86400 
	       j-printstats -q -l 6h hostname
               j-printstats -q hostname
	[FEATURE] start-up script modified to be compatible with LSB
	  (Linux Standard Base Specification) - contributed by Michel
	  Gaudet
        [BUGS/CHECKING] Some little bugs corrected, mainly, 
	[FEATURE] - Better DoS protection against 
	[FEATURE] - Some configuration options added. See j-chkmail.cf
	  configuration file
	[BUGS] - Some minor bugs corrected :
          - libsm check when configuring - Check deleted as this 
	    check is no more needed - Pb noted by Serge Algarotti
          - Linux snprintf bug causes bad interpretation of FILE_EXT
            configuration option - Pb noted by Michel Gaudet
	  - socklen_t not defined under Solaris 6 - Problem remarked
	    by Pascal Cabaud
	  - wrong error message when rejecting connections with high 
	    recipient throttle

Dec 05 2002 - Jose Marcio Martins da Cruz
	j-chkmail 1.3 Release
	[BUG/CHECKING] - Global checking of new features and some
	  code cleaning. Very little bugs between last RC and final release
	[CHANGE] - Default configuration directory changed from /etc/mail
	  to /etc/mail/jchkmail, as suggested by J. D. Bronson.
	[BUG] - TAGS inside comment lines inside j-error-msg file were 
	  taken into account.

Oct 15 2002 - Jose Marcio Martins da Cruz
	j-chkmail 1.3RC7
	[BUG/CHECKING] - Body content checking testing done with the help 
	  of Ayamura.Kikuchi
	[FEATURE] - Content checking of HELO command. Suggested by
	  Ayamura Kikuchi.
	[UPDATE] - Code for content checking of all headers finished.
	[FEATURE] - script to generate weekly statistics (look for it
	  at contrib/scripts directory)
	[FEATURE] - Configuration parameters of periodic cleaning up of 
	  old quarantined files :  CLEANUP_INTERVAL and QUARANTINE_MAX_AGE.

Oct 08 2002 - Jose Marcio Martins da Cruz
	j-chkmail 1.3RC6
	[FEATURE] - Content checking has two new parameters and the other
	    one has changed
	  CONTENT_CHECK_SIZE - to check message contents only if message size 
	    is below specified parameter
	  CONTENT_CHECK_ORIGIN - to check message contents comes from anywhere
            or only if message comes from unknown IP networks.
	  CONTENT_REGEX_MATCHES changed to CONTENT_CHECK_SCORE. Score needed
	    to reject a message is no more the number of matches, but the
	    sum of weights (each regular expression may have a different
	    weight on the decision to reject the message).In order to realize
	    this, a new weight parameter was added to j-regex file.
	[FEATURE] - now checks contents of base 64 encoded message body.
	[FEATURE] - added __MSGID__ parameter to j-error-file, to indicate 
	  the file name of quarantined message.
	[FEATURE] - added periodic cleaning up of spool directories with 
	  cleaning periodicity and max age configurable.
	[BUG] - j-chkmail stops logging when it receives a HUP signal to reload
	   configuration (/etc/init.d/jchkmail reload). Problem noted by 
	   Jeff. D. Bronson
        [BUG] - jchkmail start-up script. Now verify and delete pid file before
	  launching j-chkmail if there are no daemons running. Thanks to 
	  Patrick Gatt who remarked the problem and proposed a solution.
	
Oct 04 2002 - Jose Marcio Martins da Cruz
	j-chkmail 1.3RC5
        [UPDATE] Some documentation updates, some checks...
	
Sep 30 2002 - Jose Marcio Martins da Cruz
	[FEATURE] - Content check code is completed. Body and body content
          may be verified agains a list of regular expressions. If the number
	  of matches is greater than the threshold, message is rejected.
	  Experimental feature. Too much time consumming.
	[FEATURE] - Messages which body is completely encoded in base64 or
	  quoted-printable to avoid content checking may be refused. I'm
	  not talking about attachment encoding, but entire message body 
	  encoding. Experimental feature - don't use it as it may block
	  legitimate messages.
	[BUG] Problems when configuring j-chkmail to use tables in the
	  database format. Corrected, but this is allways an experimental 
	  feature.
	
Sep 24 2002 - Jose Marcio Martins da Cruz
	j-chkmail 1.3RC1
        [FEATURE] - this minor address the vulnerability generated by sending
	  fragmented messages (message/partial MIME type).
          Problem reported by the alert 
            http://www.securiteam.com/securitynews/5YP0A0K8CM.html
	[FEATURE] - some minor changes to verify the vulnerability of sending
	  attached files by reference (message/external-body MIME type).
	  At the moment, this vulnerability wasn't announced anywhere, in
          my knowledge.
	[FEATURE] External (antivirus or spam) scanners are now launched 
	  by a pre-forked server instead of a concurrent server.
	[FEATURE] Interface to user defined mail scanner.
	[FEATURE] Configuration tables storage format selectable between
	  text files or database files (db, ndbm or gdbm) formats. This is
	  experimental. Not all tables are already ported to database 
	  formats.
	[FEATURE] Mail filtering according to mail gateway DNS resolution 
	  (failure or forged)
	[FEATURE] Access (black/white list), allowing to override bad DNS 
	  resolution results.
        [FEATURE] Temporal quota management of number of connection allowed 
	  to gateways without or forged DNS declarations.
	[FEATURE] More options add to j-printstats (see j-printstats -h)
	[PORT] j-chkmail was tested under Solaris 9. Thanks to J.B. Bronson
	  from Aurora Health Care Center
	[BUG] - Some configure values - mainly directories - were not taken 
	  into account 
	[UPDATE] Validation of j-chkmail under FreeBSD platforms. 
	  Thanks to Stephane Lentz and Egon Niederacher.
	[UPDATE] As allways, code related to experimental features was replaced
	  by cleaner and optimised code as soon as experimental features 
	  becomes validated.
	[FEATURE] - validation of experimental features of previous versions

Sep 18 2002 - Jose Marcio Martins da Cruz
        j-chkmail 1.2p1
        [FEATURE] - this minor address the vulnerability generated by sending
	  fragmented messages (message/partial MIME type).
          Problem reported by the alert 
            http://www.securiteam.com/securitynews/5YP0A0K8CM.html

Jul 01 2002 - Jose Marcio Martins da Cruz
	j-chkmail 1.2
	[BUG] - Antivirus interface does not handle SIGINT signals correctly.

Jun 20 2002 - Jose Marcio Martins da Cruz
	j-chkmail 1.1
	[FEATURE] - Possibility of mail filtering based on the connection rate,
	  the recipient rate of peer and the number of recipients of the 
	  message.
	  This is an experimental feature.
	[FEATURE] - option to change the SUBJECT header when sending warning 
	  messages
	  This is an experimental feature
	[FEATURE] - Reject messages if headers contains
	  <HTML> or <SCRIPT> tags
	  This is an experimental feature
	[BUG] - j-chkmail dies when reloading configuration file under Linux, 
	  after receiving a SIGHUP. This is a problem of what Linux thinks a 
	  thread is.
	[UPDATE] - configure scripts were updated in order to be compatible 
	  avec new versions of GNU autoconf and automake 

	TAKE a look at README

Jun 07 2002 - Jose Marcio Martins da Cruz
	j-chkmail 1.1 RC2 Release
	[BUG] - connection clean-up didn't free all storage in some special 
	  conditions
	[BUG] - av server daemon wasn't launched when reloading configuration
	  and changing an checking
	[FEATURE] - command line options added to j-printstats
	[BUG] - j-chkmail.cf man page was installed in section 5 instead of 
	  section 4 (File Formats)
	[BUG] - State files were, by default, installed at /var/tmp, instead 
	  of /var/jchkmail
	[FEATURE] - added "with-work-dir" and "with-spool-dir' options to 
	  configure script in order to configure default values for this 
	  directories at compile time
	[FEATURE] - add RESOLVE_FAIL and RESOLVE_FORGED options to reject 
	  connection if {client_resolve} sendmail macro returns FAIL or 
	  FORGED for the relay. This is an experimental feature
	[FEATURE] - add CHECK_THROTTLE option to reject connection if client
	  throttle exceeds max allowed. This is an experimental feature
	
May 30 2002 - Jose Marcio Martins da Cruz
	j-chkmail 1.1 RC1 release
	[FEATURES]
	- possibility to call external antivirus scanners interface was added
	  to Sophos sweep, McAfee uvscan, and Trendmicro vscan
	- possibility to save rejected messages for further analysis
	- some other filtering capabilities (see documentation) such as
	  - mail filtering accordingly to the number of recipients and the IP
	    network smtp connection comes from
	- j-chkmail behavior to signals
	  HUP - reloads configuration files
	  USR1 - dumps internal counters
	  USR2 - reset internal counters
	- some fault tolerant possibilities. Now, there is a supervisor process
	  which control runtime behavior of filters and control communications 
	  between them.
	- periodical task, such as dumping internal statistics counters are 
	  controled by supervisor process. There is no more need to set up 
	  cron tasks.
	- man pages
	- two new command lines 
	  - j-printstats - which prints internal counters values	  
	  - j-scanfile - a command line version of j-chkmail built-in scanner,
	    which you may use to scan mail files by hand or (maybe) use it 
	    with postfix (not checked).

Apr/30/2002 - Jose Marcio Martins da Cruz
	j-chkmail 1.01 Release
	[BUG] - Replacement message contained a null char at its end. This 
	  could cause problems with some mail clients
	[PORT] rpm packaging - thanks to Henri Gomez
	
Apr/18/2002 - Jose Marcio Martins da Cruz
	j-chkmail 1.0 - First official release


	
