]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - html/cgi-bin/index.cgi
Firewallhitgraphs gefixt.
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / index.cgi
index a5a77eb539266294c5225e7d0828ce1e41bfc7b0..c984300e48ec57a97b81376c2510bb655fd1ab09 100644 (file)
@@ -10,8 +10,8 @@
 use strict;
 
 # enable only the following on debugging purpose
-#use warnings;
-#use CGI::Carp 'fatalsToBrowser';
+use warnings;
+use CGI::Carp 'fatalsToBrowser';
 
 require '/var/ipfire/general-functions.pl';
 require "${General::swroot}/lang.pl";
@@ -74,7 +74,7 @@ if ( ( $pppsettings{'VALID'} eq 'yes' && $modemsettings{'VALID'} eq 'yes' ) || (
            chomp ($ipaddr);
        }
        if (open(IPADDR,"${General::swroot}/red/local-ipaddress")) {
-           my $ipaddr = <IPADDR>;
+           $ipaddr = <IPADDR>;
            close IPADDR;
            chomp ($ipaddr);
        }
@@ -101,7 +101,7 @@ print <<END;
   <tr> <th bgcolor='lightgrey'>$Lang::tr{'network'}
        <th bgcolor='lightgrey'>IP
        <th bgcolor='lightgrey'>$Lang::tr{'status'}
-  <tr> <td bgcolor='$Header::colourred' width='25%'><font size='2' color='white'><b>$Lang::tr{'internet'}:</b></font><br>
+  <tr> <td bgcolor='$Header::colourred' width='25%'><a href="/cgi-bin/pppsetup.cgi"><font size='2' color='white'><b>$Lang::tr{'internet'}:</b></font></a><br>
        <td width='30%'>$ipaddr 
        <td width='45%'>$connstate
        <tr><td colspan='2'>
@@ -115,7 +115,7 @@ END
                        print "\t<option value='$c' $selected{'PROFILE'}{$c}>$c. $profilenames[$c]</option>\n";
                }
        }
-       $dialButtonDisabled = "disabled='disabled'" if (-e '/var/run/ppp-ipcop.pid' || -e "${General::swroot}/red/active");
+       $dialButtonDisabled = "disabled='disabled'" if (-e '/var/run/ppp-ipfire.pid' || -e "${General::swroot}/red/active");
        if ( ( $pppsettings{'VALID'} eq 'yes' ) || ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ ) ) {
                print <<END;
                                </select>
@@ -136,8 +136,40 @@ END
        print "$Lang::tr{'profile has errors'}\n </b></font>\n";
        }
 
+       my $HOSTNAME = (gethostbyaddr(pack("C4", split(/\./, $ipaddr)), 2))[0];
+       if ( "$HOSTNAME" ne "" ) {
+               print <<END;
+       <tr><td><b>Hostname:</b><td>$HOSTNAME<td>&nbsp;
+END
+       }
+
+       if ( -e "/var/ipfire/red/remote-ipaddress" ) {
+               my $GATEWAY = `cat /var/ipfire/red/remote-ipaddress`;
+               chomp($GATEWAY);
+               print <<END;
+       <tr><td><b>Gateway:</b><td>$GATEWAY<td>&nbsp;
+END
+       }
+
+       my $DNS1 = `cat /var/ipfire/red/dns1`;
+       my $DNS2 = `cat /var/ipfire/red/dns2`;
+       chomp($DNS1);
+       chomp($DNS1);
+
+       if ( $DNS1 ) { print <<END;
+       <tr><td><b>DNS-Server:</b><td>$DNS1
+END
+       }
+       if ( $DNS2 ) { print <<END;
+       <td>$DNS2
+END
+       } else { print <<END;
+       <td>&nbsp;
+END
+       }
+
        if ( $netsettings{'GREEN_DEV'} ) { print <<END;
-               <tr><td bgcolor='$Header::colourgreen' width='25%'><font size='2' color='white'><b>$Lang::tr{'lan'}:</b></font>
+               <tr><td bgcolor='$Header::colourgreen' width='25%'><a href="/cgi-bin/dhcp.cgi"><font size='2' color='white'><b>$Lang::tr{'lan'}:</b></font></a>
                <td width='30%'>$netsettings{'GREEN_ADDRESS'}
                <td width='45%'>
 END
@@ -147,7 +179,7 @@ END
                }       else { print "Proxy aus"; }
        }
        if ( $netsettings{'BLUE_DEV'} ) { print <<END;
-               <tr><td bgcolor='$Header::colourblue' width='25%'><font size='2' color='white'><b>$Lang::tr{'wireless'}:</b></font><br>
+               <tr><td bgcolor='$Header::colourblue' width='25%'><a href="/cgi-bin/wireless.cgi"><font size='2' color='white'><b>$Lang::tr{'wireless'}:</b></font></a><br>
                <td width='30%'>$netsettings{'BLUE_ADDRESS'}
                <td width='45%'>
 END
@@ -157,7 +189,7 @@ END
                }       else { print "Proxy aus"; }
        }
        if ( $netsettings{'ORANGE_DEV'} ) { print <<END;
-               <tr><td bgcolor='$Header::colourorange' width='25%'><font size='2' color='white'><b>$Lang::tr{'dmz'}:</b></font><br>
+               <tr><td bgcolor='$Header::colourorange' width='25%'><a href="/cgi-bin/dmzholes.cgi"><font size='2' color='white'><b>$Lang::tr{'dmz'}:</b></font></a><br>
                <td width='30%'>$netsettings{'ORANGE_ADDRESS'}
                <td width='45%'><font color=$Header::colourgreen>Online</font>
 END
@@ -165,31 +197,48 @@ END
        if ( `cat /var/ipfire/vpn/settings | grep ^ENABLED=on` ||
             `cat /var/ipfire/vpn/settings | grep ^ENABLED_BLUE=on` ) { 
                my $ipsecip = `cat /var/ipfire/vpn/settings | grep ^VPN_IP= | cut -c 8-`;
+               my @status = `/usr/sbin/ipsec auto --status`;
+               my %confighash = ();
+               &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
                print <<END;
-               <tr><td bgcolor='$Header::colourvpn' width='25%'><font size='2' color='white'><b>$Lang::tr{'vpn'}:</b></font><br>
+               <tr><td bgcolor='$Header::colourvpn' width='25%'><a href="/cgi-bin/vpnmain.cgi"><font size='2' color='white'><b>$Lang::tr{'vpn'}:</b></font></a><br>
                <td width='30%'>$ipsecip
                <td width='45%'><font color=$Header::colourgreen>Online</font>
 END
+               my $id = 0;
+               my $gif;
+               foreach my $key (keys %confighash) {
+                       if ($confighash{$key}[0] eq 'on') { $gif = 'on.gif'; } else { $gif = 'off.gif'; }
+
+                       if ($id % 2) {
+                           print "<tr bgcolor='${Header::table1colour}'>\n";
+                       } else {
+                           print "<tr bgcolor='${Header::table2colour}'>\n";
+                       }
+                       print "<td bgcolor='#ffffff'>&nbsp;</td><td align='center' nowrap='nowrap'>$confighash{$key}[1] / " . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ")</td>";
+                       my $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourred}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsclosed'}</font></b></td></tr></table>";
+                       if ($confighash{$key}[0] eq 'off') {
+                           $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourblue}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsclosed'}</font></b></td></tr></table>";
+                       } else {
+                           foreach my $line (@status) {
+                               if ($line =~ /\"$confighash{$key}[1]\".*IPsec SA established/) {
+                                   $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourgreen}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsopen'}</font></b></td></tr></table>";
+                               }
+                          }
+                       }
+                       print "<td align='center'>$active</td>";
+               }
        }
        if ( `cat /var/ipfire/ovpn/settings | grep ^ENABLED=on` || 
             `cat /var/ipfire/ovpn/settings | grep ^ENABLED_BLUE=on` || 
             `cat /var/ipfire/ovpn/settings | grep ^ENABLED_ORANGE=on`) { 
                my $ovpnip = `cat /var/ipfire/ovpn/settings | grep ^DOVPN_SUBNET= | cut -c 14- | sed -e 's\/\\/255.255.255.0\/\/'`;
                print <<END;
-               <tr><td bgcolor='$Header::colourovpn' width='25%'><font size='2' color='white'><b>OpenVPN:</b></font><br>
+               <tr><td bgcolor='$Header::colourovpn' width='25%'><a href="/cgi-bin/ovpnmain.cgi"><font size='2' color='white'><b>OpenVPN:</b></font></a><br>
                <td width='30%'>$ovpnip
                <td width='45%'><font color=$Header::colourgreen>Online</font>
 END
        }
-       if ( $netsettings{'DNS1'} ) { print <<END;
-       <tr><td>DNS-Server: <td>$netsettings{'DNS1'}
-END
-       }
-       if ( $netsettings{'DNS2'} ) { print <<END;
-       <td>$netsettings{'DNS2'}
-END
-       }
-
 
 # Memory usage warning
 my @free = `/usr/bin/free`;