CHANGE HISTORY
==============
28th Sept 2003
--------------
  a) Fixed some minor bugs that may have caused problems with some mail
     readers.

  b) Now have a workable mechanism for preventing crashes in PROXYC from
     causing other problems with BOGOD or a mail reader. In particular, a
     trap D encountered whilst processing a downloaded message before it
     is given to the reader, will result in an -ERR response. Whilst not
     perfect, this does in fact keep everything running and allow a clean
     shutdown to take place.

27th Sept 2003
--------------
  a) Once again, the variety if POP3 has servers caught me out! Why can't
     they all send the same format responses! This now makes 3 different
     variations of the +OK response that I've seen:-
       1) +OK <n> octets follow
       2) +OK message follows
       3) +OK

     Are there any more out there?! At least I haven't heard of a server
     that responded -ERR (or -ERR <some text>)!

     Should now handle any server that does one of the above. All I was
     interested in was gaining some early indication of how big an email
     is. With the last two, I've had to make a guesstitmate of 8kb.

  b) Fixed a possible source of some crashes when closing PROXYC down. This
     was the first time I had encountered this particular problem, and it
     showed that attempts to recover from a crash gracefully are not all
     I thought they were. Oh well, back to the drawing board!

24th Sept 2003
--------------
  a) Changed BOGOD to try and be more intelligent when it comes to
     parsing the X-Bogosity header. BOGOD has always assumed that the
     user had left the format and name of this header as the default
     setting. It is now known that BOGOD and/or PROXYC would crash if
     this were not the case.

     All details as to how this line is formatted are available in the
     bogofilter.cf configuration file. BOGOD now reads this file on
     startup to determine whether the user has made any changes to the
     default settings for :-

      1) spam_header_name
      2) spamicity_tags
      3) header_format

     BOGOD should now be able to dynamically parse the added RFC822 header
     line (spam_header_name) using whatever format (header-format) and tags
     (spamicity_tags], the user has selected. Note that in terms of RFC822,
     it makes little sense to define a header_format that doesn't have the
     '%h: ' sequence in column 1 of the line, unless you want to do
     something like this:-

     spam_header_name = "X-Mine"
     header_format = "X-SpamStatus: %c, %h"

     PMMail filters should then be looking for h.X-SpamStatus and not
     h.X-Mine

     The alternate, brute-force solution for this was to force any user
     changes in bogofilter.cf back to their defaults. This I believe, would
     have been unacceptable.

  b) There have been one or two minor quibbles with the size of the command
     window that PROXYC runs in. Rather than return to a boring 25*80 frame,
     I decided that the users should be able to select their own window
     size. To accomplish this, I have introduced a proxyc.cf configuration
     file. ProxyC will create a default version of this file when it is first
     run. It is an ASCII text file, so can be changed with any, decent text
     editor.

  c) There is an undocumented (until now) switch, -d, that will perform some
     form of limitied tracing of data passing between ProxyC and the outside
     world. If enabled with the switch, ProxyC will create a file named
     MSGTRACE.DMP in the working directory.

     NOTE: DATA IS CAPTURED WHEN THE MAIL-READER ISSUES A RETR COMMAND. The
     program will NOT record any userids or passwords.

     If you have problems using ProxyC, restart it ising the -d switch. Then,
     retrieve one message (if you can). Then, send the MSGTRACE.DMP file to me
     along with a detailed decription of your problem. I have seen that not
     all POP3 servers behave the same as mine, and I need to have some details
     about all those servers that I've never come across, so that I can make
     ProxyC as robust and general as possible.


23rd Sept 2003
--------------
  a) Corrected a problem when the POP3 server doesn't indicate the size
     of the incoming message. PROXYC would crash! Thanks to Serge Vikulov
     for having a POP3 server that doesn't behave in exactly the way I
     interpreted RFC1725!

  b) Begun adding a 'prettier' UI to PROXYC.EXE. Suggestions for any
     improvements or additions are very welcome!

  c) Reorganised BOGOD code so that I can take advantage of some extra
     planned facilities. Essentially, this is preparation for being able
     to initiate a 'training' run from PROXYC. To do this, some irritating
     bugs in bogofilter have to be circumvented. Circumvention is only
     possible if bogofilter is shut down before the training run is started.
     This reorganisation should make it possible to terminate bogofilter,
     do the training run and then restart bogofilter.
