]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
Merge remote-tracking branch 'ummeegge/openvpn' into next
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 11 May 2014 16:47:11 +0000 (18:47 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 11 May 2014 16:47:11 +0000 (18:47 +0200)
Conflicts:
html/cgi-bin/ovpnmain.cgi
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl

36 files changed:
config/cfgroot/header.pl
config/cfgroot/modem-lib.pl [new file with mode: 0644]
config/menu/20-status.menu
config/menu/70-log.menu
config/rootfiles/common/apache2
config/rootfiles/common/configroot
config/rootfiles/common/perl-Device-Modem [new file with mode: 0644]
config/rootfiles/common/perl-Device-SerialPort [new file with mode: 0644]
config/rootfiles/common/ppp
config/rootfiles/common/squid
config/rootfiles/common/vnstat
config/rootfiles/common/vnstati [deleted file]
doc/language_issues.de
doc/language_issues.en
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.nl
doc/language_issues.pl
doc/language_issues.ru
doc/language_issues.tr
doc/language_missings
html/cgi-bin/logs.cgi/firewalllogcountry.dat [new file with mode: 0644]
html/cgi-bin/logs.cgi/showrequestfromcountry.dat [new file with mode: 0644]
html/cgi-bin/modem-status.cgi [new file with mode: 0755]
html/cgi-bin/ovpnmain.cgi
html/cgi-bin/pppsetup.cgi
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl
lfs/configroot
lfs/openvpn
lfs/perl-Device-Modem [moved from lfs/vnstati with 91% similarity]
lfs/perl-Device-SerialPort [new file with mode: 0644]
lfs/ppp
lfs/squid
lfs/vnstat
make.sh

index 39472a85759dfe7d0658b99b2e43ace36a4fa709..bbb7e21f45243b183e43169b017c6937e1364ec2 100644 (file)
@@ -153,6 +153,10 @@ sub genmenu {
     if (&General::RedIsWireless()) {
         $menu->{'01.system'}{'subMenu'}->{'21.wlan'}{'enabled'} = 1;
     }
+
+    if ($ethsettings{'RED_TYPE'} eq "PPPOE") {
+        $menu->{'02.status'}{'subMenu'}->{'74.modem-status'}{'enabled'} = 1;
+    }
 }
 
 sub showhttpheaders
diff --git a/config/cfgroot/modem-lib.pl b/config/cfgroot/modem-lib.pl
new file mode 100644 (file)
index 0000000..51b6d68
--- /dev/null
@@ -0,0 +1,276 @@
+#!/usr/bin/perl
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2014 IPFire Team  <info@ipfire.org>                           #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+use Device::Modem;
+
+package Modem;
+
+sub new() {
+       my $class = shift;
+
+       my $port = shift;
+       my $baud = shift;
+
+       my $self = {};
+       bless $self, $class;
+
+       # Initialize the connetion to the modem.
+       $self->_initialize($port, $baud);
+
+       if ($self->_is_working()) {
+               return $self;
+       }
+
+       return undef;
+}
+
+sub DESTROY() {
+       my $self = shift;
+
+       # Close connection to modem.
+       if ($self->{modem}) {
+               $self->{modem}->close();
+       }
+}
+
+sub _initialize() {
+       my ($self, $port, $baud) = @_;
+
+       # Establish connection to the modem.
+       $self->{modem} = new Device::Modem(port => $port);
+       $self->{modem}->connect(baudrate => $baud);
+}
+
+sub _is_working() {
+       my $self = shift;
+
+       # Check if the modem responds to AT commands.
+       $self->{modem}->atsend("AT\r\n");
+
+       my $response = $self->{modem}->answer();
+       return ($response eq "OK");
+}
+
+sub _command() {
+       my $self = shift;
+       my $cmd  = shift;
+
+       # Terminate the AT command with newline.
+       $cmd .= "\r\n";
+
+       $self->{modem}->atsend($cmd);
+
+       my $response = $self->{modem}->answer();
+       my @response = split(/\n/, $response);
+
+       # Trim leading and trailing spaces.
+       foreach my $line (@response) {
+               $line =~ s/^\s+|\s+$//g;
+               chomp($line);
+       }
+
+       my $last_element = pop(@response);
+       unless ($last_element eq "OK") {
+               push(@response, $last_element);
+       }
+
+       $response = join("\n", @response);
+
+       return $self->_trim($response);
+}
+
+sub _trim() {
+       my $self = shift;
+       my $input = shift;
+
+       my $first_char = substr($input, 0, 1);
+       if ($first_char eq "+") {
+               my @output = split(/:/, $input);
+               if ($#output == 1) {
+                       return $output[1];
+               }
+       }
+
+       return $input;
+}
+
+sub get_vendor() {
+       my $self = shift;
+
+       return $self->_command("AT+GMI");
+}
+
+sub get_model() {
+       my $self = shift;
+
+       return $self->_command("AT+GMM");
+}
+
+sub get_software_version() {
+       my $self = shift;
+
+       return $self->_command("AT+GMR");
+}
+
+sub get_imei() {
+       my $self = shift;
+
+       return $self->_command("AT+GSN");
+}
+
+sub get_capabilities() {
+       my $self = shift;
+
+       my $output = $self->_command("AT+GCAP");
+       return split(/,/, $output);
+}
+
+sub is_sim_unlocked() {
+       my $self = shift;
+
+       # TODO
+       return 1;
+}
+
+sub get_sim_imsi() {
+       my $self = shift;
+
+       if ($self->is_sim_unlocked()) {
+               return $self->_command("AT+CIMI");
+       }
+}
+
+sub get_network_registration() {
+       my $self = shift;
+
+       my @elements;
+       foreach my $i ([0, 1]) {
+               my $output = $self->_command("AT+CREG?");
+
+               @elements = split(/,/, $output);
+               if ($#elements != 2) {
+                       # Output in wrong format. Resetting.
+                       $self->_command("AT+CREG=0");
+               }
+       }
+
+       if ($elements[0] == 0) {
+               if ($elements[1] == 0) {
+                       return "NOT REGISTERED, NOT SEARCHING";
+               } elsif ($elements[1] == 1) {
+                       return "REGISTERED TO HOME NETWORK";
+               } elsif ($elements[1] == 2) {
+                       return "NOT REGISTERED, SEARCHING";
+               } elsif ($elements[1] == 3) {
+                       return "REGISTRATION DENIED";
+               } elsif ($elements[1] == 5) {
+                       return "REGISTERED, ROAMING";
+               } else {
+                       return "UNKNOWN";
+               }
+       }
+}
+
+sub _get_network_operator() {
+       my $self = shift;
+
+       my $output = $self->_command("AT+COPS?");
+       $output =~ s/\"//g;
+
+       my @elements = split(/,/, $output);
+       if ($#elements == 3) {
+               return @elements;
+       }
+}
+
+sub get_network_operator() {
+       my $self = shift;
+
+       my ($mode, $format, $operator, $act) = $self->_get_network_operator();
+
+       return $operator;
+}
+
+sub get_network_mode() {
+       my $self = shift;
+
+       my ($mode, $format, $operator, $act) = $self->_get_network_operator();
+
+       if ($act == 0) {
+               return "GSM";
+       } elsif ($act == 1) {
+               return "Compact GSM";
+       } elsif ($act == 2) {
+               return "UMTS";
+       } elsif ($act == 3) {
+               return "GSM WITH EGPRS";
+       } elsif ($act == 4) {
+               return "UMTS WITH HSDPA";
+       } elsif ($act == 5) {
+               return "UMTS WITH HSUPA";
+       } elsif ($act == 6) {
+               return "UMTS WITH HSDPA+HSUPA";
+       } elsif ($act == 7) {
+               return "LTE";
+       } else {
+               return "UNKNOWN ($act)";
+       }
+}
+
+sub _get_signal_quality() {
+       my $self = shift;
+
+       my $output = $self->_command("AT+CSQ");
+
+       my @elements = split(/,/, $output);
+       if ($#elements == 1) {
+               return @elements;
+       }
+}
+
+sub get_signal_quality() {
+       my $self = shift;
+
+       my ($rssi, $ber) = $self->_get_signal_quality();
+
+       # 99 equals unknown.
+       unless ($rssi == 99) {
+               my $dbm = ($rssi * 2) - 113;
+               return $dbm;
+       }
+
+       return undef;
+}
+
+sub get_bit_error_rate() {
+       my $self = shift;
+
+       my ($rssi, $ber) = $self->_get_signal_quality();
+
+       # 99 indicates unknown.
+       unless ($ber == 99) {
+               return $ber;
+       }
+
+       return undef;
+}
+
+1;
index 8899310aaa8cad97f950b22fdd38663ab679a9e9..b159ed6109b0988cf4112ca450777776f73ad66f 100644 (file)
                                'title' => "$Lang::tr{'qos graphs'}",
                                'enabled' => 1,
                                };
+    $substatus->{'74.modem-status'} = {'caption' => $Lang::tr{'modem status'},
+                                 'uri' => '/cgi-bin/modem-status.cgi',
+                                 'title' => $Lang::tr{'modem status'},
+                                 'enabled' => 0,
+                                 };
     $substatus->{'75.atm-status'} = {'caption' => 'Atm-status',
                                  'uri' => '/cgi-bin/atm-status.cgi',
                                  'title' => 'Atm-status',
index 25ba090fc2e609428eaabc1b59bc77f949c9ddb4..08973de5a2943ea6f3b5267837d14b7011c60206 100644 (file)
                                 'title' => "$Lang::tr{'firewall logs port'}",
                                 'enabled' => 1
                                 };
+    $sublogs->{'43.firewallcountry'} = {'caption' => $Lang::tr{'firewall logs country'},
+                                'uri' => '/cgi-bin/logs.cgi/firewalllogcountry.dat',
+                                'title' => "$Lang::tr{'firewall logs country'}",
+                                'enabled' => 1
+                                };
     $sublogs->{'50.ids'} = {'caption' => $Lang::tr{'ids logs'},
                                'uri' => '/cgi-bin/logs.cgi/ids.dat',
                                'title' => "$Lang::tr{'ids logs'}",
index 2dd14cc2cbb4e1bee54fd54d05b137dd01313225..474e7a7dc1edb54578ccfc963ef9ce2175940fd4 100644 (file)
@@ -1415,6 +1415,7 @@ srv/web/ipfire/cgi-bin/mac.cgi
 srv/web/ipfire/cgi-bin/media.cgi
 srv/web/ipfire/cgi-bin/memory.cgi
 srv/web/ipfire/cgi-bin/modem.cgi
+srv/web/ipfire/cgi-bin/modem-status.cgi
 srv/web/ipfire/cgi-bin/netexternal.cgi
 srv/web/ipfire/cgi-bin/netinternal.cgi
 srv/web/ipfire/cgi-bin/netother.cgi
index b5de9891de9e0656abac8c5b47055d35f5325a47..6afe6cdf8840a3fbe4be5b5dbdd2ed061b71d40c 100644 (file)
@@ -116,6 +116,7 @@ var/ipfire/menu.d/70-log.menu
 var/ipfire/modem
 #var/ipfire/modem/defaults
 #var/ipfire/modem/settings
+var/ipfire/modem-lib.pl
 var/ipfire/net-traffic
 #var/ipfire/net-traffic/net-traffic-admin.pl
 #var/ipfire/net-traffic/net-traffic-lib.pl
diff --git a/config/rootfiles/common/perl-Device-Modem b/config/rootfiles/common/perl-Device-Modem
new file mode 100644 (file)
index 0000000..9e8da1c
--- /dev/null
@@ -0,0 +1,18 @@
+#usr/lib/perl5/site_perl/5.12.3/Device
+#usr/lib/perl5/site_perl/5.12.3/Device/Modem
+usr/lib/perl5/site_perl/5.12.3/Device/Modem.pm
+#usr/lib/perl5/site_perl/5.12.3/Device/Modem/FAQ.pod
+#usr/lib/perl5/site_perl/5.12.3/Device/Modem/Log
+usr/lib/perl5/site_perl/5.12.3/Device/Modem/Log/File.pm
+usr/lib/perl5/site_perl/5.12.3/Device/Modem/Log/Syslog.pm
+#usr/lib/perl5/site_perl/5.12.3/Device/Modem/Protocol
+usr/lib/perl5/site_perl/5.12.3/Device/Modem/Protocol/Xmodem.pm
+usr/lib/perl5/site_perl/5.12.3/Device/Modem/UsRobotics.pm
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device/Modem
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device/Modem/.packlist
+#usr/share/man/man3/Device::Modem.3
+#usr/share/man/man3/Device::Modem::FAQ.3
+#usr/share/man/man3/Device::Modem::Log::File.3
+#usr/share/man/man3/Device::Modem::Log::Syslog.3
+#usr/share/man/man3/Device::Modem::Protocol::Xmodem.3
+#usr/share/man/man3/Device::Modem::UsRobotics.3
diff --git a/config/rootfiles/common/perl-Device-SerialPort b/config/rootfiles/common/perl-Device-SerialPort
new file mode 100644 (file)
index 0000000..dccc425
--- /dev/null
@@ -0,0 +1,10 @@
+#usr/bin/modemtest
+usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/Device
+usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/Device/SerialPort.pm
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device/SerialPort
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device/SerialPort/.packlist
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device/SerialPort/SerialPort.bs
+usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device/SerialPort/SerialPort.so
+#usr/share/man/man1/modemtest.1
+#usr/share/man/man3/Device::SerialPort.3
index 60e6f5b0806a81b8272851f83760d7bdff2d36fd..709e0d0e06498a40042b73e7ff269764d9e671b4 100644 (file)
@@ -14,8 +14,10 @@ etc/ppp/standardloginscript
 #usr/include/pppd/chap_ms.h
 #usr/include/pppd/eap.h
 #usr/include/pppd/ecp.h
+#usr/include/pppd/eui64.h
 #usr/include/pppd/fsm.h
 #usr/include/pppd/ipcp.h
+#usr/include/pppd/ipv6cp.h
 #usr/include/pppd/ipxcp.h
 #usr/include/pppd/lcp.h
 #usr/include/pppd/magic.h
@@ -31,18 +33,18 @@ etc/ppp/standardloginscript
 #usr/include/pppd/tdb.h
 #usr/include/pppd/upap.h
 usr/lib/pppd
-usr/lib/pppd/2.4.5
-usr/lib/pppd/2.4.5/minconn.so
-usr/lib/pppd/2.4.5/openl2tp.so
-usr/lib/pppd/2.4.5/passprompt.so
-usr/lib/pppd/2.4.5/passwordfd.so
-usr/lib/pppd/2.4.5/pppoatm.so
-usr/lib/pppd/2.4.5/pppol2tp.so
-usr/lib/pppd/2.4.5/radattr.so
-usr/lib/pppd/2.4.5/radius.so
-usr/lib/pppd/2.4.5/radrealms.so
-usr/lib/pppd/2.4.5/rp-pppoe.so
-usr/lib/pppd/2.4.5/winbind.so
+usr/lib/pppd/2.4.6
+usr/lib/pppd/2.4.6/minconn.so
+usr/lib/pppd/2.4.6/openl2tp.so
+usr/lib/pppd/2.4.6/passprompt.so
+usr/lib/pppd/2.4.6/passwordfd.so
+usr/lib/pppd/2.4.6/pppoatm.so
+usr/lib/pppd/2.4.6/pppol2tp.so
+usr/lib/pppd/2.4.6/radattr.so
+usr/lib/pppd/2.4.6/radius.so
+usr/lib/pppd/2.4.6/radrealms.so
+usr/lib/pppd/2.4.6/rp-pppoe.so
+usr/lib/pppd/2.4.6/winbind.so
 usr/sbin/chat
 usr/sbin/pppd
 usr/sbin/pppdump
index 9515dc3a0088008c7f4aa1a1defea0a94a0d8608..76abbe8516bf6fdce0e1fe1bcc702e0be92ad719 100644 (file)
@@ -34,7 +34,7 @@ usr/lib/squid/basic_smb_auth
 usr/lib/squid/basic_smb_auth.sh
 #usr/lib/squid/cachemgr.cgi
 usr/lib/squid/cert_tool
-usr/lib/squid/digest_edirectory_auth
+usr/lib/squid/cert_valid.pl
 usr/lib/squid/digest_file_auth
 usr/lib/squid/digest_ldap_auth
 usr/lib/squid/diskd
@@ -1374,6 +1374,7 @@ usr/lib/squid/errors/pl/error-details.txt
 #usr/lib/squid/errors/pt-br/ERR_WRITE_ERROR
 #usr/lib/squid/errors/pt-br/ERR_ZERO_SIZE_OBJECT
 #usr/lib/squid/errors/pt-br/error-details.txt
+#usr/lib/squid/errors/pt-bz
 #usr/lib/squid/errors/pt-pt
 #usr/lib/squid/errors/pt/ERR_ACCESS_DENIED
 #usr/lib/squid/errors/pt/ERR_ACL_TIME_QUOTA_EXCEEDED
@@ -2148,6 +2149,7 @@ usr/lib/squid/mib.txt
 usr/lib/squid/negotiate_wrapper_auth
 usr/lib/squid/ntlm_fake_auth
 usr/lib/squid/ntlm_smb_lm_auth
+usr/lib/squid/storeid_file_rewrite
 usr/lib/squid/unlinkd
 usr/lib/squid/url_fake_rewrite
 usr/lib/squid/url_fake_rewrite.sh
@@ -2173,6 +2175,7 @@ usr/sbin/updxlrator
 #usr/share/man/man8/ext_wbinfo_group_acl.8
 #usr/share/man/man8/log_db_daemon.8
 #usr/share/man/man8/squid.8
+#usr/share/man/man8/storeid_file_rewrite.8
 #var/cache/squid
 var/ipfire/proxy/errorpage-ipfire.css
 var/ipfire/proxy/errorpage-squid.css
@@ -2190,4 +2193,3 @@ var/log/cache
 var/log/squid/access.log
 var/log/updatexlrator
 #var/logs
-#var/run/squid
index 57c54dbef6d63c5c189eb2577091ce0e6567beb1..faabf47e8ae2041df0c94028574718e7cd46f1f8 100644 (file)
@@ -2,5 +2,10 @@
 #etc/cron.d/vnstat
 etc/vnstat.conf
 usr/bin/vnstat
+usr/bin/vnstati
+#usr/sbin/vnstatd
+#usr/share/man/man5/vnstat.conf.5
+#usr/share/man/man1/vnstatd.1
+#usr/share/man/man1/vnstati.1
 #usr/share/man/man1/vnstat.1
 #var/lib/vnstat
diff --git a/config/rootfiles/common/vnstati b/config/rootfiles/common/vnstati
deleted file mode 100644 (file)
index a40fc8c..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/bin/vnstati
-#usr/share/man/man1/vnstati.1.gz
index 25612b5b74e6f1c2656da3869da7e7632e66f96b..a00e97a051756d4ff5d8572e128e38ee59b102b9 100644 (file)
@@ -1,4 +1,3 @@
-WARNING: translation string unused: Client status and controlc
 WARNING: translation string unused: ConnSched scheduler
 WARNING: translation string unused: ConnSched select profile
 WARNING: translation string unused: HDD temperature
@@ -364,6 +363,7 @@ WARNING: translation string unused: network time
 WARNING: translation string unused: network traffic graphs
 WARNING: translation string unused: network updated
 WARNING: translation string unused: networks settings
+WARNING: translation string unused: never
 WARNING: translation string unused: new optionsfw must boot
 WARNING: translation string unused: no alcatelusb firmware
 WARNING: translation string unused: no cfg upload
@@ -386,7 +386,6 @@ WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
 WARNING: translation string unused: or
 WARNING: translation string unused: original
-WARNING: translation string unused: other countries
 WARNING: translation string unused: our donors
 WARNING: translation string unused: out
 WARNING: translation string unused: outgoing firewall
@@ -409,10 +408,10 @@ WARNING: translation string unused: outgoing firewall reset
 WARNING: translation string unused: outgoing firewall view group
 WARNING: translation string unused: outgoing firewall warning
 WARNING: translation string unused: override mtu
-WARNING: translation string unused: ovpn
 WARNING: translation string unused: ovpn config
 WARNING: translation string unused: ovpn dl
 WARNING: translation string unused: ovpn log
+WARNING: translation string unused: ovpn reneg sec
 WARNING: translation string unused: ovpn_fastio
 WARNING: translation string unused: ovpn_fragment
 WARNING: translation string unused: ovpn_mssfix
@@ -459,16 +458,12 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
-WARNING: translation string unused: reserved dst port
-WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
-WARNING: translation string unused: rsvd dst port overlap
-WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -619,10 +614,16 @@ WARNING: untranslated string: addons
 WARNING: untranslated string: bytes
 WARNING: untranslated string: community rules
 WARNING: untranslated string: dead peer detection
+WARNING: untranslated string: dns servers
+WARNING: untranslated string: downlink
 WARNING: untranslated string: emerging rules
+WARNING: untranslated string: first
 WARNING: untranslated string: fwhost err hostip
+WARNING: untranslated string: last
+WARNING: untranslated string: monitor interface
 WARNING: untranslated string: qos add subclass
 WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
+WARNING: untranslated string: uplink
index e6af830a5d47d90f302ff5094fa3d37a3016700e..ba7f0307df6b0b49a6ef5fefef0239eec67e59d5 100644 (file)
@@ -1,4 +1,3 @@
-WARNING: translation string unused: Client status and controlc
 WARNING: translation string unused: ConnSched scheduler
 WARNING: translation string unused: ConnSched select profile
 WARNING: translation string unused: HDD temperature
@@ -146,6 +145,7 @@ WARNING: translation string unused: destination ip bad
 WARNING: translation string unused: destination ip or net
 WARNING: translation string unused: destination net
 WARNING: translation string unused: destination port overlaps
+WARNING: translation string unused: dh name is invalid
 WARNING: translation string unused: dhcp base ip fixed lease
 WARNING: translation string unused: dhcp create fixed leases
 WARNING: translation string unused: dhcp fixed lease err1
@@ -389,6 +389,7 @@ WARNING: translation string unused: network time
 WARNING: translation string unused: network traffic graphs
 WARNING: translation string unused: network updated
 WARNING: translation string unused: networks settings
+WARNING: translation string unused: never
 WARNING: translation string unused: new optionsfw must boot
 WARNING: translation string unused: no alcatelusb firmware
 WARNING: translation string unused: no cfg upload
@@ -412,7 +413,6 @@ WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
 WARNING: translation string unused: or
 WARNING: translation string unused: original
-WARNING: translation string unused: other countries
 WARNING: translation string unused: our donors
 WARNING: translation string unused: out
 WARNING: translation string unused: outgoing firewall
@@ -435,12 +435,11 @@ WARNING: translation string unused: outgoing firewall reset
 WARNING: translation string unused: outgoing firewall view group
 WARNING: translation string unused: outgoing firewall warning
 WARNING: translation string unused: override mtu
-WARNING: translation string unused: ovpn
 WARNING: translation string unused: ovpn config
 WARNING: translation string unused: ovpn dl
 WARNING: translation string unused: ovpn log
+WARNING: translation string unused: ovpn reneg sec
 WARNING: translation string unused: ovpn_fastio
-WARNING: translation string unused: ovpn_fragment
 WARNING: translation string unused: ovpn_mssfix
 WARNING: translation string unused: ovpn_mtudisc
 WARNING: translation string unused: ovpn_processprio
@@ -486,16 +485,12 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
-WARNING: translation string unused: reserved dst port
-WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
-WARNING: translation string unused: rsvd dst port overlap
-WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -550,6 +545,7 @@ WARNING: translation string unused: successfully refreshed updates list
 WARNING: translation string unused: system graphs
 WARNING: translation string unused: system log viewer
 WARNING: translation string unused: system status information
+WARNING: translation string unused: teovpn_fragment
 WARNING: translation string unused: test
 WARNING: translation string unused: test email could not be sent
 WARNING: translation string unused: test email was sent
@@ -650,8 +646,14 @@ WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: bytes
+WARNING: untranslated string: dns servers
+WARNING: untranslated string: downlink
+WARNING: untranslated string: first
 WARNING: untranslated string: fwhost err hostip
+WARNING: untranslated string: last
+WARNING: untranslated string: monitor interface
 WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
+WARNING: untranslated string: uplink
index b854a2b7a661cd648cc7d7e9ca4df61b2ea563c9..54cb32e982402487f14ad1a6fd28c85dfc729981 100644 (file)
@@ -360,7 +360,6 @@ WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
 WARNING: translation string unused: or
 WARNING: translation string unused: original
-WARNING: translation string unused: other countries
 WARNING: translation string unused: out
 WARNING: translation string unused: outgoing firewall
 WARNING: translation string unused: outgoing firewall mode0
@@ -371,7 +370,6 @@ WARNING: translation string unused: outgoing firewall p2p description
 WARNING: translation string unused: outgoing firewall reset
 WARNING: translation string unused: outgoing firewall warning
 WARNING: translation string unused: override mtu
-WARNING: translation string unused: ovpn
 WARNING: translation string unused: ovpn config
 WARNING: translation string unused: ovpn dl
 WARNING: translation string unused: ovpn log
@@ -422,16 +420,12 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
-WARNING: translation string unused: reserved dst port
-WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
-WARNING: translation string unused: rsvd dst port overlap
-WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -558,6 +552,7 @@ WARNING: translation string unused: use dov
 WARNING: translation string unused: use ibod
 WARNING: translation string unused: view log
 WARNING: translation string unused: vpn aggrmode
+WARNING: translation string unused: vpn configuration main
 WARNING: translation string unused: vpn incompatible use of defaultroute
 WARNING: translation string unused: vpn mtu invalid
 WARNING: translation string unused: vpn on blue
@@ -580,6 +575,7 @@ WARNING: untranslated string: ConnSched reboot
 WARNING: untranslated string: ConnSched shutdown
 WARNING: untranslated string: MB read
 WARNING: untranslated string: MB written
+WARNING: untranslated string: Number of Countries for the pie chart
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: Set time on boot
 WARNING: untranslated string: addons
@@ -592,6 +588,7 @@ WARNING: untranslated string: atm device
 WARNING: untranslated string: attention
 WARNING: untranslated string: bit
 WARNING: untranslated string: bytes
+WARNING: untranslated string: capabilities
 WARNING: untranslated string: ccd add
 WARNING: untranslated string: ccd choose net
 WARNING: untranslated string: ccd client options
@@ -636,6 +633,10 @@ WARNING: untranslated string: countrycode
 WARNING: untranslated string: dead peer detection
 WARNING: untranslated string: deprecated fs warn
 WARNING: untranslated string: details
+WARNING: untranslated string: dh
+WARNING: untranslated string: dh key move failed
+WARNING: untranslated string: dh key warn
+WARNING: untranslated string: dh key warn1
 WARNING: untranslated string: dnat address
 WARNING: untranslated string: dns servers
 WARNING: untranslated string: dnsforward
@@ -674,6 +675,7 @@ WARNING: untranslated string: fireinfo why descr2
 WARNING: untranslated string: fireinfo why enable
 WARNING: untranslated string: fireinfo why read more
 WARNING: untranslated string: fireinfo your profile id
+WARNING: untranslated string: firewall logs country
 WARNING: untranslated string: firewall rules
 WARNING: untranslated string: first
 WARNING: untranslated string: flag
@@ -820,8 +822,12 @@ WARNING: untranslated string: fwhost stdnet
 WARNING: untranslated string: fwhost type
 WARNING: untranslated string: fwhost used
 WARNING: untranslated string: fwhost welcome
+WARNING: untranslated string: gen dh
+WARNING: untranslated string: generate dh key
 WARNING: untranslated string: grouptype
 WARNING: untranslated string: hardware support
+WARNING: untranslated string: imei
+WARNING: untranslated string: imsi
 WARNING: untranslated string: incoming firewall access
 WARNING: untranslated string: integrity
 WARNING: untranslated string: invalid input for dpd delay
@@ -835,8 +841,23 @@ WARNING: untranslated string: mac filter
 WARNING: untranslated string: maximum
 WARNING: untranslated string: minimum
 WARNING: untranslated string: minute
+WARNING: untranslated string: model
+WARNING: untranslated string: modem hardware details
+WARNING: untranslated string: modem information
+WARNING: untranslated string: modem network bit error rate
+WARNING: untranslated string: modem network information
+WARNING: untranslated string: modem network mode
+WARNING: untranslated string: modem network operator
+WARNING: untranslated string: modem network registration
+WARNING: untranslated string: modem network signal quality
+WARNING: untranslated string: modem no connection
+WARNING: untranslated string: modem no connection message
+WARNING: untranslated string: modem sim information
+WARNING: untranslated string: modem status
+WARNING: untranslated string: monitor interface
 WARNING: untranslated string: most preferred
 WARNING: untranslated string: no hardware random number generator
+WARNING: untranslated string: not a valid dh key
 WARNING: untranslated string: notice
 WARNING: untranslated string: openvpn default
 WARNING: untranslated string: openvpn destination port used
@@ -851,8 +872,15 @@ WARNING: untranslated string: other
 WARNING: untranslated string: outgoing firewall access
 WARNING: untranslated string: outgoing firewall p2p allow
 WARNING: untranslated string: outgoing firewall p2p deny
+WARNING: untranslated string: ovpn crypt options
+WARNING: untranslated string: ovpn dh
+WARNING: untranslated string: ovpn dh upload
+WARNING: untranslated string: ovpn engines
 WARNING: untranslated string: ovpn errmsg green already pushed
 WARNING: untranslated string: ovpn errmsg invalid ip or mask
+WARNING: untranslated string: ovpn generating the root and host certificates
+WARNING: untranslated string: ovpn ha
+WARNING: untranslated string: ovpn hmac
 WARNING: untranslated string: ovpn mgmt in root range
 WARNING: untranslated string: ovpn mtu-disc
 WARNING: untranslated string: ovpn mtu-disc and mtu not 1500
@@ -881,7 +909,10 @@ WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
 WARNING: untranslated string: server restart
+WARNING: untranslated string: show dh
 WARNING: untranslated string: snat new source ip address
+WARNING: untranslated string: software version
+WARNING: untranslated string: source ip country
 WARNING: untranslated string: ssh
 WARNING: untranslated string: static routes
 WARNING: untranslated string: support donation
@@ -937,8 +968,10 @@ WARNING: untranslated string: tor traffic limit soft
 WARNING: untranslated string: tor traffic read written
 WARNING: untranslated string: tor use exit nodes
 WARNING: untranslated string: uplink
+WARNING: untranslated string: upload dh key
 WARNING: untranslated string: uptime load average
 WARNING: untranslated string: urlfilter redirect template
+WARNING: untranslated string: vendor
 WARNING: untranslated string: visit us at
 WARNING: untranslated string: vpn keyexchange
 WARNING: untranslated string: wlan client
index 6ab29e8bb64b4f8e67d1eb0895f72668dd7244f2..0386f243cc5b58d65911517c07f7bcdb0275296a 100644 (file)
@@ -360,7 +360,6 @@ WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
 WARNING: translation string unused: or
 WARNING: translation string unused: original
-WARNING: translation string unused: other countries
 WARNING: translation string unused: out
 WARNING: translation string unused: outgoing firewall
 WARNING: translation string unused: outgoing firewall add ip group
@@ -382,7 +381,6 @@ WARNING: translation string unused: outgoing firewall reset
 WARNING: translation string unused: outgoing firewall view group
 WARNING: translation string unused: outgoing firewall warning
 WARNING: translation string unused: override mtu
-WARNING: translation string unused: ovpn
 WARNING: translation string unused: ovpn config
 WARNING: translation string unused: ovpn dl
 WARNING: translation string unused: ovpn log
@@ -433,16 +431,12 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
-WARNING: translation string unused: reserved dst port
-WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
-WARNING: translation string unused: rsvd dst port overlap
-WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -571,6 +565,7 @@ WARNING: translation string unused: use dov
 WARNING: translation string unused: use ibod
 WARNING: translation string unused: view log
 WARNING: translation string unused: vpn aggrmode
+WARNING: translation string unused: vpn configuration main
 WARNING: translation string unused: vpn incompatible use of defaultroute
 WARNING: translation string unused: vpn mtu invalid
 WARNING: translation string unused: vpn on blue
@@ -591,6 +586,7 @@ WARNING: untranslated string: ConnSched reboot
 WARNING: untranslated string: ConnSched shutdown
 WARNING: untranslated string: MB read
 WARNING: untranslated string: MB written
+WARNING: untranslated string: Number of Countries for the pie chart
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: addons
 WARNING: untranslated string: advproxy cache-digest
@@ -602,6 +598,7 @@ WARNING: untranslated string: atm device
 WARNING: untranslated string: attention
 WARNING: untranslated string: bit
 WARNING: untranslated string: bytes
+WARNING: untranslated string: capabilities
 WARNING: untranslated string: ccd add
 WARNING: untranslated string: ccd choose net
 WARNING: untranslated string: ccd client options
@@ -646,6 +643,10 @@ WARNING: untranslated string: countrycode
 WARNING: untranslated string: dead peer detection
 WARNING: untranslated string: deprecated fs warn
 WARNING: untranslated string: details
+WARNING: untranslated string: dh
+WARNING: untranslated string: dh key move failed
+WARNING: untranslated string: dh key warn
+WARNING: untranslated string: dh key warn1
 WARNING: untranslated string: dnat address
 WARNING: untranslated string: dns address deleted txt
 WARNING: untranslated string: dns servers
@@ -685,6 +686,7 @@ WARNING: untranslated string: fireinfo why descr2
 WARNING: untranslated string: fireinfo why enable
 WARNING: untranslated string: fireinfo why read more
 WARNING: untranslated string: fireinfo your profile id
+WARNING: untranslated string: firewall logs country
 WARNING: untranslated string: firewall rules
 WARNING: untranslated string: first
 WARNING: untranslated string: flag
@@ -831,8 +833,12 @@ WARNING: untranslated string: fwhost stdnet
 WARNING: untranslated string: fwhost type
 WARNING: untranslated string: fwhost used
 WARNING: untranslated string: fwhost welcome
+WARNING: untranslated string: gen dh
+WARNING: untranslated string: generate dh key
 WARNING: untranslated string: grouptype
 WARNING: untranslated string: hardware support
+WARNING: untranslated string: imei
+WARNING: untranslated string: imsi
 WARNING: untranslated string: incoming firewall access
 WARNING: untranslated string: integrity
 WARNING: untranslated string: invalid input for dpd delay
@@ -846,8 +852,23 @@ WARNING: untranslated string: mac filter
 WARNING: untranslated string: maximum
 WARNING: untranslated string: minimum
 WARNING: untranslated string: minute
+WARNING: untranslated string: model
+WARNING: untranslated string: modem hardware details
+WARNING: untranslated string: modem information
+WARNING: untranslated string: modem network bit error rate
+WARNING: untranslated string: modem network information
+WARNING: untranslated string: modem network mode
+WARNING: untranslated string: modem network operator
+WARNING: untranslated string: modem network registration
+WARNING: untranslated string: modem network signal quality
+WARNING: untranslated string: modem no connection
+WARNING: untranslated string: modem no connection message
+WARNING: untranslated string: modem sim information
+WARNING: untranslated string: modem status
+WARNING: untranslated string: monitor interface
 WARNING: untranslated string: most preferred
 WARNING: untranslated string: no hardware random number generator
+WARNING: untranslated string: not a valid dh key
 WARNING: untranslated string: notice
 WARNING: untranslated string: ntp common settings
 WARNING: untranslated string: ntp sync
@@ -862,6 +883,13 @@ WARNING: untranslated string: openvpn prefix remote subnet
 WARNING: untranslated string: openvpn subnet is used
 WARNING: untranslated string: other
 WARNING: untranslated string: outgoing firewall access
+WARNING: untranslated string: ovpn crypt options
+WARNING: untranslated string: ovpn dh
+WARNING: untranslated string: ovpn dh upload
+WARNING: untranslated string: ovpn engines
+WARNING: untranslated string: ovpn generating the root and host certificates
+WARNING: untranslated string: ovpn ha
+WARNING: untranslated string: ovpn hmac
 WARNING: untranslated string: ovpn mgmt in root range
 WARNING: untranslated string: ovpn mtu-disc
 WARNING: untranslated string: ovpn mtu-disc and mtu not 1500
@@ -888,8 +916,11 @@ WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
 WARNING: untranslated string: server restart
+WARNING: untranslated string: show dh
 WARNING: untranslated string: snat new source ip address
 WARNING: untranslated string: snort working
+WARNING: untranslated string: software version
+WARNING: untranslated string: source ip country
 WARNING: untranslated string: ssh
 WARNING: untranslated string: static routes
 WARNING: untranslated string: support donation
@@ -945,11 +976,13 @@ WARNING: untranslated string: tor traffic limit soft
 WARNING: untranslated string: tor traffic read written
 WARNING: untranslated string: tor use exit nodes
 WARNING: untranslated string: uplink
+WARNING: untranslated string: upload dh key
 WARNING: untranslated string: upload new ruleset
 WARNING: untranslated string: uptime load average
 WARNING: untranslated string: urlfilter file ext block
 WARNING: untranslated string: urlfilter mode block
 WARNING: untranslated string: urlfilter redirect template
+WARNING: untranslated string: vendor
 WARNING: untranslated string: visit us at
 WARNING: untranslated string: vpn keyexchange
 WARNING: untranslated string: wlan client
index 6245eefbf175f98fd03d87ebf82e17f5763d752c..7c6f729dd0dcc5f83348b91f3b691b4636947b85 100644 (file)
@@ -413,7 +413,6 @@ WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
 WARNING: translation string unused: or
 WARNING: translation string unused: original
-WARNING: translation string unused: other countries
 WARNING: translation string unused: our donors
 WARNING: translation string unused: out
 WARNING: translation string unused: outgoing firewall
@@ -436,7 +435,6 @@ WARNING: translation string unused: outgoing firewall reset
 WARNING: translation string unused: outgoing firewall view group
 WARNING: translation string unused: outgoing firewall warning
 WARNING: translation string unused: override mtu
-WARNING: translation string unused: ovpn
 WARNING: translation string unused: ovpn config
 WARNING: translation string unused: ovpn dl
 WARNING: translation string unused: ovpn log
@@ -487,16 +485,12 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
-WARNING: translation string unused: reserved dst port
-WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
-WARNING: translation string unused: rsvd dst port overlap
-WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -634,6 +628,7 @@ WARNING: translation string unused: use dov
 WARNING: translation string unused: use ibod
 WARNING: translation string unused: view log
 WARNING: translation string unused: vpn aggrmode
+WARNING: translation string unused: vpn configuration main
 WARNING: translation string unused: vpn incompatible use of defaultroute
 WARNING: translation string unused: vpn mtu invalid
 WARNING: translation string unused: vpn on blue
@@ -649,14 +644,52 @@ WARNING: translation string unused: xtaccess all error
 WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
+WARNING: untranslated string: Number of Countries for the pie chart
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: atm device
 WARNING: untranslated string: bytes
+WARNING: untranslated string: capabilities
+WARNING: untranslated string: dh
+WARNING: untranslated string: dh key move failed
+WARNING: untranslated string: dh key warn
+WARNING: untranslated string: dh key warn1
 WARNING: untranslated string: dns servers
 WARNING: untranslated string: drop outgoing
+WARNING: untranslated string: firewall logs country
 WARNING: untranslated string: fwhost err hostip
+WARNING: untranslated string: gen dh
+WARNING: untranslated string: generate dh key
+WARNING: untranslated string: imei
+WARNING: untranslated string: imsi
+WARNING: untranslated string: model
+WARNING: untranslated string: modem hardware details
+WARNING: untranslated string: modem information
+WARNING: untranslated string: modem network bit error rate
+WARNING: untranslated string: modem network information
+WARNING: untranslated string: modem network mode
+WARNING: untranslated string: modem network operator
+WARNING: untranslated string: modem network registration
+WARNING: untranslated string: modem network signal quality
+WARNING: untranslated string: modem no connection
+WARNING: untranslated string: modem no connection message
+WARNING: untranslated string: modem sim information
+WARNING: untranslated string: modem status
+WARNING: untranslated string: monitor interface
+WARNING: untranslated string: not a valid dh key
+WARNING: untranslated string: ovpn crypt options
+WARNING: untranslated string: ovpn dh
+WARNING: untranslated string: ovpn dh upload
+WARNING: untranslated string: ovpn engines
+WARNING: untranslated string: ovpn generating the root and host certificates
+WARNING: untranslated string: ovpn ha
+WARNING: untranslated string: ovpn hmac
 WARNING: untranslated string: random number generator daemon
 WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
+WARNING: untranslated string: show dh
+WARNING: untranslated string: software version
+WARNING: untranslated string: source ip country
+WARNING: untranslated string: upload dh key
+WARNING: untranslated string: vendor
index b854a2b7a661cd648cc7d7e9ca4df61b2ea563c9..54cb32e982402487f14ad1a6fd28c85dfc729981 100644 (file)
@@ -360,7 +360,6 @@ WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
 WARNING: translation string unused: or
 WARNING: translation string unused: original
-WARNING: translation string unused: other countries
 WARNING: translation string unused: out
 WARNING: translation string unused: outgoing firewall
 WARNING: translation string unused: outgoing firewall mode0
@@ -371,7 +370,6 @@ WARNING: translation string unused: outgoing firewall p2p description
 WARNING: translation string unused: outgoing firewall reset
 WARNING: translation string unused: outgoing firewall warning
 WARNING: translation string unused: override mtu
-WARNING: translation string unused: ovpn
 WARNING: translation string unused: ovpn config
 WARNING: translation string unused: ovpn dl
 WARNING: translation string unused: ovpn log
@@ -422,16 +420,12 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
-WARNING: translation string unused: reserved dst port
-WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
-WARNING: translation string unused: rsvd dst port overlap
-WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -558,6 +552,7 @@ WARNING: translation string unused: use dov
 WARNING: translation string unused: use ibod
 WARNING: translation string unused: view log
 WARNING: translation string unused: vpn aggrmode
+WARNING: translation string unused: vpn configuration main
 WARNING: translation string unused: vpn incompatible use of defaultroute
 WARNING: translation string unused: vpn mtu invalid
 WARNING: translation string unused: vpn on blue
@@ -580,6 +575,7 @@ WARNING: untranslated string: ConnSched reboot
 WARNING: untranslated string: ConnSched shutdown
 WARNING: untranslated string: MB read
 WARNING: untranslated string: MB written
+WARNING: untranslated string: Number of Countries for the pie chart
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: Set time on boot
 WARNING: untranslated string: addons
@@ -592,6 +588,7 @@ WARNING: untranslated string: atm device
 WARNING: untranslated string: attention
 WARNING: untranslated string: bit
 WARNING: untranslated string: bytes
+WARNING: untranslated string: capabilities
 WARNING: untranslated string: ccd add
 WARNING: untranslated string: ccd choose net
 WARNING: untranslated string: ccd client options
@@ -636,6 +633,10 @@ WARNING: untranslated string: countrycode
 WARNING: untranslated string: dead peer detection
 WARNING: untranslated string: deprecated fs warn
 WARNING: untranslated string: details
+WARNING: untranslated string: dh
+WARNING: untranslated string: dh key move failed
+WARNING: untranslated string: dh key warn
+WARNING: untranslated string: dh key warn1
 WARNING: untranslated string: dnat address
 WARNING: untranslated string: dns servers
 WARNING: untranslated string: dnsforward
@@ -674,6 +675,7 @@ WARNING: untranslated string: fireinfo why descr2
 WARNING: untranslated string: fireinfo why enable
 WARNING: untranslated string: fireinfo why read more
 WARNING: untranslated string: fireinfo your profile id
+WARNING: untranslated string: firewall logs country
 WARNING: untranslated string: firewall rules
 WARNING: untranslated string: first
 WARNING: untranslated string: flag
@@ -820,8 +822,12 @@ WARNING: untranslated string: fwhost stdnet
 WARNING: untranslated string: fwhost type
 WARNING: untranslated string: fwhost used
 WARNING: untranslated string: fwhost welcome
+WARNING: untranslated string: gen dh
+WARNING: untranslated string: generate dh key
 WARNING: untranslated string: grouptype
 WARNING: untranslated string: hardware support
+WARNING: untranslated string: imei
+WARNING: untranslated string: imsi
 WARNING: untranslated string: incoming firewall access
 WARNING: untranslated string: integrity
 WARNING: untranslated string: invalid input for dpd delay
@@ -835,8 +841,23 @@ WARNING: untranslated string: mac filter
 WARNING: untranslated string: maximum
 WARNING: untranslated string: minimum
 WARNING: untranslated string: minute
+WARNING: untranslated string: model
+WARNING: untranslated string: modem hardware details
+WARNING: untranslated string: modem information
+WARNING: untranslated string: modem network bit error rate
+WARNING: untranslated string: modem network information
+WARNING: untranslated string: modem network mode
+WARNING: untranslated string: modem network operator
+WARNING: untranslated string: modem network registration
+WARNING: untranslated string: modem network signal quality
+WARNING: untranslated string: modem no connection
+WARNING: untranslated string: modem no connection message
+WARNING: untranslated string: modem sim information
+WARNING: untranslated string: modem status
+WARNING: untranslated string: monitor interface
 WARNING: untranslated string: most preferred
 WARNING: untranslated string: no hardware random number generator
+WARNING: untranslated string: not a valid dh key
 WARNING: untranslated string: notice
 WARNING: untranslated string: openvpn default
 WARNING: untranslated string: openvpn destination port used
@@ -851,8 +872,15 @@ WARNING: untranslated string: other
 WARNING: untranslated string: outgoing firewall access
 WARNING: untranslated string: outgoing firewall p2p allow
 WARNING: untranslated string: outgoing firewall p2p deny
+WARNING: untranslated string: ovpn crypt options
+WARNING: untranslated string: ovpn dh
+WARNING: untranslated string: ovpn dh upload
+WARNING: untranslated string: ovpn engines
 WARNING: untranslated string: ovpn errmsg green already pushed
 WARNING: untranslated string: ovpn errmsg invalid ip or mask
+WARNING: untranslated string: ovpn generating the root and host certificates
+WARNING: untranslated string: ovpn ha
+WARNING: untranslated string: ovpn hmac
 WARNING: untranslated string: ovpn mgmt in root range
 WARNING: untranslated string: ovpn mtu-disc
 WARNING: untranslated string: ovpn mtu-disc and mtu not 1500
@@ -881,7 +909,10 @@ WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
 WARNING: untranslated string: server restart
+WARNING: untranslated string: show dh
 WARNING: untranslated string: snat new source ip address
+WARNING: untranslated string: software version
+WARNING: untranslated string: source ip country
 WARNING: untranslated string: ssh
 WARNING: untranslated string: static routes
 WARNING: untranslated string: support donation
@@ -937,8 +968,10 @@ WARNING: untranslated string: tor traffic limit soft
 WARNING: untranslated string: tor traffic read written
 WARNING: untranslated string: tor use exit nodes
 WARNING: untranslated string: uplink
+WARNING: untranslated string: upload dh key
 WARNING: untranslated string: uptime load average
 WARNING: untranslated string: urlfilter redirect template
+WARNING: untranslated string: vendor
 WARNING: untranslated string: visit us at
 WARNING: untranslated string: vpn keyexchange
 WARNING: untranslated string: wlan client
index 4058098609168fbc2f48ed489da08ac8929b9e24..c7c39ec983cb2e8b769532fe3259d27cf907c4e9 100644 (file)
@@ -354,7 +354,6 @@ WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
 WARNING: translation string unused: or
 WARNING: translation string unused: original
-WARNING: translation string unused: other countries
 WARNING: translation string unused: out
 WARNING: translation string unused: outgoing firewall
 WARNING: translation string unused: outgoing firewall add ip group
@@ -376,7 +375,6 @@ WARNING: translation string unused: outgoing firewall reset
 WARNING: translation string unused: outgoing firewall view group
 WARNING: translation string unused: outgoing firewall warning
 WARNING: translation string unused: override mtu
-WARNING: translation string unused: ovpn
 WARNING: translation string unused: ovpn config
 WARNING: translation string unused: ovpn dl
 WARNING: translation string unused: ovpn log
@@ -427,16 +425,12 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
-WARNING: translation string unused: reserved dst port
-WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
-WARNING: translation string unused: rsvd dst port overlap
-WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -563,6 +557,7 @@ WARNING: translation string unused: use dov
 WARNING: translation string unused: use ibod
 WARNING: translation string unused: view log
 WARNING: translation string unused: vpn aggrmode
+WARNING: translation string unused: vpn configuration main
 WARNING: translation string unused: vpn incompatible use of defaultroute
 WARNING: translation string unused: vpn mtu invalid
 WARNING: translation string unused: vpn on blue
@@ -584,6 +579,7 @@ WARNING: untranslated string: ConnSched shutdown
 WARNING: untranslated string: Edit an existing route
 WARNING: untranslated string: MB read
 WARNING: untranslated string: MB written
+WARNING: untranslated string: Number of Countries for the pie chart
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: addons
 WARNING: untranslated string: advproxy cache-digest
@@ -595,6 +591,7 @@ WARNING: untranslated string: atm device
 WARNING: untranslated string: attention
 WARNING: untranslated string: bit
 WARNING: untranslated string: bytes
+WARNING: untranslated string: capabilities
 WARNING: untranslated string: ccd add
 WARNING: untranslated string: ccd choose net
 WARNING: untranslated string: ccd client options
@@ -640,6 +637,10 @@ WARNING: untranslated string: countrycode
 WARNING: untranslated string: dead peer detection
 WARNING: untranslated string: deprecated fs warn
 WARNING: untranslated string: details
+WARNING: untranslated string: dh
+WARNING: untranslated string: dh key move failed
+WARNING: untranslated string: dh key warn
+WARNING: untranslated string: dh key warn1
 WARNING: untranslated string: disk access per
 WARNING: untranslated string: dnat address
 WARNING: untranslated string: dns servers
@@ -669,6 +670,7 @@ WARNING: untranslated string: extrahd maybe the device is in use
 WARNING: untranslated string: extrahd to
 WARNING: untranslated string: extrahd to root
 WARNING: untranslated string: extrahd you cant mount
+WARNING: untranslated string: firewall logs country
 WARNING: untranslated string: firewall rules
 WARNING: untranslated string: first
 WARNING: untranslated string: flag
@@ -815,8 +817,12 @@ WARNING: untranslated string: fwhost stdnet
 WARNING: untranslated string: fwhost type
 WARNING: untranslated string: fwhost used
 WARNING: untranslated string: fwhost welcome
+WARNING: untranslated string: gen dh
+WARNING: untranslated string: generate dh key
 WARNING: untranslated string: grouptype
 WARNING: untranslated string: hardware support
+WARNING: untranslated string: imei
+WARNING: untranslated string: imsi
 WARNING: untranslated string: incoming firewall access
 WARNING: untranslated string: incoming traffic in bytes per second
 WARNING: untranslated string: integrity
@@ -831,8 +837,23 @@ WARNING: untranslated string: mac filter
 WARNING: untranslated string: maximum
 WARNING: untranslated string: minimum
 WARNING: untranslated string: minute
+WARNING: untranslated string: model
+WARNING: untranslated string: modem hardware details
+WARNING: untranslated string: modem information
+WARNING: untranslated string: modem network bit error rate
+WARNING: untranslated string: modem network information
+WARNING: untranslated string: modem network mode
+WARNING: untranslated string: modem network operator
+WARNING: untranslated string: modem network registration
+WARNING: untranslated string: modem network signal quality
+WARNING: untranslated string: modem no connection
+WARNING: untranslated string: modem no connection message
+WARNING: untranslated string: modem sim information
+WARNING: untranslated string: modem status
+WARNING: untranslated string: monitor interface
 WARNING: untranslated string: most preferred
 WARNING: untranslated string: no hardware random number generator
+WARNING: untranslated string: not a valid dh key
 WARNING: untranslated string: notice
 WARNING: untranslated string: openvpn default
 WARNING: untranslated string: openvpn destination port used
@@ -846,6 +867,13 @@ WARNING: untranslated string: openvpn subnet is used
 WARNING: untranslated string: other
 WARNING: untranslated string: outgoing firewall access
 WARNING: untranslated string: outgoing traffic in bytes per second
+WARNING: untranslated string: ovpn crypt options
+WARNING: untranslated string: ovpn dh
+WARNING: untranslated string: ovpn dh upload
+WARNING: untranslated string: ovpn engines
+WARNING: untranslated string: ovpn generating the root and host certificates
+WARNING: untranslated string: ovpn ha
+WARNING: untranslated string: ovpn hmac
 WARNING: untranslated string: ovpn mgmt in root range
 WARNING: untranslated string: ovpn mtu-disc
 WARNING: untranslated string: ovpn mtu-disc and mtu not 1500
@@ -871,7 +899,10 @@ WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
 WARNING: untranslated string: server restart
+WARNING: untranslated string: show dh
 WARNING: untranslated string: snat new source ip address
+WARNING: untranslated string: software version
+WARNING: untranslated string: source ip country
 WARNING: untranslated string: ssh
 WARNING: untranslated string: static routes
 WARNING: untranslated string: support donation
@@ -926,8 +957,10 @@ WARNING: untranslated string: tor traffic limit soft
 WARNING: untranslated string: tor traffic read written
 WARNING: untranslated string: tor use exit nodes
 WARNING: untranslated string: uplink
+WARNING: untranslated string: upload dh key
 WARNING: untranslated string: uptime load average
 WARNING: untranslated string: urlfilter redirect template
+WARNING: untranslated string: vendor
 WARNING: untranslated string: visit us at
 WARNING: untranslated string: vpn keyexchange
 WARNING: untranslated string: wlan client
index e6af830a5d47d90f302ff5094fa3d37a3016700e..06cacf10fa353c3e60ed10662bca0cd953f11bca 100644 (file)
@@ -412,7 +412,6 @@ WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
 WARNING: translation string unused: or
 WARNING: translation string unused: original
-WARNING: translation string unused: other countries
 WARNING: translation string unused: our donors
 WARNING: translation string unused: out
 WARNING: translation string unused: outgoing firewall
@@ -435,7 +434,6 @@ WARNING: translation string unused: outgoing firewall reset
 WARNING: translation string unused: outgoing firewall view group
 WARNING: translation string unused: outgoing firewall warning
 WARNING: translation string unused: override mtu
-WARNING: translation string unused: ovpn
 WARNING: translation string unused: ovpn config
 WARNING: translation string unused: ovpn dl
 WARNING: translation string unused: ovpn log
@@ -486,16 +484,12 @@ WARNING: translation string unused: released
 WARNING: translation string unused: removable device advice
 WARNING: translation string unused: reportfile
 WARNING: translation string unused: requested data
-WARNING: translation string unused: reserved dst port
-WARNING: translation string unused: reserved src port
 WARNING: translation string unused: restore hardware settings
 WARNING: translation string unused: root
 WARNING: translation string unused: root path
 WARNING: translation string unused: root user password
 WARNING: translation string unused: route subnet is invalid
 WARNING: translation string unused: router ip
-WARNING: translation string unused: rsvd dst port overlap
-WARNING: translation string unused: rsvd src port overlap
 WARNING: translation string unused: rules already up to date
 WARNING: translation string unused: safe removal of umounted device
 WARNING: translation string unused: save error
@@ -633,6 +627,7 @@ WARNING: translation string unused: use dov
 WARNING: translation string unused: use ibod
 WARNING: translation string unused: view log
 WARNING: translation string unused: vpn aggrmode
+WARNING: translation string unused: vpn configuration main
 WARNING: translation string unused: vpn incompatible use of defaultroute
 WARNING: translation string unused: vpn mtu invalid
 WARNING: translation string unused: vpn on blue
@@ -648,10 +643,48 @@ WARNING: translation string unused: xtaccess all error
 WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
+WARNING: untranslated string: Number of Countries for the pie chart
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: bytes
+WARNING: untranslated string: capabilities
+WARNING: untranslated string: dh
+WARNING: untranslated string: dh key move failed
+WARNING: untranslated string: dh key warn
+WARNING: untranslated string: dh key warn1
+WARNING: untranslated string: firewall logs country
 WARNING: untranslated string: fwhost err hostip
+WARNING: untranslated string: gen dh
+WARNING: untranslated string: generate dh key
+WARNING: untranslated string: imei
+WARNING: untranslated string: imsi
+WARNING: untranslated string: model
+WARNING: untranslated string: modem hardware details
+WARNING: untranslated string: modem information
+WARNING: untranslated string: modem network bit error rate
+WARNING: untranslated string: modem network information
+WARNING: untranslated string: modem network mode
+WARNING: untranslated string: modem network operator
+WARNING: untranslated string: modem network registration
+WARNING: untranslated string: modem network signal quality
+WARNING: untranslated string: modem no connection
+WARNING: untranslated string: modem no connection message
+WARNING: untranslated string: modem sim information
+WARNING: untranslated string: modem status
+WARNING: untranslated string: monitor interface
+WARNING: untranslated string: not a valid dh key
+WARNING: untranslated string: ovpn crypt options
+WARNING: untranslated string: ovpn dh
+WARNING: untranslated string: ovpn dh upload
+WARNING: untranslated string: ovpn engines
+WARNING: untranslated string: ovpn generating the root and host certificates
+WARNING: untranslated string: ovpn ha
+WARNING: untranslated string: ovpn hmac
 WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
 WARNING: untranslated string: routing config changed
 WARNING: untranslated string: routing table
+WARNING: untranslated string: show dh
+WARNING: untranslated string: software version
+WARNING: untranslated string: source ip country
+WARNING: untranslated string: upload dh key
+WARNING: untranslated string: vendor
index 1a386c19c23e1affcf211fec821fc91c669d8013..d25ea40f8dc7e8ece5c4a8803b2c60e591eb4a4b 100644 (file)
@@ -6,6 +6,7 @@
 ############################################################################
 < addon
 < ccd maxclients
+< ovpn_fragment
 ############################################################################
 # Checking install/setup translations for language: fr                     #
 ############################################################################
@@ -26,6 +27,7 @@
 < atm device
 < attention
 < bit
+< capabilities
 < ccd add
 < ccd choose net
 < ccd clientip
 < default ip
 < deprecated fs warn
 < details
+< dh
+< dh key move failed
+< dh key warn
+< dh key warn1
 < dnat address
 < dns address deleted txt
 < dnsforward
@@ -86,8 +92,6 @@
 < dnsforward entries
 < dnsforward forward_server
 < dnsforward zone
-< dns servers
-< downlink
 < dpd delay
 < dpd timeout
 < drop action
 < fireinfo why enable
 < fireinfo why read more
 < fireinfo your profile id
+< firewall logs country
 < firewall rules
-< first
 < flag
 < forward firewall
 < fw default drop
 < fw settings dropdown
 < fw settings remark
 < fw settings ruletable
+< gen dh
+< generate dh key
 < grouptype
 < hardware support
+< imei
+< imsi
 < incoming firewall access
 < integrity
 < invalid input for dpd delay
 < ipsec
 < ipsec network
 < ipsec no connections
-< last
 < least preferred
 < lifetime
 < mac filter
 < MB written
 < minimum
 < minute
+< model
+< modem hardware details
+< modem information
+< modem network bit error rate
+< modem network information
+< modem network mode
+< modem network operator
+< modem network registration
+< modem network signal quality
+< modem no connection
+< modem no connection message
+< modem sim information
+< modem status
 < most preferred
+< never
 < no hardware random number generator
+< not a valid dh key
 < notice
 < ntp common settings
 < ntp sync
+< Number of Countries for the pie chart
 < openvpn default
 < openvpn destination port used
 < openvpn disabled
 < other
 < our donors
 < outgoing firewall access
+< ovpn crypt options
+< ovpn dh
+< ovpn dh upload
+< ovpn engines
+< ovpn generating the root and host certificates
+< ovpn ha
+< ovpn hmac
 < ovpn mgmt in root range
 < ovpn mtu-disc
 < ovpn mtu-disc and mtu not 1500
 < ovpn mtu-disc yes
 < ovpn no connections
 < ovpn port in root range
+< ovpn reneg sec
 < p2p block
 < p2p block save notice
 < proxy reports
 < random number generator daemon
 < red1
 < server restart
+< show dh
 < snat new source ip address
 < snort working
+< software version
+< source ip country
 < ssh
 < static routes
 < support donation
 < tor use exit nodes
 < updxlrtr sources
 < updxlrtr standard view
-< uplink
+< upload dh key
 < upload new ruleset
 < uptime
 < uptime load average
 < urlfilter file ext block
 < urlfilter mode block
 < urlfilter redirect template
+< vendor
 < visit us at
 < vpn keyexchange
 < wlanap access point
 < atm device
 < attention
 < bit
+< capabilities
 < ccd add
 < ccd choose net
 < ccd clientip
 < default ip
 < deprecated fs warn
 < details
+< dh
+< dh key move failed
+< dh key warn
+< dh key warn1
 < dnat address
 < dnsforward
 < dnsforward add a new entry
 < dnsforward entries
 < dnsforward forward_server
 < dnsforward zone
-< dns servers
-< downlink
 < dpd delay
 < dpd timeout
 < drop action
 < fireinfo why enable
 < fireinfo why read more
 < fireinfo your profile id
+< firewall logs country
 < firewall rules
-< first
 < flag
 < forward firewall
 < fw default drop
 < fw settings dropdown
 < fw settings remark
 < fw settings ruletable
+< gen dh
+< generate dh key
 < grouptype
 < hardware support
+< imei
+< imsi
 < incoming firewall access
 < integrity
 < invalid input for dpd delay
 < ipsec
 < ipsec network
 < ipsec no connections
-< last
 < least preferred
 < lifetime
 < mac filter
 < MB written
 < minimum
 < minute
+< model
+< modem hardware details
+< modem information
+< modem network bit error rate
+< modem network information
+< modem network mode
+< modem network operator
+< modem network registration
+< modem network signal quality
+< modem no connection
+< modem no connection message
+< modem sim information
+< modem status
 < most preferred
+< never
 < no hardware random number generator
+< not a valid dh key
 < notice
+< Number of Countries for the pie chart
 < openvpn default
 < openvpn destination port used
 < openvpn disabled
 < outgoing firewall p2p description 2
 < outgoing firewall p2p description 3
 < outgoing firewall view group
+< ovpn crypt options
+< ovpn dh
+< ovpn dh upload
+< ovpn engines
 < ovpn errmsg green already pushed
 < ovpn errmsg invalid ip or mask
+< ovpn generating the root and host certificates
+< ovpn ha
+< ovpn hmac
 < ovpn mgmt in root range
 < ovpn mtu-disc
 < ovpn mtu-disc and mtu not 1500
 < ovpn mtu-disc yes
 < ovpn no connections
 < ovpn port in root range
+< ovpn reneg sec
 < ovpn routes push
 < ovpn routes push options
 < p2p block
 < red1
 < server restart
 < Set time on boot
+< show dh
 < snat new source ip address
+< software version
+< source ip country
 < ssh
 < static routes
 < support donation
 < tor use exit nodes
 < updxlrtr sources
 < updxlrtr standard view
-< uplink
+< upload dh key
 < uptime
 < uptime load average
 < urlfilter redirect template
+< vendor
 < visit us at
 < vpn keyexchange
 < wlanap country
 < atm device
 < attention
 < bit
+< capabilities
 < ccd add
 < ccd choose net
 < ccd clientip
 < default ip
 < deprecated fs warn
 < details
+< dh
+< dh key move failed
+< dh key warn
+< dh key warn1
 < dnat address
 < dnsforward
 < dnsforward add a new entry
 < dnsforward entries
 < dnsforward forward_server
 < dnsforward zone
-< dns servers
-< downlink
 < dpd delay
 < dpd timeout
 < drop action
 < extrahd unable to read
 < extrahd unable to write
 < extrahd you cant mount
+< firewall logs country
 < firewall rules
-< first
 < flag
 < forward firewall
 < fw default drop
 < fw settings dropdown
 < fw settings remark
 < fw settings ruletable
+< gen dh
+< generate dh key
 < grouptype
 < hardware support
+< imei
+< imsi
 < incoming firewall access
 < integrity
 < invalid input for dpd delay
 < ipsec
 < ipsec network
 < ipsec no connections
-< last
 < least preferred
 < lifetime
 < mac filter
 < MB written
 < minimum
 < minute
+< model
+< modem hardware details
+< modem information
+< modem network bit error rate
+< modem network information
+< modem network mode
+< modem network operator
+< modem network registration
+< modem network signal quality
+< modem no connection
+< modem no connection message
+< modem sim information
+< modem status
 < most preferred
+< never
 < no hardware random number generator
+< not a valid dh key
 < notice
+< Number of Countries for the pie chart
 < openvpn default
 < openvpn destination port used
 < openvpn disabled
 < other
 < our donors
 < outgoing firewall access
+< ovpn crypt options
+< ovpn dh
+< ovpn dh upload
+< ovpn engines
 < ovpn errmsg green already pushed
 < ovpn errmsg invalid ip or mask
+< ovpn generating the root and host certificates
+< ovpn ha
+< ovpn hmac
 < ovpn mgmt in root range
 < ovpn mtu-disc
 < ovpn mtu-disc and mtu not 1500
 < ovpn mtu-disc yes
 < ovpn no connections
 < ovpn port in root range
+< ovpn reneg sec
 < ovpn routes push
 < ovpn routes push options
 < p2p block
 < random number generator daemon
 < red1
 < server restart
+< show dh
 < snat new source ip address
+< software version
+< source ip country
 < ssh
 < static routes
 < support donation
 < tor use exit nodes
 < updxlrtr sources
 < updxlrtr standard view
-< uplink
+< upload dh key
 < uptime
 < uptime load average
 < urlfilter redirect template
+< vendor
 < visit us at
 < vpn keyexchange
 < wlanap country
 < atm device
 < attention
 < bit
+< capabilities
 < ccd add
 < ccd choose net
 < ccd clientip
 < default ip
 < deprecated fs warn
 < details
+< dh
+< dh key move failed
+< dh key warn
+< dh key warn1
 < disk access per
 < dnat address
 < dnsforward
 < dnsforward entries
 < dnsforward forward_server
 < dnsforward zone
-< dns servers
-< downlink
 < dpd delay
 < dpd timeout
 < drop action
 < extrahd unable to read
 < extrahd unable to write
 < extrahd you cant mount
+< firewall logs country
 < firewall rules
-< first
 < flag
 < forward firewall
 < frequency
 < fw settings dropdown
 < fw settings remark
 < fw settings ruletable
+< gen dh
+< generate dh key
 < grouptype
 < hardware support
 < hour-graph
+< imei
+< imsi
 < incoming firewall access
 < incoming traffic in bytes per second
 < integrity
 < ipsec
 < ipsec network
 < ipsec no connections
-< last
 < least preferred
 < lifetime
 < mac filter
 < MB written
 < minimum
 < minute
+< model
+< modem hardware details
+< modem information
+< modem network bit error rate
+< modem network information
+< modem network mode
+< modem network operator
+< modem network registration
+< modem network signal quality
+< modem no connection
+< modem no connection message
+< modem sim information
+< modem status
 < month-graph
 < most preferred
+< never
 < no hardware random number generator
+< not a valid dh key
 < notice
+< Number of Countries for the pie chart
 < openvpn default
 < openvpn destination port used
 < openvpn disabled
 < our donors
 < outgoing firewall access
 < outgoing traffic in bytes per second
+< ovpn crypt options
+< ovpn dh
+< ovpn dh upload
+< ovpn engines
+< ovpn generating the root and host certificates
+< ovpn ha
+< ovpn hmac
 < ovpn mgmt in root range
 < ovpn mtu-disc
 < ovpn mtu-disc and mtu not 1500
 < ovpn mtu-disc yes
 < ovpn no connections
 < ovpn port in root range
+< ovpn reneg sec
 < p2p block
 < p2p block save notice
 < proxy reports
 < random number generator daemon
 < red1
 < server restart
+< show dh
 < snat new source ip address
+< software version
+< source ip country
 < ssh
 < static routes
 < support donation
 < tor use exit nodes
 < updxlrtr sources
 < updxlrtr standard view
-< uplink
+< upload dh key
 < uptime
 < uptime load average
 < urlfilter redirect template
+< vendor
 < visit us at
 < vpn keyexchange
 < week-graph
diff --git a/html/cgi-bin/logs.cgi/firewalllogcountry.dat b/html/cgi-bin/logs.cgi/firewalllogcountry.dat
new file mode 100644 (file)
index 0000000..af14279
--- /dev/null
@@ -0,0 +1,523 @@
+#!/usr/bin/perl
+#
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# JC HERITIER 
+# page inspired from the initial firewalllog.dat
+#
+# Modified for IPFire by Christian Schmidt
+#                            and Michael Tremer (www.ipfire.org)
+
+use strict;
+use Geo::IP::PurePerl;
+use Getopt::Std;
+
+# 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";
+
+use POSIX();
+
+my %cgiparams=();
+my %settings=();
+my $pienumber;
+my $otherspie;
+my $showpie;
+my $sortcolumn;
+my $errormessage = '';
+
+$cgiparams{'pienumber'} = 10;
+$cgiparams{'otherspie'} = 1;
+$cgiparams{'showpie'} = 1;
+$cgiparams{'sortcolumn'} = 1;
+
+my @shortmonths = ( 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug',
+        'Sep', 'Oct', 'Nov', 'Dec' );
+my @longmonths = ( $Lang::tr{'january'}, $Lang::tr{'february'}, $Lang::tr{'march'},
+        $Lang::tr{'april'}, $Lang::tr{'may'}, $Lang::tr{'june'}, $Lang::tr{'july'}, $Lang::tr{'august'},
+        $Lang::tr{'september'}, $Lang::tr{'october'}, $Lang::tr{'november'},
+        $Lang::tr{'december'} );
+
+my @now = localtime();
+my $dow = $now[6];
+my $doy = $now[7];
+my $tdoy = $now[7];
+my $year = $now[5]+1900;
+
+$cgiparams{'DAY'} = $now[3];
+$cgiparams{'MONTH'} = $now[4];
+$cgiparams{'ACTION'} = '';
+
+&General::readhash("${General::swroot}/fwlogs/ipsettings", \%settings);
+if ($settings{'pienumber'} != 0) { $cgiparams{'pienumber'} = $settings{'pienumber'} };
+if ($settings{'otherspie'} != 0) { $cgiparams{'otherspie'} = $settings{'otherspie'} };
+if ($settings{'showpie'} != 0) { $cgiparams{'showpie'} = $settings{'showpie'} };
+if ($settings{'sortcolumn'} != 0) { $cgiparams{'sortcolumn'} = $settings{'sortcolumn'} };
+
+&Header::getcgihash(\%cgiparams);
+if ($cgiparams{'pienumber'} != 0) { $settings{'pienumber'} = $cgiparams{'pienumber'} };
+if ($cgiparams{'otherspie'} != 0) { $settings{'otherspie'} = $cgiparams{'otherspie'} };
+if ($cgiparams{'showpie'} != 0) { $settings{'showpie'} = $cgiparams{'showpie'} };
+if ($cgiparams{'sortcolumn'} != 0) { $settings{'sortcolumn'} = $cgiparams{'sortcolumn'} };
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'save'})
+{
+   &General::writehash("${General::swroot}/fwlogs/ipsettings", \%settings);
+}
+
+my $start = -1;
+if ($ENV{'QUERY_STRING'} && $cgiparams{'ACTION'} ne $Lang::tr{'update'})
+{
+        my @temp = split(',',$ENV{'QUERY_STRING'});
+        $start = $temp[0];
+        $cgiparams{'MONTH'} = $temp[1];
+        $cgiparams{'DAY'} = $temp[2];
+}
+
+if (!($cgiparams{'MONTH'} =~ /^(0|1|2|3|4|5|6|7|8|9|10|11)$/) ||
+    !($cgiparams{'DAY'} =~ /^(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31)$/))
+{
+        $cgiparams{'DAY'} = $now[3];
+        $cgiparams{'MONTH'} = $now[4];
+}
+elsif($cgiparams{'ACTION'} eq '>>')
+{
+        my @temp_then=();
+        my @temp_now = localtime(time);
+        $temp_now[4] = $cgiparams{'MONTH'};
+        $temp_now[3] = $cgiparams{'DAY'};
+        @temp_then = localtime(POSIX::mktime(@temp_now) + 86400);
+           ## Retrieve the same time on the next day -
+           ## 86400 seconds in a day
+        $cgiparams{'MONTH'} = $temp_then[4];
+        $cgiparams{'DAY'} = $temp_then[3];
+}
+elsif($cgiparams{'ACTION'} eq '<<')
+{
+        my @temp_then=();
+        my @temp_now = localtime(time);
+        $temp_now[4] = $cgiparams{'MONTH'};
+        $temp_now[3] = $cgiparams{'DAY'};
+        @temp_then = localtime(POSIX::mktime(@temp_now) - 86400);
+           ## Retrieve the same time on the previous day -
+           ## 86400 seconds in a day
+        $cgiparams{'MONTH'} = $temp_then[4];
+        $cgiparams{'DAY'} = $temp_then[3];
+}
+
+if (($cgiparams{'DAY'} ne $now[3]) || ($cgiparams{'MONTH'} ne $now[4]))
+{
+        my @then = ();
+        if ( (  $cgiparams{'MONTH'} eq $now[4]) && ($cgiparams{'DAY'} > $now[3]) ||
+                        ( $cgiparams{'MONTH'} > $now[4] ) ) {
+                @then = localtime(POSIX::mktime( 0, 0, 0, $cgiparams{'DAY'}, $cgiparams{'MONTH'}, $year - 1901 ));
+        } else {
+                @then = localtime(POSIX::mktime( 0, 0, 0, $cgiparams{'DAY'}, $cgiparams{'MONTH'}, $year - 1900 ));
+        }
+        $tdoy = $then[7];
+        my $lastleap=($year-1)%4;
+        if ($tdoy>$doy) {
+                if ($lastleap == 0 && $tdoy < 60) {
+                        $doy=$tdoy+366;
+                } else {
+                        $doy=$doy+365;
+                }
+        }
+}
+
+my $datediff=0;
+my $dowd=0;
+my $multifile=0;
+if ($tdoy ne $doy) {
+        $datediff=int(($doy-$tdoy)/7);
+        $dowd=($doy-$tdoy)%7;
+        if (($dow-$dowd)<1) {
+                $datediff=$datediff+1;
+        }
+        if (($dow-$dowd)==0) {
+                $multifile=1;
+        }
+}
+
+my $monthstr = $shortmonths[$cgiparams{'MONTH'}];
+my $longmonthstr = $longmonths[$cgiparams{'MONTH'}];
+my $day = $cgiparams{'DAY'};
+my $daystr='';
+if ($day <= 9) {
+        $daystr = " $day"; }
+else {
+        $daystr = $day;
+}
+
+my $skip=0;
+my $filestr='';
+if ($datediff==0) {
+        $filestr="/var/log/messages";
+} else {
+       $filestr="/var/log/messages.$datediff";
+       $filestr = "$filestr.gz" if -f "$filestr.gz";
+}
+
+if (!(open (FILE,($filestr =~ /.gz$/ ? "gzip -dc $filestr |" : $filestr)))) {
+        $errormessage = "$Lang::tr{'date not in logs'}: $filestr $Lang::tr{'could not be opened'}";
+        $skip=1;
+        # Note: This is in case the log does not exist for that date
+}
+my $lines = 0;
+my @log=();
+
+if (!$skip)
+{
+        while (<FILE>)
+        {
+                if (/(^${monthstr} ${daystr} ..:..:..) [\w\-]+ kernel:.*(IN=.*)$/) {
+                        $log[$lines] = $_;
+                        $lines++;
+                }
+        }
+        close (FILE);   
+}
+
+$skip=0;
+if ($multifile) {
+        $datediff=$datediff-1;
+        if ($datediff==0) {
+                $filestr="/var/log/messages";
+        } else {
+                $filestr="/var/log/messages.$datediff";
+                $filestr = "$filestr.gz" if -f "$filestr.gz";
+        }
+        if (!(open (FILE,($filestr =~ /.gz$/ ? "gzip -dc $filestr |" : $filestr)))) {
+                $errormessage="$Lang::tr{'date not in logs'}: $filestr $Lang::tr{'could not be opened'}";
+                $skip=1;
+        }
+        if (!$skip) {
+                while (<FILE>) {
+                        if (/(^${monthstr} ${daystr} ..:..:..) [\w\-]+ kernel:.*(IN=.*)$/) {
+                                $log[$lines] = $_;
+                                $lines++;
+                        }
+                }
+                close (FILE);
+        }
+}
+
+my $MODNAME="fwlogs";
+
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'firewall log'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+
+if ($errormessage) {
+        &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+        print "<font class='base'>$errormessage&nbsp;</font>\n";
+        &Header::closebox();
+}
+
+&Header::openbox('100%', 'left', "$Lang::tr{'settings'}");
+
+print <<END
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<table width='100%'>
+<tr>
+        <td width='10%' class='base'>$Lang::tr{'month'}:&nbsp;</td>
+        <td width='10%'>
+        <select name='MONTH'>
+END
+;
+my $month;
+for ($month = 0; $month < 12; $month++)
+{
+        print "\t<option ";
+        if ($month == $cgiparams{'MONTH'}) {
+                print "selected='selected' "; }
+        print "value='$month'>$longmonths[$month]</option>\n";
+}
+print <<END
+        </select>
+        </td>
+        <td width='10%' class='base' align='right'>&nbsp;$Lang::tr{'day'}:&nbsp;</td>
+        <td width='40%'>
+        <select name='DAY'>
+END
+;
+for ($day = 1; $day <= 31; $day++) 
+{
+        print "\t<option ";
+        if ($day == $cgiparams{'DAY'}) {
+                print "selected='selected' "; }
+        print "value='$day'>$day</option>\n";
+}
+
+if( $cgiparams{'pienumber'} != 0){$pienumber=$cgiparams{'pienumber'};}
+if( $cgiparams{'otherspie'} != 0){$otherspie=$cgiparams{'otherspie'};}
+if( $cgiparams{'showpie'} != 0){$showpie=$cgiparams{'showpie'};}
+if( $cgiparams{'sortcolumn'} != 0){$sortcolumn=$cgiparams{'sortcolumn'};}
+
+print <<END
+</select>
+</td>
+<td width='5%'  align='center'><input type='submit' name='ACTION' title='$Lang::tr{'day before'}' value='&lt;&lt;' /></td>
+<td width='5%'  align='center'><input type='submit' name='ACTION' title='$Lang::tr{'day after'}' value='&gt;&gt;' /></td>
+<td width='20%' align='right'><input type='submit' name='ACTION' value='$Lang::tr{'update'}' /></td>
+</tr>
+<tr>
+       <td colspan='3' align='left' valign="left">$Lang::tr{'Number of Countries for the pie chart'}:</td>
+       <td colspan='3' align='left' valign="center"><input type='text' name='pienumber' value='$pienumber' size='4'></td>
+       <td align='right'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td>
+</tr>
+</table>
+</form>
+END
+;
+
+&Header::closebox();
+
+&Header::openbox('100%', 'left', 'Firewall Logs');
+print "<p><b>$Lang::tr{'firewall hits'} $longmonthstr $daystr: $lines</b></p>";
+
+my $linesjc = 0;
+my %tabjc;
+my $gi = Geo::IP::PurePerl->new();
+
+if ($pienumber == -1 || $pienumber > $lines || $sortcolumn == 2) { $pienumber = $lines; };
+$lines = 0;
+foreach $_ (@log)
+{
+  /^... (..) (..:..:..) [\w\-]+ kernel:(.*)(IN=.*)$/;
+  my $packet = $4;
+  $packet =~ /IN=(\w+)/;       my $iface=$1; if ( $1 =~ /2./ ){ $iface="";}
+  $packet =~ /SRC=([\d\.]+)/;  my $srcaddr=$1;
+
+  if($iface eq 'red0') {
+    if($srcaddr ne '') {
+      my $ccode = $gi->country_code_by_name($srcaddr);
+      if( $ccode eq '') {
+          $ccode = 'unknown';
+      }
+      $tabjc{$ccode} = $tabjc{$ccode} + 1 ;
+      if(($tabjc{$ccode} == 1) && ($lines < $pienumber)) { $lines = $lines + 1; }
+      $linesjc++;
+    }
+  }
+  else {
+    if($iface ne '') {
+        $tabjc{$iface} = $tabjc{$iface} + 1 ;
+        if(($tabjc{$iface} == 1) && ($lines < $pienumber)) { $lines = $lines + 1; }
+        $linesjc++;
+    }
+  }
+}
+
+$pienumber = $lines;
+
+my @keytabjc = keys %tabjc;
+
+my @slice;
+my $go;
+my $nblinejc;
+
+if( $cgiparams{'linejc'} eq 'all' ){ $nblinejc = $linesjc; $go=1; }
+if( ($cgiparams{'linejc'} != 0) && ($cgiparams{'linejc'} ne 'all') ){ $nblinejc = $cgiparams{'linejc'}; $go=1;}
+if( $go != 1){ $nblinejc = 1000; }
+
+my @key;
+my @value;
+my $indice=0;
+my @tabjc2;
+
+if ($sortcolumn == 1)
+{
+        @tabjc2 = sort { $b <=> $a } values (%tabjc);
+}
+else
+{
+        @tabjc2 = sort { $a <=> $b } keys (%tabjc);
+}
+
+my $colour=1;
+
+##############################################
+#pie chart generation
+use GD::Graph::pie;
+use GD::Graph::colour;
+#ips sort by hits number
+my $v;
+
+if ($sortcolumn == 1)
+{
+        for ($v=0;$v<$pienumber;$v++){
+          findkey($tabjc2[$v]);
+        }
+}
+else
+{
+        foreach $v (@tabjc2) {
+          $key[$indice] = $v;
+          $value[$indice] = $tabjc{$v};
+          $indice++;
+        }
+}
+
+my @ips;
+my @numb;
+
+@ips = @key;
+@numb = @value;
+
+my $o;
+
+if($cgiparams{'otherspie'} == 2 ){}
+else{ 
+        my $numothers;
+        for($o=0;$o<$pienumber;$o++){
+          $numothers = $numothers + $numb[$o];
+        }
+        $numothers =  $linesjc - $numothers;
+        if ($numothers > 0) {
+                $ips[$pienumber]="$Lang::tr{'otherip'}";
+                $numb[$pienumber] =  $numothers;
+        }
+}
+
+my @data = (\@ips,\@numb);
+use GD::Graph::colour qw( :files );
+
+my $color=0;
+my %color = ();
+my %mainsettings = ();
+&General::readhash("${General::swroot}/main/settings", \%mainsettings);
+&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color);
+
+if ($showpie != 2 && $pienumber <= 50 && $pienumber != 0) {
+        my $mygraph = GD::Graph::pie->new(500, 350);
+        $mygraph->set(
+              'title' => '',
+              'pie_height' => 50,
+              'start_angle' => 89
+             ) or warn $mygraph->error;
+
+        $mygraph->set_value_font(GD::gdMediumBoldFont);
+        $mygraph->set( dclrs => [ "$color{'color1'}" , "$color{'color2'}" , "$color{'color3'}" , "$color{'color4'}" , "$color{'color5'}" , "$color{'color6'}" , "$color{'color7'}" , "$color{'color8'}" , "$color{'color9'}" , "$color{'color10'}" ] );
+        my $myimage = $mygraph->plot(\@data) or die $mygraph->error;
+
+        my @filenames = glob("/srv/web/ipfire/html/graphs/fwlog-country*.png");
+        unlink(@filenames);
+        my $imagerandom = rand(1000000);
+        my $imagename = "/srv/web/ipfire/html/graphs/fwlog-country$imagerandom.png";
+        open(FILE,">$imagename");
+        print FILE $myimage->png;
+        close(FILE);
+        #####################################################
+        print "<div style='text-align:center;'>";
+        print "<img src='/graphs/fwlog-country$imagerandom.png'>";
+        print "</div>";
+}
+
+print <<END
+<table width='100%' class='tbl'>
+<tr>
+<th width='10%' align='center' class='boldbase'></th>
+<th width='30%' align='center' class='boldbase'><b>$Lang::tr{'country'}</b></th>
+<th width='30%' align='center' class='boldbase'><b>Count</b></th>
+<th width='30%' align='center' class='boldbase'><b>$Lang::tr{'percentage'}</b></th>
+</tr>
+END
+;
+
+my $total=0;
+my $show=0;
+
+my $s;
+my $percent;
+my $col="";
+
+for($s=0;$s<$lines;$s++)
+{
+  $show++;
+  $percent = $value[$s] * 100 / $linesjc;
+  $percent = sprintf("%.f", $percent);
+  $total = $total + $value[$s];
+  my $colorIndex = $color % 10;
+  if($colorIndex == 0) {
+    $colorIndex = 10;
+  }
+  $col="bgcolor='$color{\"color$colorIndex\"}'";
+  $color++;
+  print "<tr>";
+
+  print "<td align='center' $col><form method='post' action='showrequestfromcountry.dat'><input type='hidden' name='MONTH' value='$cgiparams{'MONTH'}'> <input type='hidden' name='DAY' value='$cgiparams{'DAY'}'> <input type='hidden' name='country' value='$key[$s]'> <input type='submit' value='details'></form></td>";
+  if($key[$s] eq 'blue0' || $key[$s] eq 'green0' || $key[$s] eq 'orange0') {
+      print "<td align='center' $col>$key[$s]</td>";
+  }
+  else {
+      if($key[$s] ne 'unknown' ) {
+          my $fcode = lc($key[$s]);
+          print "<td align='center' $col><a href='/cgi-bin/country.cgi#$fcode'><img src='/images/flags/$fcode.png' border='0' align='absmiddle' alt='$key[$s]' title='$key[$s]'></a></td>";}
+      else {
+          print "<td align='center' $col>$key[$s]</td>";
+      }
+  }
+  print "<td align='center' $col>$value[$s]</td>";
+  print "<td align='center' $col>$percent</td>";
+  print "</tr>";
+}
+
+if($cgiparams{'otherspie'} == 2 ){}
+else{
+  my $colorIndex = $color % 10;
+  if($colorIndex == 0) {
+    $colorIndex = 10;
+  }
+  $col="bgcolor='$color{\"color$colorIndex\"}'";
+  print "<tr>";
+
+if ( $linesjc ne "0")
+{
+my $dif;
+$dif = $linesjc - $total;
+$percent = $dif * 100 / $linesjc;
+$percent = sprintf("%.f", $percent);
+print <<END
+<td align='center' $col></TD>
+<td align='center' $col>$Lang::tr{'other countries'}</td>
+<td align='center' $col>$dif</TD>
+<td align='center' $col>$percent</TD>
+</tr>
+END
+;
+}
+}
+print <<END
+</TABLE>
+END
+;
+
+&Header::closebox();
+&Header::closebigbox();
+&Header::closepage();
+
+sub findkey {
+  my $v;
+  foreach $v (@keytabjc) {
+    if ($tabjc{$v} eq $_[0]) {
+      delete $tabjc{$v};
+      $key[$indice] = "$v";
+      $value[$indice] = $_[0];
+      $indice++;
+      last;
+    }
+  }
+}
+sub checkversion {
+        #Automatic Updates is disabled
+        return "0","0";
+}
+
diff --git a/html/cgi-bin/logs.cgi/showrequestfromcountry.dat b/html/cgi-bin/logs.cgi/showrequestfromcountry.dat
new file mode 100644 (file)
index 0000000..5283c42
--- /dev/null
@@ -0,0 +1,412 @@
+#!/usr/bin/perl
+# SmoothWall CGIs
+#
+# This code is distributed under the terms of the GPL
+#
+# JC HERITIER 
+# page inspired from the initial firewalllog.dat
+#
+# Modified for IPFire by Christian Schmidt (www.ipfire.org)
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+#use strict;
+use Geo::IP::PurePerl;
+
+require '/var/ipfire/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+use POSIX();
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::table2colour} );
+undef (@dummy);
+
+my %cgiparams=();
+my %logsettings=();
+my $errormessage = '';
+
+my @shortmonths = ( 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug',
+       'Sep', 'Oct', 'Nov', 'Dec' );
+my @longmonths = ( $Lang::tr{'january'}, $Lang::tr{'february'}, $Lang::tr{'march'},
+       $Lang::tr{'april'}, $Lang::tr{'may'}, $Lang::tr{'june'}, $Lang::tr{'july'}, $Lang::tr{'august'},
+       $Lang::tr{'september'}, $Lang::tr{'october'}, $Lang::tr{'november'},
+       $Lang::tr{'december'} );
+
+my @now = localtime();
+my $dow = $now[6];
+my $doy = $now[7];
+my $tdoy = $now[7];
+my $year = $now[5]+1900;
+
+$cgiparams{'DAY'} = $now[3];
+$cgiparams{'MONTH'} = $now[4];
+$cgiparams{'ACTION'} = '';
+
+&Header::getcgihash(\%cgiparams);
+
+$logsettings{'LOGVIEW_REVERSE'} = 'off';
+&General::readhash("${General::swroot}/logging/settings", \%logsettings);
+
+my $start = -1;
+if ($ENV{'QUERY_STRING'} && $cgiparams{'ACTION'} ne $Lang::tr{'update'})
+{
+       my @temp = split(',',$ENV{'QUERY_STRING'});
+       $start = $temp[0];
+       $cgiparams{'MONTH'} = $temp[1];
+       $cgiparams{'DAY'} = $temp[2];
+       $cgiparams{country} = $temp[3];
+}
+
+if (!($cgiparams{'MONTH'} =~ /^(0|1|2|3|4|5|6|7|8|9|10|11)$/) ||
+       !($cgiparams{'DAY'} =~ /^(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31)$/))
+{
+       $cgiparams{'DAY'} = $now[3];
+       $cgiparams{'MONTH'} = $now[4];
+}
+elsif($cgiparams{'ACTION'} eq '>>')
+{
+        my @temp_then=();
+        my @temp_now = localtime(time);
+        $temp_now[4] = $cgiparams{'MONTH'};
+        $temp_now[3] = $cgiparams{'DAY'};
+        @temp_then = localtime(POSIX::mktime(@temp_now) + 86400);
+           ## Retrieve the same time on the next day -
+           ## 86400 seconds in a day
+        $cgiparams{'MONTH'} = $temp_then[4];
+        $cgiparams{'DAY'} = $temp_then[3];
+}
+elsif($cgiparams{'ACTION'} eq '<<')
+{
+        my @temp_then=();
+        my @temp_now = localtime(time);
+        $temp_now[4] = $cgiparams{'MONTH'};
+        $temp_now[3] = $cgiparams{'DAY'};
+        @temp_then = localtime(POSIX::mktime(@temp_now) - 86400);
+           ## Retrieve the same time on the previous day -
+           ## 86400 seconds in a day
+        $cgiparams{'MONTH'} = $temp_then[4];
+        $cgiparams{'DAY'} = $temp_then[3];
+}
+
+if (($cgiparams{'DAY'} ne $now[3]) || ($cgiparams{'MONTH'} ne $now[4]))
+{
+        my @then = ();
+        if ( (  $cgiparams{'MONTH'} eq $now[4]) && ($cgiparams{'DAY'} > $now[3]) ||
+                        ( $cgiparams{'MONTH'} > $now[4] ) ) {
+                @then = localtime(POSIX::mktime( 0, 0, 0, $cgiparams{'DAY'}, $cgiparams{'MONTH'}, $year - 1901 ));
+        } else {
+                @then = localtime(POSIX::mktime( 0, 0, 0, $cgiparams{'DAY'}, $cgiparams{'MONTH'}, $year - 1900 ));
+        }
+        $tdoy = $then[7];
+        my $lastleap=($year-1)%4;
+        if ($tdoy>$doy) {
+                if ($lastleap == 0 && $tdoy < 60) {
+                        $doy=$tdoy+366;
+                } else {
+                        $doy=$doy+365;
+                }
+        }
+}
+my $datediff=0;
+my $dowd=0;
+my $multifile=0;
+if ($tdoy ne $doy) {
+        $datediff=int(($doy-$tdoy)/7);
+        $dowd=($doy-$tdoy)%7;
+        if (($dow-$dowd)<1) {
+                $datediff=$datediff+1;
+        }
+        if (($dow-$dowd)==0) {
+                $multifile=1;
+        }
+}
+
+my $monthstr = $shortmonths[$cgiparams{'MONTH'}];
+my $longmonthstr = $longmonths[$cgiparams{'MONTH'}];
+my $day = $cgiparams{'DAY'};
+my $daystr='';
+if ($day <= 9) {
+       $daystr = " $day"; }
+else {
+       $daystr = $day;
+}
+
+my $skip=0;
+my $filestr='';
+if ($datediff==0) {
+        $filestr="/var/log/messages";
+} else {
+       $filestr="/var/log/messages.$datediff";
+       $filestr = "$filestr.gz" if -f "$filestr.gz";
+}
+
+if (!(open (FILE,($filestr =~ /.gz$/ ? "gzip -dc $filestr |" : $filestr)))) {
+        $errormessage = "$Lang::tr{'date not in logs'}: $filestr $Lang::tr{'could not be opened'}";
+        $skip=1;
+        # Note: This is in case the log does not exist for that date
+}
+my $lines = 0;
+my @log=();
+my $country = $cgiparams{country};
+my $gi = Geo::IP::PurePerl->new();
+
+if (!$skip)
+{
+    while (<FILE>)
+    {
+               if (/(^${monthstr} ${daystr} ..:..:..) [\w\-]+ kernel:.*(IN=.*)$/) {
+            my $packet = $2;
+            $packet =~ /IN=(\w+)/;       my $iface=$1; if ( $1 =~ /2./ ){ $iface="";}
+            $packet =~ /SRC=([\d\.]+)/;  my $srcaddr=$1;
+
+            if($iface eq $country) {
+                $log[$lines] = $_;
+                $lines++;
+            }
+            elsif($srcaddr ne '') {
+                my $ccode = $gi->country_code_by_name($srcaddr);
+                if($ccode eq $country){
+                    $log[$lines] = $_;
+                    $lines++;
+                }
+            }
+               }
+       }
+       close (FILE);   
+}
+
+$skip=0;
+if ($multifile) {
+        $datediff=$datediff-1;
+        if ($datediff==0) {
+                $filestr="/var/log/messages";
+        } else {
+                $filestr="/var/log/messages.$datediff";
+                $filestr = "$filestr.gz" if -f "$filestr.gz";
+        }
+        if (!(open (FILE,($filestr =~ /.gz$/ ? "gzip -dc $filestr |" : $filestr)))) {
+                $errormessage="$Lang::tr{'date not in logs'}: $filestr $Lang::tr{'could not be opened'}";
+                $skip=1;
+        }
+        if (!$skip) {
+               while (<FILE>) {
+                       if (/(^${monthstr} ${daystr} ..:..:..) [\w\-]+ kernel:.*(IN=.*)$/) {
+                if($_ =~  /SRC\=([\d\.]+)/){
+                    my $srcaddr=$1;
+                    my $ccode = $gi->country_code_by_name($srcaddr);
+                    if($ccode eq $country){
+                        $log[$lines] = $_;
+                        $lines++;
+                    }
+                }
+                       }
+               }
+               close (FILE);
+       }
+}
+
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'firewall log'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+if ($errormessage) {
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<font class='base'>$errormessage&nbsp;</font>\n";
+       &Header::closebox();
+}
+
+&Header::openbox('100%', 'left', "$Lang::tr{'settings'}:");
+
+print <<END
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<table width='100%'>
+<tr>
+       <td width='10%' class='base'>$Lang::tr{'month'}:&nbsp;</td>
+       <td width='10%'>
+       <select name='MONTH'>
+END
+;
+my $month;
+for ($month = 0; $month < 12; $month++)
+{
+       print "\t<option ";
+       if ($month == $cgiparams{'MONTH'}) {
+               print "selected='selected' "; }
+       print "value='$month'>$longmonths[$month]</option>\n";
+}
+print <<END
+       </select>
+       </td>
+       <td width='10%' class='base' align='right'>&nbsp;$Lang::tr{'day'}:&nbsp;</td>
+       <td width='40%'>
+       <select name='DAY'>
+END
+;
+for ($day = 1; $day <= 31; $day++) 
+{
+       print "\t<option ";
+       if ($day == $cgiparams{'DAY'}) {
+               print "selected='selected' "; }
+       print "value='$day'>$day</option>\n";
+}
+print <<END
+</select>
+</td>
+<td width='5%'  align='center'><input type='submit' name='ACTION' title='$Lang::tr{'day before'}' value='&lt;&lt;' /></td>
+<td width='5%'  align='center'><input type='submit' name='ACTION' title='$Lang::tr{'day after'}' value='&gt;&gt;' /></td>
+<td width='10%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'update'}' /></td>
+<tr><td width='15%'>$Lang::tr{'source ip country'}</td><td><input type='text' name='country' value='$cgiparams{country}'size='15'></td></tr>
+</tr>
+</table>
+</form>
+END
+;
+
+&Header::closebox();
+
+&Header::openbox('100%', 'left', $Lang::tr{'firewall log'});
+print "<p><b>$Lang::tr{'firewall hits'} $longmonthstr $daystr: $lines</b></p>";
+
+if ($start == -1) {
+        $start = $lines - ${Header::viewsize}; }
+if ($start >= $lines - ${Header::viewsize}) { $start = $lines - ${Header::viewsize}; };
+if ($start < 0) { $start = 0; }
+
+my $prev = $start - ${Header::viewsize};
+my $next = $start + ${Header::viewsize};
+
+if ($prev < 0) { $prev = 0; }
+if ($next >= $lines) { $next = -1 }
+if ($start == 0) { $prev = -1; }
+
+if ($lines != 0) { &oldernewer(); }
+
+print <<END
+<table width='100%'>
+<tr>
+<td width='10%' align='center' class='boldbase'><b>$Lang::tr{'time'}</b></td>
+<td width='13%' align='center' class='boldbase'><b>$Lang::tr{'chain'}</b></td>
+<td width='5%' align='center' class='boldbase'><b>$Lang::tr{'iface'}</b></td>
+<td width='5%' align='center' class='boldbase'><b>$Lang::tr{'proto'}</b></td>
+<td width='16%' align='center' class='boldbase'><b>$Lang::tr{'source'}</b></td>
+<td width='10%' align='center' class='boldbase'><b>$Lang::tr{'src port'}</b></td>
+<td width='16%' align='center' class='boldbase'><b>$Lang::tr{'destination'}</b></td>
+<td width='16%' align='center' class='boldbase'><b>$Lang::tr{'dst port'}</b></td>
+</tr>
+END
+;
+
+my @slice = splice(@log, $start, ${Header::viewsize});
+
+if ($logsettings{'LOGVIEW_REVERSE'} eq 'on') { @slice = reverse @slice; }
+
+$lines = 0;
+foreach $_ (@slice)
+{
+  $a = $_;
+  /^... (..) (..:..:..) [\w\-]+ kernel:(.*)(IN=.*)$/;
+  my $packet = $4;
+  $packet =~ /IN=(\w+)/;       my $iface=$1; if ( $1 =~ /2./ ){ $iface="";}
+  $packet =~ /SRC=([\d\.]+)/;  my $srcaddr=$1;
+
+  if($iface eq $country || $srcaddr ne '') {
+    my $ccode;
+    if($iface ne $country) {
+      $ccode = $gi->country_code_by_name($srcaddr);
+    }
+    if($iface eq $country || $ccode eq $country) {
+         my $chain = '';
+      my $in = '-'; my $out = '-';
+      my $srcaddr = ''; my $dstaddr = '';
+      my $protostr = '';
+      my $srcport = ''; my $dstport = '';
+
+      $_ =~ /(^.* ..:..:..) [\w\-]+ kernel:(.*)(IN=.*)$/;
+      my $timestamp = $1; my $chain = $2; my $packet = $3;
+      $timestamp =~ /(...) (..) (..:..:..)/;
+      my $month = $1; my $day = $2; my $time = $3;
+
+      if ($a =~ /IN\=(\w+)/) { $iface = $1; }
+      if ($a =~ /OUT\=(\w+)/) { $out = $1; }
+      if ($a =~ /SRC\=([\d\.]+)/) { $srcaddr = $1; }
+      if ($a =~ /DST\=([\d\.]+)/) { $dstaddr = $1; }
+      if ($a =~ /PROTO\=(\w+)/) { $protostr = $1; }
+      my $protostrlc = lc($protostr);
+      if ($a =~  /SPT\=([\d\.]+)/){ $srcport = $1; }
+      if ($a =~  /DPT\=([\d\.]+)/){ $dstport = $1; }
+
+      if ($lines % 2) {
+        print "<tr bgcolor='${Header::table1colour}'>\n"; }
+      else {
+        print "<tr bgcolor='${Header::table2colour}'>\n"; }
+      print <<END
+      <td align='center'>$time</td>
+      <td align='center'>$chain</td>
+      <td align='center'>$iface</td>
+      <td align='center'>$protostr</td>
+      <td align='center'>
+      <table width='100%' cellpadding='0' cellspacing='0'><tr>
+      <td align='center'><a href='/cgi-bin/ipinfo.cgi?ip=$srcaddr'>$srcaddr</a></td>
+      </tr></table>
+      </td>
+      <td align='center'>$srcport</td>
+      <td align='center'>
+      <table width='100%' cellpadding='0' cellspacing='0'><tr>
+      <td align='center'><a href='/cgi-bin/ipinfo.cgi?ip=$dstaddr'>$dstaddr</a></td>
+      </tr></table>
+      </td>
+      <td align='center'>$dstport</td>
+      </tr>
+END
+       ;
+      $lines++;
+    }
+  }
+}
+
+print <<END
+</table>
+END
+;
+
+&oldernewer();
+
+&Header::closebox();
+
+&Header::closebigbox();
+
+&Header::closepage();
+
+sub oldernewer
+{
+  print <<END
+  <table width='100%'>
+  <tr>
+END
+;
+
+  print "<td align='center' width='50%'>";
+  if ($prev != -1) {
+    print "<a href='/cgi-bin/logs.cgi/showrequestfromcountry.dat?$prev,$cgiparams{'MONTH'},$cgiparams{'DAY'},$cgiparams{country}'>$Lang::tr{'older'}</a>"; }
+  else {
+    print "$Lang::tr{'older'}"; }
+  print "</td>\n";
+
+  print "<td align='center' width='50%'>";
+  if ($next != -1) {
+    print "<a href='/cgi-bin/logs.cgi/showrequestfromcountry.dat?$next,$cgiparams{'MONTH'},$cgiparams{'DAY'},$cgiparams{country}'>$Lang::tr{'newer'}</a>"; }
+  else {
+   print "$Lang::tr{'newer'}"; }
+  print "</td>\n";
+
+print <<END
+  </tr>
+  </table>
+END
+;
+}
+
diff --git a/html/cgi-bin/modem-status.cgi b/html/cgi-bin/modem-status.cgi
new file mode 100755 (executable)
index 0000000..d278c77
--- /dev/null
@@ -0,0 +1,211 @@
+#!/usr/bin/perl
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2008  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+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";
+require "${General::swroot}/modem-lib.pl";
+
+my $modem;
+my %ethsettings = {};
+my %pppsettings = {};
+
+&General::readhash("${General::swroot}/ethernet/settings", \%ethsettings);
+
+if ($ethsettings{"RED_TYPE"} eq "PPPOE") {
+       &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);
+
+       # Establish the connection to the modem.
+       my $port = $pppsettings{'MONPORT'};
+       if ($port) {
+               $port = "/dev/$port";
+               $modem = Modem->new($port, $pppsettings{"DTERATE"});
+       }
+}
+
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'modem information'}, 1, '');
+&Header::openbigbox('100%', 'left');
+
+if ($modem) {
+       &Header::openbox("100%", "center", $Lang::tr{'modem hardware details'});
+
+       print <<END;
+               <table width="100%">
+                       <tbody>
+END
+
+       my $vendor = $modem->get_vendor();
+       if ($vendor) {
+               print <<END;
+                       <tr>
+                               <td width="33%">$Lang::tr{'vendor'}</td>
+                               <td>$vendor</td>
+                       </tr>
+END
+       }
+
+       my $model = $modem->get_model();
+       if ($model) {
+               print <<END;
+                       <tr>
+                               <td width="33%">$Lang::tr{'model'}</td>
+                               <td>$model</td>
+                       </tr>
+END
+       }
+
+       my $software_version = $modem->get_software_version();
+       if ($software_version) {
+               print <<END;
+                       <tr>
+                               <td width="33%">$Lang::tr{'software version'}</td>
+                               <td>$software_version</td>
+                       </tr>
+END
+       }
+
+       my $imei = $modem->get_imei();
+       if ($imei) {
+               print <<END;
+                       <tr>
+                               <td width="33%">$Lang::tr{'imei'}</td>
+                               <td>$imei</td>
+                       </tr>
+END
+       }
+
+       my @caps = $modem->get_capabilities();
+       if (@caps) {
+               my $caps_string = join(", ", @caps);
+
+               print <<END;
+                       <tr>
+                               <td width="33%">$Lang::tr{'capabilities'}</td>
+                               <td>$caps_string</td>
+                       </tr>
+END
+       }
+
+       print <<END;
+                       </tbody>
+               </table>
+END
+       &Header::closebox();
+
+
+       &Header::openbox("100%", "center", $Lang::tr{'modem sim information'});
+       print <<END;
+               <table width="100%">
+                       <tbody>
+END
+
+       my $imsi = $modem->get_sim_imsi();
+       if ($imsi) {
+               print <<END;
+                       <tr>
+                               <td width="33%">$Lang::tr{'imsi'}</td>
+                               <td>$imsi</td>
+                       </tr>
+END
+       }
+
+       print <<END;
+                       </tbody>
+               </table>
+END
+       &Header::closebox();
+
+       &Header::openbox("100%", "center", $Lang::tr{'modem network information'});
+       print <<END;
+               <table width="100%">
+                       <tbody>
+END
+
+       my $network_registration = $modem->get_network_registration();
+       if ($network_registration) {
+               print <<END;
+                       <tr>
+                               <td width="33%">$Lang::tr{'modem network registration'}</td>
+                               <td>$network_registration</td>
+                       </tr>
+END
+       }
+
+       my $network_operator = $modem->get_network_operator();
+       if ($network_operator) {
+               print <<END;
+                       <tr>
+                               <td width="33%">$Lang::tr{'modem network operator'}</td>
+                               <td>$network_operator</td>
+                       </tr>
+END
+       }
+
+       my $network_mode = $modem->get_network_mode();
+       if ($network_mode) {
+               print <<END;
+                       <tr>
+                               <td width="33%">$Lang::tr{'modem network mode'}</td>
+                               <td>$network_mode</td>
+                       </tr>
+END
+       }
+
+       my $signal_quality = $modem->get_signal_quality();
+       if ($signal_quality) {
+               print <<END;
+                       <tr>
+                               <td width="33%">$Lang::tr{'modem network signal quality'}</td>
+                               <td>$signal_quality dBm</td>
+                       </tr>
+END
+       }
+
+       my $bit_error_rate = $modem->get_bit_error_rate();
+       if ($bit_error_rate) {
+               print <<END;
+                       <tr>
+                               <td width="33%">$Lang::tr{'modem network bit error rate'}</td>
+                               <td>$bit_error_rate</td>
+                       </tr>
+END
+       }
+       print <<END;
+                       </tbody>
+               </table>
+END
+
+       &Header::closebox();
+} else {
+       &Header::openbox("100%", "center", $Lang::tr{'modem no connection'});
+       print "<p>$Lang::tr{'modem no connection message'}</p>";
+       &Header::closebox();
+}
+
+&Header::closebigbox();
+&Header::closepage();
index 0c9e73d5b86b9662d9315c0e3828626379e18214..df5f9ece2a3a0732c8d21fe07ec471310028e6cc 100644 (file)
@@ -19,7 +19,6 @@
 #                                                                             #
 ###############################################################################
 ###
-# Based on IPFireCore 77
 ###
 use CGI;
 use CGI qw/:standard/;
@@ -228,6 +227,51 @@ sub checkportinc
        }
 }
 
+# Darren Critchley - certain ports are reserved for IPFire
+# TCP 67,68,81,222,444
+# UDP 67,68
+# Params passed in -> port, rangeyn, protocol
+sub disallowreserved
+{
+       # port 67 and 68 same for tcp and udp, don't bother putting in an array
+       my $msg = "";
+       my @tcp_reserved = (81,222,444);
+       my $prt = $_[0]; # the port or range
+       my $ryn = $_[1]; # tells us whether or not it is a port range
+       my $prot = $_[2]; # protocol
+       my $srcdst = $_[3]; # source or destination
+       if ($ryn) { # disect port range
+               if ($srcdst eq "src") {
+                       $msg = "$Lang::tr{'rsvd src port overlap'}";
+               } else {
+                       $msg = "$Lang::tr{'rsvd dst port overlap'}";
+               }
+               my @tmprng = split(/\:/,$prt);
+               unless (67 < $tmprng[0] || 67 > $tmprng[1]) { $errormessage="$msg 67"; return; }
+               unless (68 < $tmprng[0] || 68 > $tmprng[1]) { $errormessage="$msg 68"; return; }
+               if ($prot eq "tcp") {
+                       foreach my $prange (@tcp_reserved) {
+                               unless ($prange < $tmprng[0] || $prange > $tmprng[1]) { $errormessage="$msg $prange"; return; }
+                       }
+               }
+       } else {
+               if ($srcdst eq "src") {
+                       $msg = "$Lang::tr{'reserved src port'}";
+               } else {
+                       $msg = "$Lang::tr{'reserved dst port'}";
+               }
+               if ($prt == 67) { $errormessage="$msg 67"; return; }
+               if ($prt == 68) { $errormessage="$msg 68"; return; }
+               if ($prot eq "tcp") {
+                       foreach my $prange (@tcp_reserved) {
+                               if ($prange == $prt) { $errormessage="$msg $prange"; return; }
+                       }
+               }
+       }
+       return;
+}
+
+
 sub writeserverconf {
     my %sovpnsettings = ();  
     my @temp = ();  
@@ -256,7 +300,7 @@ sub writeserverconf {
     my @tempovpnsubnet = split("\/",$sovpnsettings{'DOVPN_SUBNET'});
     print CONF "server $tempovpnsubnet[0] $tempovpnsubnet[1]\n";
     #print CONF "push \"route $netsettings{'GREEN_NETADDRESS'} $netsettings{'GREEN_NETMASK'}\"\n";
-   
+
     # Check if we are using mssfix, fragment or mtu-disc and set the corretct mtu of 1500.
     # If we doesn't use one of them, we can use the configured mtu value.
     if ($sovpnsettings{'MSSFIX'} eq 'on') 
@@ -264,8 +308,8 @@ sub writeserverconf {
     elsif ($sovpnsettings{'FRAGMENT'} ne '' && $sovpnsettings{'DPROTOCOL'} ne 'tcp') 
        { print CONF "$sovpnsettings{'DDEVICE'}-mtu 1500\n"; }
     elsif (($sovpnsettings{'PMTU_DISCOVERY'} eq 'yes') ||
-          ($sovpnsettings{'PMTU_DISCOVERY'} eq 'maybe') ||
-          ($sovpnsettings{'PMTU_DISCOVERY'} eq 'no' ))
+       ($sovpnsettings{'PMTU_DISCOVERY'} eq 'maybe') ||
+       ($sovpnsettings{'PMTU_DISCOVERY'} eq 'no' ))
        { print CONF "$sovpnsettings{'DDEVICE'}-mtu 1500\n"; } 
     else 
        { print CONF "$sovpnsettings{'DDEVICE'}-mtu $sovpnsettings{'DMTU'}\n"; }
@@ -300,10 +344,10 @@ sub writeserverconf {
        print CONF "client-to-client\n";
     }
     if ($sovpnsettings{MSSFIX} eq 'on') {
-       print CONF "mssfix\n";
+               print CONF "mssfix\n";
     }
     if ($sovpnsettings{FRAGMENT} ne '' && $sovpnsettings{'DPROTOCOL'} ne 'tcp') {
-       print CONF "fragment $sovpnsettings{'FRAGMENT'}\n";   
+               print CONF "fragment $sovpnsettings{'FRAGMENT'}\n";
     }
 
     # Check if a valid operating mode has been choosen and use it.
@@ -528,7 +572,7 @@ sub getccdadresses
        my @iprange=();
        my %ccdhash=();
        &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%ccdhash);
-       $iprange[0]=$ip1.".".$ip2.".".$ip3.".".($ip4+2);
+       $iprange[0]=$ip1.".".$ip2.".".$ip3.".".2;
        for (my $i=1;$i<=$count;$i++) {
                my $tmpip=$iprange[$i-1];
                my $stepper=$i*4;
@@ -994,6 +1038,7 @@ unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General
 
 if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq 'net' && $cgiparams{'SIDE'} eq 'client')
 {
+
         my @ovsubnettemp =  split(/\./,$cgiparams{'OVPN_SUBNET'});
         my $ovsubnet =  "$ovsubnettemp[0].$ovsubnettemp[1].$ovsubnettemp[2]";
         my @remsubnet =  split(/\//,$cgiparams{'REMOTE_SUBNET'});
@@ -1073,7 +1118,7 @@ unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General
   if ($cgiparams{'COMPLZO'} eq 'on') {
    print CLIENTCONF "# Enable Compression\n";
    print CLIENTCONF "comp-lzo\r\n";
-     }
+  }
   print CLIENTCONF "# Debug Level\n"; 
   print CLIENTCONF "verb 3\n"; 
   print CLIENTCONF "# Tunnel check\n"; 
@@ -1112,7 +1157,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cg
     
     if (! &General::validipandmask($cgiparams{'DOVPN_SUBNET'})) {
             $errormessage = $Lang::tr{'ovpn subnet is invalid'};
-       goto SETTINGS_ERROR;
+                       goto SETTINGS_ERROR;
     }
     my @tmpovpnsubnet = split("\/",$cgiparams{'DOVPN_SUBNET'});
     
@@ -1211,7 +1256,7 @@ SETTINGS_ERROR:
     while ($file = glob("${General::swroot}/ovpn/crls/*")) {
        unlink $file;
     }
-    &cleanssldatabase();
+       &cleanssldatabase();
     if (open(FILE, ">${General::swroot}/ovpn/caconfig")) {
         print FILE "";
         close FILE;
@@ -1254,6 +1299,7 @@ SETTINGS_ERROR:
                        <tr>
                                <td align='center'>
                                <input type='hidden' name='AREUSURE' value='yes' />
+                               <b><font color='${Header::colourred}'>$Lang::tr{'capswarning'}</font></b>: 
                                <b><font color='${Header::colourred}'>$Lang::tr{'capswarning'}</font></b>:
                                $Lang::tr{'resetting the vpn configuration will remove the root ca, the host certificate and all certificate based connections'}</td>
                        </tr>
@@ -1263,7 +1309,6 @@ SETTINGS_ERROR:
                        </tr>
                </table>
        </form>
-
 END
     ;
     &Header::closebox();
@@ -1387,7 +1432,7 @@ END
 
     if ($cgiparams{'CA_NAME'} eq 'ca') {
        $errormessage = $Lang::tr{'name is invalid'};
-       goto UPLOAD_CA_ERROR;
+       goto UPLOADCA_ERROR;
     }
 
     # Check if there is no other entry with this name
@@ -2008,7 +2053,8 @@ END
            <td><input type='submit' name='ACTION' value='$Lang::tr{'upload p12 file'}' /></td>
             <td colspan='2'>&nbsp;</td></tr>
        <tr><td class='base' colspan='4' align='left'>
-           <img src='/blob.gif' valign='top' al='*' >&nbsp;$Lang::tr{'this field may be blank'}</td></tr>
+           <img src='/blob.gif' valign='top' al='*' >&nbsp;$Lang::tr{'this field may be blank'}</td>
+       </tr>
        </form></table>
 END
        ;
@@ -2467,19 +2513,22 @@ if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') {
 #    }
 ADV_ERROR:
     if ($cgiparams{'MAX_CLIENTS'} eq '') {
-       $cgiparams{'MAX_CLIENTS'} =  '100';     
+               $cgiparams{'MAX_CLIENTS'} =  '100';
     }
     if ($cgiparams{'KEEPALIVE_1'} eq '') {
-       $cgiparams{'KEEPALIVE_1'} =  '10';     
+               $cgiparams{'KEEPALIVE_1'} =  '10';
     }
     if ($cgiparams{'KEEPALIVE_2'} eq '') {
-       $cgiparams{'KEEPALIVE_2'} =  '60';     
+               $cgiparams{'KEEPALIVE_2'} =  '60';
     }
     if ($cgiparams{'LOG_VERB'} eq '') {
-       $cgiparams{'LOG_VERB'} =  '3';
+               $cgiparams{'LOG_VERB'} =  '3';
     }
     if ($cgiparams{'PMTU_DISCOVERY'} eq '') {
-       $cgiparams{'PMTU_DISCOVERY'} = 'off';
+               $cgiparams{'PMTU_DISCOVERY'} = 'off';
+    }
+    if ($cgiparams{'DAUTH'} eq '') {
+               $cgiparams{'DAUTH'} = 'SHA1';
     }
     if ($cgiparams{'DAUTH'} eq '') {
        $cgiparams{'DAUTH'} = 'SHA1';
@@ -2528,7 +2577,7 @@ ADV_ERROR:
     $selected{'ENGINES'}{'padlock'} = '';
     $selected{'ENGINES'}{'disabled'} = '';
     $selected{'ENGINES'}{$cgiparams{'ENGINES'}} = 'SELECTED';
-   
+
     &Header::showhttpheaders();
     &Header::openpage($Lang::tr{'status ovpn'}, 1, '');
     &Header::openbigbox('100%', 'LEFT', '', $errormessage);    
@@ -2541,32 +2590,32 @@ ADV_ERROR:
     &Header::openbox('100%', 'LEFT', $Lang::tr{'advanced server'});
     print <<END;
     <form method='post' enctype='multipart/form-data'>
-    <table width='100%' border='0'>
-    <tr>
-       <td colspan='4'><b>$Lang::tr{'dhcp-options'}</b></td>
+<table width='100%' border=0>
+       <tr>
+               <td colspan='4'><b>$Lang::tr{'dhcp-options'}</b></td>
     </tr>
     <tr>
-       <td width='25%'></td> <td width='20%'> </td><td width='25%'> </td><td width='30%'></td>
+               <td width='25%'></td> <td width='20%'> </td><td width='25%'> </td><td width='30%'></td>
     </tr>      
     <tr>               
-       <td class='base'>Domain</td>
+               <td class='base'>Domain</td>
         <td><input type='TEXT' name='DHCP_DOMAIN' value='$cgiparams{'DHCP_DOMAIN'}' size='30'  /></td>
     </tr>
     <tr>       
-       <td class='base'>DNS</td>
-       <td><input type='TEXT' name='DHCP_DNS' value='$cgiparams{'DHCP_DNS'}' size='30' /></td>
+               <td class='base'>DNS</td>
+               <td><input type='TEXT' name='DHCP_DNS' value='$cgiparams{'DHCP_DNS'}' size='30' /></td>
     </tr>      
     <tr>       
-       <td class='base'>WINS</td>
-       <td><input type='TEXT' name='DHCP_WINS' value='$cgiparams{'DHCP_WINS'}' size='30' /></td>
-       </tr>
+               <td class='base'>WINS</td>
+               <td><input type='TEXT' name='DHCP_WINS' value='$cgiparams{'DHCP_WINS'}' size='30' /></td>
+       </tr>
     <tr>
-       <td colspan='4'><b>$Lang::tr{'ovpn routes push options'}</b></td>
+               <td colspan='4'><b>$Lang::tr{'ovpn routes push options'}</b></td>
     </tr>
     <tr>       
-       <td class='base'>$Lang::tr{'ovpn routes push'}</td>
-  <td colspan='2'>
-       <textarea name='ROUTES_PUSH' cols='26' rows='6' wrap='off'>
+               <td class='base'>$Lang::tr{'ovpn routes push'}</td>
+               <td colspan='2'>
+               <textarea name='ROUTES_PUSH' cols='26' rows='6' wrap='off'>
 END
 ;
 
@@ -2581,32 +2630,32 @@ print <<END;
     </tr>
 </table>
 <hr size='1'>
-    <table width='100%'>
+<table width='100%'>
     <tr>
-       <td class'base'><b>$Lang::tr{'misc-options'}</b></td>
+               <td class'base'><b>$Lang::tr{'misc-options'}</b></td>
     </tr>
     <tr>
-       <td width='20%'></td> <td width='15%'> </td><td width='15%'> </td><td width='15%'></td><td width='35%'></td>
+               <td width='20%'></td> <td width='15%'> </td><td width='15%'> </td><td width='15%'></td><td width='35%'></td>
     </tr>
     <tr>
-       <td class='base'>Client-To-Client</td>
-       <td><input type='checkbox' name='CLIENT2CLIENT' $checked{'CLIENT2CLIENT'}{'on'} /></td>
+               <td class='base'>Client-To-Client</td>
+               <td><input type='checkbox' name='CLIENT2CLIENT' $checked{'CLIENT2CLIENT'}{'on'} /></td>
     </tr>
     <tr>       
-       <td class='base'>Redirect-Gateway def1</td>
-       <td><input type='checkbox' name='REDIRECT_GW_DEF1' $checked{'REDIRECT_GW_DEF1'}{'on'} /></td>
+               <td class='base'>Redirect-Gateway def1</td>
+               <td><input type='checkbox' name='REDIRECT_GW_DEF1' $checked{'REDIRECT_GW_DEF1'}{'on'} /></td>
     </tr>
     <tr>       
         <td class='base'>Max-Clients</td>
         <td><input type='text' name='MAX_CLIENTS' value='$cgiparams{'MAX_CLIENTS'}' size='10' /></td>
     </tr>      
-       <tr>
+       <tr>
          <td class='base'>Keepalive <br />
            (ping/ping-restart)</td>
          <td><input type='TEXT' name='KEEPALIVE_1' value='$cgiparams{'KEEPALIVE_1'}' size='10' /></td>
          <td><input type='TEXT' name='KEEPALIVE_2' value='$cgiparams{'KEEPALIVE_2'}' size='10' /></td>
     </tr>
-       <tr>
+       <tr>
          <td class='base'>fragment <br></td>
          <td><input type='TEXT' name='FRAGMENT' value='$cgiparams{'FRAGMENT'}' size='10' /></td>
       </tr>
@@ -2626,7 +2675,7 @@ print <<END;
 </table>
 
 <hr size='1'>
-    <table width='100%'>
+<table width='100%'>
     <tr>
        <td class'base'><b>$Lang::tr{'log-options'}</b></td>
     </tr>
@@ -2694,8 +2743,6 @@ print <<END;
        <td><input type='checkbox' name='TLSAUTH' $checked{'TLSAUTH'}{'on'} /></td>
     </tr>
     </table><hr>
-
-
 END
 
 if ( -e "/var/run/openvpn.pid"){
@@ -2777,7 +2824,7 @@ if ($cgiparams{'ACTION'} eq "edit"){
     <table width='100%' border='0'>
     <tr><form method='post'>
        <td width='10%' nowrap='nowrap'>$Lang::tr{'ccd name'}:</td><td><input type='TEXT' name='ccdname' value='$cgiparams{'ccdname'}' /></td>
-       <td width='8%'>$Lang::tr{'ccd subnet'}:</td><td><input type='TEXT' name='ccdsubnet' value='$cgiparams{'ccdsubnet'}' readonly='readonly' /></td></tr>
+       <td width='8%'>$Lang::tr{'ccd subnet'}:</td><td><input type='TEXT' name='ccdsubnet' value='$cgiparams{'ccdsubnet'}' readonly /></td></tr>
        <tr><td colspan='4' align='right'><hr><input type='submit' value='$Lang::tr{'save'}' /><input type='hidden' name='ACTION' value='editsave'/>
        <input type='hidden' name='ccdname' value='$cgiparams{'ccdname'}'/><input type='submit' value='$Lang::tr{'cancel'}' />
        </td></tr>
@@ -2817,7 +2864,7 @@ END
                print "$Lang::tr{'ccd noaddnet'}<br><hr>";
        }
        
-       print <<END
+    print <<END;
     <table width='100%' cellpadding='0' cellspacing='1'>
     <tr>
        <td class='boldbase' align='center' nowrap='nowrap' width='20%'><b>$Lang::tr{'ccd name'}</td><td class='boldbase' align='center' width='8%'><b>$Lang::tr{'network'}</td><td class='boldbase' width='8%' align='center' nowrap='nowrap'><b>$Lang::tr{'ccd used'}</td><td width='1%' align='center'></td><td width='1%' align='center'></td></tr>
@@ -2835,9 +2882,9 @@ END
                if ($count % 2){ print" <tr bgcolor='$color{'color22'}'>";}
                else{            print" <tr bgcolor='$color{'color20'}'>";}
                print"<td>$ccdconf[0]</td><td align='center'>$ccdconf[1]</td><td align='center'>$ccdhosts/".(&ccdmaxclients($ccdconf[1])+1)."</td><td>";
-print <<END
+        print <<END;
                <form method='post' />
-               <input type='image' src='/images/edit.gif' align='middle' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+               <input type='image' src='/images/edit.gif' align='middle' alt=$Lang::tr{'edit'} title=$Lang::tr{'edit'} />
                <input type='hidden' name='ACTION' value='edit'/>
                <input type='hidden' name='ccdname' value='$ccdconf[0]' />
                <input type='hidden' name='ccdsubnet' value='$ccdconf[1]' />
@@ -2846,7 +2893,7 @@ print <<END
                <td><input type='hidden' name='ACTION' value='kill'/>
                <input type='hidden' name='number' value='$count' />
                <input type='hidden' name='net' value='$ccdconf[0]' />
-               <input type='image' src='/images/delete.gif' align='middle' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' /></form></td></tr>
+               <input type='image' src='/images/delete.gif' align='middle' alt=$Lang::tr{'remove'} title=$Lang::tr{'remove'} /></form></td></tr>
 END
 ;
        }       
@@ -3076,7 +3123,7 @@ if ( -s "${General::swroot}/ovpn/settings") {
                <td class='base'>$Lang::tr{'net to net vpn'} (Upload Client Package)</td></tr>
          <tr><td>&nbsp;</td><td class='base'><input type='file' name='FH' size='30'></td></tr>
          <tr><td>&nbsp;</td><td>Import Connection Name <img src='/blob.gif' /></td></tr>
-    <tr><td>&nbsp;</td><td class='base'><input type='text' name='n2nname' size='30'>$Lang::tr{'openvpn default'}: Client Packagename</td></tr>
+    <tr><td>&nbsp;</td><td class='base'><input type='text' name='n2nname' size='30'>Default : Client Packagename</td></tr>
          <tr><td colspan='3'><hr /></td></tr>
     <tr><td align='right' colspan='3'><input type='submit' name='ACTION' value='$Lang::tr{'add'}' /></td></tr>
          <tr><td class='base' colspan='3' align='left'><img src='/blob.gif' alt='*' />&nbsp;$Lang::tr{'this field may be blank'}</td></tr>
@@ -3233,6 +3280,7 @@ END
        
 my $complzoactive;
 my $mssfixactive;
+my $authactive;
 my $n2nfragment;
 my $authactive;
 my @n2nmtudisc = split(/ /, (grep { /^mtu-disc/ } @firen2nconf)[0]);
@@ -3355,7 +3403,6 @@ foreach my $dkey (keys %confighash) {
        $confighash{$key}[40] = $n2ncipher[1];
        $confighash{$key}[41] = 'disabled';
 
-
   &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
  
   N2N_ERROR:
@@ -3383,13 +3430,13 @@ foreach my $dkey (keys %confighash) {
                <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'Act as'}</td><td><b>$confighash{$key}[6]</b></td></tr>                                                              
                <tr><td class='boldbase' nowrap='nowrap'>Remote Host </td><td><b>$confighash{$key}[10]</b></td></tr>
                <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'local subnet'}</td><td><b>$confighash{$key}[8]</b></td></tr>
-               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'remote subnet'}</td><td><b>$confighash{$key}[11]</b></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'remote subnet'}:</td><td><b>$confighash{$key}[11]</b></td></tr>
                <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn subnet'}</td><td><b>$confighash{$key}[27]</b></td></tr>
                <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'protocol'}</td><td><b>$confighash{$key}[28]</b></td></tr>
                <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'destination port'}:</td><td><b>$confighash{$key}[29]</b></td></tr>
                <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'comp-lzo'}</td><td><b>$confighash{$key}[30]</b></td></tr>
-               <tr><td class='boldbase' nowrap='nowrap'>MSSFIX </td><td><b>$confighash{$key}[23]</b></td></tr>
-               <tr><td class='boldbase' nowrap='nowrap'>Fragment </td><td><b>$confighash{$key}[24]</b></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>MSSFIX:</td><td><b>$confighash{$key}[23]</b></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>Fragment:</td><td><b>$confighash{$key}[24]</b></td></tr>
                <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'MTU'}</td><td><b>$confighash{$key}[31]</b></td></tr>
                <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn mtu-disc'}</td><td><b>$confighash{$key}[38]</b></td></tr>
                <tr><td class='boldbase' nowrap='nowrap'>Management Port </td><td><b>$confighash{$key}[22]</b></td></tr>
@@ -3805,7 +3852,7 @@ if ($cgiparams{'TYPE'} eq 'net') {
                  goto VPNCONF_ERROR;
                }
 
-       if ($cgiparams{'OVPN_MGMT'} eq  '') {
+       if ($cgiparams{'OVPN_MGMT'} eq '') {
                $cgiparams{'OVPN_MGMT'} = $cgiparams{'DEST_PORT'};              
                }
        
@@ -4223,7 +4270,6 @@ if ($cgiparams{'TYPE'} eq 'net') {
        $confighash{$key}[40]           = $cgiparams{'DCIPHER'};
        $confighash{$key}[42]           = $cgiparams{'ENGINES'};
 
-
        &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
        
        if ($cgiparams{'CHECK1'} ){
@@ -4338,7 +4384,7 @@ if ($cgiparams{'TYPE'} eq 'net') {
 ###
 # m.a.d n2n end
 ###    
-       $cgiparams{'SIDE'} = 'left';
+        $cgiparams{'SIDE'} = 'left';
        if ( ! -f "${General::swroot}/ovpn/ca/cakey.pem" ) {
            $cgiparams{'AUTH'} = 'psk';
        } elsif ( ! -f "${General::swroot}/ovpn/ca/cacert.pem") {
@@ -4473,28 +4519,25 @@ if ($cgiparams{'TYPE'} eq 'net') {
 
        &Header::openbox('100%', 'LEFT', "$Lang::tr{'connection'}:");
        print "<table width='100%'  border='0'>\n";
-       
-       
-       
+
        print "<tr><td width='14%' class='boldbase'>$Lang::tr{'name'}: </td>";
        
        if ($cgiparams{'TYPE'} eq 'host') {
            if ($cgiparams{'KEY'}) {
                print "<td width='35%' class='base'><input type='hidden' name='NAME' value='$cgiparams{'NAME'}' />$cgiparams{'NAME'}</td>";
            } else {
-                       
                print "<td width='35%'><input type='text' name='NAME' value='$cgiparams{'NAME'}' maxlength='20' size='30' /></td>";
            }
 #          print "<tr><td>$Lang::tr{'interface'}</td>";
 #          print "<td><select name='INTERFACE'>";
 #          print "<option value='RED' $selected{'INTERFACE'}{'RED'}>RED</option>";
-#          if ($netsettings{'BLUE_DEV'} ne '') {
-#              print "<option value='BLUE' $selected{'INTERFACE'}{'BLUE'}>BLUE</option>";
-#          }
-#          print "<option value='GREEN' $selected{'INTERFACE'}{'GREEN'}>GREEN</option>";
-#          print "<option value='ORANGE' $selected{'INTERFACE'}{'ORANGE'}>ORANGE</option>";
-#          print "</select></td></tr>";
-#          print <<END
+#              if ($netsettings{'BLUE_DEV'} ne '') {
+#                      print "<option value='BLUE' $selected{'INTERFACE'}{'BLUE'}>BLUE</option>";
+#              }
+#              print "<option value='GREEN' $selected{'INTERFACE'}{'GREEN'}>GREEN</option>";
+#              print "<option value='ORANGE' $selected{'INTERFACE'}{'ORANGE'}>ORANGE</option>";
+#              print "</select></td></tr>";
+#              print <<END;
        } else {
            print "<input type='hidden' name='INTERFACE' value='red' />";
            if ($cgiparams{'KEY'}) {
@@ -4502,12 +4545,10 @@ if ($cgiparams{'TYPE'} eq 'net') {
            } else {
                print "<td width='25%'><input type='text' name='NAME' value='$cgiparams{'NAME'}' maxlength='20' /></td>";
            }
-           
-           
-           
            print <<END;
                    <td width='25%'>&nbsp;</td>
                    <td width='25%'>&nbsp;</td></tr>
+
                <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'Act as'}</td>
                    <td><select name='SIDE'><option value='server' $selected{'SIDE'}{'server'}>$Lang::tr{'openvpn server'}</option>
                                            <option value='client' $selected{'SIDE'}{'client'}>$Lang::tr{'openvpn client'}</option></select></td>
@@ -4609,7 +4650,6 @@ if ($cgiparams{'TYPE'} eq 'net') {
                        <input type='radio' name='PMTU_DISCOVERY' value='off' $checked{'PMTU_DISCOVERY'}{'off'} /> $Lang::tr{'ovpn mtu-disc off'}
                </td>
        </tr>
-
 END
 ;
        }
@@ -4739,7 +4779,7 @@ if ($cgiparams{'TYPE'} eq 'host') {
    <tr><td>&nbsp;</td>
                <td class='base'>$Lang::tr{'pkcs12 file password'}:</td>
                <td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS1' value='$cgiparams{'CERT_PASS1'}' size='32' $cakeydisabled /></td></tr>
-           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'pkcs12 file password'}:<br>($Lang::tr{'confirmation'})</td>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'pkcs12 file password'}:<BR>($Lang::tr{'confirmation'})</td>
                <td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS2' value='$cgiparams{'CERT_PASS2'}' size='32' $cakeydisabled /></td></tr>
      <tr><td colspan='3'>&nbsp;</td></tr>
      <tr><td colspan='3'><hr /></td></tr>
@@ -4923,19 +4963,25 @@ END
     
 #default setzen
     if ($cgiparams{'DCIPHER'} eq '') {
-       $cgiparams{'DCIPHER'} =  'AES-256-CBC';
+               $cgiparams{'DCIPHER'} =  'AES-256-CBC';
     }
     if ($cgiparams{'DDEST_PORT'} eq '') {
-       $cgiparams{'DDEST_PORT'} =  '1194';     
+               $cgiparams{'DDEST_PORT'} =  '1194';
     }
     if ($cgiparams{'DMTU'} eq '') {
-       $cgiparams{'DMTU'} =  '1400';     
+               $cgiparams{'DMTU'} =  '1400';
+    }
+    if ($cgiparams{'MSSFIX'} eq '') {
+               $cgiparams{'MSSFIX'} = 'off';
+    }
+       if ($cgiparams{'DAUTH'} eq '') {
+               $cgiparams{'DAUTH'} = 'SHA1';
     }
     if ($cgiparams{'ENGINES'} eq '') {
        $cgiparams{'ENGINES'} = 'disabled';
     }
     if ($cgiparams{'DOVPN_SUBNET'} eq '') {
-       $cgiparams{'DOVPN_SUBNET'} = '10.' . int(rand(256)) . '.' . int(rand(256)) . '.0/255.255.255.0';
+               $cgiparams{'DOVPN_SUBNET'} = '10.' . int(rand(256)) . '.' . int(rand(256)) . '.0/255.255.255.0';
     }
     $checked{'ENABLED'}{'off'} = '';
     $checked{'ENABLED'}{'on'} = '';
@@ -4953,7 +4999,7 @@ END
     $selected{'DPROTOCOL'}{'udp'} = '';
     $selected{'DPROTOCOL'}{'tcp'} = '';
     $selected{'DPROTOCOL'}{$cgiparams{'DPROTOCOL'}} = 'SELECTED';
-    
+
     $selected{'DCIPHER'}{'CAMELLIA-256-CBC'} = '';
     $selected{'DCIPHER'}{'CAMELLIA-192-CBC'} = '';
     $selected{'DCIPHER'}{'CAMELLIA-128-CBC'} = '';
@@ -4989,6 +5035,7 @@ END
     $checked{'DCOMPLZO'}{'off'} = '';
     $checked{'DCOMPLZO'}{'on'} = '';
     $checked{'DCOMPLZO'}{$cgiparams{'DCOMPLZO'}} = 'CHECKED';
+
 # m.a.d
     $checked{'MSSFIX'}{'off'} = '';
     $checked{'MSSFIX'}{'on'} = '';
@@ -5046,7 +5093,7 @@ END
        print "<tr><td class='boldbase'>$Lang::tr{'ovpn on orange'}</td>";
        print "<td><input type='checkbox' name='ENABLED_ORANGE' $checked{'ENABLED_ORANGE'}{'on'} /></td>";
     }  
-    print <<END        
+    print <<END;
     <tr><td class='base' nowrap='nowrap' colspan='2'>$Lang::tr{'local vpn hostname/ip'}:<br /><input type='text' name='VPN_IP' value='$cgiparams{'VPN_IP'}' size='30' /></td>
        <td class='boldbase' nowrap='nowrap' colspan='2'>$Lang::tr{'ovpn subnet'}<br /><input type='TEXT' name='DOVPN_SUBNET' value='$cgiparams{'DOVPN_SUBNET'}' size='30' /></td></tr>
     <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn device'}</td>
@@ -5060,7 +5107,6 @@ END
         <td><input type='TEXT' name='DDEST_PORT' value='$cgiparams{'DDEST_PORT'}' size='5' /></td></tr>
     <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'MTU'}&nbsp;</td>
         <td> <input type='TEXT' name='DMTU' VALUE='$cgiparams{'DMTU'}'size='5' /></td>
-
                <td class='boldbase' nowrap='nowrap'>$Lang::tr{'cipher'}</td>
                <td><select name='DCIPHER'>
                                <option value='CAMELLIA-256-CBC' $selected{'DCIPHER'}{'CAMELLIA-256-CBC'}>CAMELLIA-CBC (256 $Lang::tr{'bit'})</option>
@@ -5084,7 +5130,6 @@ END
     <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'comp-lzo'}</td>
         <td><input type='checkbox' name='DCOMPLZO' $checked{'DCOMPLZO'}{'on'} /></td>
        </tr>
-
     <tr><td colspan='4'><br><br></td></tr>
 END
 ;                                 
@@ -5114,7 +5159,6 @@ END
     &Header::closebox();
 
     if ( -f "${General::swroot}/ovpn/ca/cacert.pem" ) {
-
 ###
 # m.a.d net2net
 #<td width='25%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b><br /><img src='/images/null.gif' width='125' height='1' border='0' alt='L2089' /></td>
index f0100a81673c5f3ab2f379b8509c1aed745093ee..7bceb80ee74230fbbbea1cb9440147cf7e6e5b4d 100644 (file)
@@ -73,6 +73,9 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'})
         if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'COMPORT'} !~ /^(ttyS0|ttyS1|ttyS2|ttyS3|ttyS4|ttyACM0|ttyACM1|ttyACM2|ttyACM3|ttyUSB0|ttyUSB1|ttyUSB2|ttyUSB3|rfcomm0|rfcomm1|isdn1|isdn2)$/) {
                 $errormessage = $Lang::tr{'invalid input'};
                 goto ERROR; }
+        if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'MONPORT'} !~ /^(ttyUSB0|ttyUSB1|ttyUSB2|ttyUSB3)$/) {
+                $errormessage = $Lang::tr{'invalid input'};
+                goto ERROR; }
         if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ && $pppsettings{'DTERATE'} !~ /^(9600|19200|38400|57600|115200|230400|460800|921600)$/) {
                 $errormessage = $Lang::tr{'invalid input'};
                 goto ERROR; }
@@ -338,6 +341,13 @@ $selected{'COMPORT'}{'rfcomm0'} = '';
 $selected{'COMPORT'}{'rfcomm1'} = '';
 $selected{'COMPORT'}{$pppsettings{'COMPORT'}} = "selected='selected'";
 
+$selected{'MONPORT'}{''} = '';
+$selected{'MONPORT'}{'ttyUSB0'} = '';
+$selected{'MONPORT'}{'ttyUSB1'} = '';
+$selected{'MONPORT'}{'ttyUSB2'} = '';
+$selected{'MONPORT'}{'ttyUSB3'} = '';
+$selected{'MONPORT'}{$pppsettings{'MONPORT'}} = "selected='selected'";
+
 $selected{'DTERATE'}{'9600'} = '';
 $selected{'DTERATE'}{'19200'} = '';
 $selected{'DTERATE'}{'38400'} = '';
@@ -586,6 +596,24 @@ END
 ;
                 }
     print "</select></td>       "}
+
+       if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/) {
+               print <<END;
+                       <tr>
+                               <td colspan='3' width='75%'>$Lang::tr{'monitor interface'}:</td>
+                               <td width='25%'>
+                                       <select name="MONPORT" style="width: 165px;">
+                                               <option value="" $selected{'MONPORT'}{''}>---</option>
+                                               <option value="ttyUSB0" $selected{'MONPORT'}{'ttyUSB0'}>ttyUSB0</option>
+                                               <option value="ttyUSB1" $selected{'MONPORT'}{'ttyUSB1'}>ttyUSB1</option>
+                                               <option value="ttyUSB2" $selected{'MONPORT'}{'ttyUSB2'}>ttyUSB2</option>
+                                               <option value="ttyUSB3" $selected{'MONPORT'}{'ttyUSB3'}>ttyUSB3</option>
+                                       </select>
+                               </td>
+                       </tr>
+END
+       }
+
                 if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ ) {
                         print <<END
   <tr>
@@ -929,6 +957,7 @@ sub initprofile
 {
         $pppsettings{'PROFILENAME'} = $Lang::tr{'unnamed'};
         $pppsettings{'COMPORT'} = 'ttyS0';
+        $pppsettings{'MONPORT'} = '';
         $pppsettings{'DTERATE'} = 115200;
         $pppsettings{'SPEAKER'} = 'off';
         $pppsettings{'RECONNECTION'} = 'persistent';
index 6a1f3f28637b7b80eaeb0aa5ec5ad00f1ab76d08..6cf4dfcecb3bfa2288ddf894bf22716349680b3c 100644 (file)
@@ -1,17 +1,15 @@
 %tr = ( 
 %tr,
 
-'Act as' => 'Konfiguriert als',
+'Act as' => 'Konfiguriert als:',
 'Add Level7 rule' => 'Level7-Regel hinzufügen',
 'Add Port Rule' => 'Port-Regel hinzufügen',
 'Add Rule' => 'Regel hinzufügen',
 'Add a route' => 'Eine Route hinzufügen',
 'Async logging enabled' => 'Aktiviere asynchrones Schreiben des Syslogs',
-'bit' => 'Bit',
 'Choose Rule' => 'Wählen Sie <u>eine</u> der untenstehenden Regeln aus.',
 'Class' => 'Klasse',
 'Class was deleted' => 'wurde mit eventuell vorhandenen Unterklassen gelöscht',
-'Client status and controlc' => 'Client-Status und -Kontrolle',
 'ConnSched action' => 'Aktion:',
 'ConnSched add action' => 'Aktion hinzufügen',
 'ConnSched change profile title' => 'Wechsle zu Profil:',
@@ -41,6 +39,7 @@
 'MB read' => 'MB gelesen',
 'MB written' => 'MB geschrieben',
 'MTU' => 'MTU Size:',
+'Number of Countries for the pie chart' => 'Anzahl der angezeigten Länder im Diagramm',
 'Number of IPs for the pie chart' => 'Anzahl der angezeigten IPs im Diagramm',
 'Number of Ports for the pie chart' => 'Anzahl der angezeigten Ports im Diagramm',
 'OVPN' => 'OpenVPN',
 'cant change certificates' => 'Kann Zertifikate nicht Ã¤ndern.',
 'cant enable xtaccess' => 'Die zugehörige Port-Weiterleitungsregel ist deaktiviert, daher können Sie den externen Zugang für diese Regel nicht aktivieren.',
 'cant start openssl' => 'Kann OpenSSL nicht starten',
+'capabilities' => 'Unterstützte Features',
 'caps all' => 'ALLE',
 'capsclosed' => 'GETRENNT',
 'capsinactive' => 'INAKTIV',
 'dns proxy server' => 'DNS-Proxyserver',
 'dns saved' => 'Erfolgreich gespeichert!',
 'dns saved txt' => 'Die beiden eingegebenen DNS-Server-Adressen wurde erfolgreich gespeichert.<br/>Um die Ã„nderung wirksam zu machen, müssen Sie neustarten oder wiederverbinden!',
-'dns server' => 'DNS-Server',
-'dns servers' => 'DNS-Server',
+'dns server' => 'DNS Server',
 'dns title' => 'Domain Name System',
 'dnsforward' => 'DNS-Weiterleitung',
 'dnsforward add a new entry' => 'Neuen Eintrag hinzufügen',
 'donation-text' => '<strong>IPFire</strong> wird von Freiwilligen in ihrer Freizeit betrieben und auch betreut. Um dieses Projekt am Laufen zu halten, entstehen uns natürlich auch Kosten. Wenn Sie uns unterstützen wollen, würden wir uns Ã¼ber eine kleine Spende sehr freuen.',
 'dos charset' => 'DOS Charset',
 'down and up speed' => 'Geben Sie bitte hier ihre Download- bzw. Upload-Geschwindigkeit ein <br /> und klicken Sie danach auf <i>Speichern</i>.',
-'downlink' => 'Downlink',
 'downlink speed' => 'Downlink-Geschwindigkeit (kBit/sek)',
 'downlink std class' => 'Downloadstandardklasse',
 'download' => 'herunterladen',
 'firewall log' => 'Firewall-Protokoll',
 'firewall log viewer' => 'Betrachter der Firewall-Logdateien',
 'firewall logs' => 'Firewall-Logdateien',
+'firewall logs country' => 'Fw-Logdiagramme (Land)',
 'firewall logs ip' => 'Fw-Logdiagramme (IP)',
 'firewall logs port' => 'Fw-Logdiagramme (Port)',
 'firewall rules' => 'Firewallregeln',
 'firewallhits' => 'Firewalltreffer',
 'firmware' => 'Firmware',
 'firmware upload' => 'Hochladen der Firmware/Treiber',
-'first' => 'Erste',
 'fixed ip lease added' => 'Feste IP-Zuordnung hinzugefügt',
 'fixed ip lease modified' => 'Feste IP-Zuordnung geändert',
 'fixed ip lease removed' => 'Feste IP-Zuordnung gelöscht',
 'ike integrity' => 'IKE Integrität:',
 'ike lifetime' => 'IKE Lebensdauer:',
 'ike lifetime should be between 1 and 8 hours' => 'IKE Lebensdauer sollte zwischen 1 und 8 Stunden betragen.',
+'imei' => 'IMEI',
 'import' => 'Import',
 'importkey' => 'PSK importieren',
+'imsi' => 'IMSI',
 'in' => 'Ein',
 'inactive' => 'inaktiv',
 'include logfiles' => 'mit Logdateien',
 'lan' => 'LAN',
 'lang' => 'de',
 'languagepurpose' => 'Wählen Sie eine Sprache, in der IPFire angezeigt werden soll:',
-'last' => 'Letzte',
 'last activity' => 'Letzte Aktivität',
 'lateprompting' => 'Late prompting',
 'lease expires' => 'Zuordnung verfällt',
 'missing dat' => 'Verschlüsseltes Archiv wurde nicht gefunden',
 'missing gz' => 'Nichtverschlüsseltes Archiv wurde nicht gefunden',
 'mode' => 'Modus',
+'model' => 'Modell',
 'modem' => 'Modem',
 'modem configuration' => 'Modem-Konfiguration',
+'modem hardware details' => 'Modem-Hardware',
+'modem information' => 'Modem-Informationen',
+'modem network bit error rate' => 'Bit-Fehlerrate',
+'modem network information' => 'Netzwerkinformationen',
+'modem network mode' => 'Netzwerkmodus',
+'modem network operator' => 'Netzbetreiber',
+'modem network registration' => 'Netzregistrierung',
+'modem network signal quality' => 'Signalqualität',
+'modem no connection' => 'Keine Verbindung',
+'modem no connection message' => 'Es konnte keine Verbindung zum Modem aufgebaut werden.',
 'modem on com1' => 'Modem an COM1',
 'modem on com2' => 'Modem an COM2',
 'modem on com3' => 'Modem an COM3',
 'modem on com4' => 'Modem an COM4',
 'modem on com5' => 'Modem an COM5',
 'modem settings have errors' => 'Modemeinstellungen fehlerhaft',
+'modem sim information' => 'SIM-Informationen',
 'modem speaker on' => 'Modemlautsprecher an:',
+'modem status' => 'Modem-Status',
 'modify' => 'Ändern',
 'modulation' => 'Modulation',
 'monday' => 'Montag',
 'network traffic graphs others' => 'Netzwerk (sonstige)',
 'network updated' => 'Benutzerdefiniertes Netzwerk aktualisiert',
 'networks settings' => 'Firewall - Netzwerkeinstellungen',
+'never' => 'Nie',
 'new optionsfw later' => 'Einige Einstellungen werden erst nach einem Neustart aktiv',
 'new optionsfw must boot' => 'Sie müssen Ihren IPFire neu starten',
 'newer' => 'Neuer',
 'outgoing traffic in bytes per second' => 'Abgehender Verkehr',
 'override mtu' => 'Ãœberschreibe Standard MTU',
 'ovpn' => 'OpenVPN',
-'ovpn crypt options' => 'Kryptografieoptionen',
 'ovpn con stat' => 'OpenVPN Verbindungs-Statistik',
 'ovpn config' => 'OVPN-Konfiguration',
+'ovpn crypt options' => 'Kryptografieoptionen',
 'ovpn device' => 'OpenVPN-Gerät',
 'ovpn dh' => 'Diffie-Hellman Key Länge',
 'ovpn dh upload' => 'Upload Diffie-Hellman Key',
 'ovpn errmsg green already pushed' => 'Route für grünes Netzwerk wird immer gesetzt',
 'ovpn errmsg invalid ip or mask' => 'Ungültige Netzwerk-Adresse oder Subnetzmaske',
 'ovpn generating the root and host certificates' => 'Die Erzeugung der Root- und Host-Zertifikate kann lange Zeit dauern.',
-'ovpn hmac' => 'HMAC Optionen',
 'ovpn ha' => 'Hash Algorithmus',
+'ovpn hmac' => 'HMAC Optionen',
 'ovpn log' => 'OVPN-Log',
 'ovpn mgmt in root range' => 'Ein Port von 1024 oder höher ist erforderlich.',
 'ovpn mtu-disc' => 'Path MTU Discovery',
 'ovpn on orange' => 'OpenVPN auf ORANGE:',
 'ovpn on red' => 'OpenVPN auf ROT:',
 'ovpn port in root range' => 'Ein Port von 1024 oder höher ist erforderlich.',
+'ovpn reneg sec' => 'Session Key Lifetime',
 'ovpn routes push' => 'Routen (eine pro Zeile) z.b. 192.168.10.0/255.255.255.0 192.168.20.0/24',
 'ovpn routes push options' => 'Route push Optionen',
 'ovpn server status' => 'OpenVPN-Server-Status',
 'profile saved' => 'Profil gespeichert: ',
 'profiles' => 'Profile:',
 'proto' => 'Proto',
-'protocol' => 'Protokoll',
+'protocol' => 'Protokoll:',
 'proxy' => 'Proxy',
 'proxy access graphs' => 'Diagramme zur Proxyauslastung',
 'proxy admin password' => 'Cache Administrator Passwort',
 'snort hits' => 'Gesamtanzahl der aktivierten Intrusion-Regeln für',
 'snort working' => 'Snort führt gerade eine Aufgabe aus... Bitte warten Sie, bis diese erfolgreich beendet wurde.',
 'socket options' => 'Socket Options',
+'software version' => 'Software-Version',
 'sort ascending' => 'Sortiere aufsteigend',
 'sort descending' => 'Sortiere absteigend',
 'sound' => 'Klang',
 'source ip' => 'Quell-IP-Adresse',
 'source ip and port' => 'Quell-IP:Port',
 'source ip bad' => 'Ungültige Quell-IP-Adresse.',
+'source ip country' => 'Quell-IP-Adresse Land',
 'source ip in use' => 'Benutzte Quell-IP:',
 'source ip or net' => 'Quellen-IP oder Netz',
 'source net' => 'Quell-Netz',
 'updxlrtr weekly' => 'wöchentlich',
 'updxlrtr year' => 'einem Jahr',
 'upgrade' => 'upgrade',
-'uplink' => 'Uplink',
 'uplink speed' => 'Uplink-Geschwindigkeit (kBit/sek)',
 'uplink std class' => 'Uploadstandardklasse',
 'upload' => 'Hochladen',
 'valid root certificate already exists' => 'Ein gültiges Root-Zertifikat existiert bereits.',
 'valid till' => 'Gültig bis',
 'vci number' => 'VCI-Nummer:',
+'vendor' => 'Hersteller',
 'view log' => 'Log anzeigen',
 'virtual address' => 'Virtuelle Addresse',
 'virtual private networking' => 'Virtuelles Privates Netzwerk',
 'vpn aggrmode' => 'IKE Aggressive Mode zugelassen. Wenn möglich, vermeiden (preshared Schlüssel wird im Klartext Ã¼bertragen)!',
 'vpn altname syntax' => 'Der Subjekt Alternativ Name ist eine durch Komma getrennte Liste von Email, DNS, URI, RID und IP Objekten. <br />Email: eine Email Adresse. Syntax Email: \'copy\' benutzt die Email Adresse aus dem Zertifikatfeld. <br />DNS: ein gültiger Domain Name.<br />URI: eine gültige URI.<br />RID: Registriertes Objekt Identifikation.<br />IP: eine IP Adresse.<br />Bitte beachten: der Zeichensatz ist eingeschränkt und die Groß-/Kleinschreibung ist entscheidend.<br />Beispiel:<br /><b>email:</b>info@ipfire.org<b>,email:</b>copy<b>,DNS:</b>www.ipfire.org<b>,IP:</b>127.0.0.1<b>,URI:</b>http://url/nach/irgendwo',
 'vpn auth-dn' => 'Peer wird identifiziert durch entweder ein IPV4_ADDR, FQDN, USER_FQDN oder DER_ASN1_DN string in Remote ID Feld',
-'vpn configuration main' => 'VPN-Konfiguration',
 'vpn delayed start' => 'Verzögerung bevor VPN gestartet wird (Sekunden)',
 'vpn delayed start help' => 'Falls notwendig, kann diese Verzögerung dazu verwendet werden, um Dynamic-DNS-Updates ordnungsgemäß anzuwenden. 60 ist ein gängiger Wert, wenn ROT (RED) eine dynamische IP Adresse ist.',
 'vpn incompatible use of defaultroute' => 'Hostname=%defaultroute nicht zulässig',
index 99d905e41fa7d94e59ebf56345588dd1dcebfd46..e1186323b628e93272265773a6a3627b2941dc02 100644 (file)
@@ -7,11 +7,9 @@
 'Add Rule' => 'Add rule',
 'Add a route' => 'Add a route',
 'Async logging enabled' => 'Enable asynchronous writing of the syslog file',
-'bit' => 'bit',
 'Choose Rule' => 'Choose <u>one</u> of the following rules.',
 'Class' => 'Class',
 'Class was deleted' => 'with potential subclasses was deleted',
-'Client status and controlc' => 'Client status and control:',
 'ConnSched action' => 'Action:',
 'ConnSched add action' => 'Add action',
 'ConnSched change profile title' => 'Change to profile:',
@@ -41,6 +39,7 @@
 'MB read' => 'MB read',
 'MB written' => 'MB written',
 'MTU' => 'MTU size:',
+'Number of Countries for the pie chart' => 'Number of Countries for the pie chart',
 'Number of IPs for the pie chart' => 'Number of IPs for the pie chart',
 'Number of Ports for the pie chart' => 'Number of ports for the pie chart',
 'OVPN' => 'OpenVPN',
 'behind a proxy' => 'Behind a proxy:',
 'bewan adsl pci st' => 'TO BE REMOVED',
 'bewan adsl usb' => 'TO BE REMOVED',
-'bit' => 'Bit',
+'bit' => 'bit',
 'bitrate' => 'Bitrate',
 'bleeding rules' => 'Bleeding Edge Snort Rules',
 'blue' => 'BLUE',
 'cant change certificates' => 'Can\'t change certificates.',
 'cant enable xtaccess' => 'The associated port forwarding rule is disabled, therefore you cannot enable external access for this rule.',
 'cant start openssl' => 'Can\'t start OpenSSL',
+'capabilities' => 'Capabilities',
 'caps all' => 'ALL',
 'capsclosed' => 'DISCONNECTED',
 'capsinactive' => 'INACTIVE',
 'device' => 'Device',
 'devices on blue' => 'Devices on BLUE',
 'dh' => 'Diffie-Hellman Key',
+'dh key move failed' => 'Diffie-Hellman key move failed.',
+'dh key warn' => 'Diffie-Hellman keys with 1024 and 2048 bit takes up to several minutes, 3072 and 4096 bit might needs several hours. Please be patient.',
+'dh key warn1' => 'For weak systems or systems with little entropy it is recommended to integrate long Diffie-Hellman Keys by usage of the upload function.',
+'dh name is invalid' => 'Name is invalid, please use "dh1024.pem".',
 'dhcp advopt add' => 'Add a DHCP option',
 'dhcp advopt added' => 'DHCP option added',
 'dhcp advopt blank value' => 'DHCP Option value cannot be empty.',
 'dhcp server enabled' => 'DHCP server enabled.  Restarting.',
 'dhcp server enabled on blue interface' => 'DHCP server enabled on BLUE interface',
 'dhcp-options' => 'DHCP push options',
-'dh key warn' => 'Diffie-Hellman keys with 1024 and 2048 bit takes up to several minutes, 3072 and 4096 bit might needs several hours. Please be patient.',
-'dh key warn1' => 'For weak systems or systems with little entropy it is recommended to integrate long Diffie-Hellman Keys by usage of the upload function.',
-'dh key move failed' => 'Diffie-Hellman key move failed.',
 'dial' => 'Connect',
 'dial profile' => 'Connect with profile',
 'dial user password' => 'Dial user password:',
 'dns saved' => 'Successfully saved!',
 'dns saved txt' => 'The two entered DNS server addresses have been saved successfully.<br />You have to reboot or reconnect that the changes have effect!',
 'dns server' => 'DNS Server',
-'dns servers' => 'DNS Servers',
 'dns title' => 'Domain Name System',
 'dnsforward' => 'DNS Forwarding',
 'dnsforward add a new entry' => 'Add a new entry',
 'done' => 'Do it',
 'dos charset' => 'DOS Charset',
 'down and up speed' => 'Enter your Down- and Uplink-Speed <br /> and then press <i>Save</i>.',
-'downlink' => 'Downlink',
 'downlink speed' => 'Downlink speed (kbit/sec)',
 'downlink std class' => 'downlink standard class',
 'download' => 'download',
 'firewall log' => 'Firewall log',
 'firewall log viewer' => 'Firewall Log Viewer',
 'firewall logs' => 'Firewall Logs',
+'firewall logs country' => 'Fw-Loggraphs (Country)',
 'firewall logs ip' => 'Fw-Loggraphs (IP)',
 'firewall logs port' => 'Fw-Loggraphs (Port)',
 'firewall rules' => 'Firewall Rules',
 'firewallhits' => 'firewallhits',
 'firmware' => 'Firmware',
 'firmware upload' => 'Upload Firmware/Drivers',
-'first' => 'First',
 'fixed ip lease added' => 'Fixed IP lease added',
 'fixed ip lease modified' => 'Fixed IP lease modified',
 'fixed ip lease removed' => 'Fixed IP lease removed',
 'ike integrity' => 'IKE Integrity:',
 'ike lifetime' => 'IKE Lifetime:',
 'ike lifetime should be between 1 and 8 hours' => 'IKE lifetime should be between 1 and 8 hours.',
+'imei' => 'IMEI',
 'import' => 'Import',
 'importkey' => 'Import PSK',
+'imsi' => 'IMSI',
 'in' => 'In',
 'inactive' => 'inactive',
 'include logfiles' => 'Include logfiles',
 'lan' => 'LAN',
 'lang' => 'en',
 'languagepurpose' => 'Select the language you wish IPFire to display in:',
-'last' => 'Last',
 'last activity' => 'Last Activity',
 'lateprompting' => 'Lateprompting',
 'lease expires' => 'Lease expires',
 'missing dat' => 'Encrypted archive not found',
 'missing gz' => 'Unencrypted archive not found',
 'mode' => 'Mode',
+'model' => 'Model',
 'modem' => 'Modem',
 'modem configuration' => 'Modem configuration',
+'modem hardware details' => 'Modem Hardware',
+'modem information' => 'Modem Information',
+'modem network bit error rate' => 'Bit Error Rate',
+'modem network information' => 'Network Information',
+'modem network mode' => 'Network Mode',
+'modem network operator' => 'Network Operator',
+'modem network registration' => 'Network Registration',
+'modem network signal quality' => 'Signal Quality',
+'modem no connection' => 'No Connection',
+'modem no connection message' => 'No connection to the modem could be established.',
 'modem on com1' => 'Modem on COM1',
 'modem on com2' => 'Modem on COM2',
 'modem on com3' => 'Modem on COM3',
 'modem on com4' => 'Modem on COM4',
 'modem on com5' => 'Modem on COM5',
 'modem settings have errors' => 'Modem settings have errors',
+'modem sim information' => 'SIM Information',
 'modem speaker on' => 'Modem speaker on:',
+'modem status' => 'Modem Status',
 'modify' => 'Modify',
 'modulation' => 'Modulation',
 'monday' => 'Monday',
 'network traffic graphs others' => 'Network (others)',
 'network updated' => 'Custom Network updated',
 'networks settings' => 'Firewall - Network settings',
+'never' => 'Never',
 'new optionsfw later' => 'Some options need a reboot to take effect',
 'new optionsfw must boot' => 'You must reboot your IPFire',
 'newer' => 'Newer',
 'ovpn con stat' => 'OpenVPN Connection Statistics',
 'ovpn config' => 'OVPN-Config',
 'ovpn crypt options' => 'Cryptographic options',
-'ovpn engines' => 'Crypto engine',
 'ovpn device' => 'OpenVPN device:',
 'ovpn dh' => 'Diffie-Hellman key lenght',
 'ovpn dh upload' => 'Upload Diffie-Hellman Key',
 'ovpn dl' => 'OVPN-Config Download',
+'ovpn engines' => 'Crypto engine',
 'ovpn errmsg green already pushed' => 'Route for green network is always set',
 'ovpn errmsg invalid ip or mask' => 'Invalid network-address or subnetmask',
 'ovpn generating the root and host certificates' => 'Generating the root and host certifictae can take a long time.',
 'ovpn on orange' => 'OpenVPN on ORANGE:',
 'ovpn on red' => 'OpenVPN on RED:',
 'ovpn port in root range' => 'A port number of 1024 or higher is required.',
+'ovpn reneg sec' => 'Session key lifetime:',
 'ovpn routes push' => 'Routes (one per line) e.g. 192.168.10.0/255.255.255.0 192.168.20.0/24',
 'ovpn routes push options' => 'Route push options',
 'ovpn server status' => 'Current OpenVPN server status:',
 'ovpn subnet is invalid' => 'OpenVPN subnet is invalid.',
 'ovpn subnet overlap' => 'OpenVPN Subnet overlaps with : ',
 'ovpn_fastio' => 'Fast-IO',
-'teovpn_fragment' => 'Fragmentsize',
 'ovpn_mssfix' => 'MSSFIX Size',
 'ovpn_mtudisc' => 'MTU-Discovery',
 'ovpn_processprio' => 'Process priority',
 'snort hits' => 'Total of number of Intrusion rules activated for',
 'snort working' => 'Snort is working ... Please wait until all operations have completed successfully.',
 'socket options' => 'Socket options',
+'software version' => 'Software Version',
 'sort ascending' => 'Sort ascending',
 'sort descending' => 'Sort descending',
 'sound' => 'Sound',
 'source ip' => 'Source IP',
 'source ip and port' => 'Source IP: Port',
 'source ip bad' => 'Not a valid IP address or a network address.',
+'source ip country' => 'Source IP Country',
 'source ip in use' => 'Source IP in use:',
 'source ip or net' => 'Source IP or Net',
 'source net' => 'Source Net',
 'telephone not set' => 'Telephone not set.',
 'template' => 'Preset',
 'template warning' => 'You have two options to set up Qos. The First, you press the save button and generate the classes and rules on your own. The second, you press the preset button and classes and rules will be set up by a template.',
+'teovpn_fragment' => 'Fragmentsize',
 'test' => 'test',
 'test email could not be sent' => 'Could not sent Testemail',
 'test email was sent' => 'Testemail was send successfully',
 'updxlrtr weekly' => 'weekly',
 'updxlrtr year' => 'one year',
 'upgrade' => 'upgrade',
-'uplink' => 'Uplink',
 'uplink speed' => 'Uplink speed (kbit/sec)',
 'uplink std class' => 'uplink standard class',
 'upload' => 'Upload',
 'valid root certificate already exists' => 'A valid root certificate already exists.',
 'valid till' => 'Valid till',
 'vci number' => 'VCI number:',
+'vendor' => 'Vendor',
 'view log' => 'view log',
 'virtual address' => 'Virtual Address',
 'virtual private networking' => 'Virtual Private Networking',
 'vpn aggrmode' => 'IKE aggressive mode allowed. Avoid if possible (preshared key is transmitted in clear text)!',
 'vpn altname syntax' => 'SubjectAltName is a comma separated list of e-mail, dns, uri, rid and ip objects.<br />email:an email address. Syntax email:copy takes the email field from the cert to be used.<br />DNS:a valid domain name.<br />URI:any valid uri.<br />RID:registered object identifier.<br />IP:an IP address.<br />Note:charset is limited and case is significant.<br />Example:<br /><b>e-mail:</b>ipfire@foo.org<b>,email:</b>copy<b>,DNS:</b>www.ipfire.org<b>,IP:</b>127.0.0.1<b>,URI:</b>http://url/to/something',
 'vpn auth-dn' => 'Peer is identified by either IPV4_ADDR, FQDN, USER_FQDN or DER_ASN1_DN string in remote ID field',
-'vpn configuration main' => 'VPN Configuration',
 'vpn delayed start' => 'Delay before launching VPN (seconds)',
 'vpn delayed start help' => 'If required, this delay can be used to allow dynamic DNS updates to propagate properly. 60 is a common value when RED is a dynamic IP.',
 'vpn incompatible use of defaultroute' => 'hostname=%defaultroute not allowed',
index 3232d38ecbd7452974dd33838080fed23ad47ef9..fcb08b0d495713ac886d2019a12b7d1a503c0e74 100644 (file)
@@ -80,6 +80,7 @@ $(TARGET) :
        cp $(DIR_SRC)/config/cfgroot/lang.pl                    $(CONFIG_ROOT)/
        cp $(DIR_SRC)/config/cfgroot/countries.pl               $(CONFIG_ROOT)/
        cp $(DIR_SRC)/config/cfgroot/graphs.pl                  $(CONFIG_ROOT)/
+       cp $(DIR_SRC)/config/cfgroot/modem-lib.pl               $(CONFIG_ROOT)/
        cp $(DIR_SRC)/config/cfgroot/advoptions-list            $(CONFIG_ROOT)/dhcp/advoptions-list
        cp $(DIR_SRC)/config/cfgroot/connscheduler-lib.pl       $(CONFIG_ROOT)/connscheduler/lib.pl
        cp $(DIR_SRC)/config/cfgroot/connscheduler.conf         $(CONFIG_ROOT)/connscheduler
index 053d5819861e21180507d8d793ba2615aeb9b026..8c7c81a4916843702b71031ae9e222fc795db05d 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2013  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2014  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
 
 include Config
 
-VER        = 2.3.2
+VER        = 2.3.4
 
 THISAPP    = openvpn-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 06e5f93dbf13f2c19647ca15ffc23ac1
+$(DL_FILE)_MD5 = 9b70be9fb45e407117c3c9b118e4ba22
 
 install : $(TARGET)
 
@@ -69,7 +69,7 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && ./configure \
                --prefix=/usr \
                --sysconfdir=/var/ipfire/ovpn \
similarity index 91%
rename from lfs/vnstati
rename to lfs/perl-Device-Modem
index c7cd6edafbba72f00e2ef61faf38b82d6aa410da..f0609b9285b33e5e67b2f10a459071ee4e991ff8 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2014 IPFire Team  <info@ipfire.org>                           #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,9 +24,9 @@
 
 include Config
 
-VER        = beta3
+VER        = 1.56
 
-THISAPP    = vnstati-$(VER)
+THISAPP    = Device-Modem-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 5652b955e16716cec48da464b083c76f
+$(DL_FILE)_MD5 = a0ec45c3e313bea27ccb476d3b725955
 
 install : $(TARGET)
 
@@ -50,9 +50,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
 
 md5 : $(subst %,%_MD5,$(objects))
 
-dist: 
-       @$(PAK)
-
 ###############################################################################
 # Downloading, checking, md5sum
 ###############################################################################
@@ -73,7 +70,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && make $(MAKETUNING)                                                                             LOCAL_CONFIGURE_OPTIONS="--enable-readline=yes"
+       cd $(DIR_APP) && perl Makefile.PL
+       cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
diff --git a/lfs/perl-Device-SerialPort b/lfs/perl-Device-SerialPort
new file mode 100644 (file)
index 0000000..3eebc07
--- /dev/null
@@ -0,0 +1,77 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2014 IPFire Team  <info@ipfire.org>                           #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.000002
+
+THISAPP    = Device-SerialPort-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = f53db3733679adc5d05d06fa530444b6
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && perl Makefile.PL
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/lfs/ppp b/lfs/ppp
index 5d772fc04321517f232abc75327fbe09d61e6162..ba72f4c835f3c9728dbc5695beec7cc4c09d5980 100644 (file)
--- a/lfs/ppp
+++ b/lfs/ppp
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.4.5
+VER        = 2.4.6
 
 THISAPP    = ppp-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 4621bc56167b6953ec4071043fe0ec57
+$(DL_FILE)_MD5 = 3434d2cc9327167a0723aaaa8670083b
 
 install : $(TARGET)
 
@@ -73,13 +73,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && rm -f include/pcap-int.h include/linux/if_pppol2tp.h
-#      cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ppp-2.4.2-pppoatm.patch
-#      cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ppp-2.4.2-pppoatm-persist.patch
-#      cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ppp-2.4.1-oedod.patch
-#      cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ppp-2.4.2-pppoatm-modprobe.patch
-#      cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ppp-2.4.2-signal.patch
-#      cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ppp-2.4.2-printstats.patch
-#      cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ppp-2.4.2-close.patch
        cd $(DIR_APP) && sed -i -e "s+/etc/ppp/connect-errors+/var/log/connect-errors+" pppd/pathnames.h
        cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls
        cd $(DIR_APP) && make $(MAKETUNING) CC="gcc $(CFLAGS)"
index 3c5f6c54aebdf6ba5b2b757d3dd9ffc3cdde7527..00dc12a10a01a7b918e5f0c87a8ccf30737014fe 100644 (file)
--- a/lfs/squid
+++ b/lfs/squid
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.3.11
+VER        = 3.4.4
 
 THISAPP    = squid-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = dd016ff5f14b2548083b3882207914f6
+$(DL_FILE)_MD5 = dc2bcb967fc6b15bbbc6b961010c0c00
 
 install : $(TARGET)
 
@@ -53,6 +53,7 @@ md5 : $(subst %,%_MD5,$(objects))
 ###############################################################################
 # Downloading, checking, md5sum
 ###############################################################################
+
 $(patsubst %,$(DIR_CHK)/%,$(objects)) :
        @$(CHECK)
 
@@ -116,7 +117,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
                --enable-kill-parent-hack \
                --disable-wccpv2 \
                --enable-icap-client \
-               --disable-esi
+               --disable-esi \
+               --enable-zph-qos
 
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
index 2e7b46c65f310b87ec31b12cb514ef6604042b87..b8c8b2759fa30433100304611ec58f6512a2a0dd 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.6
+VER        = 1.11
 
 THISAPP    = vnstat-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = ccaffe8e70d47e0cf2f25e52daa25712
+$(DL_FILE)_MD5 = a5a113f9176cd61fb954f2ba297f5fdb
 
 install : $(TARGET)
 
@@ -73,7 +73,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && make $(MAKETUNING)                                                                             LOCAL_CONFIGURE_OPTIONS="--enable-readline=yes"
+       cd $(DIR_APP) && make all $(MAKETUNING)                                                                         LOCAL_CONFIGURE_OPTIONS="--enable-readline=yes"
        cd $(DIR_APP) && make install
        sed -i 's|eth0|green0|g' /etc/vnstat.conf
        sed -i 's|/var/lib/vnstat|/var/log/rrd/vnstat|g' /etc/vnstat.conf
diff --git a/make.sh b/make.sh
index 1d85794733628a36e5286f161112d95e54b9f12f..5bff402a4bf65e2ef8ccbb0029819a03a362ece7 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -514,6 +514,8 @@ buildipfire() {
   ipfiremake perl-GD
   ipfiremake GD-Graph
   ipfiremake GD-TextUtil
+  ipfiremake perl-Device-SerialPort
+  ipfiremake perl-Device-Modem
   ipfiremake gnupg
   ipfiremake hdparm
   ipfiremake sdparm
@@ -689,7 +691,6 @@ buildipfire() {
   ipfiremake git
   ipfiremake squidclamav
   ipfiremake vnstat
-  ipfiremake vnstati
   ipfiremake iw
   ipfiremake wpa_supplicant
   ipfiremake hostapd