=head1 NAME

Changes - razor-agents

=head1 2.40 (Dec 07, 2003) 

=over 4 

=item * 

Applied another Makefile.PL patch from Michael Schwern to correctly
install manpages in part 5 of the manual set in various versions of perl.

=item * 

Applied patch from Mark Martinec and Vivek Khera of Amavid to untaint
various file targets obtained from user input. This is the same patch pointed
to by the SpamAssassin FAQ
[http://www.spamassassin.org/released/Razor2.patch]

=item * 

Support for HTTP 1.1 tunneling [SF patch #821324] by Jon Schewe.

=item *

Applied Anne Bennett's patch to Logger.pm to introduce a new log
target, "syslog-sys", that talks to Syslog over a Unix socket rather
than a TCP socket.

=item * 

Applied Anne Bennett's patch to deHTML.xs to get rid of the type
mismatch warning.

=item *

Removed computation of signatures that are no longer supported by the
backend -- engines 1, 2 and 3. Digest::Nilsimsa no longer required by
Razor Agents.

=back

=head1 2.36 (Aug 05, 2003)

=over 4

=item *

Removed some experimental code.

=back

=head1 2.35 (Aug 05, 2003)

=over 4

=item *

Applied a patch to Makefile.PL by Michael Schwern. This patch makes
Makefile.PL compatible with new MakeMaker and behave better in general.

=item *

C++ style comments in deHTML code replaced with C comments so the code
compiles with C compilers other than GCC.

=item *

Applied patch [SF patch #766292] by Suren A. Chilingaryan to detect and
skip body parts that only contain MIME headers.

=back

=head1 2.34 (May 16, 2003)

=over 4

=item *

Fixed a bug where razor-check would terminate prematurely on messages for
which it could not compute a signature. Thanks to Bela Lubkin for tracking
this and several other bugs down! [vipul]

=item * 

We don't do server sorting by distance anymore. Most servers are closeby,
so we use the order the discovery server gives us. [vipul]

=item * 

Introduced SOCKS support. Net::SOCKS is required in order to use SOCKS.
Specify socks_server in the config file. [vipul]

=item *

Fixed a bug in String::split_mime(); the MIME boundry was being spuriously
set in certain cases. [SF bug #707850 by Jams H Thompson]. [vipul]

=item * 

Razor agents use getpwuid() instead of getlogin() to determine the user's
home directory. [SF bug #650410 by Jochen Erwied]. [vipul]

=item * 

A bug in the selection of zone prefixes in bootstrap discovery was fixed.
[SF bug #604679 by Bill Sobel] [vipul]

=item * 

Razorhome is gleaned from the config file passed to razor-agents, if all
else fails. "razor-report -conf=/etc/razor/razor.conf spam" will use
/etc/razor as its home if no other home is found (eg in $HOME/.razor).
To force a particular Razorhome value, use the -home=path option. [vipul]

=item *

Rewrote many error messages to be descriptive and helpful. [vipul]

=item * 

auth=ai provides client name and version. [vipul]

=item * 

discover() will force bootstrap discovery when all discovery servers are
unavailable. This fixes a bug where by razor-agents would try to connect 
to the old Razor2 discovery server found in servers.discovery.lst. [vipul]

=item * 

reportit() in background mode will return faster. [vipul]

=item *

checkit(), reportit(), parse_mbox(), etc take an ARRAY hash as an argument
when provided against the `aref' key. [vipul]

=back

=head1 2.22 (Nov 21 2002)

=over 4

=item * 

Turned off verbose logging in ehash that was left on by mistake. [vipul]

=item * 

Some user contributed additions to the FAQ.

=back



=head1 2.21 (Nov 19 2002) 

=over 4

=item *

Ephemeral Hash reverts to the entire content when both sections are
composed of whitespace. This makes a certain type of false positives go
away. [vipul]

=item *

Razor2::Client::Core skips whitespace only message parts. [vipul]

=item *

DebugLevel 15 prints out the content after preprocessing, just before the
signatures are computed. [vipul]

=back



=head1 2.20 (Oct 15, 2002) (First Stable Version)

=over 4

=item * 

If log file isn't writable for whatever reason, we write logs to
/dev/null. [vipul]

=item * 

We look for stray C<\r>'s in the split_mime function. Thanks to 
Jim <jim@ironchicken.org> for pointing this out. [vipul]

=item * 

Added a significantly faster XS version of deHTML code. [vipul]

=item * 

Made ::Agent taint friendly. [vipul]

=item * 

Added support for passing an already open filehandle to C<::Agent::checkit()>
and C<::Agent::parse_mbox()> [vipul]

=item * 

Made logic_method 4 the default. [vipul]

=item * 

Added Razor2::Syslog to the package. [vipul]

=back

=head1 2.14 (July 24, 2002)

=over 4

=item * 

General release of 2.126 [chad]

=back

=head1 2.126 (July 24, 2002)

=over 4

=item * 

Improved logic again for detecting spam.
[chad, vipul]

=item * 

Run-time warnings are disabled unless in debug mode.
[chad]

=back

=head1 2.125 (July 18, 2002)

=over 4

=item * 

Improved logic for detecting spam, now we only 
look at visible and/or significant mime parts.
[chad, vipul]

=item * 

Mime parts cleaned to only whitespace are now ignored on 
the client side,
that is, they are not checked against server
[chad]

=item * 

Fixed bug in report (err 202)
[chad]

=item * 

Quieted more warnings
[chad]





=back

=head1 2.123 (July 17, 2002)

=over 4

=item * 

Fixed bug in revoke/report
[chad]

=item * 

Whitelist now looks at all 'Received:' headers for matching
[chad]


=item * 

Added debuglevel, whitelist cmd-line options
[chad]

=item * 

Quieted more warnings
[chad]





=back

=head1 2.122 (July 15, 2002)

=over 4

=item * 

Renamed razor-register razor-admin. To register, you must
'razor-admin -register'
[chad]

=item * 

Cleanded up how we store mail parts.  Each mail object now
has a part object that stores info relevant to that part.
[chad]

=item * 

Fixed parse_mbox (reading mbox and rfc822 mails)
[chad]

=item * 

Backup any existing identity files before writing over them (with new identity)
[chad]

=item * 

Added lock file support, so only one process writes to servers.*.lst at a time
[chad]

=item * 

Added rediscover_wait_dns
[chad]

=item * 

Fixed a bug when we rediscover, we save info to list correctly but
when using it we skip the first server
[chad]

=item * 

Fixed whitelist so rule 'from xx' only matches 'From: .*xx' not 'From .*xx'
(Note the ':')
[chad]

=item * 

Made exit codes cleaner
[chad]
 0 or 1       => no error
 2 or greater => error

=item * 

Fixed error msg/exit code after disconnect
[chad]

=item * 

Added -w to razor binaries
[chad]

=item * 

If authen fails 'cuz unknown user (213), attempt re-register
[chad]

=item * 

Quieted a bunch of warnings
[chad]






=back

=head1 2.12 (June 28, 2002)

=over 4

=item * 

Man pages install correctly.
[chad]

=item * 

Updated 'razor-register -create' so it creates home, conf,
and forces discovery creating all .lst files.
[chad]

=item * 

added -discover switch to force discovery
[chad]

=item * 

Everytime server bumps srl, force discovery.
[chad]

=item * 

Fixed bug in preprocessor for engine 1, might
have caused false postivies.
[chad]

=item * 

Whitelist fixed.
[chad]

=item * 

Default logging is much more quiet,
debuglevel changed from 5 to 3.
[chad]

=item * 

Debug mode (-d) default debuglevel changed from 5 to 9
[chad]

=item * 

Fixed lots of logging foo.
[chad]

=back



=head1 2.10 (June 22, 2002)

=over 4

=item * 

Significantly improved runtime by not loading all packages
until they are needed.
These include: Time::HiRes Net::Ping Net::DNS.
[chad]

=item * 

Non-mbox support added, thanx to Aaron Hopkins <aaron@die.net>.
Now you can do:

 razor-check mail1 mbox mail2 ...

=item * 

-M mbox option has been removed, Razor Agents will figure out
if file is mbox or not.
[chad]

=item * 

Fixed a couple bugs relating to incorrect logs.
[chad]

=item * 

Fixed a bug relating to first-time caching of a new server.
[chad]

=item * 

Added ep4 to default server cache.
[chad]

=back



=head1 2.09 (June 20, 2002)

=over 4

=item * 

Added a BUGS file to distribution
[chad]

=item * 

Added an overview manpage, razor-agents(1), updated the rest.
[chad]

=item * 

Overhauled how razorhome, config files, identity files,
and -create work.  
Support the case where there is not and never will be a razor home dir.
New options:

 -home=razorhome  (all Razor Agents)
 -ident=identity  (report, revoke, and register)


=item * 

Should not check/report if length of cleaned body part is 0.
[chad]

=item * 

razor-register -sys switch removed
[chad]

=item * 

Fixed various bugs relating to engine 1 and razor 1 compatibility
[chad]

=item * 

Fixed bugs relating to sending/receiving queries to/from server.
[chad]

=back

=head1 2.08 (June 16, 2002)

=over 4

=item * 

Removed the debug statements from Razor2::Signature::Ephemeral. [vipul]

=back

=head1 2.07 (June 15, 2002)

=over 4

=item * 

Added deNewline.pm to the tarball.  It was missing from 2.06. [vipul]

=back

=head1 2.06 (June 15, 2002)

=over 4

=item * 

Added a deNewline preprocessor that removes trailing C<\n>s. Reflected the
change in the server code as well. The reason for this is that MUAs (like
mutt) strip trailing C<\n>'s so there's no way to get to the original
message. This change necessitates upgrade from old 2.x agents. [vipul]

=item * 

Fixed a bug in Config.pm to use EUID instead of UID to discover user's
Razor config directory. Thanks to Theo Van Dinter <felicity@kluge.net> for
the patch. [vipul]

=item *

Fixed a bug in sort in Razor2::String. [vipul]

=back

=head1 2.05 (June 15, 2002)

=over 4

=item * 

Fixed port bug with bootstrap_discovery (initial register fails) -chad

=back

=head1 2.04 (June 13, 2002)

=over 4

=item * 

Added 'use_engines' to razor-agent.conf(5) [chad]

=item * 

Fixed a bug in reading port from server:port. Thanks to Theo Van Dinter <felicity@kluge.net>. [chad]

=item * 

Client behaves properly by sending a=q when done with server. [chad]

=item * 

Client now turns off VR2 by default. [chad]

=item * 

Logs to stdout if -d (debuggin) cmd-line option is used. [chad]

=item * 

Register string now Razor-Agents v2.xx. [chad]

=back

=head1 2.03 (June 13, 2002)

=over 4

=item * 

Fixed a bug in deHTML that was causing razor-check to hang on certain type
of content.

=item * 

Fixed a bug in regexes in the MIME decoding function.

=back



