\n";
# Get list of interfaces
&foreign_require("net", "net-lib.pl");
@allifaces = &unique(sort { $a cmp $b }
(map { $_->{'fullname'} } &net::active_interfaces()),
(map { $_->{'fullname'} } &net::boot_interfaces()) );
# Show interfaces to listen on
$i = $config->{'values'}->{'interfaces'};
$imode = $i eq '%none' ? 1 :
$i eq '%defaultroute' ? 2 :
$i ? 3 : 0;
print " $text{'config_ifaces'} | \n";
foreach $m (0 .. 3) {
printf " %s\n",
$m, $m == $imode ? "checked" : "", $text{'config_ifaces'.$m};
}
@iflist = $imode == 3 ? split(/\s+/, $i) : ();
print "
\n";
print " $text{'config_riface'} | ",
"$text{'config_iiface'} | \n";
$n = 0;
foreach $ifc (@iflist, "") {
local ($ii, $ri) = split(/=/, $ifc);
print "\n";
$found = 0;
print " | \n";
$found = 0;
print " | \n";
print " \n";
$n++;
}
print " | \n";
# syslog facility/level
&foreign_require("syslog", "syslog-lib.pl");
$s = $config->{'values'}->{'syslog'};
print " $text{'config_syslog'} | \n";
printf " %s (%s)\n",
$s ? "" : "checked", $text{'default'}, "daemon.error";
printf " %s\n",
$s ? "checked" : "", $text{'config_fac'};
($fac, $pri) = split(/\./, $s);
$pri =~ s/warn$/warning/;
$pri =~ s/panic$/emerg/;
$pri =~ s/error$/err/;
print " $text{'config_pri'}\n";
print " | \n";
# automatic forwarding enable
$f = $config->{'values'}->{'forwardcontrol'};
print " $text{'config_fwd'} | \n";
print "",&ui_radio("fwd", $f || "no",
[ [ "yes", $text{'yes'} ], [ "no", $text{'no'} ] ])," | \n";
# nat traversal enable
$n = $config->{'values'}->{'nat_traversal'};
print "$text{'config_nat'} | \n";
print "",&ui_radio("nat", $n || "no",
[ [ "yes", $text{'yes'} ], [ "no", $text{'no'} ] ])," | \n";
print " | \n";
print "\n";
print " |