#!/usr/local/bin/perl # edit_config.cgi # Show global configuration options require './ipsec-lib.pl'; &ui_print_header(undef, $text{'config_title'}, ""); @conf = &get_config(); ($config) = grep { $_->{'name'} eq 'config' } @conf; print "
\n"; print "\n"; print "\n"; print "
$text{'config_header'}
\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 "\n"; # syslog facility/level &foreign_require("syslog", "syslog-lib.pl"); $s = $config->{'values'}->{'syslog'}; print "\n"; # automatic forwarding enable $f = $config->{'values'}->{'forwardcontrol'}; print "\n"; print "\n"; # nat traversal enable $n = $config->{'values'}->{'nat_traversal'}; print "\n"; print "\n"; print "\n"; print "\n"; 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 " ", "\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 "
$text{'config_riface'}$text{'config_iiface'}
$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 "
$text{'config_fwd'}",&ui_radio("fwd", $f || "no", [ [ "yes", $text{'yes'} ], [ "no", $text{'no'} ] ]),"$text{'config_nat'}",&ui_radio("nat", $n || "no", [ [ "yes", $text{'yes'} ], [ "no", $text{'no'} ] ]),"
\n"; print "
\n"; &ui_print_footer("", $text{'index_return'});