don't print GeoIP country if not defined (suppress warning)

If we don't get a result from the lookup, all we know is that we didn't get a 
result. Maybe an error, maybe the IP not in the database.

---
plugins/ident/geoip |   15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/plugins/ident/geoip b/plugins/ident/geoip
index 526989f..eff0fa6 100644
--- a/plugins/ident/geoip
+++ b/plugins/ident/geoip
@@ -16,14 +16,15 @@ or greylist.
use Geo::IP;

sub hook_connect {
-  my ($self) = @_;
+    my ($self) = @_;

-  my $geoip = Geo::IP->new(GEOIP_STANDARD);
-  my $country = 
-    $geoip->country_code_by_addr( $self->qp->connection->remote_ip );
+    my $geoip = Geo::IP->new(GEOIP_STANDARD);
+    my $country =
+        $geoip->country_code_by_addr( $self->qp->connection->remote_ip )
+            or return (DECLINED);

-  $self->qp->connection->notes('geoip_country', $country);
-  $self->log(LOGNOTICE, "GeoIP Country: $country");
+    $self->qp->connection->notes('geoip_country', $country);
+    $self->log(LOGNOTICE, "GeoIP Country: $country");

-  return DECLINED;
+    return DECLINED;
}
-- 
1.7.9.6

Reply via email to