2002-01-02  Adam Spiers  <adam@spiers.net>

	* MANIFEST: *** empty log message ***

2002-01-02  Adam Spiers  <adam@spiers.net>

	* TODO: testing

	* t/flock_test.sh: add a FIXME

	* t/flock.pl: flock_test.sh will use this

	* parp: misc logging/locking changes

	* Mail/Filterable.pm, Parp/Folders.pm:
	moved _folder_substs() to Parp::Folders

2002-01-01  Adam Spiers  <adam@spiers.net>

	* Parp/Utils.pm:
	add a SEEK_END while logging (this will be revamped soon)

	* Parp/Locking.pm: missing use

	* Parp/IdCache.pm, Parp/Folders.pm: use Parp::Locking

	* Parp/Config.pm: lock_file -> lock_dir

	* Parp/Friends.pm: use Parp::Locking

	* Mail/Filterable.pm: use @- and @+

	* Parp/Utils.pm: locking moved to Parp::Locking

	* Parp/Locking.pm: locking

	* Parp/Blacklist.pm, Parp/Friends.pm, Parp/IdCache.pm:
	turn warnings on lexically

	* sample-confs/adam/Filter.pm: whitespace

	* parp, Parp/Utils.pm:
	daemon mode works properly now, with forking an' all

	* Parp/Utils.pm: autoflush LOG

	* Parp/Utils.pm: don't hardcode $HOME

	* Parp/Options.pm, parp: daemon mode!

	* Mail/Filterable.pm, Parp/Config.pm, Parp/Filter.pm, Parp/Folders.pm, Parp/Utils.pm:
	split fatals into errors and fatals

	* Parp/Blacklist.pm: use 'our', 5.005 is dead

	* Makefile.PL: proper PREREQ_PM

	* parp-inject.c: - Read from STDIN, not STDOUT.  Doh!
	- Better error.
	- Don't mkdir the spool dir.

	* MyFilter.pm.adam, MyFilter.pm.sample: MyFilter is dead ...

2001-12-31  Adam Spiers  <adam@spiers.net>

	* Mail/Filterable.pm: don't need File::Path here any more

	* Parp/Config.pm: main_folder should be relative

2001-12-24  Adam Spiers  <adam@spiers.net>

	* Parp/Utils.pm: oops, missing import

2001-12-22  Adam Spiers  <adam@spiers.net>

	* sample-confs/adam/Filter.pm: perlunit-commits (doesn't work?)

	* TODO: friends db

	* TODO: $m->from

	* TODO: parp-inject done

	* .cvsignore: ignore ChangeLog

	* .cvsignore: ignore .tar.gzs

	* Makefile.PL: add ChangeLog target

	* Mail/Filterable.pm: extract_friends refactoring

	* Parp/Config.pm: was missing bad_to

	* sample-confs/adam/Config.pm, sample-confs/adam/Filter.pm:
	my ~/.parp/{Config,Filter}.pm files

	* Parp/Config/bad_subjects: comments

	* Mail/Filterable.pm, MANIFEST, parp, Parp/Config/bad_from, Parp/Config/bad_origins, Parp/Config/bad_subjects, Parp/Config/bad_to, Parp/Config/bad_words, Parp/Config.pm, Parp/Config/quite_bad_words, Parp/Config/README, Parp/Config/very_bad_words, Parp/Filter.pm, Parp/Friends.pm, Parp/IdCache.pm, Parp/Options.pm, Parp/Utils.pm, TODO:
	- BIG change which splits MyFilter.pm into lots of different little
	  files.  User now has control via ~/.parp/{Config,Filter}.pm.

	* .cvsignore: ignore 3rd-party

	* .cvsignore: ignore Xrefs

	* .cvsignore, Makefile.PL: makefile stuff

	* .cvsignore, parp-inject.c, t/flock_test.sh: parp-inject works nicely

2001-12-10  Adam Spiers  <adam@spiers.net>

	* TODO: *** empty log message ***

2001-12-04  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-11-26  Adam Spiers  <adam@spiers.net>

	* Mail/Filterable.pm: check x-sender too

2001-11-23  Adam Spiers  <adam@spiers.net>

	* TODO, MyFilter.pm.adam, parp: *** empty log message ***

	* Parp/Folders.pm: don't trust appendMessages

2001-11-22  Adam Spiers  <adam@spiers.net>

	* Parp/Blacklist.pm: need Socket

	* Mail/Filterable.pm: don't need Socket

	* Parp/Folders.pm: ditch -m, use Mail::Box iff -f mode

	* Parp/Options.pm: get rid of -m

	* parp: *** empty log message ***

	* parp: correct error

	* TODO: use CPAN blacklist module?

	* Parp/Options.pm: Mail::Box now

	* Mail/Filterable.pm: refactoring

	* Parp/Blacklist.pm: oops

	* Parp/Blacklist.pm: *** empty log message ***

	* Parp/Folders.pm: renaming

	* parp: not that it matters

	* MyFilter.pm.adam: jobserve

	* Mail/Filterable.pm, parp: use Mail::Box instead of Mail::Folder

2001-11-16  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: bad

2001-11-15  Adam Spiers  <adam@spiers.net>

	* TODO: more

2001-11-14  Adam Spiers  <adam@spiers.net>

	* parp: oops

	* parp: add header about failed Received parses

	* Mail/Filterable.pm, parp: - 0.55
	- refactoring of old_addresses thing

	* TODO: *** empty log message ***

	* TODO: more

	* TODO: cripes, the list grows quickly :-/

	* TODO: need docs

	* TODO: todo list

	* MyFilter.pm.adam: more spam

2001-11-12  Adam Spiers  <adam@spiers.net>

	* Mail/Filterable.pm: remove debugging

	* Mail/Filterable.pm: oh dear, more idiocy concerning has_spam_ending()

	* Mail/Filterable.pm:
	unbreak stupid dereferencing thing in has_spam_content

2001-10-30  Adam Spiers  <adam@spiers.net>

	* Mail/Filterable.pm:
	move trailing spam id from has_suspicious_headers to has_spam_from_addresses

	* MyFilter.pm.adam: arseholes

	* Mail/Filterable.pm: spammers now using mozila :-(((((

2001-10-22  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: oops

	* MyFilter.pm.sample: trimming stuff

	* MyFilter.pm.sample, MyFilter.pm.adam: cperl mode

	* MyFilter.pm.sample:
	take my config file and produce something more readable

	* Mail/Filterable.pm: damn

2001-10-21  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: fancy archiving by date

	* Mail/Filterable.pm:
	deliver_to now supports strftime format and %q for year quarter

	* Mail/Filterable.pm: apparently it can even be 'junk'

	* Mail/Filterable.pm: - organization tweaks
	- Precedence: bulk (how can I have missed this before?)

	* MyFilter.pm.adam: *** empty log message ***

	* Mail/Filterable.pm, MyFilter.pm.adam: check for bad content types

	* parp, Parp/Options.pm: missing export

	* MyFilter.pm.adam: more badness

	* Mail/Filterable.pm: refactoring

	* Mail/Filterable.pm: oops

	* Mail/Filterable.pm: doh

	* Parp/Friends.pm: *** empty log message ***

	* Parp/IdCache.pm: fix duplicate stuff

	* Mail/Filterable.pm: fix duplicate stuff and like_me test

	* Mail/Filterable.pm, parp, Parp/Folders.pm, Parp/Friends.pm, Parp/IdCache.pm, Parp/Options.pm, Parp/Utils.pm:
	- massive refactoring, splitting parp up into several modules
	- now needs to be run with -I $libdir, where $libdir contains said modules

	* MyFilter.pm.adam, parp: add like_me test

2001-10-18  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-10-16  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: keep an eye on alternative addresses abuse

	* MyFilter.pm.adam: *** empty log message ***

2001-10-09  Adam Spiers  <adam@spiers.net>

	* parp: does now

2001-10-08  Adam Spiers  <adam@spiers.net>

	* parp: new trailing whitespace + digits test

	* parp: yet another free blacklist bites the dust (well sort of)

	* MyFilter.pm.adam: *** empty log message ***

2001-09-27  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: chello is evil

	* MyFilter.pm.adam: *** empty log message ***

2001-09-25  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-09-18  Adam Spiers  <adam@spiers.net>

	* parp: didn't work :(

	* parp: bit of a risky one - received from domain must =~ /^[^.]+$/

2001-09-17  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-09-13  Adam Spiers  <adam@spiers.net>

	* stats: headers and form feeds

2001-09-12  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-09-07  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-09-04  Adam Spiers  <adam@spiers.net>

	* parp: more general delivery path analysis

	* parp: Add nice test for faked hotmail Received header.
	Finally using Mail::Field::Received properly!

2001-08-23  Adam Spiers  <adam@spiers.net>

	* parp: more RSS tweaks

2001-08-22  Adam Spiers  <adam@spiers.net>

	* parp:
	MAPS RBL no longer available (thanks to Jonathan Baker-Bates for this)

	* parp: look at Sender: for bad domains

2001-08-15  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: new zsh hierarchy

2001-08-13  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-08-11  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-08-08  Adam Spiers  <adam@spiers.net>

	* parp:
	message id domain is not necessarily accurate reflection of origin

	* MyFilter.pm.adam: *** empty log message ***

2001-08-06  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: uu.net got a false positive

	* MyFilter.pm.adam: *** empty log message ***

	* parp: "Dear friends" is OK

	* MyFilter.pm.adam: *** empty log message ***

2001-07-27  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-07-26  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-07-24  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-07-20  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-07-19  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-06-25  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

	* parp: very bad phrase not word

2001-06-20  Adam Spiers  <adam@spiers.net>

	* parp: check Received headers against bad_origins too

2001-06-13  Adam Spiers  <adam@spiers.net>

	* stats: breakdown tests by good/bad

	* parp: - mutt is good
	- tweak to body-confessed-as-junk

2001-06-11  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-06-09  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-06-05  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: fix American phone numbers

2001-06-01  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: fuck off!!

2001-05-31  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-05-29  Adam Spiers  <adam@spiers.net>

	* parp: version 0.50 (has been at 0.44 since 2000/07/16)

	* stats: show some averages

	* stats: count number of days

	* stats: clearer section titles

	* stats: cosmetics

	* parp:
	reverting one of Charles Howes patches which I don't understand the point of

	* MyFilter.pm.adam: *** empty log message ***

2001-05-28  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

	* parp: junk confessions

2001-05-22  Adam Spiers  <adam@spiers.net>

	* parp: unfold all headers.  good idea?!

	* MyFilter.pm.adam: *** empty log message ***

2001-05-21  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

	* parp: - patches from Charles Howes
	- bad X-Mailer

2001-05-17  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: gphoto

2001-05-15  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: gphoto

2001-05-14  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-05-12  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-05-10  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-05-08  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-05-07  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

	* parp: enable bad froms

2001-04-09  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-04-02  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-03-30  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-03-12  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: OxPM

2001-02-20  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: oops

	* MyFilter.pm.adam: perlunit lists

	* MyFilter.pm.adam: sourceforge address

2001-02-19  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2001-01-31  Adam Spiers  <adam@spiers.net>

	* parp: - better error message for missing preline
	- revert good_domains tweak, it was generating lots of false -ves

2001-01-21  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: bugtraq is moderated well

	* parp: - more lenient with good domains
	- less verbose on Parp-ID mismatch

	* parp: oops, /bin wasn't in path

2001-01-20  Adam Spiers  <adam@spiers.net>

	* stats: another section

	* MyFilter.pm.adam: - new addresses: @adamspiers.org and @tigerpig.org
	- more buzzwords
	- more bad stuff
	- more lists
	- more one-off specials
	- keep complete gg archives
	- better mailer daemon handling

	* parp: - easier to make friends
	- the attachment bug hunt continues...

2001-01-04  Adam Spiers  <adam@spiers.net>

	* parp: - more verbose fatalities
	- do very-bad-word test before quite-bad-words test

2000-11-29  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: pandora.be

2000-11-27  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: added clubmom.com to bad origins

2000-11-21  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: delivery failure tweak

	* MyFilter.pm.adam: 163.com -> BAD

2000-11-14  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: sorted bad_origins, added export2000

	* MyFilter.pm.adam: plucker-dev, sourceforge, Diamond Point

2000-11-09  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: sourceforge special was mucking stuff up

	* MyFilter.pm.adam: sourceforge lists

2000-11-07  Adam Spiers  <adam@spiers.net>

	* parp: avoid false +ves from in-addr.arpa IPs

2000-10-26  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: new mailer-daemon subject

2000-10-25  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: hide my Faq-O-Matic changes

	* parp: - new body_scalar key
	- was global locking too early

2000-10-24  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: gnome-pilot and codereview

2000-10-13  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *** empty log message ***

2000-10-09  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: add solostring

2000-10-04  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: added gg-faqomatic

2000-10-03  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: add buggies

	* MyFilter.pm.adam: don't deliver sourceforge stuff to mobile

2000-08-31  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: add bugzilla-admin

2000-08-25  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: I'm the bugzilla maintainer now

2000-08-23  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: ignore my gg cvs commits

	* MyFilter.pm.adam: quios tweak

2000-08-22  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: more buzzwords

2000-08-12  Adam Spiers  <adam@spiers.net>

	* parp: User-Agent is superceding X-Mailer these days

2000-08-11  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: added rep-gtk

	* MyFilter.pm.adam: gg domain more general

	* parp: slightly change is_from_good_domain test

2000-08-08  Adam Spiers  <adam@spiers.net>

	* parp: backup special mail and junk

	* MyFilter.pm.adam: webring

	* MyFilter.pm.adam: topica

	* MyFilter.pm.adam: cope with gg-dev

	* parp: still chasing immutable bug

	* parp:
	- more stuff to try to track down $immutable bug
	- change in categorisation algorithm again - it wasn't using $grace enough

	* parp: try to avoid appending bug

2000-08-07  Adam Spiers  <adam@spiers.net>

	* parp:
	- try to fix more parp-id recalc bugs (with attachments)
	- fix max_forwards test

2000-08-01  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: galeon

	* MyFilter.pm.adam: added galeon

2000-07-26  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: bugfix for gg-cvs

2000-07-25  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: rocketmail false +ves

2000-07-21  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: and another

	* MyFilter.pm.adam: another bad word moved

	* MyFilter.pm.adam: some very bad words moved to quite bad

2000-07-19  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: `search engines' -> false +ves

2000-07-17  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: *groan* still finding matches() bugs

	* parp: add debugging to matches()

	* stats: Add total mails to output

2000-07-16  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: add quios test

	* MyFilter.pm.adam: add excell.to test

	* MyFilter.pm.adam:
	- improve amazon test
	- check for lusers who can't unsubscribe

	* parp: moved has_spam_content before list_mail tests (this is risky)

	* MyFilter.pm.adam: `bill' is dodgy

	* parp: quite bad words logging is better

	* MyFilter.pm.adam, parp:
	reinstate bad_from test, but don't use for now

	* MyFilter.pm.adam, parp:
	fix a few bugs related to the new matches() method

	* MyFilter.pm.adam, parp:
	- new matches() method, ftc and (all_)?from_addrs now "categories" within it
	- new bad_from RE for bad from headers

	* MyFilter.pm.adam, parp: rename: bad_domains -> bad_origins

	* parp: suspicious mode of address could be missing comma

	* MyFilter.pm.adam: myfamily tweak

	* MyFilter.pm.adam:
	- bah, got something good from earthlink
	- mail.com announcements

	* MyFilter.pm.adam:
	- argh, lists return their last element when evaluated in a scalar context.
	  this broke stuff using matches_{ftc,from_addrs}

	* parp:
	- argh, lists return their last element when evaluated in a scalar context.
	  this broke stuff using matches_{ftc,from_addrs}
	- moved To-and-CC-headers-missing test to suspicious headers
	- renamed ftc_array -> ftc
	- fixed buglette with multipart handling

	* MyFilter.pm.adam:
	- added settings for max_forwards test
	- more quite bad words
	- updated for matches_ftc and matches_from_addrs
	- sawfish bugfix
	- daemon test includes tr909

	* parp:
	- replace broken safe_delimit stuff with matches_ftc
	- avoid false positives from JetMail version numbers in RBL test
	- add test for maximum forwards (looks for '>> > >>  > >>>  >' type
	  of lines)
	- add Sender header to ftc tests
	- improve 'body confessed it was junk' test

2000-07-11  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: added gimp-perl

2000-07-07  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: catch more daemon cases

2000-07-06  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: added modperl list

	* MyFilter.pm.adam: gg-cvs

2000-07-04  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: new gg translations address

2000-06-26  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: sawfish

2000-06-25  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: better req matcher

2000-06-12  Adam Spiers  <adam@spiers.net>

	* stats: deal with empty log file

	* stats: fixed div by zero bug when $wrong_class was 0

	* stats: Allow reading from user-specified config file via ARGV.

2000-06-07  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: fusion was too aggressive

	* MyFilter.pm.adam: better sourceforge matching

2000-05-17  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: handles list daemons better

	* MyFilter.pm.adam: better daemon code

	* MyFilter.pm.adam: oxmail mailer-daemon

	* MyFilter.pm.adam: bigfoot has decent guys too

2000-05-16  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: mozilla.org is good

2000-05-13  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: stungunworld is bad

	* MyFilter.pm.adam: added gnokii

2000-05-12  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: infosquare is bad

2000-05-11  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: ignore krankenhaus gg cvs commits

2000-05-10  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: argh!

2000-05-05  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: `marketing' as bad Received word was too aggressive

2000-05-03  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: tellustalk is bad

2000-05-02  Adam Spiers  <adam@spiers.net>

	* parp: avoid false positives from MTA versions (?) which look like IPs

	* parp: if RBL check doesn't return TXT RR, detail the IP address

	* parp: better extract_friends text

2000-05-01  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: added dragonfans.com

	* MyFilter.pm.adam: added tm.net.my

2000-04-30  Adam Spiers  <adam@spiers.net>

	* stats: 1 failure in every x calculation

2000-04-28  Adam Spiers  <adam@spiers.net>

	* stats: small bugfixes

	* parp:
	avoid needlessly doing an RBL lookup more than once on the same IP

	* parp: RBL debugging off

	* parp: less waffle in RBL checking

	* parp: added $debug to RBL check

	* parp:
	Don't log failed Received header parses from spam mails, they're too common

	* parp:
	- fixed bug with loading of Net::DNS
	- handle failed Received header parses slightly differently
	- switched $allow_dups back to $no_dups (inverted sense of -d switch)
	- implemented RBL checking.  Cool!
	- moved has_spam_domains_anywhere test much earlier on.  This is a big
	  hit if RBL checking is turned on (-r switch)

	* parp: oops, this fatal should exit

	* parp:
	- parp id calculation algorithm finally works?
	- sanity checks
	- rbl_lookup routine (not used yet)
	- misc tidyups

	* MyFilter.pm.adam: added infospace

2000-04-27  Adam Spiers  <adam@spiers.net>

	* parp: 0.42

	* parp:
	- added -w option
	- improved blank To:/Cc: header tests

	* stats: first import

2000-04-20  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: freerealtime -> /dev/null

2000-04-11  Adam Spiers  <adam@spiers.net>

	* parp: log piping success

2000-04-10  Adam Spiers  <adam@spiers.net>

	* parp: log when piping

	* MyFilter.pm.adam: avoid warning

	* parp: allow logging from MyFilter

	* parp: all-caps diag was wrong

2000-04-08  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: oops

2000-04-05  Adam Spiers  <adam@spiers.net>

	* parp: Now uses Mail::Field::Received

2000-04-04  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: oops

	* parp: hmm

2000-04-03  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: new mobile script

2000-04-02  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: tidier this way

	* MyFilter.pm.adam: ahem

	* MyFilter.pm.adam: more allowance for autoreplies/testings

	* MyFilter.pm.adam: To: adam-.*test only, not ftc

	* MyFilter.pm.adam: added test filter for avoiding mail loops

	* MyFilter.pm.adam: Added alsa-announce

	* parp:
	moved daemon test earlier since it will have to be specific anyway

	* MyFilter.pm.adam: don't need that

	* parp: avoid warnings

	* MyFilter.pm.adam:
	- fixed brainbench
	- don't send SMS bounces to mobile

	* MyFilter.pm.adam: oops

	* MyFilter.pm.adam:
	- void by subject
	- topica removes X-Mailer:
	- added ibm support

2000-04-01  Adam Spiers  <adam@spiers.net>

	* parp: oops, check_for_old_addresses was broke

2000-03-31  Adam Spiers  <adam@spiers.net>

	* parp: old addresses to an inbox

	* MyFilter.pm.adam: sourceforge to mobile

2000-03-23  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: added bugzillas

2000-03-20  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam:
	just disabled mail.com news so shouldn't need this now

	* MyFilter.pm.adam: better .ac.uk good domain test

	* parp: message-ID tweak

	* parp: hmmm.  COERCE doesn't seem to work all the time

	* MyFilter.pm.adam: fixed useless ac.uk good domain

	* parp: getting there

	* parp: oops

	* parp: Added support for some (well, one) Resent- headers

2000-03-19  Adam Spiers  <adam@spiers.net>

	* parp:
	- better rejection messages (can now categorise on first parameter
	  to reject_junk_mail)
	- bad_{to,subjects} tests moved to has_suspicious_headers()

	* MyFilter.pm.adam: cosmetics

	* parp:
	split harsher header tests off so as to be more lenient to list mail

	* MyFilter.pm.adam: address tweaks

	* parp:
	fixed bug with outputting of Received header parser fail diagnostics

2000-03-17  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: genie was giving false +ves

2000-03-16  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: added genie

	* MyFilter.pm.adam:
	- Added sourceforge
	- fixed freshmeat-news regexp
	- added freerealtime

2000-03-14  Adam Spiers  <adam@spiers.net>

	* parp:
	- trimmed trailing whitespace
	- log `no friends found' if extraction fails

2000-03-12  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: added amazon

2000-03-09  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: ignore sybase branch of gg-cvs

2000-03-05  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: myfamily tweak

2000-03-04  Adam Spiers  <adam@spiers.net>

	* parp:
	- relaxed Message-ID test a bit
	- renumbered exit codes

	* MyFilter.pm.adam: added moneyworld and ibm

2000-02-23  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: added old zsh list host

2000-02-22  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: more gg cvs tweaks

2000-02-21  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: added some missing accept_mail() calls

	* MyFilter.pm.adam: cvs-notify's are from me

	* MyFilter.pm.adam: Added RCS header

2000-02-19  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: trying without Aristotle for now

	* MyFilter.pm.adam: fixed hypernews bug

	* MyFilter.pm.adam:
	- fixed $50,000 subject line bug
	- removed bulk_mailer from bad header test for now

	* MyFilter.pm.adam: added Linux Hardware Database

	* MyFilter.pm.adam: bugzilla-daemon added

	* parp: duplicates code seems to be working fine

	* parp: DOH!!

2000-02-18  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: added gg-all

	* MyFilter.pm.adam, parp: new reject_junk_mail() routine

2000-02-16  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: oops

2000-02-14  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: doh!

	* MyFilter.pm.adam: added jobserve filter

2000-02-13  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: is_from_daemon() moved here

	* parp:
	- is_from_daemon() moved to be user-configurable
	- good_domains test has to match /both/ from headers /and/ id

	* parp:
	- removed unnecessary folder close()
	- bugfix in fatal()

	* parp: cosmetics in fatal()

	* parp: ahah

	* parp: $parsed counter now works

	* MyFilter.pm.adam, parp: max_recipients

	* parp: fatal() tweak

	* parp:
	- (c) 2000
	- version 0.38
	- added $SIG{__DIE__} handler
	- checks for missing keys in %CONFIG
	- skip non-files with -f
	- @dup_ids only tied once per run
	- better fatal() which sends to fatals_folder

2000-02-12  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam:
	- much better documentation
	- moved some stuff from is_list_mail() to is_special() where it belonged
	- new (c) 2000

2000-02-11  Adam Spiers  <adam@spiers.net>

	* MyFilter.pm.adam: more good domains

	* parp:
	- version 0.37
	- vprint always logs to file

	* parp: oops

	* MyFilter.pm.adam:
	- more tweaks
	- added max_unique_quite_bad_words

	* parp:
	- Moved has_spam_{content,domains_anywhere} back later
	- Added max_unique_quite_bad_words

	* parp: An extra \n is nice

	* parp: Dear <my email address> is spam

	* MyFilter.pm.adam: another non-OO issue

	* parp: Oops, that was supposed to be there after all

	* MyFilter.pm.adam: now I remember why that was exported

	* MyFilter.pm.adam:
	- added bugzilla reminder filter
	- removed useless exports

	* parp: we're not importing deliver_to_mobile() either

	* parp: oops, we're not importing deliver_gg_stuff()

	* MyFilter.pm.adam:
	More improvements to quite_bad_words and very_bad_words

	* parp:
	- added check_file_dir for friends db
	- Mozilla/Linux is a good X-Mailer
	- Received header parse results are /finally/ obtained
	- Last few lines spam-check increased from 10 to 12 lines
	- Added quite bad words check

	* MyFilter.pm.adam:
	- added missing require Exporter
	- more subject buzzwords
	- more bad subjects
	- \b delimiters on bad header words
	- new quite_bad_words RE (some bits from very_bad_words RE)
	- organised lists, added missing ones
	- new qstat, setiathome, and buildkernel inboxes
	- vmware and myfamily REs better

	* parp: updated FIXME comments

	* parp:
	- added check_file_dir for proper directory existence checks
	  wherever necessary
	- nicer `Run started' log message
	- moved has_spam_domains_anywhere and has_spam_content earlier
	  in tests on a trial basis

	* parp: output tweaks

	* parp:
	- bumped version
	- changed vprint semantics

	* parp: prototype bugfixes

	* MyFilter.pm.adam:
	- sorted very_bad_words
	- moved two from bad_words to very_bad_words

	* parp:
	- changed some vprints to log_to_files
	- parse_received_header sets %parsed now?

	* parp: Prototyped log_to_file and removed brackets in invocations

	* parp:
	- fixed bug in creation of new output directories
	- friends db values contain datestamp if message id was blank

	* parp:
	- Added $Id$ header
	- Moved File::Path to correct package

	* parp:
	- unique-ish exit codes
	- more flexible multipart boundaries
	- deal with multipart parts w/o Content-Types
	- allow text/* multipart parts
	- fixed bug returning results of Received: parses
	- recursive creation of output folders

	* parp:
	- Fixed bug where fatal() wasn't shared across packages.
	- MyFilter.pm now can be in ~/.parp
	- tweaks to fatal()

	* parp: Wrote my own, nice and fast multipart parser.

	* MyFilter.pm.adam, parp: Initial import

