Rootfile update
[people/pmueller/ipfire-2.x.git] / config / logwatch / dialup
1
2 ##########################################################################
3 # $Id: dialup $
4 ##########################################################################
5
6 use Logwatch ':all';
7
8 $Debug = ValueOrDefault($ENV{'LOGWATCH_DEBUG'}, 0);
9 $Detail = ValueOrDefault($ENV{'LOGWATCH_DETAIL_LEVEL'}, 0);
10
11 # Avoid "Use of uninitialized value" warning messages.
12 sub ValueOrDefault {
13          my ($value, $default) = @_;
14          return ($value ? $value : $default);
15 }
16
17 if ( $Debug >= 5 ) {
18         print STDERR "\n\nDEBUG: Inside DIALUP Filter \n\n";
19         $DebugCounter = 1;
20 }
21
22 while (defined($ThisLine = <STDIN>)) {
23    if ( $Debug >= 5 ) {
24       print STDERR "DEBUG($DebugCounter): $ThisLine";
25       $DebugCounter++;
26    }
27    chomp($ThisLine);
28    
29    if ( $ThisLine =~ /^pppd (\d+).(\d+).(\d+) started by root, uid (\d+)/ )
30    {
31       if ($Debug >= 5) 
32       {
33          print STDERR "DEBUG: Found PPP start\n";
34       }
35       $Starts++
36    }
37    elsif ( $ThisLine =~ /^Connection terminated./ )
38    {
39       if ($Debug >= 5) 
40       {
41          print STDERR "DEBUG: Found PPP down\n";
42       }
43       $Downs++
44    }
45    elsif ( $ThisLine =~ /^PPP session is (\d+)/ )
46    {
47       if ($Debug >= 5) 
48       {
49          print STDERR "DEBUG: Found PPP connect\n";
50       }
51       $Ups++
52    }
53    elsif ( $ThisLine =~ /^Connect time (\d+).(\d+) minutes./ )
54    {
55       if ($Debug >= 5) 
56       {
57          print STDERR "DEBUG: Found PPP connecttime $1\n";
58       }
59       $Uptime += $1 + ($2 / 10);
60    }
61 }
62
63 ###########################################################
64
65 if ( $Starts )
66 {
67     print "PPP Dial attempts: " . $Starts . " Time(s)\n";
68 }
69
70 if ( $Ups )
71 {
72   print "PPP Connected: " . $Ups . " Time(s)\n";
73 }
74
75 if ( $Downs )
76 {
77   print "PPP Disconnected: " . $Downs . " Time(s)\n";
78 }
79
80 if ( $Uptime )
81 {
82   print "Total connect time: " . $Uptime . " Minutes\n";
83 }
84
85 exit(0);
86
87 # vi: shiftwidth=3 tabstop=3 syntax=perl et