CHANGES
=======

This file describes changes and releases made to the Herbrip
program, which is a reference implementation in Python of the
Herbivore protocol.

The file is in chronological order; latest changes go at the 
end.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

May-2001: started working on Herbrip (originally called Herbline)

14-Jul-2001: got command line functionality working, in
that it can correctly encrypt and decrypt email messages.

Size reported by wc (``wc *.py herbrip prpick'') is 1727 lines.

16-Jul-2001: 
Fixed test_herbrip.py so that email files with headers in
different order, but same bodies, are considered identical.

Wierd problem with the test script test_herbrip.py; it intermittently
doesn't work. I will ignore this bug for now, in the hope that
the other changes I need to make to the code will make it
go away.

19-Jul-2001: Found cause of bug; Fixed it.

19-Jul-2001: tarred up herbrip-0.0.1.tgz. (1744 source lines, 17k)
Will make final changes tomorrow and release.

22-Jul-2001: Added GPL. Created herbrip-0.1.0. (24k)
(wc reports 1744 lines, 46 k)

23-Jul-2001: minor changes/corrections in documentation.

8-Aug-2001: making it encrypt Subject: lines. This involves 
altering mailheader.py so that it deals with the whole email, 
not just the header.

10-Aug-2001: got pseudo-headers in message packet working,
tarred up herbrip-0.2.0. (27k; ``wc *.py prpick herbrip Makefile''
reports 2159 lines).

29-Oct-2001: using easibox to generate archives

12-Nov-2001: 
Change directory structure

adding new --outp option where output email goes to a 
program.

19-Nov-2001: I keep confusing --init with --info, so changing
--init to --create (option creates a herbivore user & secret key)

20-Nov-2001: Got --outp working, according to test_herbrip.py 
script

Made public/private key generation, and session key generation,
more random. 

26-Nov-2001: working on encrypting output to Cc:, Bcc:.

14-Jan-2002: packaging up herbrip-0.3.1. This is prior to adding
the hooks to make it work with kmail. (``lines'' reports code 
size is 2917 lines, 79k). 

The version of the Herbivore that herbrip-0.3.1 supports is
0.3.1; this is to synchronise the version number of the
protocol with that of the implementation. Note that there is no
separate definition of Herbivore 0.3.1; the implementation
defines the protocol.

19-Jan-2002: Using new 'dest' system for final destination of output.
Created destination.py.

20-Jan-2002: (2:35am) got dest working for 'mif:' and 'file:' 
protocols. 'lines' reports code is 3193 lines, 89k.

Made internal release herbrip-0.3.2 
(lines: 3252 lines, 91k; tgz size: 42k) 

22-Jan-2002: (2:15am) got (dest) working for 'sendmail:' protocol.
Made internal release herbrip-0.3.3
(lines: 3418 lines, 96k; tgz size: 43k) 

Wrote herbrip_pin; working but not fully debugged.

23-Jan-2002: created file logging.py, intended to provide an error/event
logging facility to herbrip.
(lines: 3638, 102k)

24-Jan-2002: got logging working.
Change --outp option to --outd

(23:40) Wrote herbrip_csm; it's all basically written now -- all
I need to do is write appropriate test harnesses for herbrip_csm
and herbrip_pin. (lines: 3794, 107k)

26-Jan-2002: herbrip_csm, herbrip_pin pass tests in test_herbrip.py.
(lines: 3884, 110k)

Testing setup with demouser -- writing install manual.

27-Jan-2002: problems with MIME-processing in sendmail; am going to
try to fix this by removing mime-headers from the plaintext header in
the processed outgoing email.
Mime headers affected are: Content-Type:, Content-Transfer-Encoding:, 
   Mime-Version:.
While I am at it, I will also remove X-Mailer.   

When sending messages philh -> demouser, Subject: in the header 
gets changed to <pound-sign>Ybject:

This doesn't occur when running test_herbrip.py, or when sending 
messages demouser -> philh, which makes me think that the problem 
is to do with the processing that sendmail does to the system.


28-Jan-2002: packaging up herbrip-0.4.0, for external release.
(statistics -- lines: 3913, 111K; tgz size: 49K)

6-Feb-2002: 
Extended the granularity of logging. <config> file variables now have
default values; these are stored in herb_globals.CONFIG_DEFAULT_VALUES.

mailheader.MailBody reimplemented for speed.

Packaged herbrip-0.4.1
(statistics -- lines: 4006, 113K; tgz size: 50K)

8-Feb-2002: There's a bug with sendmail_csm in that it doesn't work
properly with Pine. This is because Pine expects sendmail to find 
the recipient addresses in the body of the email in the To:, Cc: and
Bcc: lines. Fixed this problem.

Got Herbrip to remove the temporary files it puts in /tmp.

Packaged herbrip-0.4.2
(statistics -- lines: 4063, 115K; tgz size: 50K)


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
end.
