ud-generate: deal with users without loginShell
[mirror/userdir-ldap.git] / ud-fingerserv
index 0794596..14444a7 100755 (executable)
@@ -10,10 +10,11 @@ use lib '/var/www/userdir-ldap/';
 use strict vars;
 use IO::Handle;
 use IO::Socket;
+use Socket qw(:addrinfo);
 use POSIX qw(:sys_wait_h);
 use Getopt::Std;
 use Util;
-use Net::LDAP qw(:all);
+use Net::LDAP;
 
 # Global settings...
 my %config = &Util::ReadConfigFile;
@@ -102,8 +103,8 @@ if (!$use_inetd) {
   &log("inetd mode");
   my $sockaddr = getpeername(STDIN);
   if ($sockaddr) {
-    my ($port, $addr) = unpack_sockaddr_in(getpeername(STDIN));
-    &log(sprintf("[Connect from %s (%s)]", gethostbyaddr($addr, AF_INET), inet_ntoa($addr)));
+    my ($err, $hostname, $servicename) = getnameinfo($sockaddr, NI_NUMERICHOST|NI_NUMERICSERV);
+    &log(sprintf("[Connect from %s:%s]", $hostname, $servicename));
   } else {
     &log("[Connect via terminal]");
   }