use POSIX();
-#workaround to suppress a warning when a variable is used only once
-my @dummy = ( ${Header::table2colour} );
-undef (@dummy);
-
my %cgiparams=();
my %logsettings=();
my $errormessage = '';
$cgiparams{'SECTION'} = 'ipfire';
my %sections = (
- 'ipfire' => '(ipfire: )',
- 'red' => '(red:|pppd\[.*\]: |chat\[.*\]|pppoe\[.*\]|pptp\[.*\]|pppoa\[.*\]|pppoa3\[.*\]|pppoeci\[.*\]|ipppd|ipppd\[.*\]|kernel: ippp\d|kernel: isdn.*|ibod\[.*\]|dhcpcd\[.*\]|modem_run\[.*\])',
- 'dns' => '(dnsmasq\[.*\]: )',
- 'dhcp' => '(dhcpd: )',
- 'collectd' => '(collectd: )',
+ 'auth' => '(\w+\(pam_unix\)\[.*\]: )',
+ 'wio' => '(wio|wio\[.*\])',
+ 'captive' => '(Captive:)',
+ 'clamav' => '(clamd\[.*\]: |freshclam\[.*\]: )',
+ 'collectd' => '(collectd\[.*\]: )',
'cron' => '(fcron\[.*\]: )',
+ 'ddns' => '(ddns\[\d+\]:)',
+ 'dhcp' => '(dhcpd: )',
+ 'dma' => '(dma\[.*\]: )',
+ 'guardian' => '(guardian\[.*\]: )',
+ 'ipfire' => '(ipfire: )',
+ 'ipsec' => '(ipsec_[\w_]+: |pluto\[.*\]: |charon: |vpnwatch: )',
+ 'kernel' => '(kernel: (?!DROP_))',
'ntp' => '(ntpd(?:ate)?\[.*\]: )',
+ 'oinkmaster' => '(oinkmaster\[.*\]: )',
+ 'openvpn' => '(openvpnserver\[.*\]: |.*n2n\[.*\]: )',
+ 'pakfire' => '(pakfire:)',
+ 'red' => '(red:|pppd\[.*\]: |chat\[.*\]|pppoe\[.*\]|pptp\[.*\]|pppoa\[.*\]|pppoa3\[.*\]|pppoeci\[.*\]|ipppd|ipppd\[.*\]|kernel: ippp\d|kernel: isdn.*|ibod\[.*\]|dhcpcd\[.*\]|modem_run\[.*\])',
+ 'snort' => '(snort\[.*\]: )',
+ 'squid' => '(squid\[.*\]: |squid: )',
'ssh' => '(sshd(?:\(.*\))?\[.*\]: )',
- 'auth' => '(\w+\(pam_unix\)\[.*\]: )',
- 'kernel' => '(kernel: (?!DROP_))',
- 'ipsec' => '(ipsec_[\w_]+: |pluto\[.*\]: |vpnwatch: )',
- 'openvpn' => '(openvpnserver)\[.*\]: '
+ 'unbound' => '(unbound: \[.*:.*\])(.*:.*$)',
+ 'urlfilter bl' => '(installpackage\[urlfilter\]: )',
+ 'wireless' => '(hostapd:|kernel: ath.*:|kernel: wifi[0-9]:)'
);
# Translations for the %sections array.
my %trsections = (
- 'ipfire' => 'IPFire',
- 'red' => 'RED',
- 'dns' => 'DNS',
- 'dhcp' => "$Lang::tr{'dhcp server'}",
- 'cron' => 'Cron',
- 'collectd' => 'Collectd',
- 'ntp' => 'NTP',
- 'ssh' => 'SSH',
'auth' => "$Lang::tr{'loginlogout'}",
- 'kernel' => "$Lang::tr{'kernel'}",
+ 'wio' => 'Who Is Online?',
+ 'captive' => $Lang::tr{'captive'},
+ 'clamav' => 'ClamAV',
+ 'collectd' => 'Collectd',
+ 'cron' => 'Cron',
+ 'ddns' => "$Lang::tr{'dynamic dns'}",
+ 'dhcp' => "$Lang::tr{'dhcp server'}",
+ 'dma' => 'Mail',
+ 'guardian' => "$Lang::tr{'guardian'}",
+ 'ipfire' => 'IPFire',
'ipsec' => 'IPSec',
+ 'kernel' => "$Lang::tr{'kernel'}",
+ 'ntp' => 'NTP',
+ 'oinkmaster' => 'Oinkmaster',
'openvpn' => 'OpenVPN',
+ 'pakfire' => 'Pakfire',
+ 'red' => 'RED',
+ 'snort' => "$Lang::tr{'intrusion detection'}",
+ 'squid' => "$Lang::tr{'web proxy'}",
+ 'ssh' => 'SSH',
+ 'unbound' => 'DNS: Unbound',
+ 'urlfilter bl' => 'URLFilter Blacklist',
+ 'wireless' => 'Wireless'
);
# calculate end of active week (saturday 23H59)
my @then = ();
@then = localtime(time());
- my $sunday = POSIX::mktime( 0, 0, 0, @then[3], @then[4], @then[5]);
+ my $sunday = POSIX::mktime( 0, 0, 0, $then[3], $then[4], $then[5]);
$sunday += (6-$then[6]) * 86400;
# Convert delta in second to full weeks
# calculate file name
if ($gzindex == 0) {
$filestr = "/var/log/messages";
+ $filestr = "/var/log/mail" if (${section} =~ 'dma');
} else {
$filestr = "/var/log/messages.$gzindex";
+ $filestr = "/var/log/mail.$gzindex" if (${section} =~ 'dma');
$filestr = "$filestr.gz" if -f "$filestr.gz";
}
# now read file if existing
READ:while (<FILE>) {
my $line = $_;
if ($line =~ /^${monthstr} ${daystr} ..:..:.. [\w\-]+ ${section}(.*)/) {
- # when standart viewing, just keep in memory the correct slice
+ # when standard viewing, just keep in memory the correct slice
# it starts a '$start' and size is $viewport
# If export, then keep all lines...
if ($cgiparams{'ACTION'} eq $Lang::tr{'export'}){
if (@log > $Header::viewsize) {
shift (@log);
}
- #} else { dont do this optimisation, need to count lines !
+ #} else { don't do this optimisation, need to count lines !
# $datetime = $maxtime; # we have read viewsize lines, stop main loop
# last READ; # exit read file
}
<select name='SECTION'>
END
;
-foreach $section (keys %sections) {
+foreach $section (sort {$trsections{$a} cmp $trsections{$b}} keys %sections) {
print "\t<option ";
if ($section eq $cgiparams{'SECTION'}) {
print "selected='selected' "; }
if ($lines != 0) { &oldernewer(); }
print <<END
-<table width='100%'>
+<table width='100%' class='tbl'>
<tr>
- <td width='10%' align='center' class='boldbase'><b>$Lang::tr{'time'}</b></td>
- <td width='10%' align='center' class='boldbase'><b>$Lang::tr{'section'}</b></td>
- <td width='80%'> </td>
+ <th width='10%' align='center' class='boldbase'><b>$Lang::tr{'time'}</b></th>
+ <th width='15%' align='center' class='boldbase'><b>$Lang::tr{'section'}</b></th>
+ <th width='75%'> </th>
</tr>
END
;
$data = substr ($data,80); #permit correct display in table cell
$d .= ' ' . substr ($data,0,80);
}
-
+ my $col="";
if ($lines % 2) {
- print "<tr bgcolor='$color{'color20'}'>"; }
+ print "<tr>";
+ $col="bgcolor='$color{'color20'}'"; }
else {
- print "<tr bgcolor='$color{'color22'}'>"; }
- print "<td>$time<td>$sec<td>" .&Header::cleanhtml ("$d", 'y') . "</td></tr>\n";
+ print "<tr>";
+ $col="bgcolor='$color{'color22'}'"; }
+ print "<td $col>$time<td $col>$sec<td $col>" .&Header::cleanhtml ("$d", 'y') . "</td></tr>\n";
$lines++;
}
#print '</tt>';