#!/usr/local/bin/perl # edit_policy.cgi # Display entries from a policy file for editing require './ipsec-lib.pl'; &ReadParse(); &ui_print_header(undef, $text{'policy_desc_'.$in{'policy'}} || &text('policy_desc', $in{'policy'}), ""); # Show explanation of this policy print $text{'policy_longdesc_'.$in{'policy'}} || &text('policy_longdesc', $in{'policy'}),"

\n"; print "

\n"; print "\n"; @policies = &read_policy($in{'policy'}); $mode = !@policies ? 0 : @policies == 1 && $policies[0] eq "0.0.0.0/0" ? 1 : 2; foreach $m (0 .. 2) { printf " %s\n", $m, $mode == $m ? "checked" : "", $text{'policy_mode'.$m}; } print "
\n"; # Show a table of networks print "\n"; print " ", "\n"; $i = 0; foreach $p ($mode == 2 ? @policies : ( ), "", "") { local ($n, $m) = split(/\//, $p); print "\n"; print "\n"; print "\n"; print "\n"; $i++; } print "
$text{'policy_net'}$text{'policy_mask'}
\n"; print "
\n"; &ui_print_footer("", $text{'index_return'});