#!/usr/bin/perl # Show a form for editing or creating a log filter require './syslog-ng-lib.pl'; &ReadParse(); # Show title and get the filter $conf = &get_config(); if ($in{'new'}) { &ui_print_header(undef, $text{'filter_title1'}, ""); } else { &ui_print_header(undef, $text{'filter_title2'}, ""); @filters = &find("filter", $conf); ($filter) = grep { $_->{'value'} eq $in{'name'} } @filters; $filter || &error($text{'filter_egone'}); } # Form header print &ui_form_start("save_filter.cgi", "post"); print &ui_hidden("new", $in{'new'}),"\n"; print &ui_hidden("old", $in{'name'}),"\n"; print &ui_table_start($text{'filter_header'}, undef, 2); # Filter name print &ui_table_row($text{'filter_name'}, &ui_textbox("name", $filter->{'value'}, 20)); # See if the conditions are simple (1 or more of facility, level, matches # and program, and separated) $simple = 1; foreach $m (@{$filter->{'members'}}) { if (ref($m)) { if ($simple{$m->{'name'}}) { # Already done this type .. not simple any more $simple = 0; } else { $simple{$m->{'name'}} = $m; } } elsif ($m eq "and") { # 'and' separator .. we can handle this } else { $simple = 0; } } # Build table for simple mode %simple = ( ) if (!$simple); $stable = "<table>\n"; # Priority $p = $simple{'priority'}; @pris = &list_priorities(); if ($p) { if ($p->{'values'}->[1] eq "..") { $i1 = &indexof(@pris, $p->{'values'}->[0]); $i2 = &indexof(@pris, $p->{'values'}->[2]); if ($i1 >= 0 && $i2 >= 0) { %gotpris = map { $pris[$_], 1 } ($i1 .. $i2); } } else { %gotpris = map { $_, 1 } grep { $_ ne "," } @{$p->{'values'}}; } } $stable .= "<tr> <td><b>".&ui_checkbox("priority", 1, $text{'filter_priority'}, $p ? 1 : 0)."</b></td>\n"; $stable .= "<td>"; foreach $p (@pris) { $stable .= &ui_checkbox("pri", $p, $p, $gotpris{$p})."\n"; } $stable .= "</td> </tr>\n"; # Facility $p = $simple{'facility'}; @facs = &list_facilities(); if ($p) { %gotfacs = map { $_, 1 } grep { $_ ne "," } @{$p->{'values'}}; } $stable .= "<tr> <td valign=top><b>". &ui_checkbox("facility", 1, $text{'filter_facility'}, $p ? 1 : 0). "</b></td>\n"; $stable .= "<td><table>"; $i = 0; foreach $f (@facs) { $stable .= "<tr>\n" if ($i % 8 == 0); $stable .= "<td>".&ui_checkbox("fac", $f, $f, $gotfacs{$f})."</td>\n"; $stable .= "<tr>\n" if ($i % 8 == 7); $i++; } $stable .= "</table></td> </tr>\n"; # Program $p = $simple{'program'}; $stable .= "<tr> <td><b>".&ui_checkbox("program", 1, $text{'filter_program'}, $p ? 1 : 0)."</b></td>\n"; $stable .= "<td>".&ui_textbox("prog", $p ? $p->{'value'} : undef, 30). "</td> </tr>\n"; # Match RE $p = $simple{'match'}; $stable .= "<tr> <td><b>".&ui_checkbox("match", 1, $text{'filter_match'}, $p ? 1 : 0)."</b></td>\n"; $stable .= "<td>".&ui_textbox("re", $p ? $p->{'value'} : undef, 50). "</td> </tr>\n"; # Sending hostname $p = $simple{'host'}; $stable .= "<tr> <td><b>".&ui_checkbox("host", 1, $text{'filter_host'}, $p ? 1 : 0)."</b></td>\n"; $stable .= "<td>".&ui_textbox("hn", $p ? $p->{'value'} : undef, 30). "</td> </tr>\n"; # Sending IP $p = $simple{'netmask'}; if ($p) { ($net, $mask) = split(/\//, $p->{'value'}); } $stable .= "<tr> <td><b>".&ui_checkbox("netmask", 1, $text{'filter_netmask'}, $p ? 1 : 0)."</b></td>\n"; $stable .= "<td>".&ui_textbox("net", $net, 15)."/". &ui_textbox("mask", $mask, 15)."</td> </tr>\n"; $stable .= "</table>\n"; # Build text area for complex mode local @w; foreach $m (@{$filter->{'members'}}) { if (ref($m)) { local ($line) = &directive_lines($m); $line =~ s/\s*;\s*$//; push(@w, $line); } else { push(@w, $m); } } $ctable = &ui_textarea("bool", join(" ", @w), 5, 80); # Show the two modes print "<tr> <td colspan=2>\n"; print &ui_oneradio("mode", 0, "<b>$text{'filter_mode0'}</b>", $simple),"<br>\n"; print $stable,"<br>\n"; print &ui_oneradio("mode", 1, "<b>$text{'filter_mode1'}</b>",!$simple),"<br>\n"; print $ctable,"<br>\n"; print "</td> </tr>\n"; # Form footer and buttons print &ui_table_end(); if ($in{'new'}) { print &ui_form_end([ [ "create", $text{'create'} ] ]); } else { print &ui_form_end([ [ "save", $text{'save'} ], [ "delete", $text{'delete'} ] ]); } &ui_print_footer("list_filters.cgi", $text{'filters_return'});
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 389 B | 0644 |
|
apply.cgi | File | 202 B | 0755 |
|
backup_config.pl | File | 617 B | 0755 |
|
config | File | 190 B | 0644 |
|
config-AlmaLinux-7.0-ALL | File | 188 B | 0644 |
|
config-Amazon-Linux-2-ALL | File | 188 B | 0644 |
|
config-CentOS-Linux-7.0-ALL | File | 190 B | 0644 |
|
config-CentOS-Stream-Linux-8.0-ALL | File | 188 B | 0644 |
|
config-CloudLinux-8.0-ALL | File | 188 B | 0644 |
|
config-Oracle-Linux-8.0-ALL | File | 188 B | 0644 |
|
config-Redhat-Enterprise-Linux-7.0-ALL | File | 188 B | 0644 |
|
config-Rocky-Linux-7.0-ALL | File | 188 B | 0644 |
|
config-Scientific-Linux-7.0-ALL | File | 188 B | 0644 |
|
config-debian-linux | File | 196 B | 0644 |
|
config-freebsd | File | 225 B | 0644 |
|
config-gentoo-linux | File | 211 B | 0644 |
|
config-openSUSE-Linux-15.0-ALL | File | 128 B | 0644 |
|
config-openmamba-linux | File | 186 B | 0644 |
|
config-redhat-linux-12.0-23.0 | File | 196 B | 0644 |
|
config-redhat-linux-24.0-ALL | File | 176 B | 0644 |
|
config-solaris | File | 197 B | 0644 |
|
config-suse-linux | File | 128 B | 0644 |
|
config-syno-linux | File | 122 B | 0644 |
|
config.info | File | 575 B | 0644 |
|
config.info.ca | File | 673 B | 0644 |
|
config.info.de | File | 687 B | 0644 |
|
config.info.hu | File | 0 B | 0644 |
|
config.info.nl | File | 651 B | 0644 |
|
config.info.no | File | 613 B | 0644 |
|
delete_destinations.cgi | File | 710 B | 0755 |
|
delete_filters.cgi | File | 667 B | 0755 |
|
delete_logs.cgi | File | 549 B | 0755 |
|
delete_sources.cgi | File | 667 B | 0755 |
|
edit_destination.cgi | File | 6.76 KB | 0755 |
|
edit_filter.cgi | File | 4.24 KB | 0755 |
|
edit_log.cgi | File | 2.22 KB | 0755 |
|
edit_source.cgi | File | 9.59 KB | 0755 |
|
index.cgi | File | 1.9 KB | 0755 |
|
install_check.pl | File | 419 B | 0755 |
|
list_destinations.cgi | File | 1.88 KB | 0755 |
|
list_filters.cgi | File | 1.1 KB | 0755 |
|
list_logs.cgi | File | 1.23 KB | 0755 |
|
list_options.cgi | File | 5.63 KB | 0755 |
|
list_sources.cgi | File | 1.04 KB | 0755 |
|
log_parser.pl | File | 685 B | 0755 |
|
module.info | File | 148 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 104 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 152 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 194 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 249 B | 0644 |
|
module.info.ca | File | 130 B | 0644 |
|
module.info.cs | File | 0 B | 0644 |
|
module.info.cs.auto | File | 131 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 104 B | 0644 |
|
module.info.de | File | 112 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 225 B | 0644 |
|
module.info.es | File | 0 B | 0644 |
|
module.info.es.auto | File | 123 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 134 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 204 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 120 B | 0644 |
|
module.info.fr | File | 0 B | 0644 |
|
module.info.fr.auto | File | 127 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 151 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 136 B | 0644 |
|
module.info.hu | File | 38 B | 0644 |
|
module.info.hu.auto | File | 97 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 127 B | 0644 |
|
module.info.ja | File | 0 B | 0644 |
|
module.info.ja.auto | File | 138 B | 0644 |
|
module.info.ko | File | 0 B | 0644 |
|
module.info.ko.auto | File | 126 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 141 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 125 B | 0644 |
|
module.info.ms | File | 111 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 123 B | 0644 |
|
module.info.nl | File | 23 B | 0644 |
|
module.info.nl.auto | File | 89 B | 0644 |
|
module.info.no | File | 25 B | 0644 |
|
module.info.no.auto | File | 78 B | 0644 |
|
module.info.pl | File | 0 B | 0644 |
|
module.info.pl.auto | File | 112 B | 0644 |
|
module.info.pt | File | 0 B | 0644 |
|
module.info.pt.auto | File | 119 B | 0644 |
|
module.info.pt_BR | File | 0 B | 0644 |
|
module.info.pt_BR.auto | File | 125 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 136 B | 0644 |
|
module.info.ru | File | 0 B | 0644 |
|
module.info.ru.auto | File | 188 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 133 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 127 B | 0644 |
|
module.info.sv | File | 0 B | 0644 |
|
module.info.sv.auto | File | 107 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 207 B | 0644 |
|
module.info.tr | File | 0 B | 0644 |
|
module.info.tr.auto | File | 136 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 194 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 179 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 160 B | 0644 |
|
module.info.zh | File | 0 B | 0644 |
|
module.info.zh.auto | File | 103 B | 0644 |
|
module.info.zh_TW | File | 0 B | 0644 |
|
module.info.zh_TW.auto | File | 109 B | 0644 |
|
prefs.info | File | 44 B | 0644 |
|
save_destination.cgi | File | 4.99 KB | 0755 |
|
save_filter.cgi | File | 3.64 KB | 0755 |
|
save_log.cgi | File | 1.94 KB | 0755 |
|
save_options.cgi | File | 2.08 KB | 0755 |
|
save_source.cgi | File | 6.11 KB | 0755 |
|
start.cgi | File | 198 B | 0755 |
|
stop.cgi | File | 194 B | 0755 |
|
syslog-ng-lib.pl | File | 20.61 KB | 0755 |
|
view_log.cgi | File | 2.92 KB | 0755 |
|