test for and return earlier when a null sender is encountered.
Prevents using an undefined variable.
---
plugins/sender_permitted_from | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/plugins/sender_permitted_from b/plugins/sender_permitted_from
index 816ee20..4204b93 100644
--- a/plugins/sender_permitted_from
+++ b/plugins/sender_permitted_from
@@ -48,15 +48,14 @@ sub hook_mail {
my ($self, $transaction, $sender, %param) = @_;
my $format = $sender->format;
- my $host = lc $sender->host;
- my $user = $sender->user;
+ return (DECLINED, "SPF - null sender") if $format eq '<>';
+ return (DECLINED, "SPF - null sender")
+ unless ($sender->host && $sender->user);
+
my $client_ip = $self->qp->connection->remote_ip;
- my $from = $sender->user . '@' . $host;
+ my $from = $sender->user . '@' . lc($sender->host);
my $helo = $self->qp->connection->hello_host;
- return (DECLINED, "SPF - null sender")
- unless ($format ne "<>" && $host && $user);
-
# If we are receving from a relay permitted host, then we are probably
# not the delivery system, and so we shouldn't check
return (DECLINED, "SPF - relaying permitted")
--
1.7.9.4