Permalink
Browse files

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
  • Loading branch information...
1 parent 8ac6157 commit 2535e772939f9f5f88aba016168d76e0e3abeac5 John Peacock committed Dec 22, 2005
View
@@ -0,0 +1,16 @@
+
+-i=4 # 4 space indentation (we used to use 2; in the future we'll use 4)
+-ci=2 # continuation indention
+
+-pt=2 # tight parens
+-sbt=2 # tight square parens
+-bt=2 # tight curly braces
+-bbt=0 # open code block curly braces
+
+-lp # line up with parentheses
+-cti=1 # align closing parens with opening parens ("closing token placement")
+
+# -nolq # don't outdent long quotes (not sure if we should enable this)
+
+
+
View
43 Changes
@@ -1,10 +1,20 @@
0.40
- Make the clamdscan plugin temporarily deny mail if if can't talk to clamd
- (Filippo Carletti)
+0.31.1 - 2005/11/18
+ Add missing files to the distribution, oops... (Thanks Budi Ang!)
+ (exim plugin, tls plugin, various sample configuration files)
-0.31 -
+
+0.31 - 2005/11/16
+
+ STARTTLS support (see plugins/tls)
+
+ Added queue/exim-bsmtp plugin to spool accepted mail into an Exim
+ backend via BSMTP. (Devin Carraway)
+
+ New plugin inheritance system, see the bottom of README.plugins for
+ more information
qpsmtpd-forkserver: --listen-address may now be given more than once, to
request listening on multiple local addresses (Devin Carraway)
@@ -17,14 +27,41 @@
postfix backend, which expects to have write permission to a fifo
which usually belongs to group postdrop). (pjh)
+ qpsmtpd-forkserver: if -d or --detach is given on the commandline,
+ forkserver will detach from the controlling terminal and daemonize
+ itself (Devin Carraway)
+
+ replace some fun smtp comments with boring ones.
+
+ example patterns for badrcptto plugin - Gordon Rowell
+
+ Extend require_resolvable_fromhost to include a configurable list of
+ "impossible" addresses to combat spammer forging. (Hanno Hecker)
+
+ Use qmail/control/smtpdgreeting if it exists, otherwise
+ show the original qpsmtpd greeting (with version information).
+
+ Apply slight variation on patch from Peter Holzer to allow specification of
+ an explicit $QPSMTPD_CONFIG variable to specify where the config lives,
+ overriding $QMAIL/control and /var/qmail/control if set. The usual
+ "last location with the file wins" rule still applies.
+
+ Refactor Qpsmtpd::Address
+
when disconncting with a temporary failure, return 421 rather than
450 or 451. (Peter J. Holzer)
The unrecognized_command hook now uses DENY_DISCONNECT return
for disconnecting the user.
+ If the environment variable $QPSMTPD_CONFIG is set, qpsmtpd will look
+ for its config files in the directory given therein, in addition to (and
+ in preference to) other locations. (Peter J. Holzer)
+
Updated documentation
+ Various minor cleanups
+
0.30 - 2005/07/05
View
@@ -1,13 +1,16 @@
Changes
config.sample/badhelo
+config.sample/badrcptto_patterns
config.sample/dnsbl_zones
+config.sample/invalid_resolvable_fromhost
config.sample/IP
config.sample/logging
config.sample/loglevel
config.sample/plugins
config.sample/relayclients
config.sample/require_resolvable_fromhost
config.sample/rhsbl_zones
+config.sample/size_threshold
CREDITS
lib/Apache/Qpsmtpd.pm
lib/Qpsmtpd.pm
@@ -55,6 +58,7 @@ plugins/logging/adaptive
plugins/logging/devnull
plugins/logging/warn
plugins/milter
+plugins/queue/exim-bsmtp
plugins/queue/maildir
plugins/queue/postfix-queue
plugins/queue/qmail-queue
@@ -65,6 +69,7 @@ plugins/require_resolvable_fromhost
plugins/rhsbl
plugins/sender_permitted_from
plugins/spamassassin
+plugins/tls
plugins/virus/aveclient
plugins/virus/bitdefender
plugins/virus/check_for_hi_virus
View
8 README
@@ -57,13 +57,9 @@ run the following command in the /home/smtpd/ directory.
svn co http://svn.perl.org/qpsmtpd/trunk .
-Or if you want a specific release, use for example
+Beware that the trunk might be unstable and unsuitable for anything but development, so you might want to get a specific release, for example:
- svn co http://svn.perl.org/qpsmtpd/tags/0.30 .
-
-In the branch L<http://svn.perl.org/qpsmtpd/branches/high_perf/> we
-have an experimental event based version of qpsmtpd that can handle
-thousands of simultaneous connections with very little overhead.
+ svn co http://svn.perl.org/qpsmtpd/tags/0.31.1 .
chmod o+t ~smtpd/qpsmtpd/ (or whatever directory you installed qpsmtpd
in) to make supervise start the log process.
View
4 STATUS
@@ -10,13 +10,15 @@ pez (or pezmail)
Near term roadmap
=================
-0.31:
+0.32:
- Bugfixes
- add module requirements to the META.yml file
0.40:
- Add user configuration plugin
- Add plugin API for checking if a local email address is valid
+ - use keyword "ESMTPA" in Received header in case of authentication to comply with RFC 3848.
+
0.50:
Include the popular check_delivery[1] functionality via the 0.30 API
@@ -0,0 +1,6 @@
+# include full network block including mask
+127.0.0.0/8
+0.0.0.0/8
+224.0.0.0/4
+169.254.0.0/16
+10.0.0.0/8
@@ -0,0 +1,3 @@
+# Messages below the size below will be stored in memory and not spooled.
+# Without this file, the default is 0 bytes, i.e. all messages will be spooled.
+10000
View
@@ -1,13 +1,13 @@
package Qpsmtpd;
use strict;
-use vars qw($VERSION $Logger $TraceLevel $Spool_dir);
+use vars qw($VERSION $Logger $TraceLevel $Spool_dir $Size_threshold);
use Sys::Hostname;
use Qpsmtpd::Constants;
use Qpsmtpd::Transaction;
use Qpsmtpd::Connection;
-$VERSION = "0.31-dev";
+$VERSION = "0.40-dev";
sub version { $VERSION };
@@ -242,8 +242,6 @@ sub expand_inclusion_ {
}
-#our $HOOKS;
-
sub load_plugins {
my $self = shift;
@@ -480,6 +478,29 @@ sub temp_dir {
return $dirname;
}
+sub size_threshold {
+ my $self = shift;
+ unless ( defined $Size_threshold ) {
+ $Size_threshold = $self->config('size_threshold') || 0;
+ $self->log(LOGNOTICE, "size_threshold set to $Size_threshold");
+ }
+ return $Size_threshold;
+}
+
+sub auth_user {
+ my ($self, $user) = @_;
+ $user =~ s/[\r\n].*//s;
+ $self->{_auth_user} = $user if $user;
+ return (defined $self->{_auth_user} ? $self->{_auth_user} : "" );
+}
+
+sub auth_mechanism {
+ my ($self, $mechanism) = @_;
+ $mechanism =~ s/[\r\n].*//s;
+ $self->{_auth_mechanism} = $mechanism if $mechanism;
+ return (defined $self->{_auth_mechanism} ? $self->{_auth_mechanism} : "" );
+}
+
1;
__END__
Oops, something went wrong.

0 comments on commit 2535e77

Please sign in to comment.