diff --git a/cpan/lang/en b/cpan/lang/en index dd19181e4..be1524970 100644 --- a/cpan/lang/en +++ b/cpan/lang/en @@ -59,7 +59,7 @@ download_envs=Makefile.PL environment variables download_name=Name download_value=Value download_emodname=No module to install was entered -download_need=Fetching Missing Pre-Requesites +download_need=Fetching Missing Pre-Requisites download_missing=Missing $1 modules download_nomissing=All installed download_ebuild=One or more of the Perl modules needs $1 to be built, but this Perl module is not installed. diff --git a/itsecur-firewall/edit_group.cgi b/itsecur-firewall/edit_group.cgi index f253675d0..2bc459dcc 100755 --- a/itsecur-firewall/edit_group.cgi +++ b/itsecur-firewall/edit_group.cgi @@ -21,62 +21,60 @@ else { $in{'idx'} = $group->{'index'}; } } -print "
\n"; +print &ui_hr(); -print "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "
$text{'group_header'}
\n"; +print &ui_form_start("save_group.cgi", "post"); +print &ui_hidden("new", $in{'new'}); +print &ui_hidden("idx", $in{'idx'}); +print &ui_hidden("from", $in{'from'}); +print &ui_table_start($text{'group_header'}, undef, 2); -print "\n"; -printf "\n", - $group->{'name'}; +print &ui_table_row($text{'group_name'}, + &ui_textbox("name", $group->{'name'}, 20) ); -print "\n"; -print "\n"; +$tx .= &ui_columns_row([ &ui_checkbox("resolv", 1, $text{'group_resolv'}) ], ["colspan=2"]); +$tx .= ui_columns_end(); + +print &ui_table_row($text{'group_members'}, $tx); # Show member groups -print "\n"; -print "\n"; +$tx .= ui_columns_end(); +print &ui_table_row($text{'group_members2'}, $tx); + +print &ui_table_end(); -print "
$text{'group_name'}
$text{'group_members'}\n"; +my $tx = ""; +$tx .= &ui_columns_start(undef); $i = 0; foreach $m (( grep { !/\!?\@/ } @{$group->{'members'}} ), $blank, $blank, $blank, $blank, $blank, $blank) { $neg = ($m =~ s/^\!//); - print "\n"; - print " $text{'group_neg'}
\n"; + my @cols; + push(@cols, &ui_textbox("member_".$i, $m, 40) ); + push(@cols, &ui_checkbox("neg_".$i, "!", $text{'group_neg'}, ($neg ? 1 : 0 ) ) ); + $tx .= &ui_columns_row(\@cols); $i++; } -print "
\n"; -print " $text{'group_resolv'}\n"; -print "
$text{'group_members2'}\n"; $i = 0; +$tx = &ui_columns_start(undef); foreach $m (( grep { /\!?\@/ } @{$group->{'members'}} ), $blank, $blank, $blank, $blank, $blank, $blank) { $neg = ($m =~ s/^\!//); $m =~ s/^\@//; - print "\n"; + $tx .= &ui_columns_row([&group_input("group_$i", $m, 1)]); $i++; } -print "
\n"; - print &group_input("group_$i", $m, 1); - print "
\n"; if ($in{'new'}) { - print "\n"; + print &ui_submit($text{'create'}); } else { - print "\n"; - print "\n"; + print &ui_submit($text{'save'}); + print &ui_submit($text{'delete'}, "delete"); } -print "
\n"; +print &ui_form_end(undef,undef,1); &can_edit_disable("groups"); -print "
\n"; +print &ui_hr(); $from = $in{'from'} || "groups"; &footer("list_${from}.cgi", $text{$from.'_return'}); diff --git a/itsecur-firewall/edit_rule.cgi b/itsecur-firewall/edit_rule.cgi index d37a00ea6..0587ccb89 100755 --- a/itsecur-firewall/edit_rule.cgi +++ b/itsecur-firewall/edit_rule.cgi @@ -23,21 +23,18 @@ else { undef, undef, undef, undef, &apply_button()); $rule = $rules[$in{'idx'}]; } -print "
\n"; - -print "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "
$text{'rule_header'}
\n"; +print &ui_hr(); +print &ui_form_start("save_rule.cgi", "post"); +print &ui_hidden("new", $in{'new'}); +print &ui_hidden("idx", $in{'idx'}); +print &ui_hidden("insert", $in{'insert'}); +print &ui_table_start($text{'rule_header'}, undef, 2); # Show comment -print "\n", - $rule->{'desc'} eq "*" ? "" : $rule->{'desc'}; - +print &ui_table_row($text{'rule_desc'}, + &ui_textbox("desc", ($rule->{'desc'} eq "*" ? "" : $rule->{'desc'}), 60),undef, + ["valign=middle","valign=middle"]); + # Show source and destination foreach $s ('source', 'dest') { $not = ($rule->{$s} =~ s/^!//g); @@ -46,27 +43,14 @@ foreach $s ('source', 'dest') { $rule->{$s} =~ /^\%/ ? 3 : 1; # Any address options - print "\n"; - } +} # Show service $not = ($rule->{'service'} =~ s/^!//g); -print "\n"; +print &ui_table_row($text{'rule_service'}, + &ui_radio("service_mode", ( $rule->{'service'} eq '*' ? 0 : 1 ), + [ [ 0, $text{'rule_anyserv'} ], [1, $text{'rule_oneserv'}] ]) ); +print &ui_table_row(" ", + &service_input("service", $rule->{'service'} eq '*' ? undef : $rule->{'service'}, 0, 1) ); + # Show action upon match -print "\n"; +print &ui_table_row($text{'rule_action'}, + &action_input("action", $rule->{'action'}). + " — ".&ui_checkbox("log", 1, $text{'rule_log'}, ($rule->{'log'} ? 1 : 0) ) + ); + # Show time that this rule applies $inp = &time_input("time", $rule->{'time'} eq "*" ? undef : $rule->{'time'}); if ($inp) { - print "\n"; + print &ui_table_row($text{'rule_time'}, + &ui_radio("time_def", ( $rule->{'time'} eq '*' ? 1 : 0 ), + [ [ 1, $text{'rule_anytime'} ], [0, $text{'rule_seltime'}] ]).$inp); } else { - print "\n"; + print &ui_hidden("time_def",1); } # Show enabled flag -print "\n"; +print &ui_table_row($text{'rule_enabled'}, + &ui_yesno_radio("enabled", ( $rule->{'enabled'} ? 1 : 0 ), 1, 0) ); # Show input for position of rule -print "\n"; +push(@sel, [ -1, $text{'rule_end'}, ($in{'new'} || $rule eq $rules[$#rules] ? "selected" : "") ] ); +print &ui_table_row($text{'rule_atpos'}, &ui_select("pos", undef, \@sel, 1) ); -print "
$text{'rule_desc'} \n"; -printf "
",$text{'rule_'.$s}, - " \n"; - print "\n"; - print "\n"; + print &ui_table_row($text{'rule_'.$s}, + &ui_oneradio(${s}."_mode", 0, $text{'rule_anywhere'}, ($sm == 0 ? 1 : 0 ))."
". # Specific host option - print "\n"; + &ui_oneradio(${s}."_mode", 1, $text{'rule_host'}, ($sm == 1 ? 1 : 0))." ". + &ui_textbox(${s}."_host", ($sm == 1 ? $rule->{$s} : ""), 30)." ".$text{'rule_named'}." ". + &ui_textbox(${s}."_name", undef, 15)."
". + &ui_checkbox(${s}."_resolv", 1, $text{'rule_resolv'}), undef, ["valign=top","valign=middle"] ); # Host group option local $gv; @@ -76,117 +60,80 @@ foreach $s ('source', 'dest') { } $gi = &group_input("${s}_group", $gv, 0, 1); if ($gi || $sm == 2) { - print "\n"; + print &ui_table_row(" ", + &ui_oneradio(${s}."_mode", 2, $text{'rule_group'}, ($sm == 2 ? 1 : 0))." ". + $gi); } # Interface option $ii = &iface_input("${s}_iface", $rule->{$s} =~ /^\%(.*)$/ ? $1 : undef); if ($ii || $sm == 3) { - print "\n"; + print &ui_table_row(" ", + &ui_oneradio(${s}."_mode", 3, $text{'rule_iface'}, ($sm == 3 ? 1 : 0))." ". + $ii); } - - print "
"; - printf " %s\n", - $sm == 0 ? "checked" : "", - $text{'rule_anywhere'}; - print "
"; - printf " %s\n", - $sm == 1 ? "checked" : "", $text{'rule_host'}; - print ""; - printf "\n", - $sm == 1 ? $rule->{$s} : ""; - print "$text{'rule_named'}\n"; - print "
\n"; - print " ", - "$text{'rule_resolv'}\n"; - print "
"; - printf " %s\n", - $sm == 2 ? "checked" : "", $text{'rule_group'}; - print ""; - print $gi; - print "
"; - printf " %s\n", - $sm == 3 ? "checked" : "", $text{'rule_iface'}; - print ""; - print $ii; - print "
\n"; - print "
\n"; - #printf " %s\n", - # $not ? "checked" : "", $text{'rule_not'}; - print "
$text{'rule_service'} \n"; -printf " %s\n", - $rule->{'service'} eq '*' ? "checked" : "", $text{'rule_anyserv'}; -printf " %s
\n", - $rule->{'service'} eq '*' ? "" : "checked", $text{'rule_oneserv'}; -print &service_input("service", - $rule->{'service'} eq '*' ? undef : $rule->{'service'}, - 0, 1); -print "
\n"; -#printf " %s\n", -# $not ? "checked" : "", $text{'rule_not'}; -print "
$text{'rule_action'} \n"; -print &action_input("action", $rule->{'action'}); -print " \n"; -printf " %s\n", - $rule->{'log'} ? 'checked' : '', $text{'rule_log'}; -print "
$text{'rule_time'} "; - printf " %s\n", - $rule->{'time'} eq "*" ? "checked" : "", $text{'rule_anytime'}; - printf " %s\n", - $rule->{'time'} eq "*" ? "" : "checked", $text{'rule_seltime'}; - print $inp; - print "
$text{'rule_enabled'} \n"; -printf " %s\n", - $rule->{'enabled'} ? "checked" : "", $text{'yes'}; -printf " %s\n", - $rule->{'enabled'} ? "" : "checked", $text{'no'}; -print "
$text{'rule_atpos'} \n"; -print "
\n"; +print &ui_table_end(); if ($in{'new'}) { - print "\n"; + print &ui_submit($text{'create'}); } else { - print "\n"; - print "\n"; + print &ui_submit($text{'save'}); + print &ui_submit($text{'delete'}, "delete"); } -print "
\n"; + +print &ui_form_end(undef,undef,1); + &can_edit_disable("rules"); -print "
\n"; +print &ui_hr(); &footer("list_rules.cgi", $text{'rules_return'}); diff --git a/itsecur-firewall/edit_sep.cgi b/itsecur-firewall/edit_sep.cgi index 3c22207d0..eb3b6c427 100755 --- a/itsecur-firewall/edit_sep.cgi +++ b/itsecur-firewall/edit_sep.cgi @@ -16,59 +16,45 @@ else { undef, undef, undef, undef, &apply_button()); $rule = $rules[$in{'idx'}]; } -print "
\n"; +print &ui_hr(); -print "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "
$text{'sep_header'}
\n"; +print &ui_form_start("save_sep.cgi", "post"); +foreach my $th ('new', 'idx', 'insert') { + print &ui_hidden($th, $in{'$th'} ); +} -# Show separator title -print "\n", - $rule->{'desc'} eq "*" ? "" : $rule->{'desc'}; +print &ui_table_start($text{'sep_header'}, undef, 2); +print &ui_table_row($text{'sep_desc'}, + &ui_textbox("desc", ( $rule->{'desc'} eq "*" ? "" : $rule->{'desc'} ), 60) ); # Show input for position of rule -print "\n"; +push(@sel, [ -1, $text{'rule_end'}, ($in{'new'} || $rule eq $rules[$#rules] ? "selected" : "") ] ); +print &ui_table_row($text{'rule_atpos'}, &ui_select("pos", undef, \@sel, 1) ); +print &ui_table_end(); -print "
$text{'sep_desc'} \n"; -printf "
$text{'rule_atpos'} \n"; -print "
\n"; if ($in{'new'}) { - print "\n"; + print &ui_hidden($text{'create'}); } else { - print "\n"; - print "\n"; + print &ui_hidden($text{'save'}); + print &ui_hidden($text{'delete'}, "delete"); } -print "
\n"; + +print &ui_form_end(); &can_edit_disable("rules"); -print "
\n"; +print &ui_hr(); &footer("list_rules.cgi", $text{'rules_return'}); diff --git a/itsecur-firewall/edit_service.cgi b/itsecur-firewall/edit_service.cgi index aae6e24a4..3b826f1a7 100755 --- a/itsecur-firewall/edit_service.cgi +++ b/itsecur-firewall/edit_service.cgi @@ -22,52 +22,46 @@ else { $in{'idx'} = $services->{'index'}; } } -print "
\n"; -print "
\n"; -print "\n"; -print "\n"; -print "\n"; -print "\n"; -print "
$text{'service_header'}
\n"; +print &ui_hr(); + +print &ui_form_start("save_service.cgi","post"); +print &ui_hidden("new", $in{'new'}); +print &ui_hidden("idx", $in{'idx'}); +print &ui_table_start($text{'service_header'}, undef, 2); # Show service name input -print "\n"; -printf "\n", - $service->{'name'}; +print &ui_table_row($text{'service_name'}, &ui_textbox("name", $service->{'name'}, 20) ); # Show protocols and ports -print "\n"; -print "\n"; +$tx .= ui_columns_end(); + +print &ui_table_row($text{'service_ports'}, $tx); # Show member services -print "\n"; -print "\n"; +print &ui_table_row($text{'service_members'}, + &service_input("others", join(",", @{$service->{'others'}}), 0, 1) ); + +print &ui_table_end(); -print "
$text{'service_name'}
$text{'service_ports'}\n"; -print " ", - "\n"; +my $tx = ""; +$tx .= &ui_columns_start([$text{'service_proto'}, $text{'service_port'}]); for($i=0; $i<@{$service->{'protos'}}+6; $i++) { - print "\n"; - print "\n"; - printf "\n", - $i, $service->{'ports'}->[$i]; - print "\n"; + my @cols; + push(@cols, &protocol_input("proto_$i", $service->{'protos'}->[$i]) ); + push(@cols, &ui_textbox("port_".$i, $service->{'ports'}->[$i], 20) ); + $tx .= &ui_columns_row(\@cols); } -print "
$text{'service_proto'}$text{'service_port'}
",&protocol_input( - "proto_$i", $service->{'protos'}->[$i]),"
$text{'service_members'}",&service_input("others", - join(",", @{$service->{'others'}}), 0, 1),"
\n"; if ($in{'new'}) { - print "\n"; + print &ui_submit($text{'create'}); } else { - print "\n"; - print "\n"; + print &ui_submit($text{'save'}); + print &ui_submit($text{'delete'}, "delete"); } -print "
\n"; + +print &ui_form_end(undef,undef,1); &can_edit_disable("services"); -print "
\n"; +print &ui_hr(); &footer("list_services.cgi", $text{'services_return'}); - - diff --git a/itsecur-firewall/index.cgi b/itsecur-firewall/index.cgi index 328d18715..1e64908ca 100755 --- a/itsecur-firewall/index.cgi +++ b/itsecur-firewall/index.cgi @@ -5,7 +5,8 @@ require './itsecur-lib.pl'; &header($text{'index_title'}, "", undef, 1, 1, 0, &apply_button(), undef, undef, &text('index_version', $module_info{'version'})); -print "
\n"; + +print "

"; # Icons table @can_opts = grep { $_ eq "backup" || $_ eq "restore" || $_ eq "remote" || $_ eq "import" ? &can_edit($_) : &can_use($_) } @opts; @@ -16,17 +17,14 @@ print "


\n"; &itsecur_icons_table(\@links, \@titles, \@icons, 4, \@hrefs); if (&can_edit("apply") || &can_edit("bootup")) { - print "
\n"; + print &ui_hr(); } -print "\n"; +print &ui_buttons_start(); if (&can_edit("apply")) { # Apply button - print "\n"; - print "\n"; - print "\n"; - print "\n"; + print &ui_buttons_row("apply.cgi", $text{'index_apply'}, $text{'index_applydesc'}); } if (&can_edit("bootup")) { @@ -34,19 +32,13 @@ if (&can_edit("bootup")) { $atboot = &init::action_status("itsecur-firewall") == 2; # At-boot button - print "\n"; - print "\n"; - print "\n"; + print &ui_buttons_row("bootup.cgi", $text{'index_bootup'}, $text{'index_bootupdesc'}, undef, + &ui_yesno_radio("boot", ( $atboot ? 1 : 0 ), 1, 0)); } -print "
$text{'index_applydesc'}
\n"; - printf " %s\n", - $atboot ? "checked" : "", $text{'yes'}; - printf " %s\n", - $atboot ? "" : "checked", $text{'no'}; - print " $text{'index_bootupdesc'}
\n"; +print &ui_buttons_end(); -print "
\n"; +print &ui_hr(); &footer("/", $text{'index'}); # itsecur_icons_table(&links, &titles, &icons, [columns], [href], [width], [height]) @@ -58,10 +50,10 @@ if (defined(&theme_icons_table)) { &theme_icons_table(@_); return; } -local ($i, $need_tr); -local $cols = $_[3] ? $_[3] : 4; -local $per = int(100.0 / $cols); -print "\n"; +my ($i, $need_tr); +my $cols = $_[3] ? $_[3] : 4; +my $per = int(100.0 / $cols); +print &ui_table_start(undef,"width=100% cellpadding=5",2); for($i=0; $i<@{$_[0]}; $i++) { if ($i%$cols == 0) { print "\n"; } print "\n"; $need_tr++; } print "\n" if ($need_tr); -print "
\n"; @@ -72,7 +64,7 @@ for($i=0; $i<@{$_[0]}; $i++) { } while($i++%$cols) { print "
\n"; +print &ui_table_end(); } diff --git a/itsecur-firewall/list_groups.cgi b/itsecur-firewall/list_groups.cgi index bf60d475e..5929ac2ff 100755 --- a/itsecur-firewall/list_groups.cgi +++ b/itsecur-firewall/list_groups.cgi @@ -6,35 +6,31 @@ require './itsecur-lib.pl'; &can_use_error("groups"); &header($text{'groups_title'}, "", undef, undef, undef, undef, &apply_button()); -print "
\n"; +print &ui_hr(); + +my @groups = &list_groups(); +my $edit = &can_edit("groups"); -@groups = &list_groups(); -$edit = &can_edit("groups"); if (@groups) { - print "$text{'groups_add'}
\n" - if ($edit); - print "\n"; - print " ", - "\n"; - foreach $g (@groups) { - print "\n"; - print "\n"; - @mems = @{$g->{'members'}}; + print &ui_link("edit_group.cgi?new=1", $text{'groups_add'}) if ($edit); + print &ui_columns_start([$text{'group_name'}, $text{'group_members'}]); + foreach my $g (@groups) { + my @cols_row; + my $tx = ""; + my $link = &ui_link("edit_group.cgi?idx=".$g->{'index'}, $g->{'name'}); + push(@cols_row, ( $edit ? $link : $g->{'name'} ) ); + my @mems = @{$g->{'members'}}; if (@mems > 5) { - @mems = (@mems[0..4], "..."); - } - print "\n"; - print "\n"; - } - print "
$text{'group_name'}$text{'group_members'}
", - "$g->{'name'}",join(" , ", - map { &group_name($_) } @mems),"
\n"; + @mems = (@mems[0..4], "..."); + } + push(@cols_row, join(" , ", map { &group_name($_) } @mems) ); + print &ui_columns_row(\@cols_row); + } + print &ui_columns_end(); } else { print "$text{'groups_none'}

\n"; } -print "$text{'groups_add'}

\n" - if ($edit); - -print "


\n"; +print &ui_link("edit_group.cgi?new=1", $text{'groups_add'}) if ($edit); +print &ui_hr(); &footer("", $text{'index_return'}); diff --git a/itsecur-firewall/list_rules.cgi b/itsecur-firewall/list_rules.cgi index b055ca9dd..1e3e14910 100755 --- a/itsecur-firewall/list_rules.cgi +++ b/itsecur-firewall/list_rules.cgi @@ -9,42 +9,65 @@ require './itsecur-lib.pl'; print "
\n"; -# 0-No. 1-Source,2-Destination, 3-Services, 4-Time, 5-Action, 6-Enabled, 7-Comment -local @CW=( "5%", "15%", "15%", "20%", "5%", "5%", "5%", "20%"); -$C_drop="#FFCCcc"; -$C_reject="#FFDDAA"; -$C_accept=""; -$C_disabled="#FF3333"; -$C_separator="#ffffcc"; +# 0-No. 1-Source,2-Destination, 3-Services, 4-Time, 5-Action, 6-Enabled, 7-Comment 8-move +my @CW=( "5%", "15%", "15%", "20%", "5%", "10%", "5%", "10%", "2%"); +my $C_drop="#FFCCcc"; +my $C_reject="#FFDDAA"; +my $C_accept=""; +my $C_disabled="#FF3333"; +my $C_separator="#ffffcc"; -local $Row_Color=""; +my $Row_Color=""; + +my @rules = &list_rules(); +my @servs = &list_services(); +my $edit = &can_edit("rules"); +my $times = &supports_time() && &list_times() > 0; +my $rules_cnt = scalar(@rules); +my @links; +if ( $rules_cnt > 1 ) { + push(@links, &select_all_link("r")); + push(@links, &select_invert_link("r")); +} +if ($edit) { + push(@links, &ui_link("edit_rule.cgi?new=1", $text{'rules_add'}) ); + push(@links, &ui_link("edit_sep.cgi?new=1", $text{'rules_sadd'}) ); +} -@rules = &list_rules(); -@servs = &list_services(); -$edit = &can_edit("rules"); -$times = &supports_time() && &list_times() > 0; if (@rules) { if ($edit) { - print "$text{'rules_add'}\n"; - print " " x 2; - print "$text{'rules_sadd'}\n"; + print &ui_links_row(\@links); print "
\n"; - print "
\n"; + print &ui_form_start("enable_rules.cgi", "post"); } - $cols = $times ? 8 : 7; - print "\n"; - print " ", - " ", - " ", - " ", - " ", - ($times ? " " : ""), - " ", - " ", - ($config{'show_desc'} ? " " : - ""), - "\n"; - foreach $r (@rules) { + + my @cols_text = ( "rule_num", "rule_source", "rule_dest", + "rules_service", "rule_time", + "rule_action", "rule_enabled", + "rules_desc", "rules_move" ); + my @cols_header; + my @cols_header_width; + my $cols = 0; + foreach my $cc (@cols_text) { + if ( $cc eq 'rule_time' && !$times ) { + $cols++; + next; + } + if ( $cc eq 'rules_desc' && !$config{'show_desc'} ) { + $cols++; + next; + } + if ( $cc eq 'rules_move' && $rules_cnt <= 1 ) { + $cols++; + next; + } + push(@cols_header, $text{$cc}); + push(@cols_header_width, "width='".$CW[$cols]."'"); + $cols++; + } + print &ui_columns_start(\@cols_header, "100", undef, \@cols_header_width); + + foreach my $r (@rules) { if ($r->{'sep'}){ $Row_Color="bgcolor=\"$C_separator\" "; } elsif (!$r->{'enabled'}){ @@ -57,93 +80,69 @@ if (@rules) { $Row_Color=""; } - # case('accept') {} - # case('allow') {} - # case('drop') {} - #case('reject') {} - #case('ignore') {} - - - - print "\n"; if ($r->{'sep'}) { # Actually a separator - just show it's description - print "\n"; + print &ui_columns_row([ &ui_link("edit_sep.cgi?idx=".$r->{'index'}, + $r->{'desc'}, undef, "style='font-weight:bold;'") ], + [ "colspan='".$cols."' ".$Row_Color ] ); } else { # Show full rule details + my @cols_row; + my @cols_row_tag; + my $link = &ui_link("edit_rule.cgi?idx=".$r->{'index'}, $r->{'num'}); + push(@cols_row, ( $edit ? &ui_checkbox("r", $r->{'index'}, " ").$link : $link ) ); + push(@cols_row, &group_names_link($r->{'source'}, 'rules') ); + push(@cols_row, &group_names_link($r->{'dest'}, 'rules', ( &allow_action($r) ? 'dest' : undef) ) ); + push(@cols_row, &protocol_names($r->{'service'},\@servs) ); + push(@cols_row, ($r->{'time'} eq '*' ? $text{'rule_anytime'} : $r->{'time'} ) ) if ($times); + push(@cols_row, $text{'rule_'.$r->{'action'}}." ".($r->{'log'} ? " $text{'rules_log'}" : "") ); + push(@cols_row, ($r->{'enabled'} ? $text{'yes'} : "$text{'no'}" ) ); + + if ($config{'show_desc'}) { + push(@cols_row, ($r->{'desc'} eq "*" ? "" : $r->{'desc'} ) ); + } + if ( $rules_cnt > 1 ) { + $link = ""; + if ($r eq $rules[0] || !$edit) { + $link = ""; + } else { + $link = &ui_link("up.cgi?idx=".$r->{'index'}, ""); + } + if ($r eq $rules[$#rules] || !$edit) { + $link .= ""; + } else { + $link .= &ui_link("down.cgi?idx=".$r->{'index'}, ""); + } + push(@cols_row, $link ) if ( $link ne "" ); + } - - print "\n"; - print "\n"; - print "\n"; - print "\n"; - if ($times) { - print "\n"; - } - print "\n"; - print "\n"; - if ($config{'show_desc'}) { - print "\n"; - } - else { - if ($r eq $rules[0] || !$edit) { - print "\n"; - } - else { - print "", - "\n"; - } - } - } - print "\n"; + foreach (@cols_row) { + push(@cols_row_tag, $Row_Color ); + } + print &ui_columns_row(\@cols_row, \@cols_row_tag); } - print "
$text{'rule_num'}$text{'rule_source'}$text{'rule_dest'}$text{'rules_service'}$text{'rule_time'}$text{'rule_action'}$text{'rule_enabled'}$text{'rules_desc'}$text{'rules_move'}
$r->{'desc'}"; - if ($edit) { - print "{'index'}> "; - } - print "$r->{'num'}", - &group_names_link($r->{'source'}, 'rules'), - "", - &group_names_link($r->{'dest'}, 'rules', - &allow_action($r) ? 'dest' : undef), - "",&protocol_names($r->{'service'},\@servs),"",$r->{'time'} eq '*' ? - $text{'rule_anytime'} : - $r->{'time'},"",$text{'rule_'.$r->{'action'}}, - $r->{'log'} ? " $text{'rules_log'}" : "","",$r->{'enabled'} ? $text{'yes'} : - "$text{'no'}", - "",$r->{'desc'} eq "*" ? "
" - : $r->{'desc'},"
\n"; - } - else { - print "", - "\n"; - } - if ($r eq $rules[$#rules] || !$edit) { - print "
\n"; + } + print &ui_columns_end(); } else { print "$text{'rules_none'}

\n"; } if ($edit) { - print "$text{'rules_add'}\n"; - print " " x 2; - print "$text{'rules_sadd'}\n"; + print &ui_links_row(\@links); print "

\n"; } if ($edit && @rules) { - print "\n"; - print "\n"; - + print &ui_submit($text{'rules_enable'}, "enable" ); + print &ui_submit($text{'rules_disable'}, "disable" ); print " \n"; - print "\n"; - print "\n"; + print &ui_submit($text{'rules_logon'}, "logon" ); + print &ui_submit($text{'rules_logoff'}, "logoff" ); print " \n"; - print "\n"; - print "

\n"; + print &ui_submit($text{'rules_delete'}, "delete" ); + print &ui_form_end(undef,undef,1); } -print "
\n"; +print &ui_hr(); &footer("", $text{'index_return'}); diff --git a/itsecur-firewall/list_services.cgi b/itsecur-firewall/list_services.cgi index 582229de5..dbe2e4eae 100755 --- a/itsecur-firewall/list_services.cgi +++ b/itsecur-firewall/list_services.cgi @@ -10,41 +10,42 @@ print "
\n"; @services = &list_services(); $edit = &can_edit("services"); -print "$text{'services_add'}
\n" - if ($edit); -print "\n"; -print " ", - "\n"; + +my $link = ( $edit ? &ui_link("edit_service.cgi?new=1",$text{'services_add'}) : "" ); + +print $link."
" if ( $link ne '' ); + +print &ui_columns_start([$text{'service_name'}, $text{'service_ports'}]); + if (!$services[0]->{'standard'}) { - print "\n"; + print &ui_columns_header([$text{'services_header1'}],["colspan=2"]); } foreach $s (@services) { if ($s->{'standard'} && !$doneheader) { - print "\n"; + print &ui_columns_header([$text{'services_header2'}],["colspan=2"]); $doneheader++; } - print "\n"; + my @cols; if ($s->{'standard'}) { - print "\n"; + push(@cols, $s->{'name'} ); } else { - print "\n"; + push(@cols, &ui_link("edit_service.cgi?idx=$s->{'index'}", $s->{'name'}) ); } - print "\n"; - print "\n"; + push(@cols, $cl); + print &ui_columns_row(\@cols); } -print "
$text{'service_name'}$text{'service_ports'}
$text{'services_header1'}
$text{'services_header2'}
$s->{'name'}", - "$s->{'name'}"; + my $cl = ""; for($i=0; $i<@{$s->{'protos'}}; $i++) { - print &protocol_name($s->{'protos'}->[$i], $s->{'ports'}->[$i]); - print "\n"; + $cl .= &protocol_name($s->{'protos'}->[$i], $s->{'ports'}->[$i])." "; } for($i=0; $i<@{$s->{'others'}}; $i++) { - print "$s->{'others'}->[$i]\n"; + $cl .="$s->{'others'}->[$i] "; } - print "
\n"; -print "$text{'services_add'}

\n" - if ($edit); +print &ui_columns_end(); + +print $link."

" if ( $link ne '' ); +print &ui_hr(); + -print "


\n"; &footer("", $text{'index_return'});