... now check_earlytalker can be expanded to VRFY and NOOP (see RFC 1854, #2.1)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@836 958fd67b-6ff1-0310-b445-bb7760255be9
- add back in after 0.42 is out? if yes: start implementing in -prefork
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@809 958fd67b-6ff1-0310-b445-bb7760255be9
then derive ids for connections and transactions from that via
simple counters.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@785 958fd67b-6ff1-0310-b445-bb7760255be9
- the reporters poposed fix would have caused two messages for the client on
return(DENY, ...) or a really unknown command.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@772 958fd67b-6ff1-0310-b445-bb7760255be9
Add _auth field to PollServer.
Make sure that check_earlytalker works with PollServer.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@711 958fd67b-6ff1-0310-b445-bb7760255be9
Heavily based on:
From: Nick Leverton <nj@leverton.org>
To: qpsmtpd@perl.org
Subject: SMTPA
Date: Thu, 4 Jan 2007 12:08:16 +0000
Message-Id: <200701041208.17018@leverton.icritical.com>
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@703 958fd67b-6ff1-0310-b445-bb7760255be9
Qpsmtpd::Plugins for more info. This can be used to disable (and re-
enable) loaded plugins for the current connection.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@700 958fd67b-6ff1-0310-b445-bb7760255be9
(intention is to check bits in that don't break anything, so we can
always return to a stable base)
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@676 958fd67b-6ff1-0310-b445-bb7760255be9
Make child process pretty name optional for qpsmtpd-prefork.
Ignore rather than crash for uninstalled plugins.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@675 958fd67b-6ff1-0310-b445-bb7760255be9
follow RFC's for multiline responses.
Patch from Brian Szymanski <ski-qpsmtpd@allafrica.com>
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@664 958fd67b-6ff1-0310-b445-bb7760255be9
[stupid] MUA, but isn't implemented with existing auth plugins. Based on
patch from Brian Szymanski.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@660 958fd67b-6ff1-0310-b445-bb7760255be9
Add SSL encryption method to FROM: header line.
Add new tls_before_auth configuration to hide AUTH until TLS is established.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@645 958fd67b-6ff1-0310-b445-bb7760255be9
Fix "help" command when there's no "smtpgreeting" configured (the default)
(Thanks to Thomas Ogrisegg)
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@642 958fd67b-6ff1-0310-b445-bb7760255be9
that you have to explicitely read from <STDIN> in order for IO::Socket::SSL
to correctly translate the data (i.e. reading from <> isn't sufficient).
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@612 958fd67b-6ff1-0310-b445-bb7760255be9
Also made auth_vpopmail_sql be quieter about problems authenticating.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@607 958fd67b-6ff1-0310-b445-bb7760255be9
SMTP.pm (the Auth.pm POD will get renamed to README.authentication).
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@605 958fd67b-6ff1-0310-b445-bb7760255be9
Patch by Hanno Hecker <hah@uu-x.de>.
Adds the RFC 1893 status codes to the messages which are returned to the
sending client.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@602 958fd67b-6ff1-0310-b445-bb7760255be9
By default no flags are set (old behaviour). Known flags for cleanup are
FLAG_FILTER, FLAG_BCC_OK and FLAG_MAP_OK, see POD for details.
Patch by: Hanno Hecker <hah@uu-x.de>
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@600 958fd67b-6ff1-0310-b445-bb7760255be9
qpsmtpd-forkserver. This patch merges Peter's patch (with the possibilty
to DENY/DENSOFT the connection) and my first attempt. The --max-from-ip
check was moved from core to the hosts_allow plugin.
Patch by: Hanno Hecker <hah@uu-x.de>
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@599 958fd67b-6ff1-0310-b445-bb7760255be9
* lib/Qpsmtpd/Connection.pm
Abstract out parameters which can be reused (e.g. TLS) or can be
set when creating the Connection object via start().
* plugins/tls
Simplify code to use $self->clone() construct and also suppress
IO::Socket::SSL debug noise, now that this is working.
* plugins/tls_cert
New file to automate creating self-signed certificates for TLS.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@597 958fd67b-6ff1-0310-b445-bb7760255be9
more use of the "fd:#" code everywhere.
* lib/Qpsmtpd.pm
Default log method use '$self->fd()' instead of '$self->{fd}'.
Include a sub fd() method for inheritance purposes.
* lib/Qpsmtpd/PollServer.pm
Inherit log() from Qpsmtpd.pm (via SMTP.pm).
* lib/Qpsmtpd/Plugin.pm
Appropriate code allow plugins to inherit fd().
* plugins/dnsbl
Use log() instead of warn().
* plugins/logging/adaptive
plugins/logging/warn
Include the 'fd:#' to the log line if defined.
* qpsmtpd
Reorder things slightly so we can use log().
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@589 958fd67b-6ff1-0310-b445-bb7760255be9
Too many individual changes to document. Trust me... ;-)
Lightly tested (i.e. it accepts and delivers mail with minimal plugins).
NOTES/LIMITATIONS:
logging/adaptive currently eats some log messages.
auth_vpopmail_sql is currently broken (needs continuations?).
'make test' fails in dnsbl (no Test::Qpsmtpd::input_sock() method).
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@588 958fd67b-6ff1-0310-b445-bb7760255be9
RFC-2821 Section 4.5.1 specifically requires <postmaster> (without
domain name) as a legal RCPT TO: address.
* t/qpsmtpd-address.t
Test the above.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@560 958fd67b-6ff1-0310-b445-bb7760255be9
Add POD to describe how to use the objects. Make the addr_cmp
method private (no need to expose it).
* t/qpsmtpd-address.t
Include tests of overloaded comparison, including sorting.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@559 958fd67b-6ff1-0310-b445-bb7760255be9
Don't overload '<=>' operator casually. Swap host/user portion
when comparing (makes it easy to sort by domain).
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@558 958fd67b-6ff1-0310-b445-bb7760255be9
Since we are already overloading stringify, we might as well
overload comparisons as well (this may be too simplistic a test).
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@557 958fd67b-6ff1-0310-b445-bb7760255be9
lib/Qpsmtpd/SMTP.pm
Take the AUTH method and put it in SMTP.pm where it belongs.
* lib/Qpsmtpd.pm
lib/Qpsmtpd/Plugin.pm
Expose the auth_user/auth_mechanism property to plugin writers.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@556 958fd67b-6ff1-0310-b445-bb7760255be9
Fix fairly egregious error. If the size_threashold is smaller than
the body while writing, the file handle would be closed prematurely.
Ouch. I don't like it here from a stylistic point of view, but at
least it will actually work now.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@553 958fd67b-6ff1-0310-b445-bb7760255be9
Convert objects to hash. Neuter parse() to wrapper around new().
Add overload stringify to $obj->format().
* t/qpsmtpd-address.t
Remove tests specific to parse(). Add test for overloaded "".
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@552 958fd67b-6ff1-0310-b445-bb7760255be9