Matt Sergeant
eb8a190e44
This fixes a really nasty bug that means that some (mostly spam, admittedly) mail would get missed.
...
What happens is if you pause the connection (needed if you YIELD for something)
then the line-reading loop exits, and never gets back there unless the client
sends more data. If the client is an abuser (i.e. pipelines) then you might
never get back to the read loop.
(yes, this was a bitch to track down :-))
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@730 958fd67b-6ff1-0310-b445-bb7760255be9
2007-03-28 21:33:10 +00:00
Matt Sergeant
ce879879b5
Async versions of these plugins
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@729 958fd67b-6ff1-0310-b445-bb7760255be9
2007-03-27 21:49:03 +00:00
Matt Sergeant
a375bc5302
Fix for when connection immediately disconnects
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@728 958fd67b-6ff1-0310-b445-bb7760255be9
2007-03-21 13:42:57 +00:00
Matt Sergeant
46acae5c7f
More pollserver fixes
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@727 958fd67b-6ff1-0310-b445-bb7760255be9
2007-03-19 21:40:56 +00:00
Matt Sergeant
b1c9101bfa
A few pollserver bug fixes
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@726 958fd67b-6ff1-0310-b445-bb7760255be9
2007-03-19 21:13:17 +00:00
Ask Bjørn Hansen
313f285847
Added tests for the rcpt_ok plugin (Guy Hulbert, issue #4 )
...
http://code.google.com/p/smtpd/issues/detail?id=4
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@725 958fd67b-6ff1-0310-b445-bb7760255be9
2007-03-15 06:55:24 +00:00
Ask Bjørn Hansen
5c9e3d6004
greylisting: fix db_dir configuration option so it actually works
...
(kitno455, issue #6 )
http://code.google.com/p/smtpd/issues/detail?id=6
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@724 958fd67b-6ff1-0310-b445-bb7760255be9
2007-03-15 06:51:37 +00:00
Ask Bjørn Hansen
cc00c1d9ff
rename %ARGS to %PERMITTED_ARGS
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@723 958fd67b-6ff1-0310-b445-bb7760255be9
2007-03-15 06:49:23 +00:00
Ask Bjørn Hansen
e6ee4c486b
Correct header parsing of "space only" lines (Joerg Meyer)
...
(issue #11 - http://code.google.com/p/smtpd/issues/detail?id=11 )
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@722 958fd67b-6ff1-0310-b445-bb7760255be9
2007-03-15 06:13:18 +00:00
Hanno Hecker
88d0125eae
add run_hooks('post-connection') in ./qpsmtpd
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@719 958fd67b-6ff1-0310-b445-bb7760255be9
2007-03-03 10:50:45 +00:00
Matt Sergeant
237bf904a5
Quiet warnings (Steve_p)
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@714 958fd67b-6ff1-0310-b445-bb7760255be9
2007-02-13 18:29:47 +00:00
John Peacock
76d3fe44db
Correct way to support check_earlytalker with PollServer.
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@712 958fd67b-6ff1-0310-b445-bb7760255be9
2007-02-07 22:25:44 +00:00
John Peacock
fea300ed2e
Add authenticated method to base Qpsmtpd object.
...
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
2007-02-07 21:49:45 +00:00
Robert Spier
bcbe814165
copy 0.3x to trunk
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@710 958fd67b-6ff1-0310-b445-bb7760255be9
2007-02-03 07:51:30 +00:00
Matt Sergeant
30a1c71efc
More qpsmtpd-async merges
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@707 958fd67b-6ff1-0310-b445-bb7760255be9
2007-02-02 23:47:26 +00:00
Matt Sergeant
be67f02dd8
Fix tests (idea from Guy Hulbert, with tweak from me).
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@706 958fd67b-6ff1-0310-b445-bb7760255be9
2007-01-11 23:52:51 +00:00
Robert Spier
02edd1a32a
mct noticed that we weren't properly testing for ESMTP.
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@704 958fd67b-6ff1-0310-b445-bb7760255be9
2007-01-06 20:22:01 +00:00
Robert Spier
a30506e9b6
RFC3848 support for ESMTP.
...
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
2007-01-06 06:58:08 +00:00
Ask Bjørn Hansen
e7d64268e0
Update the sample configuration to use zen.spamhaus.org
...
take out ordb and mail-abuse references from sample config and the website
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@702 958fd67b-6ff1-0310-b445-bb7760255be9
2007-01-06 02:25:45 +00:00
Hanno Hecker
d54a960f9a
undo r700 (skip plugin)
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@701 958fd67b-6ff1-0310-b445-bb7760255be9
2007-01-01 12:47:46 +00:00
Hanno Hecker
39a9271213
New "skip plugin API" + example plugin skip_plugins, see perldoc
...
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
2006-12-31 11:07:32 +00:00
Hanno Hecker
6eefa97016
some fixes from Michael C. Toren:
...
- Treat DENY(|SOFT)_DISCONNECT from connect hooks the same as DENY(|SOFT)
- only append ESMTP to smtpgreeting if it's not already in there
- Qpsmtpd::SMTP::fault(): parsing now unambigous and just first "word" of $0
see also http://www.nntp.perl.org/group/perl.qpsmtpd/5905
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@699 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-25 10:12:54 +00:00
Ask Bjørn Hansen
dcb86d5a72
take out ordb.org from the sample dnsbl config; s/sbl/sbl-xbl/
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@698 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-18 19:46:26 +00:00
Ask Bjørn Hansen
cab7466c08
Make the badmailfrom plugin support (optional) rejection messages after the
...
rejection pattern (Robin Hugh Johnson)
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@697 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-18 10:45:25 +00:00
Ask Bjørn Hansen
e31d3e3e4b
documentation typo in clamav, update changes file a bit
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@696 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-18 10:45:22 +00:00
Hanno Hecker
ad541f6207
Qpsmtpd::Transaction: add body_fh(), body_length() and data_size(),
...
depreceated body_size()
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@689 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-16 11:56:48 +00:00
Peter J. Holzer
469c01a1f4
Increased log level of SMTP commands and responses to LOGINFO.
...
These may be useful during normal operations.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@685 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-16 10:01:50 +00:00
Peter J. Holzer
c581b10628
Reduce the log level of the "running plugin" message to LOGDEBUG.
...
The mere fact that a plugin was called is only useful for debugging.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@684 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-16 09:56:09 +00:00
Peter J. Holzer
d6c428716f
Check if the domain name in a DNS response packet matches one of the
...
domain names we queried.
See the thread "dnsbl or spamhaus occassionally blocks wrong IP"
starting at 14 Mar 2006 for details.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@683 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-16 09:46:12 +00:00
Peter J. Holzer
72da879365
Ensure that each child process in qpsmtpd-forkserver will use a
...
differenct sequence of ids in DNS requests.
See the thread "dnsbl or spamhaus occassionally blocks wrong IP"
starting at 14 Mar 2006 for details.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@682 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-16 09:42:52 +00:00
Peter J. Holzer
d2c79e9736
Added support for (x)inetd.
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@681 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-16 09:30:32 +00:00
Matt Sergeant
5fea527ba4
Remove debug print
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@680 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-08 20:55:47 +00:00
Matt Sergeant
2b709d664c
Async qpsmtpd (still entirely compatible with non-async version)
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@679 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-08 19:46:18 +00:00
Matt Sergeant
0449fbfb50
Fix a showstopper of a bug in Command.pm which meant all commands would be parsed wrong
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@678 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-08 19:37:47 +00:00
Hanno Hecker
8b50f9f0dd
removed spamassassin doc from dnsbl
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@677 958fd67b-6ff1-0310-b445-bb7760255be9
2006-12-07 10:29:41 +00:00
Matt Sergeant
e299135526
Initial work for continuations (and thus the async server).
...
(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
2006-11-30 22:10:55 +00:00
John Peacock
b7f468404b
Fixup qpsmtpd-prefork, et al, to correctly load Constants.
...
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
2006-11-22 16:30:37 +00:00
Devin Carraway
ecb24ef131
Fix use of the default plugin dir path in the logging startup when no
...
plugin_dir is configured. Slightly worsens duplication of code with
plugin_dir() to continue avoiding infinite recursion.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@674 958fd67b-6ff1-0310-b445-bb7760255be9
2006-11-08 10:25:45 +00:00
Peter J. Holzer
839eddc558
Older perls don't know constant AF_INET6, but don't mind a function
...
which is never called.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@673 958fd67b-6ff1-0310-b445-bb7760255be9
2006-11-06 09:06:39 +00:00
Devin Carraway
b52b7b50c2
Support configured greylisting db location, and look in the distro-friendly
...
directory /var/lib/qpsmtpd in addition to the previous $QPHOME locations.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@672 958fd67b-6ff1-0310-b445-bb7760255be9
2006-11-05 10:38:16 +00:00
Devin Carraway
af5f025b51
(Working) support for multiple plugin directories, with a fix from Nick
...
Leverton <nj|@|leverton.org>. The inner _load_plugins() routine is changed to
load only a single plugin given a search path, and the (two) calls to it pass
in the configured list of plugin dirs. The non-module case of _load_plugin()
simply loops on the plugin dir list until a matching plugin file is found;
the first match stops the search for that plugin, regardless of success or
failure in loading it.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@671 958fd67b-6ff1-0310-b445-bb7760255be9
2006-11-05 09:54:03 +00:00
Devin Carraway
02bf7b80e5
Fix startup of qpsmtpd-forkserver on hosts lacking Socket6 (it's not enough
...
to have 'use Socket6' in a conditional, it must be evalled also)
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@670 958fd67b-6ff1-0310-b445-bb7760255be9
2006-11-05 09:47:18 +00:00
John Peacock
0786b60699
Script to generate Qpsmtpd::Postfix::Constants from the Postfix source.
...
From Hanno Hecker (tweaks by John Peacock).
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@669 958fd67b-6ff1-0310-b445-bb7760255be9
2006-11-01 02:28:41 +00:00
John Peacock
86e202d19e
Add program to extract Postfix constants from source files and generate
...
Qpsmtpd::Postfix::Constants (to be used by postfix-queue).
Patch by Hanno Hecker.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@668 958fd67b-6ff1-0310-b445-bb7760255be9
2006-11-01 02:08:30 +00:00
John Peacock
bdf3f983a7
Add hardcoded mapping between postfix's cleanup errors and corresponding
...
Qpsmtpd::DSN value. (David Muir Sharnoff)
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@667 958fd67b-6ff1-0310-b445-bb7760255be9
2006-10-26 15:50:02 +00:00
John Peacock
da93a9ca3b
Add log socket support to syslog plugin. (Peter Eisch)
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@666 958fd67b-6ff1-0310-b445-bb7760255be9
2006-10-25 17:07:27 +00:00
John Peacock
413d3c38d3
Sample tls_ciphers configuration should have HIGH as a default.
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@665 958fd67b-6ff1-0310-b445-bb7760255be9
2006-10-04 15:10:23 +00:00
John Peacock
6c3dc88f37
Buffer output of Qpsmtpd::TcpServer::respond() for broken clients who don't
...
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
2006-10-04 13:49:49 +00:00
John Peacock
9c39c530b2
Allow override of TLS security methods using CIPHER_STRINGS passed to
...
IO::Socket::SSL. Brian Szymanski <ski-qpsmtpd@allafrica.com>
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@663 958fd67b-6ff1-0310-b445-bb7760255be9
2006-10-04 13:39:27 +00:00
John Peacock
a7a3031440
OK, really, this time the capitalization for AUTH mechanisms is correct.
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@662 958fd67b-6ff1-0310-b445-bb7760255be9
2006-09-24 14:55:48 +00:00