Commit Graph

208 Commits

Author SHA1 Message Date
Matt Simerson
521aa4919f basicheaders, add reject option, loglevel
added reject option
document the existence of the loglevel option
factored date validity tests into their own sub
added tests
improved POD
2012-05-21 21:30:02 -04:00
Matt Simerson
51486d0b04 SPF plugin: refactored, tests, new config option
added POD description of spfquery note

changed spf_deny -> reject  (and offered 4 more options, see POD for reject)
	backwards compatible with old config settings
	replicates qmail-smtpd SPF patch behavior

improved logging (again)

uses a stringy eval 'use Mail::SPF' in the register sub. If missing, warn and log the error, and don't register any hooks. This is much nicer error than the current, "*** Remote host closed connection unexpectedly." broken mail server that results from enabling the SPF plugin without Mail::SPF installed.

background: I noticed I was deferring valid emails with the SPF plugin at 'spf_deny 1', and without changing the code, there wasn't a way to change how ~all records were handled. This provides that flexibility.
2012-05-21 04:19:45 -04:00
Matt Simerson
43de26e9c0 added p0f upgrade notes to Changes 2012-04-29 18:30:42 -07:00
Robert
461dabc3e1 Revert "Spool body when $transaction->body_fh() is called"
This reverts commit a52660a646.

See http://www.nntp.perl.org/group/perl.qpsmtpd/2010/10/msg9453.html for discussion.
2010-10-29 22:23:58 -07:00
Robert
803a320127 ignore search path in DNS lookups
2.  If the name doesn't end in a dot then append each item in the search list to the name.
           This is only done if dnsrch is true.

triggered by..

From: Charlie Brady <charlieb-qpsmtpd@budge.apana.org.au>
Subject: [BUG] Default search path used in require_resolvable_fromhost
Date: Sat, 17 Jul 2010 16:24:42 -0400 (EDT)
Message-ID:
 <Pine.LNX.4.64.1007171623040.17109@e-smith.charlieb.ott.istop.com>

http://bugs.contribs.org/show_bug.cgi?id=5808

 Jesper Knudsen      2010-03-01 01:29:10 MST

When using the require_resolvable_fromhost plugin for qpsmtpd I noticed
that mails from user@localhost.localdomain was actually getting through
this filter. I finally found out that the plugin has a bug that causes it
to insert default search path if it cannot find the domain. This means in
my case that localhost.localdomain was then tried resolved as
localhost.localdomain.swerts-knudsen.dk and since I have a wilcard CNAME
was resolved as my public IP.

Since this plugin is only enabled for public interface the fix is to set
the "dnsrch" flag when creating the Net::DNS object.

In require_resolvable_fromhost:
my $res = Net::DNS::Resolver->new (
                                   dnsrch => 0
                                   );
2010-07-25 21:47:25 -07:00
Robert
caad3444c3 start working on Changes file for 0.84+next
Includes 93c1a23..febdb00
2010-05-10 21:23:15 -07:00
Ask Bjørn Hansen
e0948cee24 Prepare 0.84 release 2010-04-07 22:26:48 -07:00
Ask Bjørn Hansen
da9e9cd8f9 Update credits for rpm changes 2010-04-07 22:26:48 -07:00
Larry Nedry
ef1b493b18 Note Net::IP dependency (Larry Nedry) 2010-04-07 21:51:55 -07:00
Ask Bjørn Hansen
9c81fa10ff Update Changes 2010-04-07 21:49:53 -07:00
Ask Bjørn Hansen
d77244e487 Update Changes 2009-11-04 22:37:00 -08:00
Ask Bjørn Hansen
f2d4244cb0 Credit Jonathan Martens for his patch 2009-09-15 15:21:23 -07:00
Ask Bjørn Hansen
90b1206f85 Prepare 0.83 2009-09-15 14:55:35 -07:00
Hinrik Örn Sigurðsson
a5ecd41e72 Allow hyphens in the 1st argument to queue/maildir
This is to allow some perfectly reasonable path names like
/var/spool/qpsmtpd-maildir, etc.
2009-09-15 17:24:34 +00:00
Shad L. Lords
52a1ba8deb Temporary deny if clamd is not running 2009-07-20 13:13:51 +02:00
Jonathan Martens
b3c5195b64 Modify plugins/virus/clamav option for ClamAV 0.95 (no-summary) 2009-07-20 13:07:45 +02:00
Charlie Brady
f4eb90cba3 Fix spamassassin plugin log noise if spam score is 0.0 2009-07-20 13:02:38 +02:00
Charlie Brady
a138bcf5a4 Disconnect hosts in rhsbl 2009-07-20 12:59:32 +02:00
Filippo Carletti
0c69862953 check_spamhelo disconnects after denying a 'helo' 2009-06-18 22:43:48 -07:00
Steve Kemp
dec3ec4920 More POD fixups in docs/
The patch below fixes many errors of the form:

  *** WARNING: line containing nothing but whitespace in paragraph at line 37 in file writing.pod
  *** WARNING: line containing nothing but whitespace in paragraph at line 40 in file writing.pod

  There are also a couple of minor typo-fixes.
2009-06-03 01:11:11 -07:00
Ask Bjørn Hansen
90535ef883 Release 0.82 2009-06-02 16:02:58 -07:00
Charlie Brady
75decb184b Always call setsid, even when we're not daemonizing.
>> However, I'm back to seeing the connection processes being left behind,
>> despite an explicit quit from the remote host.
> It looks to me as though qpsmtpd should have started a new process
> group with the parent process, but hasn't. Or the developer assumed
> that qpsmtpd would be set up as leader of a process group, but it
> isn't in this circumstance.

Signed-off-by: Robert <rspier@pobox.com>
2009-06-02 15:39:41 -07:00
Devin Carraway
8527f784c0 prefork: Fix startup when no interface addresses are specified
Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
2009-06-02 15:37:31 -07:00
Ask Bjørn Hansen
5472e92c3b Update Changes 2009-04-27 07:41:23 -07:00
Devin Carraway
6c4dc31827 [PATCH] Update clamdscan plugin to use ClamAV::Client
Signed-off-by: Robert <rspier@pobox.com>
2009-04-27 07:38:28 -07:00
Ask Bjørn Hansen
45a5265837 Prepare 0.81 2009-04-02 22:39:23 -07:00
jaredj
89e391e9d2 Close spamd socket when we're finished with it
QP's connection to spamd unnecessarily persists beyond the run of the
spamassassin plugin itself.  This closes the socket as soon as we're
finished using it.

Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
2009-04-02 22:35:42 -07:00
Robert
687fce7caa p0f plugin updates
from Tom Callahan <anomaly@abducted.us>
(reformatted by Robert)

Signed-off-by: Robert <rspier@pobox.com>
Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
2009-04-01 22:24:37 -07:00
Ask Bjørn Hansen
6b6581fbf5 Add git describe to VERSION when running from a git clone 2009-03-02 13:00:09 -08:00
jaredj
22a0da47d8 Change transaction->add_recipient to prevent adding undef/empty recipients
Improve Qpsmtpd::Transaction::add_recipient syntax

Update Qpsmtpd::Transaction::add_recipient to use slightly clearer
language, and add 'if $rcpt' to prevent undef recipients from
being added -- in this case, the '@_ and' syntax allowing this set
method to set undef is undesirable, since you shouldn't be adding undef as
a recipient.

Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
2009-03-02 12:52:10 -08:00
Hanno Hecker
fe4f40b560 "new" plugin logging/apache from SVN's contrib/
Imported logging/apache from SVN's contrib. Changes:
* perltidy run

* Minor tidy-ups by Ask

Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
2009-03-02 12:42:08 -08:00
Hanno Hecker
a3e41d4a3a "new" plugin connection_time from SVN's contrib/
import plugins/connection_time from SVN's contrib. Changes:
* perltidy run
* add one optional parameter: log level of the message, defaults
  to LOGNOTICE (same as in SVN)
2009-03-02 12:40:05 -08:00
Robert
38c02f60d4 Remove trailing whitespace from Changes 2009-03-01 20:07:13 -08:00
Robert
6e5338b757 Remove lines containing only spaces from Changes 2009-03-01 20:06:28 -08:00
Hanno Hecker
aa199bee3b "new" plugin rcpt_regexp from SVNs contrib/
* updated docs
* use magic hooking with hook_rcpt
* add note about regexes being eval()ed => trusted users only

Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
2009-02-27 00:55:03 -08:00
Jared Johnson
d9cf61175a Add Qpsmtpd::Address::notes() method
Qpsmtpd Connection and Transaction objects support notes() methods which
are conventionally used to pass data between plugins.  This adds the
same functionality to Address objects.  This should make it easier for
plugins to begin supporting message handling based on per-user
configuration directives.

Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
2009-02-20 07:45:03 -06:00
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
b1cbe6a9be Remove outdated virus/check_for_hi_virus plugin 2009-02-27 00:16:24 -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
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
39f7e9163c update to latest commit (connection->local_*)
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@961 958fd67b-6ff1-0310-b445-bb7760255be9
2008-12-22 07:42:37 +00:00
Hanno Hecker
639c03357d prepare for 0.90, part 2 - hopefully [:-)] all important changes from "svn log"
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@953 958fd67b-6ff1-0310-b445-bb7760255be9
2008-10-21 19:38:37 +00:00
Diego d'Ambra
03c2bf7608 prefork: improve shutdown of parent (and children) on very busy systems
To improve the shutdown of parent and children, send the exiting signal
 to the process group (maybe %children is not up to date on very busy
 systems).

git-svn-id: https://svn.perl.org/qpsmtpd/trunk@943 958fd67b-6ff1-0310-b445-bb7760255be9
2008-09-04 11:43:52 +00:00
Radu Greab
ab6dd83b6c Clean up exit codes.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@942 958fd67b-6ff1-0310-b445-bb7760255be9
2008-09-04 11:43:08 +00:00
Diego d'Ambra
409372ce58 Detect and reset locked shared memory.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@941 958fd67b-6ff1-0310-b445-bb7760255be9
2008-09-04 11:42:35 +00:00
Radu Greab
aa802e6844 Untaint the value of the --interface option.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@940 958fd67b-6ff1-0310-b445-bb7760255be9
2008-09-04 11:41:48 +00:00
Radu Greab
e4f0cb0f8c Inside the main loop skip the sleep when children have exited. Instead, proceed directly to the pool adjustment. While at it, simplify processing by moving the update of shared memory from the SIGCHLD handler to the main loop.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@939 958fd67b-6ff1-0310-b445-bb7760255be9
2008-09-04 11:41:13 +00:00
Diego d'Ambra
18d1b9f1da Detach and daemonize only after reading the configuration and loading the plugins, to give the init scripts a chance to detect failed startups due to broken configuration or plugins.
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@938 958fd67b-6ff1-0310-b445-bb7760255be9
2008-09-04 11:38:54 +00:00