Commit Graph

117 Commits

Author SHA1 Message Date
Jared Johnson
b22d037c39 Add hook_user_config
This adds a hook_user_config for plugins designed to return per-user
configuration directives.  Qpsmtpd::Address::config() triggers a
hook_user_config plugin.
2014-09-15 16:53:09 -05:00
Matt Simerson
fabbdae960 tests for Qpsmtpd/SMTP
* order the ‘use’  pragmas
* compact the new() method
* move fault() tests into t/qpsmtpd-smtp.t
2014-09-11 10:46:29 -07:00
Jonathan Hall
8b1ff67604 Update fault()'s output to inidcate the possibly meaninglessness of the reported system error. 2014-09-11 11:58:31 -05:00
Priyadi Iman Nurcahyo
c4452a5856 Add our headers (Received & Authentication-Results) earlier, just after DATA 2014-06-04 03:59:52 +00:00
Matt Simerson
a26d46ed87 move Auth-Results header to Original-Auth-Results
this was in a sub, commented out as a TODO to delete them. Instead of deleting, move the Authentication-Results header on incoming messages to the Original-A-R.
2013-12-17 14:16:34 -08:00
Matt Simerson
4a61ef1ad9 define positioning of Authentication-Results header 2013-08-05 15:05:38 -07:00
Matt Simerson
4d489ea6ef tested and working Authentication-Results
changed the method of saving results. Instead of appending to/from a header, plugins save results to a connection note.

Qpsmtpd::SMTP.pm has a new method that inserts the Authentication-Results header
The smtp-auth information has been removed from the Received header

Authentication-Results providing plugins have been updated to store results in connection note
2013-08-05 15:05:38 -07:00
Matt Simerson
4ae16219bd added Authentication-Results header, with provider
dkim, dmarc, fcrdns (iprev), spf, and smtp-auth
2013-08-05 15:05:38 -07:00
Matt Simerson
b126c3c7f8 store envelope from and to in connection notes 2013-08-05 15:05:38 -07:00
Matt Simerson
3a0900f0ae SMTP.pm: reduce auth details from Received header.
based on patch from Devin Carraway

  http://www.nntp.perl.org/group/perl.qpsmtpd/2012/08/msg9954.html
2013-08-05 15:05:38 -07:00
Matt Simerson
5b06929e95 find . -name '*.pm' -exec perltidy -b {} \; 2013-08-05 15:05:15 -07:00
Matt Simerson
24ad1184ca SMTP.pm: fixed invalid operator
which produced this warning:
   Useless use of string eq in void context at lib/Qpsmtpd/SMTP.pm line 639.
2013-08-05 15:05:09 -07:00
Matt Simerson
ce18cf78ae allow messages with no body: Robin's patch
This is Robin's patch from here: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/mail-mta/qpsmtpd/files/qpsmtpd-0.83-accept-empty-email.patch?view=markup
2013-08-05 15:01:53 -07:00
Matt Simerson
6a7598e3bf SMTP.pm: test if unrec cmd is set (suppress warning)
and decrease log message priority in rcpt_response
2013-08-05 15:01:49 -07:00
Matt Simerson
d80a347afe SMTP.pm, add missing ; and remove useless if 2012-05-06 15:50:57 -07:00
Matt Simerson
d9a42d1774 confine SMTP.pm duplicate logging to LOGDEBUG 2012-05-06 15:50:23 -07:00
Matt Simerson
049d34ee55 improve readability in SMTP::auth_parse_respond 2012-05-06 15:50:07 -07:00
Hanno Hecker
33d8825ecf Fix for plugins returning DONE from HELO/EHLO
We have to return something true, else the client gets an additional
 451 Internal error - try again later - command 'helo' failed unexpectedly
after the plugin's ->respond() message.
2010-09-17 15:25:20 +08:00
jaredj
5c3bd220aa Run hook_reset_transaction after all connections
This makes hook_reset_transaction a bit more useful by running it on
disconnections.  It also ensures that hook_disconnect runs when the
client disconnects without QUITing.
2010-09-15 14:32:53 +08:00
jaredj
d4edf3acc6 Whitespace cleanups
Remove some trailing spaces and replace some tabs with spaces
2009-03-02 12:53:56 -08:00
Robert
e5507f9672 data_headers_end does not work in async mode 2009-02-12 00:29:56 -08:00
Karl Y. Pradene
059771d31d End of headers hook: data_headers_end
Hook after receiving all headers lines. Defaults to nothing,
just continue processing. At this step, sender does not wait for a reply,
but we can stop him from sending remaining data by disconnecting.

(Cleaned up by Robert for english and coding style.)

Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
Signed-off-by: Robert Spier <robert@perl.org>
2009-02-10 02:49:38 -05:00
Matt Sergeant
14314f3f10 Lower log level of rcpt/from addresses
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@949 958fd67b-6ff1-0310-b445-bb7760255be9
2008-09-30 03:22:34 +00:00
Hanno Hecker
a64742cc7c prefork, forkserver: restart on SIGHUP: * reset to defaults * clear config cache * reload all plugins (includes compiling, register()/init())
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@927 958fd67b-6ff1-0310-b445-bb7760255be9
2008-06-15 09:28:02 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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