Hanno Hecker
ea243c2f2f
add reset() to Qpsmtpd::Connection to clear the connection notes after
...
the post-connection hooks - needed for -prefork and STARTTLS
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@893 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-09 17:40:31 +00:00
Matt Sergeant
b0cc017e9e
Provide original_string in PollServer
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@892 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-09 15:27:11 +00:00
Matt Sergeant
f315e1c193
Make tls work on async
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@884 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-05 12:22:18 +00:00
Matt Sergeant
bb724645a7
Don't continually check ->isa() for continue/pause_read - use OO properly
...
Support case where no connect hook is defined (thus continue_read() never gets called)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@882 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-02 17:50:29 +00:00
Radu Greab
b2532e8daa
$msg is an arrayref, dereference it before passing to $self->respond.
...
Before this, the SMTP responses contained the reference stringification
instead of the real message, when a plugin denied the mail at the DATA
stage:
554 ARRAY(0x9362f10)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@881 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-01 06:20:45 +00:00
Radu Greab
8dda36cf02
New fix for the problem of End-of-data splitted across packets.
...
Previous fix does not work for other cases, for example: packet ends
with CRLFdot, next packet starts with CRLF.
Danga::Client will send now full text lines to the callback.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@878 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-01 06:15:32 +00:00
Radu Greab
90e60d3d4f
Allow plugins to use the post-fork hook.
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@877 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-01 06:11:22 +00:00
Matt Sergeant
ea3f2cd7b7
Make sure we check for \r\n before we fixup the CRs
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@876 958fd67b-6ff1-0310-b445-bb7760255be9
2008-04-15 12:09:54 +00:00
Matt Sergeant
e93284caaa
Fix for when a regular DATA packet starts with "." but isn't End-of-data
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@875 958fd67b-6ff1-0310-b445-bb7760255be9
2008-04-14 12:24:18 +00:00
Matt Sergeant
d0d7412f22
Fix auth and tls in light of globalised hooks
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@874 958fd67b-6ff1-0310-b445-bb7760255be9
2008-04-08 10:34:25 +00:00
Hanno Hecker
ddc1b91964
make hook_*_parse() work again
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@872 958fd67b-6ff1-0310-b445-bb7760255be9
2008-03-20 06:27:42 +00:00
Matt Sergeant
c076c10eae
fix die() message
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@870 958fd67b-6ff1-0310-b445-bb7760255be9
2008-03-18 20:30:16 +00:00
Matt Sergeant
2665f1f304
Doc fix
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@869 958fd67b-6ff1-0310-b445-bb7760255be9
2008-03-18 20:25:06 +00:00
Matt Sergeant
f475fd19e3
Remove remnants
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@868 958fd67b-6ff1-0310-b445-bb7760255be9
2008-03-18 19:43:31 +00:00
Matt Sergeant
f2e786d34f
More updates to bring into line with current qpsmtpd, esp with regard to config and plugin locations.
...
Docs updated
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@867 958fd67b-6ff1-0310-b445-bb7760255be9
2008-03-18 19:36:25 +00:00
Matt Sergeant
6c42523a92
Removed obsolete plugin_dir method (now use config/plugin_dirs)
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@866 958fd67b-6ff1-0310-b445-bb7760255be9
2008-03-18 19:21:00 +00:00
Matt Sergeant
9415a518df
Fix nasty bug where body wouldn't be recorded if it came in a separate packet from the header.
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@863 958fd67b-6ff1-0310-b445-bb7760255be9
2008-03-18 15:20:13 +00:00
Matt Sergeant
8e3c0cf33a
fix config caching again - defaults weren't applied prior to this patch
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@862 958fd67b-6ff1-0310-b445-bb7760255be9
2008-03-18 15:19:20 +00:00
Matt Sergeant
31a498cfd7
Restore timers on reset
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@859 958fd67b-6ff1-0310-b445-bb7760255be9
2008-03-13 21:20:56 +00:00
Matt Sergeant
f84ba8eb92
Fairness patch - prevent bad pipelining clients from hogging the event loop
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@852 958fd67b-6ff1-0310-b445-bb7760255be9
2008-03-13 19:48:45 +00:00
Ask Bjørn Hansen
16e577c798
explain why the CDB config entries are not cached
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@847 958fd67b-6ff1-0310-b445-bb7760255be9
2008-02-14 18:42:54 +00:00
Matt Sergeant
214e7e0ec0
More crazy performance stuff
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@845 958fd67b-6ff1-0310-b445-bb7760255be9
2008-02-08 21:26:25 +00:00
Matt Sergeant
367c9a31a9
(much) Less stat calls by caching load_logging
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@844 958fd67b-6ff1-0310-b445-bb7760255be9
2008-02-01 20:59:18 +00:00
Ask Bjørn Hansen
bc5fd11804
bump version to 0.43rc1; update Changes
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@842 958fd67b-6ff1-0310-b445-bb7760255be9
2008-02-01 19:39:11 +00:00
Matt Sergeant
3553eee269
More small performance optimisations
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@841 958fd67b-6ff1-0310-b445-bb7760255be9
2008-02-01 19:06:35 +00:00
Matt Sergeant
238eb79841
Small performance improvement for logging and config hooks which don't need full continuation support
...
DashProfiler support (commented out)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@839 958fd67b-6ff1-0310-b445-bb7760255be9
2008-01-30 18:35:32 +00:00
Hanno Hecker
2f3a326e11
Pluggable hook "noop" with example plugin (noop_counter) and doc update.
...
... 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
2008-01-24 18:43:34 +00:00
Hanno Hecker
bb75098a84
add missing entry "vrfy" in @hooks, to make hook_vrfy() work
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@834 958fd67b-6ff1-0310-b445-bb7760255be9
2008-01-19 15:09:07 +00:00
Hanno Hecker
e199f8b6b4
restore version to 0.42rc1
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@826 958fd67b-6ff1-0310-b445-bb7760255be9
2007-12-07 09:13:47 +00:00
Hanno Hecker
bf88f1ee99
Pluggable help, based on patch by Jose Luis Martinez
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@825 958fd67b-6ff1-0310-b445-bb7760255be9
2007-12-07 09:12:15 +00:00
Peter J. Holzer
0ea6a89dbe
Made user() and host() setters as well as getters.
...
Suggested by mpelzer@gmail.com .
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@824 958fd67b-6ff1-0310-b445-bb7760255be9
2007-12-05 16:43:33 +00:00
Matt Sergeant
8700e5c6fe
Better config caching
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@821 958fd67b-6ff1-0310-b445-bb7760255be9
2007-12-03 17:44:14 +00:00
Matt Sergeant
c837f5d611
Fixed hook caching
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@818 958fd67b-6ff1-0310-b445-bb7760255be9
2007-11-19 16:57:03 +00:00
Matt Sergeant
c5dd26b6af
Hook/plugin caching
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@814 958fd67b-6ff1-0310-b445-bb7760255be9
2007-11-16 15:06:30 +00:00
Matt Sergeant
d4dda86bfd
Implement config caching properly (for async).
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@813 958fd67b-6ff1-0310-b445-bb7760255be9
2007-11-16 14:51:01 +00:00
Hanno Hecker
aa8ae14367
Fix issue #23 , reported w/ patch by ulr...@topfen.net
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@812 958fd67b-6ff1-0310-b445-bb7760255be9
2007-10-27 09:05:04 +00:00
Hanno Hecker
7d4605fdbc
remove the connection / transaction id feature for 0.42 release
...
- 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
2007-10-09 12:00:43 +00:00
Matt Sergeant
7fa3918803
Revert bad Event::Lib changes
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@808 958fd67b-6ff1-0310-b445-bb7760255be9
2007-10-08 18:24:35 +00:00
Matt Sergeant
1e73edf94a
Fix doubly declared variable
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@806 958fd67b-6ff1-0310-b445-bb7760255be9
2007-10-04 15:18:34 +00:00
Ask Bjørn Hansen
1d4eca3ab3
update changes and manifest
...
bump version to 0.42rc1
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@803 958fd67b-6ff1-0310-b445-bb7760255be9
2007-09-28 07:45:11 +00:00
Hanno Hecker
5081901361
remove commented code
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@801 958fd67b-6ff1-0310-b445-bb7760255be9
2007-09-26 18:02:24 +00:00
Hanno Hecker
85fd2dd40a
fix uninitialized values (and empty ->id)
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@800 958fd67b-6ff1-0310-b445-bb7760255be9
2007-09-26 07:02:15 +00:00
John Peacock
a6f5eb61d0
Missing fields for async server.
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@799 958fd67b-6ff1-0310-b445-bb7760255be9
2007-09-25 14:10:49 +00:00
Ask Bjørn Hansen
c2f006723b
prepare 0.41
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@797 958fd67b-6ff1-0310-b445-bb7760255be9
2007-09-24 21:00:11 +00:00
Ask Bjørn Hansen
4be7bb40e4
POD syntax cleanup (Steve Kemp)
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@786 958fd67b-6ff1-0310-b445-bb7760255be9
2007-09-03 15:47:08 +00:00
Peter J. Holzer
af82701fff
New id scheme: Start with a unique id for the Qpsmtpd::SMTP object,
...
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
2007-09-02 10:50:23 +00:00
Hanno Hecker
a5c22bcb7c
Fix Qpsmtpd::Plugins::isa_plugin() with multiple plugin dirs (Gavin Carr)
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@783 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-31 05:26:04 +00:00
Matt Sergeant
610672cb5f
Switch rand() part of id to a sequence
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@782 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-30 20:50:39 +00:00
Peter J. Holzer
5ccdcca7b2
Connection id similar to the transaction id by Matt.
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@780 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-30 20:19:30 +00:00
Peter J. Holzer
b57ee765de
fixed assignment (=> instead of =).
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@779 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-30 20:18:42 +00:00
Matt Sergeant
e6113d586d
More changes to the id generator
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@778 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-29 21:50:53 +00:00
Matt Sergeant
bf5d011d85
Update id generator again
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@777 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-29 21:37:33 +00:00
Matt Sergeant
3a85914315
Fixed local_port => remote_port
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@776 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-28 20:12:21 +00:00
Matt Sergeant
a7914ac0dc
Support for $transaction->id to get a unique id for this transaction
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@775 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-28 18:42:01 +00:00
Hanno Hecker
9c91bb04e6
unrecognized command fix for http://code.google.com/p/smtpd/issues/detail?id=16
...
- 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
2007-08-19 06:49:42 +00:00
Hanno Hecker
ff34740823
make the documented DENY{,SOFT}_DISCONNECT work in the data-post hook
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@771 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-15 16:11:36 +00:00
Matt Sergeant
3a8889ca27
Allow buffered writes (from Joe Schaefer)
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@770 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-15 13:46:10 +00:00
Hanno Hecker
731e202025
Doc update for Apache 2.2: use AcceptFilter w/ Linux, FreeBSD
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@766 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-05 07:05:34 +00:00
Matt Sergeant
afed08ebcd
Argh. Fixed cut & paste error
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@765 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-03 20:17:25 +00:00
Matt Sergeant
521a6f3f9e
Fix bug which breaks queue plugins that implement continuations
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@764 958fd67b-6ff1-0310-b445-bb7760255be9
2007-08-03 20:16:01 +00:00
Hanno Hecker
8809fceb4a
Better error message than
...
Can't locate object method "new" via package "Qpsmtpd::Plugin::logging::warn"
(perhaps you forgot to load "Qpsmtpd::Plugin::logging::warn"?)
if plugin cannot be found in @plugin_dirs
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@762 958fd67b-6ff1-0310-b445-bb7760255be9
2007-07-31 06:37:45 +00:00
Ask Bjørn Hansen
86c0d8d95e
Make connection->local_ip available from the Apache transport (Peter Eisch)
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@761 958fd67b-6ff1-0310-b445-bb7760255be9
2007-07-31 00:06:15 +00:00
Ask Bjørn Hansen
2ef46f4694
change version numbers to 0.40
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@754 958fd67b-6ff1-0310-b445-bb7760255be9
2007-06-11 18:03:14 +00:00
Ask Bjørn Hansen
c80884a35b
update manifest (bump to 0.40_02)
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@752 958fd67b-6ff1-0310-b445-bb7760255be9
2007-06-08 01:09:40 +00:00
Ask Bjørn Hansen
5aeb37fb75
prepare 0.40_01 for tagging
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@749 958fd67b-6ff1-0310-b445-bb7760255be9
2007-06-06 17:07:05 +00:00
John Peacock
542db781a2
Always initialize variables if setting them is conditional.
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@746 958fd67b-6ff1-0310-b445-bb7760255be9
2007-05-30 15:49:54 +00:00
Ask Bjørn Hansen
0a1cabf806
Fix logging when dropping a mail due to size (m. allan noah /
...
kitno455, issue #13 )
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@741 958fd67b-6ff1-0310-b445-bb7760255be9
2007-05-17 22:28:28 +00:00
Matt Sergeant
ccf990e032
IPv6 support from issue #7 .
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@740 958fd67b-6ff1-0310-b445-bb7760255be9
2007-05-17 22:16:27 +00:00
Matt Sergeant
fff01d4a66
Fix for issue #12 : Bug in Qpsmtpd.pm when using multiple plugin dirs
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@738 958fd67b-6ff1-0310-b445-bb7760255be9
2007-05-17 22:07:05 +00:00
Matt Sergeant
ef7d885929
Allow plugin tests to be in subdir (as with plugins).
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@737 958fd67b-6ff1-0310-b445-bb7760255be9
2007-05-17 22:02:32 +00:00
Ask Bjørn Hansen
8009a316c6
make loglevels here consistent with the TcpServer.pm changes (from who knows when)
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@734 958fd67b-6ff1-0310-b445-bb7760255be9
2007-05-11 07:52:35 +00:00
Matt Sergeant
c2e2f29878
Work around splitting up of return values in hooks
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@733 958fd67b-6ff1-0310-b445-bb7760255be9
2007-04-10 18:08:55 +00:00
Matt Sergeant
062e73b7bf
Support for pluggable received headers
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@731 958fd67b-6ff1-0310-b445-bb7760255be9
2007-04-09 14:45:11 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
John Peacock
9028958307
Fix careless capitalization error
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@661 958fd67b-6ff1-0310-b445-bb7760255be9
2006-09-24 00:53:01 +00:00
John Peacock
d218bfea82
Correctly handle the case where a given AUTH mechanism is requested by a
...
[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
2006-09-22 15:31:28 +00:00
John Peacock
3837fabc9f
Ask and ye shall receive
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@659 958fd67b-6ff1-0310-b445-bb7760255be9
2006-09-14 19:48:37 +00:00
Matt Sergeant
6a8111b6f6
Removed - CPAN version now very much up to date with this
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@658 958fd67b-6ff1-0310-b445-bb7760255be9
2006-08-29 16:51:34 +00:00
Ask Bjørn Hansen
6ef0bf27c7
r4175@embla: ask | 2006-08-28 01:17:10 +0200
...
Experimental IPv6 support (forkserver only). (Mike Williams)
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@657 958fd67b-6ff1-0310-b445-bb7760255be9
2006-08-27 23:17:33 +00:00
Matt Sergeant
b000e35bf9
More fields work
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@649 958fd67b-6ff1-0310-b445-bb7760255be9
2006-06-28 23:27:40 +00:00
Ask Bjørn Hansen
bf2419df33
r3744@embla: ask | 2006-06-28 13:04:50 -0700
...
Support "module" plugins ("My::Plugin" in the config/plugins file)
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@648 958fd67b-6ff1-0310-b445-bb7760255be9
2006-06-28 20:05:04 +00:00
Matt Sergeant
bcbe52f2f8
stats plugin doesn't have a register() function any more (Brian Grossman)
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@646 958fd67b-6ff1-0310-b445-bb7760255be9
2006-06-27 20:28:36 +00:00
John Peacock
25d9fe85a8
Two patches from Robin Johnson:
...
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
2006-06-22 14:48:48 +00:00
Matt Sergeant
5ff2ef7cac
fields patch from Brian Grossman
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@644 958fd67b-6ff1-0310-b445-bb7760255be9
2006-06-20 14:39:52 +00:00
Matt Sergeant
f31d18c6cd
Simplify qpsmtpd script (remove inetd and forking server)
...
Greatly simplify Danga::Client due to no more need for line mode client
Update to latest Danga::Socket
Fix check_earlytalker to use new API
Fix Danga::DNS to use new API
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@643 958fd67b-6ff1-0310-b445-bb7760255be9
2006-06-20 13:51:32 +00:00
Ask Bjørn Hansen
b3bc12e587
r3599@embla: ask | 2006-06-15 17:15:06 -0700
...
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
2006-06-16 00:15:03 +00:00
John Peacock
67dc86e255
New pre-forking qpsmtpd daemon, courtesy of Lars Roland at SoftScan.
...
Initial load with minor tweaks by John Peacock.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@639 958fd67b-6ff1-0310-b445-bb7760255be9
2006-05-31 20:54:03 +00:00
John Peacock
508be70d26
ne is for strings, != is for numbers (Leonardo Helman)
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@636 958fd67b-6ff1-0310-b445-bb7760255be9
2006-04-26 15:31:03 +00:00
John Peacock
af93447e78
Redo AUTH PLAIN and AUTH LOGIN correctly(?) this time. (Michael Holzt)
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@634 958fd67b-6ff1-0310-b445-bb7760255be9
2006-04-24 15:48:24 +00:00
John Peacock
ff4e92bb4e
Resolve ticket #38806 (Inadequate validation of authentication data)
...
Charlie Brady.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@633 958fd67b-6ff1-0310-b445-bb7760255be9
2006-04-07 19:21:10 +00:00
John Peacock
7c6cbdd000
Move the Qpsmtpd::Auth POD to a top-level README to be more obvious.
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@632 958fd67b-6ff1-0310-b445-bb7760255be9
2006-04-07 19:06:39 +00:00
John Peacock
8fcb46177b
Add Qpsmtpd::Command to gather all parsing logic in one place (Hanno
...
Hecker)
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@631 958fd67b-6ff1-0310-b445-bb7760255be9
2006-04-07 18:58:02 +00:00
John Peacock
b89a6d9e4c
* plugins/queue/smtp-forward
...
s/register/init/ to match new plugin style (jpeacock)
* lib/Qpsmtpd/Address.pm
t/qpsmtpd-address.t
Ill-formed addresses should return null not partial garbage.
Resolves https://rt.perl.org/rt3/Ticket/Display.html?id=38746
Patch by Hanno Hecker.
* plugins/virus/clamav
Clamav alternate config file.
Resolves https://rt.perl.org/rt3/Ticket/Display.html?id=38736
Patch by Robin Bowes.
* lib/Qpsmtpd/SMTP.pm
lib/Qpsmtpd.pm
Return multiline responses from plugins.
Resolves https://rt.perl.org/rt3/Ticket/Display.html?id=38741
Patch by Charlie Brady.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@630 958fd67b-6ff1-0310-b445-bb7760255be9
2006-03-20 16:47:05 +00:00
John Peacock
3aa64debd8
remove way too agressive blocking of DENY'd servers
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@628 958fd67b-6ff1-0310-b445-bb7760255be9
2006-03-06 21:33:46 +00:00
John Peacock
bd19ded5a2
Need to cover situation where there are *no* hooks. Should we actually return
...
OK from run_hooks() in the case where no hooks are there to fire?
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@627 958fd67b-6ff1-0310-b445-bb7760255be9
2006-03-01 17:25:51 +00:00
John Peacock
82a32ed558
Automatically disconnect DENY'd server if it doesn't go willingly.
...
Implement queue_pre and queue_post hooks.
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@626 958fd67b-6ff1-0310-b445-bb7760255be9
2006-03-01 16:46:55 +00:00
Ask Bjørn Hansen
3f8ab06a36
r4523@g5: ask | 2006-02-27 13:42:54 -0800
...
Improve Qpsmtpd::Transaction documentation (Fred Moyer)
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@622 958fd67b-6ff1-0310-b445-bb7760255be9
2006-02-27 21:43:08 +00:00
Ask Bjørn Hansen
351f0b7f7f
r4521@g5: ask | 2006-02-27 13:41:09 -0800
...
set the version to 0.33-dev
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@620 958fd67b-6ff1-0310-b445-bb7760255be9
2006-02-27 21:43:00 +00:00
Ask Bjørn Hansen
d8d7b7a407
r4445@g5: ask | 2006-02-17 11:00:12 -0800
...
prepare for 0.32 -- plan release for next thursday
r4446@g5: ask | 2006-02-17 11:00:48 -0800
tag 0.32rc1
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@615 958fd67b-6ff1-0310-b445-bb7760255be9
2006-02-17 19:02:02 +00:00
John Peacock
3574e75cd1
Better handling of <> in address comparisons
...
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@614 958fd67b-6ff1-0310-b445-bb7760255be9
2006-02-07 18:42:16 +00:00
John Peacock
6f145149ae
Apparently, I never tested TLS and AUTH at the same time. It turns out
...
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
2006-02-07 02:03:00 +00:00
John Peacock
347e5d328f
Oops, forgot to remove all traces of Qmsptmd::Auth while I was at it.
...
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
2006-01-27 17:16:13 +00:00
John Peacock
29d739b009
Rename Qpsmtpd::Auth to README.authentication.
...
Replace tabs with spaces in a few plugins.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@606 958fd67b-6ff1-0310-b445-bb7760255be9
2006-01-26 21:36:34 +00:00
John Peacock
654179e8c8
Working AUTH support in PollServer mode. All AUTH code moved to
...
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
2006-01-26 21:31:05 +00:00
John Peacock
1d0f889d3c
Support for RFC 1893 - Enhanced Mail System Status Codes
...
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
2006-01-25 02:59:31 +00:00
John Peacock
d228f9c11d
this patch enables the configurable flags for the postfix-queue plugin.
...
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
2006-01-11 16:48:08 +00:00
John Peacock
c0920346e5
the pre-connection and post-connection hooks are not working in
...
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
2006-01-11 16:21:08 +00:00
John Peacock
7c1c9ef01b
Fix problems with tls and relay_client.
...
Merge r597 from branches/0.3x
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@598 958fd67b-6ff1-0310-b445-bb7760255be9
2006-01-05 02:21:32 +00:00
John Peacock
bfcd620a83
Fix problems with tls and relay_client.
...
* 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
2006-01-05 02:12:46 +00:00
Matt Sergeant
1c2009764f
Don't trap $self in the closure (causes circular refs and never gets freed)
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@596 958fd67b-6ff1-0310-b445-bb7760255be9
2005-12-31 14:53:50 +00:00
Matt Sergeant
99e0455fa4
Fix long standing bug of returning 1 not DONE
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@594 958fd67b-6ff1-0310-b445-bb7760255be9
2005-12-30 19:49:38 +00:00
Matt Sergeant
67a6787625
Get alarm/timeout from a param
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@593 958fd67b-6ff1-0310-b445-bb7760255be9
2005-12-30 19:46:33 +00:00
Matt Sergeant
9c8df69be1
Fix caching bug with PTR records
...
Attempt to fix callback occurring immediately by calling it via AddTimer
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@590 958fd67b-6ff1-0310-b445-bb7760255be9
2005-12-30 19:35:10 +00:00
John Peacock
7cc114edd5
Eliminate the creeping use of warn() in favor of log() and make
...
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
2005-12-30 17:03:14 +00:00
John Peacock
2535e77293
Merge branches/0.3x back to trunk.
...
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
2005-12-22 21:30:53 +00:00
Matt Sergeant
5910aa7292
Fix log bustage ($coworker)
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@586 958fd67b-6ff1-0310-b445-bb7760255be9
2005-12-14 01:21:20 +00:00
Matt Sergeant
cc45e9a576
Prevent logging plugins from entering an infinite loop (use {_transaction}
...
rather than ->transaction() when passing to hook)
Merge some other changes from 0.31.1 branch
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@582 958fd67b-6ff1-0310-b445-bb7760255be9
2005-12-02 02:35:14 +00:00
Matt Sergeant
dfe9dda454
Don't run continuation if config
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@579 958fd67b-6ff1-0310-b445-bb7760255be9
2005-11-22 23:22:48 +00:00
Matt Sergeant
f5efe92bea
Forgot pseudo hash entry
...
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@578 958fd67b-6ff1-0310-b445-bb7760255be9
2005-11-22 23:04:06 +00:00
Matt Sergeant
5994a79d9f
Slight cleanup.
...
Support a finished() callback as the readable() thing didn't work.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@577 958fd67b-6ff1-0310-b445-bb7760255be9
2005-11-22 23:03:05 +00:00
Ask Bjørn Hansen
27975f5cee
r6471@embla: ask | 2005-11-18 01:37:48 -0800
...
version 0.31.1
git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@574 958fd67b-6ff1-0310-b445-bb7760255be9
2005-11-18 09:43:01 +00:00
Matt Sergeant
8454ed40bc
With PollServer, I get several unrecognized commands before the disconnect
...
from plugins/count_unrecognized_commands kicks in.
Several buffered lines are read and processed by
Danga::Client::process_read_buf() without checking if the socket was
closed. The attached patch seems to fix it.
-- Brian Grossman
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@571 958fd67b-6ff1-0310-b445-bb7760255be9
2005-11-16 15:04:37 +00:00