IPv6 support, status module support for hosts with no port

This commit is contained in:
Jamie Cameron
2010-11-01 22:50:16 -07:00
parent 8ae3d7a7f1
commit 29232c583c
6 changed files with 27 additions and 9 deletions

View File

@@ -27,8 +27,15 @@ print &ui_table_start($text{'edit_details'}, undef, 2);
print &ui_table_row($text{'edit_host'},
&ui_textbox("host", $s->{'host'}, 60));
print &ui_table_row($text{'edit_port'},
&ui_textbox("port", $s->{'port'}, 5));
if ($in{'new'} || $s->{'port'}) {
print &ui_table_row($text{'edit_port'},
&ui_textbox("port", $s->{'port'}, 5));
}
else {
print &ui_table_row($text{'edit_port'},
&ui_opt_textbox("port", $s->{'port'}, 5,
$text{'edit_portnone'}));
}
if ($s->{'realhost'}) {
print &ui_table_row($text{'edit_realhost'},

View File

@@ -33,10 +33,11 @@ if (@servers && $config{'display_mode'}) {
local @cols;
local $table =
"<table cellpadding=0 cellspacing=0 width=100%><tr>\n";
if (!$access{'links'}) {
if (!$access{'links'} || !$s->{'port'}) {
$table .= "<td>\n";
$table .= ($s->{'realhost'} || $s->{'host'});
$table .= ":$s->{'port'}</td>\n";
$table .= ":$s->{'port'}" if ($s->{'port'});
$table .= "</td>\n";
}
else {
if ($s->{'user'} || $s->{'autouser'}) {

View File

@@ -26,6 +26,7 @@ edit_details=Server details
edit_host=Hostname or IP address
edit_realhost=Real hostname
edit_port=Port
edit_portnone=None set
edit_type=Server type
edit_ssl=SSL server?
edit_link=Link type
@@ -58,6 +59,7 @@ save_err=Failed to save server
save_ehost=Missing or invalid hostname
save_ehost2=Host does not exist
save_eport=Missing or invalid port
save_eport2=A port must be given if a link type with a login is selected
save_euser=Missing username
save_epass=Missing password
save_egroup=Missing group name

View File

@@ -41,7 +41,8 @@ if ($in{'sched'}) {
$config{'auto_self'} = $in{'self'};
$in{'email_def'} || $in{'email'} =~ /\S/ ||&error($text{'auto_eemail'});
$config{'auto_email'} = $in{'email_def'} ? undef : $in{'email'};
$in{'smtp_def'} || gethostbyname($in{'smtp'}) ||
$in{'smtp_def'} || &to_ipaddress($in{'smtp'}) ||
&to_ip6address($in{'smtp'}) ||
&error($text{'auto_esmtp'});
$config{'auto_smtp'} = $in{'smtp_def'} ? undef : $in{'smtp'};
&save_module_config();

View File

@@ -24,9 +24,15 @@ if ($in{'delete'}) {
else {
# validate inputs
$in{'host'} =~ /^\S+$/ || &error($text{'save_ehost'});
$in{'port'} =~ /^\d+$/ || &error($text{'save_eport'});
if ($in{'port_def'}) {
$in{'mode'} == 0 || &error($text{'save_eport2'});
}
else {
$in{'port'} =~ /^\d+$/ || &error($text{'save_eport'});
}
if ($in{'mode'} == 1) {
gethostbyname($in{'host'}) || &error($text{'save_ehost2'});
&to_ipaddress($in{'host'}) || &to_ip6address($in{'host'}) ||
&error($text{'save_ehost2'});
$in{'wuser'} =~ /\S/ || &error($text{'save_euser'});
$in{'wpass'} =~ /\S/ || &error($text{'save_epass'});
}
@@ -78,7 +84,7 @@ else {
push(@groups, $in{'newgroup'});
}
$serv->{'host'} = $in{'host'};
$serv->{'port'} = $in{'port'};
$serv->{'port'} = $in{'port_def'} ? undef : $in{'port'};
$serv->{'type'} = $in{'type'};
$serv->{'ssl'} = $in{'ssl'};
$serv->{'desc'} = $in{'desc_def'} ? undef : $in{'desc'};

View File

@@ -131,7 +131,8 @@ else {
$net = { 'name' => $in{'net_proto'},
'type' => 0,
'values' => [ $in{'net_host'} ] };
gethostbyname($in{'net_host'}) ||
&to_ipaddress($in{'net_host'}) ||
&to_ip6address($in{'net_host'}) ||
&error($text{'destination_enet_host'});
&save_directive($conf, $dest, undef, $net, 1);