]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
log.dat: Fixes Bug#12922 - adjusts regex to catch hostname for hostname or FQDN
authorAdolf Belka <adolf.belka@ipfire.org>
Wed, 8 Mar 2023 14:59:55 +0000 (15:59 +0100)
committerPeter Müller <peter.mueller@ipfire.org>
Sat, 11 Mar 2023 16:19:41 +0000 (16:19 +0000)
- Most of the packages being searched for in the system logs section only put hostname into
   the logs. However HAProxy puts the FQDN. Reviewing RFC 5424 shows that this is following
   the requirements. The preferred order fromn the RFC is
   1.  FQDN
   2.  Static IP address
   3.  hostname
   4.  Dynamic IP address
   5.  the NILVALUE
- Most of the programs are using option 3 but option 1 is valid for HAProxy
- The regex change filters out the hostname from the FQDN if an extra 'dot' is present

Fixes: Bug#12922
Suggested-by: Michael <ip.fire@die-fritzens.de>
Tested-by: Michael <ip.fire@die-fritzens.de>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
html/cgi-bin/logs.cgi/log.dat

index d3f2599f880eefcb86c2bd85d78bd921fe60072c..53b9073fc73c89bd1da102e7e6876d83d2ab2d0f 100644 (file)
@@ -231,7 +231,7 @@ while ($gzindex >=0 && $loop) {
            #&General::log("reading $filestr");
            READ:while (<FILE>) {
                my $line = $_;
-               if ($line =~ /^${monthstr} ${daystr} ..:..:.. [\w\-]+ ${section}(.*)/) {
+               if ($line =~ /^${monthstr} ${daystr} ..:..:.. [\w\-\.]+ ${section}(.*)/) {
                    # when standard viewing, just keep in memory the correct slice
                    # it starts a '$start' and size is $viewport
                    # If export, then keep all lines...
@@ -276,7 +276,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'export'})
 
        foreach $_ (@log)
        {
-               /^... (..) (..:..:..) [\w\-]+ ${section}(.*)$/;
+               /^... (..) (..:..:..) [\w\-\.]+ ${section}(.*)$/;
                my $day =  $1;
                $day =~ tr / /0/;
                my $time = $cgiparams{'DAY'} ? "$2" : "$day/$2" ;
@@ -399,7 +399,7 @@ $lines = 0;
 #print '<tt>';
 foreach $_ (@log)
 {
-       /^... (..) (..:..:..) [\w\-]+ ${section}(.*)$/;
+       /^... (..) (..:..:..) [\w\-\.]+ ${section}(.*)$/;
        my $day =  $1;
        $day =~ tr / /0/;
        my $time = $cgiparams{'DAY'} ? "$2" : "$day/$2" ;