]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - html/cgi-bin/logs.cgi/showrequestfromcountry.dat
firewalllogcountry.dat: Show green0,blue0, and orange0 as countries
[ipfire-2.x.git] / html / cgi-bin / logs.cgi / showrequestfromcountry.dat
index c8421161882df63f30752273790e25592a133d73..5283c426b88de0e9059231fa829c4030b646cb35 100644 (file)
@@ -159,8 +159,15 @@ if (!$skip)
     while (<FILE>)
     {
                if (/(^${monthstr} ${daystr} ..:..:..) [\w\-]+ kernel:.*(IN=.*)$/) {
-            if($_ =~  /SRC\=([\d\.]+)/){
-                my $srcaddr=$1;
+            my $packet = $2;
+            $packet =~ /IN=(\w+)/;       my $iface=$1; if ( $1 =~ /2./ ){ $iface="";}
+            $packet =~ /SRC=([\d\.]+)/;  my $srcaddr=$1;
+
+            if($iface eq $country) {
+                $log[$lines] = $_;
+                $lines++;
+            }
+            elsif($srcaddr ne '') {
                 my $ccode = $gi->country_code_by_name($srcaddr);
                 if($ccode eq $country){
                     $log[$lines] = $_;
@@ -301,10 +308,17 @@ $lines = 0;
 foreach $_ (@slice)
 {
   $a = $_;
-  if($_ =~  /SRC\=([\d\.]+)/){
-    my $srcaddr=$1;
-    my $ccode = $gi->country_code_by_name($srcaddr);
-    if($ccode eq $country){
+  /^... (..) (..:..:..) [\w\-]+ kernel:(.*)(IN=.*)$/;
+  my $packet = $4;
+  $packet =~ /IN=(\w+)/;       my $iface=$1; if ( $1 =~ /2./ ){ $iface="";}
+  $packet =~ /SRC=([\d\.]+)/;  my $srcaddr=$1;
+
+  if($iface eq $country || $srcaddr ne '') {
+    my $ccode;
+    if($iface ne $country) {
+      $ccode = $gi->country_code_by_name($srcaddr);
+    }
+    if($iface eq $country || $ccode eq $country) {
          my $chain = '';
       my $in = '-'; my $out = '-';
       my $srcaddr = ''; my $dstaddr = '';