fix getnameinfo flags
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Request.pm
index 19e7331..12dff26 100644 (file)
@@ -1,6 +1,6 @@
 package Catalyst::Request;
 
-use Socket qw( getaddrinfo getnameinfo AI_NUMERICHOST NI_DGRAM NIx_NOSERV );
+use Socket qw( getaddrinfo getnameinfo AI_NUMERICHOST NIx_NOSERV );
 use Carp;
 use utf8;
 use URI::http;
@@ -442,14 +442,21 @@ has hostname => (
         '',
         { flags => AI_NUMERICHOST }
     );
-    return $self->address
-        if $err;
+    if ( $err ) {
+        $self->_log->warn("resolve of hostname failed: $err");
+        return $self->address;
+    }
     ( $err, my $hostname ) = getnameinfo(
         $sockaddr->{addr},
+        0,
         # we are only interested in the hostname, not the servicename
-        NI_DGRAM|NIx_NOSERV
+        NIx_NOSERV
     );
-    return $err ? $self->address : $hostname;
+    if ( $err ) {
+        $self->_log->warn("resolve of hostname failed: $err");
+        return $self->address;
+    }
+    return $hostname;
   },
 );