Gordon Rowell wrote:
> --- plugins/dnsbl.orig 2005-07-02 12:17:32.000000000 +1000
> +++ plugins/dnsbl 2005-07-02 17:17:00.000000000 +1000
> @@ -17,6 +17,8 @@
> sub connect_handler {
> my ($self, $transaction) = @_;
>
> + return (DECLINED) if $self->qp->connection->relay_client();
> +
> my $remote_ip = $self->qp->connection->remote_ip;
>
> # perform RBLSMTPD checks to mimic Dan Bernstein's rblsmtpd
> @@ -155,6 +157,8 @@
> my ($self, $transaction, $rcpt) = @_;
> my $connection = $self->qp->connection;
>
> + return (DECLINED) if $self->qp->connection->relay_client();
> +
> # RBLSMTPD being non-empty means it contains the failure message to
> return
> if (defined ($ENV{'RBLSMTPD'}) && $ENV{'RBLSMTPD'} ne '') {
> my $result = $ENV{'RBLSMTPD'};
>
Is there any reason that this patch never made into core?
Here's a revised version for trunk:
> --- dnsbl.orig 2007-05-25 01:44:31.000000000 -0700
> +++ dnsbl 2007-05-25 01:51:34.000000000 -0700
> @@ -25,6 +25,12 @@
> sub hook_connect {
> my ($self, $transaction) = @_;
>
> + # Don't do dnsbl lookups if relaying
> + if ( $self->qp->connection->relay_client() ) {
> + $self->log(LOGINFO, "Relaying detected. Skipping dnsbl checks.");
> + return DECLINED;
> + }
> +
> my $remote_ip = $self->qp->connection->remote_ip;
>
> # perform RBLSMTPD checks to mimic Dan Bernstein's rblsmtpd
I don't think it needs patching anywhere else.
R.