-
+
+ ";
}
- my $HOSTNAME = (gethostbyaddr(pack("C4", split(/\./, $ipaddr)), 2))[0];
- if ( "$HOSTNAME" ne "" ) {
+ if ( $netsettings{'GREEN_DEV'} ) {
+ my $sub=&General::iporsubtocidr($netsettings{'GREEN_NETMASK'});
print <Hostname: | $HOSTNAME |
-END
- }
-
- if ( -e "/var/ipfire/red/remote-ipaddress" ) {
- my $GATEWAY = `cat /var/ipfire/red/remote-ipaddress`;
- chomp($GATEWAY);
- print <| Gateway: | $GATEWAY |
-END
- }
-
- my $DNS1 = `cat /var/ipfire/red/dns1`;
- my $DNS2 = `cat /var/ipfire/red/dns2`;
- chomp($DNS1);
- chomp($DNS1);
-
- if ( $DNS1 ) { print <| DNS-Server: | $DNS1
-END
- }
- if ( $DNS2 ) { print <$DNS2
-END
- } else { print <
-END
- }
-
- if ( $netsettings{'GREEN_DEV'} ) { print <
+
+
+ | $Lang::tr{'network'} |
+ IP |
+ $Lang::tr{'status'} |
+
| $Lang::tr{'lan'}
- | $netsettings{'GREEN_ADDRESS'}
- |
+ | $netsettings{'GREEN_ADDRESS'}/$sub
+ |
END
if ( `cat /var/ipfire/proxy/advanced/settings | grep ^ENABLE=on` ) {
print $Lang::tr{'advproxy on'};
if ( `cat /var/ipfire/proxy/advanced/settings | grep ^TRANSPARENT=on` ) { print " (transparent)"; }
} else { print $Lang::tr{'advproxy off'}; }
}
- if ( $netsettings{'BLUE_DEV'} ) { print <$Lang::tr{'wireless'}
- | $netsettings{'BLUE_ADDRESS'}
- |
+ | $netsettings{'BLUE_ADDRESS'}/$sub
+ |
END
if ( `cat /var/ipfire/proxy/advanced/settings | grep ^ENABLE_BLUE=on` ) {
print $Lang::tr{'advproxy on'};
if ( `cat /var/ipfire/proxy/advanced/settings | grep ^TRANSPARENT_BLUE=on` ) { print " (transparent)"; }
} else { print $Lang::tr{'advproxy off'}; }
}
- if ( $netsettings{'ORANGE_DEV'} ) { print <$Lang::tr{'dmz'}
- | $netsettings{'ORANGE_ADDRESS'}
- | Online
+ | $netsettings{'ORANGE_ADDRESS'}/$sub
+ | Online
END
}
- if ( `cat /var/ipfire/vpn/settings | grep ^ENABLED=on` ||
- `cat /var/ipfire/vpn/settings | grep ^ENABLED_BLUE=on` ) {
+#check if IPSEC is running
+if ( `cat /var/ipfire/vpn/settings | grep ^ENABLED=on` ||
+ `cat /var/ipfire/vpn/settings | grep ^ENABLED_BLUE=on` ) {
+ $haveipsec=1;
+ my $ipsecip = `cat /var/ipfire/vpn/settings | grep ^VPN_IP= | cut -c 8-`;
+print<$Lang::tr{'vpn'}
+ | $ipsecip
+ | Online
+END
+}
+
+#check if OpenVPN is running
+my %confighash=();
+&General::readhash("${General::swroot}/ovpn/settings", \%confighash);
+
+if (($confighash{'ENABLED'} eq "on") ||
+ ($confighash{'ENABLED_BLUE'} eq "on") ||
+ ($confighash{'ENABLED_ORANGE'} eq "on")) {
+ my ($ovpnip,$sub) = split("/",$confighash{'DOVPN_SUBNET'});
+ $sub=&General::iporsubtocidr($sub);
+ $ovpnip="$ovpnip/$sub";
+ $haveovpn=1;
+print <
+
+ OpenVPN
+ |
+ $ovpnip
+ | Online
+END
+ }
+print" | | | | | ";
+&Header::closebox();
+
+# Start of Box wich contains all vpn connections
+ &Header::openbox('100%', 'center', $Lang::tr{'vpn'}) if ($haveipsec || $haveovpn);
+
+#show ipsec connectiontable
+ if ( $haveipsec ) {
my $ipsecip = `cat /var/ipfire/vpn/settings | grep ^VPN_IP= | cut -c 8-`;
my @status = `/usr/local/bin/ipsecctrl I`;
my %confighash = ();
&General::readhasharray("${General::swroot}/vpn/config", \%confighash);
print <$Lang::tr{'vpn'}
- | $ipsecip
- | Online
+
+
+
+ | $Lang::tr{'ipsec network'} |
+ IP |
+ $Lang::tr{'status'} |
+
END
my $id = 0;
my $gif;
+ my $col="";
foreach my $key (sort { uc($confighash{$a}[1]) cmp uc($confighash{$b}[1]) } keys %confighash) {
if ($confighash{$key}[0] eq 'on') { $gif = 'on.gif'; } else { $gif = 'off.gif'; }
if ($id % 2) {
- print "| $confighash{$key}[1] / " . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ") | $confighash{$key}[11] | ";
+ $col="bgcolor='$color{'color20'}'";
+ print " | $confighash{$key}[1] / " . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ") | $confighash{$key}[11] | ";
} else {
- print " | $confighash{$key}[1] / " . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ") | $confighash{$key}[11] | ";
+ $col="bgcolor='$color{'color22'}'";
+ print " | $confighash{$key}[1] / " . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ") | $confighash{$key}[11] | ";
}
- my $active = "";
+ my $active = "$Lang::tr{'capsclosed'} | ";
if ($confighash{$key}[0] eq 'off') {
- $active = "";
+ $active = "$Lang::tr{'capsclosed'} | ";
} else {
foreach my $line (@status) {
if (($line =~ /\"$confighash{$key}[1]\".*IPsec SA established/) ||
@@ -380,46 +359,38 @@ END
}
}
}
- print "$active | ";
+ print "$active";
}
+ print " ";
}
###
# Check if there is any OpenVPN connection configured.
###
-if ( -s "${General::swroot}/ovpn/ovpnconfig")
- {
+if ( $haveovpn )
+{
print <
+
-
- OpenVPN
- |
+ $Lang::tr{'openvpn network'} |
+ IP |
+ $Lang::tr{'status'} |
END
# Check if the OpenVPN server for Road Warrior Connections is running and display status information.
my %confighash=();
&General::readhash("${General::swroot}/ovpn/settings", \%confighash);
-
- if (($confighash{'ENABLED'} eq "on") ||
- ($confighash{'ENABLED_BLUE'} eq "on") ||
- ($confighash{'ENABLED_ORANGE'} eq "on")) {
-
- my $ovpnip = $confighash{'DOVPN_SUBNET'};
- print <$ovpnip
- Online
-END
-
- }
-
# Print the OpenVPN N2N connection status.
if ( -d "${General::swroot}/ovpn/n2nconf") {
my %confighash=();
&General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
+ my $lines;
+ my $col="";
foreach my $dkey (keys %confighash) {
+ $lines++;
if (($confighash{$dkey}[3] eq 'net') && (-e "/var/run/$confighash{$dkey}[1]n2n.pid")) {
my $tport = $confighash{$dkey}[22];
next if ($tport eq '');
@@ -437,16 +408,20 @@ END
} else {
$display = $tustate[1];
}
-
+ if ($lines %2){
+ $col="bgcolor='$color{'color20'}'";
+ }else{
+ $col="bgcolor='$color{'color22'}'";
+ }
print <
- |
+ |
$confighash{$dkey}[1]
|
-
+ |
$confighash{$dkey}[11]
|
-
+ |
$display
@@ -459,7 +434,7 @@ END
}
}
}
-
+&Header::closebox();
# Fireinfo
if ( ! -e "/var/ipfire/main/send_profile") {
$warnmessage .= "$Lang::tr{'fireinfo please enable'}";
@@ -534,28 +509,6 @@ END
if ( -e "/var/run/need_reboot" ) {
print "
$Lang::tr{'needreboot'}!";
}
-} else {
- my $message='';
- if ($death) {
- $message = $Lang::tr{'ipfire has now shutdown'};
- } else {
- $message = $Lang::tr{'ipfire has now rebooted'};
- }
- print <
-
-
-

- |
-
-
-$message
-
-END
-;
-
-}
-
&Header::closebox();
}
diff --git a/html/cgi-bin/shutdown.cgi b/html/cgi-bin/shutdown.cgi
new file mode 100755
index 000000000..dd6a03ca8
--- /dev/null
+++ b/html/cgi-bin/shutdown.cgi
@@ -0,0 +1,88 @@
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# (c) The SmoothWall Team
+#
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require '/var/ipfire/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+my %cgiparams=();
+my $death = 0;
+my $rebirth = 0;
+
+&Header::showhttpheaders();
+
+$cgiparams{'ACTION'} = '';
+&Header::getcgihash(\%cgiparams);
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'shutdown'}) {
+ $death = 1;
+ &General::log($Lang::tr{'shutting down ipfire'});
+ system '/usr/local/bin/ipfirereboot down';
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reboot'}) {
+ $rebirth = 1;
+ &General::log($Lang::tr{'rebooting ipfire'});
+ system '/usr/local/bin/ipfirereboot boot';
+}
+if ($death == 0 && $rebirth == 0) {
+
+ &Header::openpage($Lang::tr{'shutdown control'}, 1, '');
+
+ &Header::openbigbox('100%', 'left');
+
+ print " | |
+END
+ ;
+ &Header::closebox();
+
+} else {
+ my $message='';
+ my $title='';
+ my $refresh = "";
+ if ($death) {
+ $title = $Lang::tr{'shutting down'};
+ $message = $Lang::tr{'ipfire has now shutdown'};
+ } else {
+ $title = $Lang::tr{'rebooting'};
+ $message = $Lang::tr{'ipfire has now rebooted'};
+ }
+ &Header::openpage($title, 0, $refresh);
+
+ &Header::openbigbox('100%', 'center');
+ print <
+
+
+

+ |
+
+
+$message
+
+END
+ ;
+}
+
+&Header::closebigbox();
+&Header::closepage();
+
diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl
index 568f057cb..db8883770 100644
--- a/langs/de/cgi-bin/de.pl
+++ b/langs/de/cgi-bin/de.pl
@@ -1271,6 +1271,7 @@
'ipinfo' => 'IP-Info',
'iptable rules' => 'IPTable-Regeln',
'iptmangles' => 'IPTable Mangles',
+'ipsec network' => 'IPsec Netzwerke',
'iptnats' => 'IPTable Network Address Translation',
'ipts' => 'iptables',
'isdn' => 'ISDN',
@@ -1536,6 +1537,7 @@
'openvpn fragment allowed with udp' => '"fragment" kann nur in Kombination mit dem UDP-Protokoll genutzt werden.',
'openvpn log' => 'OpenVPN Log',
'openvpn mssfix allowed with udp' => '"mssfix" kann nur in Kombination mit dem UDP-Protokoll genutzt werden.',
+'openvpn network' => 'OpenVPN Netzwerke',
'openvpn prefix local subnet' => 'Die Prefix-Notation wird nicht unterstützt. Bitte geben Sie eine Subnetzmaske beim lokalen Subnetz ein wie z.B. 255.255.255.0.',
'openvpn prefix openvpn subnet' => 'Die Prefix-Notation wird nicht unterstützt. Bitte geben Sie eine Subnetzmaske beim OpenVPN-Subnetz ein wie z.B. 255.255.255.0.',
'openvpn prefix remote subnet' => 'Die Prefix-Notation wird nicht unterstützt. Bitte geben Sie eine Subnetzmaske beim entfernten Subnetz ein wie z.B. 255.255.255.0.',
diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
index 451ea7945..7d4546dbe 100644
--- a/langs/en/cgi-bin/en.pl
+++ b/langs/en/cgi-bin/en.pl
@@ -1298,6 +1298,7 @@
'ipfire side is invalid' => 'IPFire side is invalid.',
'ipfires hostname' => 'IPFire\'s Hostname',
'ipinfo' => 'IP info',
+'ipsec network' => 'IPsec network',
'iptable rules' => 'IPTable rules',
'iptmangles' => 'IPTable Mangles',
'iptnats' => 'IPTable Network Address Translation',
@@ -1566,6 +1567,7 @@
'openvpn fragment allowed with udp' => 'Using fragment is only allowed when using the UDP protocol.',
'openvpn log' => 'OpenVPN Log',
'openvpn mssfix allowed with udp' => 'Using "mssfix" is only allowed when using the UDP protocol.',
+'openvpn network' => 'OpenVPN networks',
'openvpn prefix local subnet' => 'Using the prefix notation is not supported for the local subnet. Please enter a subnet mask like 255.255.255.0.',
'openvpn prefix openvpn subnet' => 'Using the prefix notation is not supported for the OpenVPN subnet. Please enter a subnet mask like 255.255.255.0.',
'openvpn prefix remote subnet' => 'Using the prefix notation is not supported for the remote subnet. Please enter a subnet mask like 255.255.255.0.',
| | | | |