Merge branch 'master' of github.com:msimerson/qpsmtpd

Conflicts:
	lib/Qpsmtpd/TcpServer.pm
	packaging/rpm/qpsmtpd.spec.in
This commit is contained in:
Matt Simerson 2013-12-17 16:48:52 -05:00
commit 1cc7563852
2 changed files with 50 additions and 4 deletions

46
UPGRADING.pod Normal file
View File

@ -0,0 +1,46 @@
=head1 Upgrade notes
When upgrading please review these notes for the versions you are
upgrading I<from>.
=head2 v0.84 or below
=head3 CHECK_RELAY, CHECK_NORELAY, RELAY_ONLY
All 3 plugins are deprecated and replaced with a new 'relay'
plugin. The new plugin reads the same config files (see 'perldoc
plugins/relay') as the previous plugins. To get the equivalent
functionality of enabling 'relay_only', use the 'only' argument to the
relay plugin as documented in the RELAY ONLY section of plugins/relay.
=head3 GREYLISTING plugin
'mode' config argument is deprecated. Use reject and reject_type instead.
The greylisting DB format has changed to accommodate IPv6
addresses. (The DB key has colon ':' seperated fields, and IPv6
addresses are colon delimited). The new format converts the IPs into
integers. There is a new config option named 'upgrade' that when
enabled, updates all the records in your DB to the new format. Simply
add 'upgrade 1' to the plugin entry in config/plugins, start up
qpsmtpd once, make one connection. A log entry will be made, telling
how many records were upgraded. Remove the upgrade option from your
config.
=head3 SPF plugin
spf_deny setting deprecated. Use reject N setting instead, which
provides administrators with more granular control over SPF. For
backward compatibility, a spf_deny setting of 1 is mapped to 'reject
3' and a 'spf_deny 2' is mapped to 'reject 4'.
=head3 P0F plugin
defaults to p0f v3 (was v2).
Upgrade p0f to version 3 or add 'version 2' to your p0f line in
config/plugins. perldoc plugins/ident/p0f for more details.

View File

@ -191,18 +191,18 @@ sub tcpenv {
return ($TCPLOCALIP, $TCPREMOTEIP, return ($TCPLOCALIP, $TCPREMOTEIP,
$TCPREMOTEIP ? "[$ENV{TCPREMOTEIP}]" : "[noip!]"); $TCPREMOTEIP ? "[$ENV{TCPREMOTEIP}]" : "[noip!]");
} }
my $res = new Net::DNS::Resolver; my $res = Net::DNS::Resolver->new( dnsrch => 0 );
$res->tcp_timeout(3); $res->tcp_timeout(3);
$res->udp_timeout(3); $res->udp_timeout(3);
my $query = $res->query($nto_iaddr); my $query = $res->query($nto_iaddr, 'PTR');
my $TCPREMOTEHOST; my $TCPREMOTEHOST;
if ($query) { if ($query) {
foreach my $rr ($query->answer) { foreach my $rr ($query->answer) {
next unless $rr->type eq "PTR"; next if $rr->type ne 'PTR';
$TCPREMOTEHOST = $rr->ptrdname; $TCPREMOTEHOST = $rr->ptrdname;
} }
} }
return ($TCPLOCALIP, $TCPREMOTEIP, $TCPREMOTEHOST || "Unknown"); return ($TCPLOCALIP, $TCPREMOTEIP, $TCPREMOTEHOST || 'Unknown');
} }
sub check_socket() { sub check_socket() {