Commit Graph

126 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ask Bjørn Hansen
440068cf5c Update Changes file
Fix typo in README.plugins

prepare for 0.31 to be released wednesday


git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@564 958fd67b-6ff1-0310-b445-bb7760255be9
2005-11-14 09:05:46 +00:00
John Peacock
5959cc1c32 * lib/Qpsmtpd/Auth.pm
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
2005-10-31 17:12:37 +00:00
John Peacock
4b3fdf50bd * lib/Qpsmtpd.pm
By default, spool all messages to disk.

* config.sample/size_threshold
  Provide minimal explanation for how to avoid spooling small messages.

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@549 958fd67b-6ff1-0310-b445-bb7760255be9
2005-09-22 17:29:13 +00:00
John Peacock
29ac60322e * lib/Qpsmtpd.pm
Rename config file from memory_threshold to size_threshold to track the
  internal usage.

git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.31@548 958fd67b-6ff1-0310-b445-bb7760255be9
2005-09-22 17:19:47 +00:00