# Resolv the hostname
local $resolved;
if ($in{'resolv'} && $in{'by'} eq 'host') {
- $resolved = gethostbyaddr(inet_aton($host),
- AF_INET);
+ $resolved = &to_hostname($host);
}
# Skip traffic to high ports, if requested
$addr = $config{'host'} ? $config{'host'} :
$ENV{'SERVER_NAME'} ? $ENV{'SERVER_NAME'} :
&to_ipaddress(&get_system_hostname());
+ $ip = &to_ipaddress($addr) || &to_ip6address($addr);
$port = $config{'port'} ? $config{'port'} : 22;
- if (inet_aton($addr)) {
- socket(STEST, PF_INET, SOCK_STREAM, getprotobyname("tcp"));
+ if ($ip) {
$SIG{ALRM} = "connect_timeout";
alarm(10);
- $rv = connect(STEST, pack_sockaddr_in($port, inet_aton($addr)));
+ &open_socket($ip, $port, STEST, \$err);
close(STEST);
+ $rv = !$err;
}
}
if (!$rv) {
- if (inet_aton($addr)) {
+ if ($ip) {
print "<p>",&text('index_esocket2', $addr, $port),"<p>\n";
}
else {
}
else {
# Check if the telnet server is running
- if (inet_aton($addr)) {
- socket(STEST, PF_INET, SOCK_STREAM, getprotobyname("tcp"));
+ $ip = &to_ipaddress($addr) || &to_ip6address($addr);
+ if ($ip) {
$SIG{ALRM} = "connect_timeout";
alarm(10);
- $rv = connect(STEST, pack_sockaddr_in($port, inet_aton($addr)));
+ &open_socket($ip, $port, STEST, \$err);
close(STEST);
+ $rv = !$err;
}
}
if (!$rv) {
# Not running! Show an error
- if (inet_aton($addr)) {
+ if ($ip) {
print "<p>",&text(
$config{'mode'} ? 'index_esocket2' : 'index_esocket',
$addr, $port),"<p>\n";
$addr = $config{'host'} ? $config{'host'} :
$ENV{'SERVER_NAME'} ? $ENV{'SERVER_NAME'} :
&to_ipaddress(&get_system_hostname());
- socket(STEST, PF_INET, SOCK_STREAM, getprotobyname("tcp"));
- $SIG{ALRM} = \&connect_timeout;
+ $SIG{ALRM} = "connect_timeout";
alarm(10);
- $rv = connect(STEST, pack_sockaddr_in($config{'port'}, inet_aton($addr)));
+ &open_socket($addr, $port, STEST, \$err);
close(STEST);
- $rv || &error_exit(&text('index_esocket', $addr, $config{'port'}));
+ $err && &error_exit(&text('index_esocket', $addr, $config{'port'}));
$port = $config{'port'};
}
&ui_textbox("domain", $domain, 20));
if ($resolv eq "dns") {
- @servers = map { gethostbyaddr(inet_aton($_), AF_INET) || $_ }
+ @servers = map { &to_hostname($_) || $_ }
@{$dns->{'nameserver'}};
$server = join(" ", @servers);
}