moved config to config.sample

minor test cleanups

updated Changes file in preperation for a release


git-svn-id: https://svn.perl.org/qpsmtpd/trunk@336 958fd67b-6ff1-0310-b445-bb7760255be9
This commit is contained in:
Ask Bjørn Hansen 2004-11-09 15:25:52 +00:00
parent af03c53512
commit 8c390be6be
6 changed files with 41 additions and 12 deletions

34
Changes
View File

@ -1,6 +1,19 @@
0.29 - 0.29 -
[ many changes from cvs logs, gah ] Many improvements to the forking server (qpsmtpd-forkserver)
Plugin testing framework (Matt)
Added Apache::Qpsmtpd (Apache/mod_perl 2.0 connection handler)
Allow for multiple instances of a single plugin by using plugin:0
notation (Robert)
Fix CDB support so the server can work without it
VRFY plugin support (Robert Spier)
Added Makefile.PL etc to make it easier to build a package (Matt).
Make the rhsbl plugin do DNS lookups in the background. (Mark Powell) Make the rhsbl plugin do DNS lookups in the background. (Mark Powell)
@ -10,14 +23,32 @@
Improve error messages from the Postfix module (Erik I. Bolsø, Improve error messages from the Postfix module (Erik I. Bolsø,
<knan at mo.himolde.no>) <knan at mo.himolde.no>)
make the maildir plugin record who the message was to (with a bit of improvements
this could make a decent local delivery plugin)
Pass extra "stuff" to HELO/EHLO callbacks (to make it easier to
support SMTP extensions)
Renamed the *HARD return codes to DENY_DISCONNECT and
DENYSOFT_DISCONNECT (DENYSOFT_DISCONNECT is new)
Mail::Address does RFC822 addresses, we need SMTP addresses. Mail::Address does RFC822 addresses, we need SMTP addresses.
Replace Mail::Address with Peter J. Holzer's Qpsmtpd::Address module. Replace Mail::Address with Peter J. Holzer's Qpsmtpd::Address module.
Don't keep adding ip addresses to the process status line ($0) when
running under PPerl.
Include the date and time the session started in the process status line.
Add "plugin/virus/uvscan" - McAfee commandline virus scanner Add "plugin/virus/uvscan" - McAfee commandline virus scanner
Inbound connections logged as soon as the remote host address is known Inbound connections logged as soon as the remote host address is known
when running under tcpserver. when running under tcpserver.
Add Qpsmtpd::Auth (authentication handlers! See plugins/auth/) (John Peacock)
Add a plugin hook for the DATA command
check_earlytalker - check_earlytalker -
+ optionally react to an earlytalker by denying all MAIL-FROM commands + optionally react to an earlytalker by denying all MAIL-FROM commands
rather than issuing a 4xx/5xx greeting and disconnecting. (Mark rather than issuing a 4xx/5xx greeting and disconnecting. (Mark
@ -27,7 +58,6 @@
Move relay flag to connection object (John Peacock): Move relay flag to connection object (John Peacock):
+ add relay_client() method to Connection.pm + add relay_client() method to Connection.pm
+ Update Auth.pm module to set $connection->relay_client()
+ Remove $transaction->relaying() completely (due to popular demand) + Remove $transaction->relaying() completely (due to popular demand)
Split check_relay plugin into two plugins (John Peacock): Split check_relay plugin into two plugins (John Peacock):

5
STATUS
View File

@ -2,7 +2,7 @@
New Name Suggestions New Name Suggestions
==================== ====================
ignite ignite
flare flare(mta)
quench quench
pez (or pezmail) pez (or pezmail)
@ -10,9 +10,8 @@ pez (or pezmail)
Near term roadmap Near term roadmap
================= =================
0.29: 0.30:
- Add the first time denysoft plugin - Add the first time denysoft plugin
- Support email addresses with spaces in them (done)
- Bugfixes - Bugfixes
0.40: 0.40:

View File

@ -67,7 +67,7 @@ sub input {
} }
sub config_dir { sub config_dir {
'./config'; './config.sample';
} }
sub plugin_dir { sub plugin_dir {
@ -97,7 +97,7 @@ sub run_plugin_tests {
require Test::Builder; require Test::Builder;
my $Test = Test::Builder->new(); my $Test = Test::Builder->new();
$Test->plan( tests => $num_tests ); $Test->plan( tests => $num_tests );
# Now run them # Now run them

View File

@ -19,11 +19,11 @@ my $command = 'MAIL FROM:<ask@perl.org> SIZE=1230';
is(($smtpd->command($command))[0], 250, $command); is(($smtpd->command($command))[0], 250, $command);
is($smtpd->transaction->sender->format, '<ask@perl.org>', 'got the right sender'); is($smtpd->transaction->sender->format, '<ask@perl.org>', 'got the right sender');
my $command = 'MAIL FROM:<>'; $command = 'MAIL FROM:<>';
is(($smtpd->command($command))[0], 250, $command); is(($smtpd->command($command))[0], 250, $command);
is($smtpd->transaction->sender->format, '<>', 'got the right sender'); is($smtpd->transaction->sender->format, '<>', 'got the right sender');
my $command = 'MAIL FROM:<ask@p.qpsmtpd-test.askask.com> SIZE=1230'; $command = 'MAIL FROM:<ask@p.qpsmtpd-test.askask.com> SIZE=1230';
is(($smtpd->command($command))[0], 250, $command); is(($smtpd->command($command))[0], 250, $command);
is($smtpd->transaction->sender->format, '<ask@p.qpsmtpd-test.askask.com>', 'got the right sender'); is($smtpd->transaction->sender->format, '<ask@p.qpsmtpd-test.askask.com>', 'got the right sender');

View File

@ -1,5 +1,4 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
use strict; use strict;
use lib 't'; use lib 't';
use Test::Qpsmtpd; use Test::Qpsmtpd;

View File

@ -63,6 +63,9 @@ $ao = Qpsmtpd::Address->new($as);
ok ($ao, "new $as"); ok ($ao, "new $as");
is ($ao->address, 'foo@example.com', "address $as"); is ($ao->address, 'foo@example.com', "address $as");
# Not sure why we can change the address like this, but we can so test it ...
is ($ao && $ao->address('test@example.com'), 'test@example.com', 'address(test@example.com)');
$as = '<foo@foo.x.example.com>'; $as = '<foo@foo.x.example.com>';
$ao = Qpsmtpd::Address->new($as); $ao = Qpsmtpd::Address->new($as);
ok ($ao, "new $as"); ok ($ao, "new $as");
@ -72,7 +75,5 @@ $as = 'foo@foo.x.example.com';
ok ($ao = Qpsmtpd::Address->parse($as), "parse $as"); ok ($ao = Qpsmtpd::Address->parse($as), "parse $as");
is ($ao && $ao->address, $as, "address $as"); is ($ao && $ao->address, $as, "address $as");
# Not sure why we can change the address like this, but we can so test it ...
is ($ao->address('test@example.com'), 'test@example.com', 'address(test@example.com)');