]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - html/cgi-bin/index.cgi
ids.cgi: Rework "Enable IPS" section
[ipfire-2.x.git] / html / cgi-bin / index.cgi
index 53adeacce8c9d852a99fc79629157eb53531b0a7..03dc3574d00f3a2b5f17d9e75026d2017b17cca6 100644 (file)
@@ -200,30 +200,65 @@ END
 END
        }
 
-       my @dns_servers = ();
-       foreach my $f ("${General::swroot}/red/dns1", "${General::swroot}/red/dns2") {
-               open(DNS, "<$f");
-               my $dns_server = <DNS>;
-               close(DNS);
-
-               chomp($dns_server);
-               if ($dns_server) {
-                       push(@dns_servers, $dns_server);
-               }
+       my $dns_servers;
+       if ( -e "${General::swroot}/red/dns" ) {
+               open (TMP, "<${General::swroot}/red/dns");
+               $dns_servers = <TMP>;
+               chomp($dns_servers);
+               close TMP;
        }
-       my $dns_servers_str = join(", ", @dns_servers);
-
        print <<END;
                <tr>
                        <td>
-                               <b>$Lang::tr{'dns servers'}:</b>
+                               <b><a href="netexternal.cgi">$Lang::tr{'dns servers'}</a>:</b>
                        </td>
                        <td style='text-align:center;'>
-                               $dns_servers_str
+                               $dns_servers
                        </td>
                        <td></td>
                </tr>
-       </table>
+END
+
+       if (&General::RedIsWireless()) {
+               my $iface = $netsettings{"RED_DEV"} || "red0";
+
+               my $essid        = &Network::wifi_get_essid($iface);
+               my $frequency    = &Network::wifi_get_frequency($iface);
+               my $access_point = &Network::wifi_get_access_point($iface);
+               my $bit_rate     = &Network::wifi_get_bit_rate($iface);
+               my $link_quality = &Network::wifi_get_link_quality($iface);
+               my $signal_level = &Network::wifi_get_signal_level($iface);
+
+               print <<END;
+                       <tr>
+                               <td>
+                                       <strong>$Lang::tr{'wireless network'}:</strong>
+                               </td>
+                               <td style="text-align: center">
+                                       $essid
+                               </td>
+                               <td style="text-align: center">
+                                       $access_point @ $frequency
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>
+                                       <strong>
+                                               $Lang::tr{'uplink bit rate'}:
+                                       </strong>
+                               </td>
+                               <td style="text-align: center">
+                                       $bit_rate
+                               </td>
+                               <td style="text-align: center">
+                                       $link_quality% @ $signal_level
+                               </td>
+                       </tr>
+END
+       }
+
+       print <<END;
+               </table>
 END
 
 #Dial profiles
@@ -301,7 +336,7 @@ END
                print '</td>';
                print '</tr>';
        }
-if ( $netsettings{'BLUE_DEV'} ) {
+if (&Header::blue_used()) {
                my $sub=&General::iporsubtocidr($netsettings{'BLUE_NETMASK'});
                print <<END;
                <tr>
@@ -318,7 +353,7 @@ END
                print '</td>';
                print '</tr>';
        }
-if ( $netsettings{'ORANGE_DEV'} ) {
+if (&Header::orange_used()) {
                my $sub=&General::iporsubtocidr($netsettings{'ORANGE_NETMASK'});
                print <<END;
                <tr>
@@ -409,9 +444,16 @@ END
                foreach my $key (sort { uc($vpnconfig{$a}[1]) cmp uc($vpnconfig{$b}[1]) } keys %vpnconfig) {
                        if ($vpnconfig{$key}[0] eq 'on' && $vpnconfig{$key}[3] ne 'host') {
                                $count++;
-                               my ($vpnip,$vpnsub) = split("/",$vpnconfig{$key}[11]);
-                               $vpnsub=&General::iporsubtocidr($vpnsub);
-                               $vpnip="$vpnip/$vpnsub";
+
+                               my @n = ();
+
+                               my @networks = split(/\|/, $vpnconfig{$key}[11]);
+                               foreach my $network (@networks) {
+                                       my ($vpnip, $vpnsub) = split("/", $network);
+                                       $vpnsub = &Network::convert_netmask2prefix($vpnsub) || $vpnsub;
+                                       push(@n, "$vpnip/$vpnsub");
+                               }
+
                                if ($count % 2){
                                        $col = $color{'color22'};
                                }else{
@@ -419,10 +461,14 @@ END
                                }
                                print "<tr>";
                                print "<td style='text-align:left; color:white; background-color:$Header::colourvpn;'>$vpnconfig{$key}[1]</td>";
-                               print "<td style='text-align:center; background-color:$col'>$vpnip</td>";
+                               print "<td style='text-align:center; background-color:$col'>" . join("<br>", @n) . "</td>";
 
                                my $activecolor = $Header::colourred;
                                my $activestatus = $Lang::tr{'capsclosed'};
+                               if ($vpnconfig{$key}[33] eq "add") {
+                                       $activecolor = ${Header::colourorange};
+                                       $activestatus = $Lang::tr{'vpn wait'};
+                               }
                                if ($vpnconfig{$key}[0] eq 'off') {
                                        $activecolor = $Header::colourblue;
                                        $activestatus = $Lang::tr{'capsclosed'};
@@ -431,6 +477,12 @@ END
                                                if (($line =~ /\"$vpnconfig{$key}[1]\".*IPsec SA established/) || ($line =~/$vpnconfig{$key}[1]\{.*INSTALLED/ )){
                                                        $activecolor = $Header::colourgreen;
                                                        $activestatus = $Lang::tr{'capsopen'};
+                                               } elsif ($line =~ /$vpnconfig{$key}[1]\[.*CONNECTING/) {
+                                                       $activecolor = $Header::colourorange;
+                                                       $activestatus = $Lang::tr{'vpn connecting'};
+                                               } elsif ($line =~ /$vpnconfig{$key}[1]\{.*ROUTED/) {
+                                                       $activecolor = $Header::colourorange;
+                                                       $activestatus = $Lang::tr{'vpn on-demand'};
                                                }
                                        }
                                }
@@ -503,6 +555,11 @@ END
 &Header::closebox();
 }
 
+my $dnssec_status = &General::dnssec_status();
+if ($dnssec_status eq "off") {
+       $warnmessage .= "<li>$Lang::tr{'dnssec disabled warning'}</li>";
+}
+
 # Fireinfo
 if ( ! -e "/var/ipfire/main/send_profile") {
        $warnmessage .= "<li><a style='color: white;' href='fireinfo.cgi'>$Lang::tr{'fireinfo please enable'}</a></li>";