X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=blobdiff_plain;f=html%2Fcgi-bin%2Fsystem.cgi;h=7d78d2e267716e4cd3fb55393af80cb2fb86ac0a;hp=b18bb537ebc955dcf5e94197642f74fd2dd934a5;hb=33e1f48cfbb2a62fabf089b0e1e0e9480e86f2b8;hpb=70e5098c5ec6235c388db0d1ef2a43414655d740 diff --git a/html/cgi-bin/system.cgi b/html/cgi-bin/system.cgi index b18bb537eb..7d78d2e267 100644 --- a/html/cgi-bin/system.cgi +++ b/html/cgi-bin/system.cgi @@ -47,33 +47,33 @@ my %cgiparams=(); # is also the name of the program my %servicenames = ( - $Lang::tr{'dhcp server'} => 'dhcpd', - $Lang::tr{'web server'} => 'httpd', - $Lang::tr{'cron server'} => 'fcron', - $Lang::tr{'dns proxy server'} => 'dnsmasq', - $Lang::tr{'logging server'} => 'syslogd', - $Lang::tr{'kernel logging server'} => 'klogd', - $Lang::tr{'ntp server'} => 'ntpd', - $Lang::tr{'secure shell server'} => 'sshd', - $Lang::tr{'vpn'} => 'pluto', - $Lang::tr{'web proxy'} => 'squid', - 'OpenVPN' => 'openvpn' + $Lang::tr{'dhcp server'} => 'dhcpd', + $Lang::tr{'web server'} => 'httpd', + $Lang::tr{'cron server'} => 'fcron', + $Lang::tr{'dns proxy server'} => 'dnsmasq', + $Lang::tr{'logging server'} => 'syslogd', + $Lang::tr{'kernel logging server'} => 'klogd', + $Lang::tr{'ntp server'} => 'ntpd', + $Lang::tr{'secure shell server'} => 'sshd', + $Lang::tr{'vpn'} => 'pluto', + $Lang::tr{'web proxy'} => 'squid', + 'OpenVPN' => 'openvpn' ); my $iface = ''; if (open(FILE, "${General::swroot}/red/iface")) { - $iface = ; - close FILE; - chomp $iface; + $iface = ; + close FILE; + chomp $iface; } $servicenames{"$Lang::tr{'intrusion detection system'} (RED)"} = "snort_${iface}"; $servicenames{"$Lang::tr{'intrusion detection system'} (GREEN)"} = "snort_$netsettings{'GREEN_DEV'}"; if ($netsettings{'ORANGE_DEV'} ne '') { - $servicenames{"$Lang::tr{'intrusion detection system'} (ORANGE)"} = "snort_$netsettings{'ORANGE_DEV'}"; + $servicenames{"$Lang::tr{'intrusion detection system'} (ORANGE)"} = "snort_$netsettings{'ORANGE_DEV'}"; } if ($netsettings{'BLUE_DEV'} ne '') { - $servicenames{"$Lang::tr{'intrusion detection system'} (BLUE)"} = "snort_$netsettings{'BLUE_DEV'}"; + $servicenames{"$Lang::tr{'intrusion detection system'} (BLUE)"} = "snort_$netsettings{'BLUE_DEV'}"; } # Generate Graphs from rrd Data @@ -115,18 +115,19 @@ print "
\n"; print < - +
+ END ; my $key = ''; foreach $key (sort keys %servicenames) { - print "\n\n"; - my $shortname = $servicenames{$key}; - my $status = &isrunning($shortname); - print "$status\n"; - print "\n"; + print "\n\n"; + my $shortname = $servicenames{$key}; + my $status = &isrunning($shortname); + print "$status\n"; + print "\n"; } @@ -138,58 +139,55 @@ print "
$Lang::tr{'services'}$Lang::tr{'status'}PID$Lang::tr{'memory'}
$key
$key
\n"; sub isrunning { - my $cmd = $_[0]; - my $status = "$Lang::tr{'stopped'}"; - my $pid = ''; - my $testcmd = ''; - my $exename; - - $cmd =~ /(^[a-z]+)/; - $exename = $1; - - if (open(FILE, "/var/run/${cmd}.pid")) - { - $pid = ; chomp $pid; - close FILE; - if (open(FILE, "/proc/${pid}/status")) - { - while () - { - if (/^Name:\W+(.*)/) { - $testcmd = $1; } - } - close FILE; - if ($testcmd =~ /$exename/) - { - $status = "$Lang::tr{'running'}"; - } - } - } - - return $status; + my $cmd = $_[0]; + my $status = "$Lang::tr{'stopped'}"; + my $pid = ''; + my $testcmd = ''; + my $exename; + my @memory; + + $cmd =~ /(^[a-z]+)/; + $exename = $1; + + if (open(FILE, "/var/run/${cmd}.pid")){ + $pid = ; chomp $pid; + close FILE; + if (open(FILE, "/proc/${pid}/status")){ + while (){ + if (/^Name:\W+(.*)/) {$testcmd = $1; } + } + close FILE; + } + if (open(FILE, "/proc/${pid}/statm")){ + my $temp = ; + @memory = split(/ /,$temp); + } + close FILE; + if ($testcmd =~ /$exename/){$status = "$Lang::tr{'running'}$pid$memory[0] KB";} + } +return $status; } sub percentbar { - my $percent = $_[0]; - my $fg = '#a0a0a0'; - my $bg = '#e2e2e2'; + my $percent = $_[0]; + my $fg = '#a0a0a0'; + my $bg = '#e2e2e2'; - if ($percent =~ m/^(\d+)%$/ ) - { - print < END ; - if ($percent eq "100%") { - print "" - } elsif ($percent eq "0%") { - print "" - } else { - print "" - } - print <" + } elsif ($percent eq "0%") { + print "" + } else { + print "" + } + print < END ;