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;
&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]");
}