Changes for Version: 2.0.4 (January 2009)

	Mew Features:

	  The program is now in two parts. sac.exe and sacserver.exe. sacserver
	  remains resident. sac.exe is used as before.

	  Loging Levels reorganized. See doc.

	  Upon failure to start Spamassassin, rename Q file to
	  unlock it for QueueManager. Can be disabled by switch to
	  prevent un-checked delivery. (Queue Manager Rename)

	  Write the current Timestamp to the registry each successful
	  scan (for What's Up type processes to check; at most every 5 minutes).

	  Internal Lock name now 'sac_xxxxxxxxxxxxxxxx.$MD' instead
	  of '_xxxxxxxxxxxxxxxx.~MD'. This prevents Queue Manager
	  from delivering files un-checked after a failure or reboot.

	  Support for filenames containing blanks. Example:
	  "D:\Program Files\Ipswitch\Collaboration Suite\IMail\spool".

	  Queue is now FIFO. Kill can occur with Queued files.
	  Kill Depth Limit no longer needed nor supported.

	  Queue Size now in registry (default 8192).

	  New Commands added: (See Doc)
		sac /diagnose (Was -D, but '-' collides with IMail switch delimiter)
		sac /help
		sac /killnow
		sac /newthread
		sac /restart  [<fn>]
		sac /remote <servername> <sac command>
		sac /rerun
		sac /restart
		sac /start
		sac /status
		sac /stop [immediate]
		sac /queue



Changes for Version: 1.6.0 (November 2007)

	BUGFIXES:

	  Dequeue of waiting emails after KillProgram sometimes fails.

	  Symptom:	  Queue files remain locked in the Imail spool (Qxxx.SMD is _xxx.~MD).

	  Workaround: Rename the locked file back to Qxxx.SMD and then
				  run sac with full path: "sac c:\Imail\Spool\Qxxx.SMD"

	FEATURES:

	  daterc module, spamccall.cmd (now Saves spamd logs)

	  new spamccall with spamd logging instructions

	DOCUMENTATION:

	  Addition of Mail::SPF::Query to module list (Mail::SPF is too old a level so far)






Changes for Version: 1.5.0 (October 2007)

  Base installation on SAC 3.2.3.
  Base installation on Perl 5.8.8.822
  Change default for SafeCopyFiles to True in sac.reg

  Editorial changes in SAC -D output (Indenting was wrong, Thread avaiability removed).
  Added "trim" around registry entries to properly handle "extra" spaces.
  Locks added around two additional "critical" sections.
  Queue requests until KillProgram can run.
  Log executions of KillProgram.
  Auth detection was failing on Auser@domain@server syntax. Parsed out to second '@'







Changes for Version: 1.4.0 (December 2006)

  KillProgram execution changed from daily to hourly.












Changes for Version: 1.3.0 (October 2006)

 X-Envelope-From must be first for SPF checking to work.

 KillProgram added.

 Check if local domain fails on aliases.

 Q-file parsing should honor Authorized before Recipient before Sender.

 Default action not to call SpamAssassin (was prior state).




Details:

 KillProgram

  If the registry key HKLM\software\SpamAssassin Caller\KillProgram exists
		  and the key HKLM\software\SpamAssassin Caller\Last Kill	exists
		  and Last Kill is non-zero
		  and Last Kill is not equal to the day-of-month
	then
	  At 6 AM
	  Whenever all threads are idle
	  execute KillProgram.

  Kill program can be anything you want. However, I use the rkill.exe from the W2K resource kit, with a command line of (goes in the KillProgram registry key) 'c:\util\rkill /nkill \\mail perl.exe'

  Note, you must install rkill, and then execute it to install itself as a service before you can use it this way. Note that "\\mail" is the machine name of my mail server. Yours will be different, I imagine.

  You can force sac to kill perls (if it's after 6AM) by updating the Last Kill value with regedit. Then, then next time all sac's are idle the perls will be killed. Killing them manually risks getting one that is busy on an email.
