Version 0.31 branch
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v031@480 958fd67b-6ff1-0310-b445-bb7760255be9
This commit is contained in:
parent
90daeb3786
commit
a1324b5ddb
@ -16,6 +16,7 @@ use APR::Bucket ();
|
||||
use APR::Socket ();
|
||||
use Apache2::Filter ();
|
||||
use ModPerl::Util ();
|
||||
use Apache::Scoreboard;
|
||||
|
||||
our $VERSION = '0.02';
|
||||
|
||||
@ -55,7 +56,7 @@ sub start_connection {
|
||||
my $remote_host = $opts{host} || ( $opts{ip} ? "[$opts{ip}]" : "[noip!]");
|
||||
my $remote_info = $opts{info} ? "$opts{info}\@$remote_host" : $remote_host;
|
||||
my $remote_ip = $opts{ip};
|
||||
|
||||
|
||||
$self->log(LOGNOTICE, "Connection from $remote_info [$remote_ip]");
|
||||
|
||||
$self->SUPER::connection->start(
|
||||
|
@ -4,6 +4,8 @@ use vars qw($VERSION $Logger $TraceLevel $Spool_dir);
|
||||
|
||||
use Sys::Hostname;
|
||||
use Qpsmtpd::Constants;
|
||||
use Qpsmtpd::Transaction;
|
||||
use Qpsmtpd::Connection;
|
||||
|
||||
$VERSION = "0.31-dev";
|
||||
|
||||
@ -114,17 +116,25 @@ sub config_dir {
|
||||
my $configdir = ($ENV{QMAIL} || '/var/qmail') . '/control';
|
||||
my ($name) = ($0 =~ m!(.*?)/([^/]+)$!);
|
||||
$configdir = "$name/config" if (-e "$name/config/$config");
|
||||
if (exists $ENV{QPSMTPD_CONFIG}) {
|
||||
$configdir = $ENV{QPSMTPD_CONFIG} if (-e "$ENV{QPSMTPD_CONFIG}/$config");
|
||||
}
|
||||
return $configdir;
|
||||
}
|
||||
|
||||
sub plugin_dir {
|
||||
my ($name) = ($0 =~ m!(.*?)/([^/]+)$!);
|
||||
my $dir = "$name/plugins";
|
||||
my $self = shift;
|
||||
my $plugin_dir = $self->config('plugin_dir', "NOLOG");
|
||||
unless (defined($plugin_dir)) {
|
||||
my ($name) = ($0 =~ m!(.*?)/([^/]+)$!);
|
||||
$plugin_dir = "$name/plugins";
|
||||
}
|
||||
return $plugin_dir;
|
||||
}
|
||||
|
||||
sub get_qmail_config {
|
||||
my ($self, $config, $type) = @_;
|
||||
$self->log(LOGDEBUG, "trying to get config for $config");
|
||||
$self->log(LOGDEBUG, "trying to get config for $config") unless $type and $type eq "NOLOG";
|
||||
if ($self->{_config_cache}->{$config}) {
|
||||
return wantarray ? @{$self->{_config_cache}->{$config}} : $self->{_config_cache}->{$config}->[0];
|
||||
}
|
||||
@ -246,10 +256,6 @@ sub _load_plugins {
|
||||
return @ret;
|
||||
}
|
||||
|
||||
sub transaction {
|
||||
return {}; # base class implements empty transaction
|
||||
}
|
||||
|
||||
sub run_hooks {
|
||||
my ($self, $hook) = (shift, shift);
|
||||
my $hooks = $self->{hooks};
|
||||
@ -347,6 +353,22 @@ sub spool_dir {
|
||||
return $Spool_dir;
|
||||
}
|
||||
|
||||
sub transaction {
|
||||
my $self = shift;
|
||||
return $self->{_transaction} || $self->reset_transaction();
|
||||
}
|
||||
|
||||
sub reset_transaction {
|
||||
my $self = shift;
|
||||
$self->run_hooks("reset_transaction") if $self->{_transaction};
|
||||
return $self->{_transaction} = Qpsmtpd::Transaction->new();
|
||||
}
|
||||
|
||||
sub connection {
|
||||
my $self = shift;
|
||||
return $self->{_connection} || ($self->{_connection} = Qpsmtpd::Connection->new());
|
||||
}
|
||||
|
||||
# For unique filenames. We write to a local tmp dir so we don't need
|
||||
# to make them unpredictable.
|
||||
my $transaction_counter = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user