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'},
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'}) {
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
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
$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();
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'});
}
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'};
$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);