Commit Graph

439 Commits

Author SHA1 Message Date
jaredj
2e552d2297 Add Qpsmtpd::Transaction::remove_recipient()
Add remove_recipient() to Qpsmtpd::Transaction, a counterpart to
add_recipient().

Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
2009-02-27 00:47:52 -08:00
Ask Bjørn Hansen
9f7ce234b0 prepare v0.80 2009-02-27 00:17:41 -08:00
Ask Bjørn Hansen
afa7efb98d Make the README file less insanely outdated 2009-02-13 00:12:55 -08:00
Robert
01e2190a63 Revert "Add notes to Qpsmtpd::Address class"
This reverts commit ea86b9fdb2.

Jared said...
I originally considered these functionally identical, but they are
not. The new code, called with, say, $txn->notes('discard',undef),
would result in evaluation as if it were a 'get' method rather than
setting the 'discard' note to undef.  That seems quite dangerous.  I
suggest either reverting the language back to the '@_ and' model, or
else doing something like:
2009-02-12 21:00:16 -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
Jared Johnson
ea86b9fdb2 Add notes to Qpsmtpd::Address class
standardize other notes calls
2009-02-08 22:38:03 -08:00
Steve Kemp
815c6d8223 PATCH: Log the name of plugins generating fatal errors
I've got many non-standard plugins and for a given
  fatal error it is non-trivial to determine which of
  them was to blame.

   Perhaps this patch would be useful?  (Against SVN,
 not git, but I think that shouldn't matter too much..)

Steve
--
Stop blog&forum spam
http://blogspam.net/
2009-02-08 22:19:44 -08:00
Jeff King
e4cb191047 Don't do printf interpolation on config('me')
The code feeds the results of $session->config('me') to
sprintf as part of the format string. In practice, this is
probably not a problem since hostnames don't contain percent
signs. However, it triggers a taint warning in perl 5.10,
making cram-md5 auth unusable.

This patch rewrites the sprintf to insert the 'me' value
using a %s format specifier.
2009-01-05 06:34:59 +00:00
Henry Baragar
4bbdd551b4 Ignore leading/trailing whitespace in config files
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@966 958fd67b-6ff1-0310-b445-bb7760255be9
2009-01-02 20:41:00 +00:00
Robert Spier
79c5a726a3 Trailing whitespace cleanup
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@965 958fd67b-6ff1-0310-b445-bb7760255be9
2008-12-31 21:46:40 +00:00
Jared Johnson
9e7a4c8e3b Allow configuration of spool_dir permissions
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@964 958fd67b-6ff1-0310-b445-bb7760255be9
2008-12-31 21:44:59 +00:00
Jared Johnson
a248ed56ad Allow local sites to override the definition of an email address.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@963 958fd67b-6ff1-0310-b445-bb7760255be9
2008-12-31 21:35:21 +00:00
Hanno Hecker
836e678e1b async: add connection->local_ip, connection->local_port
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@960 958fd67b-6ff1-0310-b445-bb7760255be9
2008-12-15 20:48:42 +00:00
Hanno Hecker
59ed062aa9 keep the square brackets around the IP as "remote_host" if the reverse lookup failed
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@957 958fd67b-6ff1-0310-b445-bb7760255be9
2008-11-16 08:28:29 +00:00
Matt Sergeant
26f689191d Support returning 0 values in config files
(always worked on the second call due to the cache, but would return undef on the first call)

git-svn-id: https://svn.perl.org/qpsmtpd/trunk@955 958fd67b-6ff1-0310-b445-bb7760255be9
2008-10-27 09:49:22 +00: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
Matt Sergeant
77582b0b10 Fix bug in -async where the body_file (via body_filename) wouldn't have the headers in it.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@947 958fd67b-6ff1-0310-b445-bb7760255be9
2008-09-26 18:59:12 +00:00
Matt Sergeant
59b826d4bb Fix to check client is writable before writing to it.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@946 958fd67b-6ff1-0310-b445-bb7760255be9
2008-09-26 17:40:04 +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
Radu Greab
6fc25099b0 Revert #923, there are objections against it because it is good to know why the reverse DNS lookup failed.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@924 958fd67b-6ff1-0310-b445-bb7760255be9
2008-06-03 07:35:59 +00:00
Radu Greab
6db489e4f9 Set connection remote_host only when the reverse DNS lookup is successful.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@923 958fd67b-6ff1-0310-b445-bb7760255be9
2008-06-02 16:48:57 +00:00
Radu Greab
4c93c85f55 Create async version of dns_whitelist_soft, rhsbl and uribl plugins.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@921 958fd67b-6ff1-0310-b445-bb7760255be9
2008-06-02 15:51:04 +00:00
John Peacock
14a77718f8 Preserve connection notes as part of cloning the object (e.g. after STARTTLS). Typo noticed in plugins/tls.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@917 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-26 21:25:44 +00:00
Hanno Hecker
a05b334b44 reset the original connection object like we reset all connection objects at the end of a connection
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@913 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-18 05:55:30 +00:00
Hanno Hecker
d7ef2ac660 prefork: post-connection hook was not called every time a client disconnects
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@912 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-17 09:33:33 +00:00
Matt Sergeant
96d3f6d40a Remove obsolete qpsmtpd-server
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@904 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-12 17:25:44 +00:00
Matt Sergeant
4578cd6eff Make sure non-responding hooks are called appropriately
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@903 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-12 17:19:31 +00:00
Hanno Hecker
c7c6e3afb9 apache: add post-connection hook, connection->reset
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@902 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-12 15:33:28 +00:00
Hanno Hecker
a9e2089ab7 async: check return values from pre-connection hook
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@900 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-12 14:42:41 +00:00
Hanno Hecker
b901440dfe oops, remove debug "warn ..."
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@899 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-10 06:03:57 +00:00
Hanno Hecker
7ad1054507 add connection->reset also for -async
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@897 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-10 05:55:56 +00:00
Hanno Hecker
104c8b1710 add pre- and post-connection hooks to -async
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@896 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-10 05:53:39 +00:00
Matt Sergeant
cbf652d96b Support original_string in Apache
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@895 958fd67b-6ff1-0310-b445-bb7760255be9
2008-05-09 18:17:38 +00:00
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