From: Michael Tremer Date: Tue, 22 Jan 2019 13:15:48 +0000 (+0000) Subject: Add routed IPsec connections to traffic graphs section X-Git-Tag: v2.23-core131~197^2~2 X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff_plain;h=1e2b25778909f3e64bdbe67ec81fa5937940a594 Add routed IPsec connections to traffic graphs section Signed-off-by: Michael Tremer --- diff --git a/doc/language_issues.de b/doc/language_issues.de index a7505ed33f..c503d55449 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -712,11 +712,14 @@ 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 delayed start +WARNING: translation string unused: vpn delayed start help WARNING: translation string unused: vpn incompatible use of defaultroute WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue WARNING: translation string unused: vpn on green WARNING: translation string unused: vpn on orange +WARNING: translation string unused: vpn red name WARNING: translation string unused: vpn watch WARNING: translation string unused: warn when traffic reaches WARNING: translation string unused: web proxy configuration @@ -781,6 +784,7 @@ WARNING: untranslated string: invalid input for interface mode = Invalid input f WARNING: untranslated string: invalid input for interface mtu = Invalid input to interface MTU WARNING: untranslated string: invalid input for local ip address = Invalid input for local IP address WARNING: untranslated string: invalid input for mode = Invalid input for mode +WARNING: untranslated string: ipsec connection = unknown string WARNING: untranslated string: ipsec interface mode gre = GRE WARNING: untranslated string: ipsec interface mode none = - None (Default) - WARNING: untranslated string: ipsec interface mode vti = VTI diff --git a/doc/language_issues.en b/doc/language_issues.en index f5437d3b8b..437aa46909 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -1133,6 +1133,7 @@ WARNING: untranslated string: ipfire side is invalid = IPFire side is invalid. WARNING: untranslated string: ipfires hostname = IPFire's Hostname WARNING: untranslated string: ipinfo = IP info WARNING: untranslated string: ipsec = IPsec +WARNING: untranslated string: ipsec connection = unknown string WARNING: untranslated string: ipsec interface mode gre = GRE WARNING: untranslated string: ipsec interface mode none = - None (Default) - WARNING: untranslated string: ipsec interface mode vti = VTI @@ -2051,8 +2052,6 @@ WARNING: untranslated string: vpn altname syntax = SubjectAltName is a comma sep WARNING: untranslated string: vpn auth-dn = Peer is identified by either IPV4_ADDR, FQDN, USER_FQDN or DER_ASN1_DN string in remote ID field WARNING: untranslated string: vpn broken = Broken WARNING: untranslated string: vpn connecting = CONNECTING -WARNING: untranslated string: vpn delayed start = Delay before launching VPN (seconds) -WARNING: untranslated string: 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. WARNING: untranslated string: vpn force mobike = Force using MOBIKE (only IKEv2) WARNING: untranslated string: vpn inactivity timeout = Inactivity Timeout WARNING: untranslated string: vpn keyexchange = Keyexchange @@ -2061,7 +2060,6 @@ WARNING: untranslated string: vpn missing remote id = You must specify a correct WARNING: untranslated string: vpn no full pki = missing private key to generate cert WARNING: untranslated string: vpn on-demand = ON-DEMAND WARNING: untranslated string: vpn payload compression = Negotiate payload compression -WARNING: untranslated string: vpn red name = Public IP or FQDN for RED interface or <%defaultroute> WARNING: untranslated string: vpn remote id = Remote ID WARNING: untranslated string: vpn start action = Start Action WARNING: untranslated string: vpn start action add = Wait for connection initiation diff --git a/doc/language_issues.es b/doc/language_issues.es index 71031edc55..1651af0d4d 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -633,11 +633,14 @@ 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 delayed start +WARNING: translation string unused: vpn delayed start help WARNING: translation string unused: vpn incompatible use of defaultroute WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue WARNING: translation string unused: vpn on green WARNING: translation string unused: vpn on orange +WARNING: translation string unused: vpn red name WARNING: translation string unused: vpn watch WARNING: translation string unused: warn when traffic reaches WARNING: translation string unused: web proxy configuration @@ -1063,6 +1066,7 @@ WARNING: untranslated string: invalid input for valid till days = Invalid input WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname WARNING: untranslated string: invalid logserver protocol = Invalid syslogd server protocol WARNING: untranslated string: ipsec = IPsec +WARNING: untranslated string: ipsec connection = unknown string WARNING: untranslated string: ipsec interface mode gre = GRE WARNING: untranslated string: ipsec interface mode none = - None (Default) - WARNING: untranslated string: ipsec interface mode vti = VTI diff --git a/doc/language_issues.fr b/doc/language_issues.fr index c183da0e52..0eda4fd6e2 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -750,11 +750,14 @@ 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 delayed start +WARNING: translation string unused: vpn delayed start help WARNING: translation string unused: vpn incompatible use of defaultroute WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue WARNING: translation string unused: vpn on green WARNING: translation string unused: vpn on orange +WARNING: translation string unused: vpn red name WARNING: translation string unused: vpn watch WARNING: translation string unused: warn when traffic reaches WARNING: translation string unused: web proxy configuration @@ -817,6 +820,7 @@ WARNING: untranslated string: invalid input for interface mtu = Invalid input to WARNING: untranslated string: invalid input for local ip address = Invalid input for local IP address WARNING: untranslated string: invalid input for mode = Invalid input for mode WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname +WARNING: untranslated string: ipsec connection = unknown string WARNING: untranslated string: ipsec interface mode gre = GRE WARNING: untranslated string: ipsec interface mode none = - None (Default) - WARNING: untranslated string: ipsec interface mode vti = VTI diff --git a/doc/language_issues.it b/doc/language_issues.it index 0b386bb900..4bfd5adbaa 100644 --- a/doc/language_issues.it +++ b/doc/language_issues.it @@ -722,11 +722,14 @@ 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 delayed start +WARNING: translation string unused: vpn delayed start help WARNING: translation string unused: vpn incompatible use of defaultroute WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue WARNING: translation string unused: vpn on green WARNING: translation string unused: vpn on orange +WARNING: translation string unused: vpn red name WARNING: translation string unused: vpn watch WARNING: translation string unused: warn when traffic reaches WARNING: translation string unused: web proxy configuration @@ -894,6 +897,7 @@ WARNING: untranslated string: invalid input for mode = Invalid input for mode WARNING: untranslated string: invalid input for valid till days = Invalid input for Valid till (days). WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname WARNING: untranslated string: invalid logserver protocol = Invalid syslogd server protocol +WARNING: untranslated string: ipsec connection = unknown string WARNING: untranslated string: ipsec interface mode gre = GRE WARNING: untranslated string: ipsec interface mode none = - None (Default) - WARNING: untranslated string: ipsec interface mode vti = VTI diff --git a/doc/language_issues.nl b/doc/language_issues.nl index 6b2c7877ff..030c95f5a3 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -717,11 +717,14 @@ 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 delayed start +WARNING: translation string unused: vpn delayed start help WARNING: translation string unused: vpn incompatible use of defaultroute WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue WARNING: translation string unused: vpn on green WARNING: translation string unused: vpn on orange +WARNING: translation string unused: vpn red name WARNING: translation string unused: vpn watch WARNING: translation string unused: warn when traffic reaches WARNING: translation string unused: web proxy configuration @@ -908,6 +911,7 @@ WARNING: untranslated string: invalid input for mode = Invalid input for mode WARNING: untranslated string: invalid input for valid till days = Invalid input for Valid till (days). WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname WARNING: untranslated string: invalid logserver protocol = Invalid syslogd server protocol +WARNING: untranslated string: ipsec connection = unknown string WARNING: untranslated string: ipsec interface mode gre = GRE WARNING: untranslated string: ipsec interface mode none = - None (Default) - WARNING: untranslated string: ipsec interface mode vti = VTI diff --git a/doc/language_issues.pl b/doc/language_issues.pl index 71031edc55..1651af0d4d 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -633,11 +633,14 @@ 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 delayed start +WARNING: translation string unused: vpn delayed start help WARNING: translation string unused: vpn incompatible use of defaultroute WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue WARNING: translation string unused: vpn on green WARNING: translation string unused: vpn on orange +WARNING: translation string unused: vpn red name WARNING: translation string unused: vpn watch WARNING: translation string unused: warn when traffic reaches WARNING: translation string unused: web proxy configuration @@ -1063,6 +1066,7 @@ WARNING: untranslated string: invalid input for valid till days = Invalid input WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname WARNING: untranslated string: invalid logserver protocol = Invalid syslogd server protocol WARNING: untranslated string: ipsec = IPsec +WARNING: untranslated string: ipsec connection = unknown string WARNING: untranslated string: ipsec interface mode gre = GRE WARNING: untranslated string: ipsec interface mode none = - None (Default) - WARNING: untranslated string: ipsec interface mode vti = VTI diff --git a/doc/language_issues.ru b/doc/language_issues.ru index d1de58a55d..f9c75bb7ef 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -636,11 +636,14 @@ 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 delayed start +WARNING: translation string unused: vpn delayed start help WARNING: translation string unused: vpn incompatible use of defaultroute WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue WARNING: translation string unused: vpn on green WARNING: translation string unused: vpn on orange +WARNING: translation string unused: vpn red name WARNING: translation string unused: vpn watch WARNING: translation string unused: warn when traffic reaches WARNING: translation string unused: web proxy configuration @@ -1065,6 +1068,7 @@ WARNING: untranslated string: invalid input for valid till days = Invalid input WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname WARNING: untranslated string: invalid logserver protocol = Invalid syslogd server protocol WARNING: untranslated string: ipsec = IPsec +WARNING: untranslated string: ipsec connection = unknown string WARNING: untranslated string: ipsec interface mode gre = GRE WARNING: untranslated string: ipsec interface mode none = - None (Default) - WARNING: untranslated string: ipsec interface mode vti = VTI diff --git a/doc/language_issues.tr b/doc/language_issues.tr index 86a9689db6..fe593796e5 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -750,11 +750,14 @@ 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 delayed start +WARNING: translation string unused: vpn delayed start help WARNING: translation string unused: vpn incompatible use of defaultroute WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue WARNING: translation string unused: vpn on green WARNING: translation string unused: vpn on orange +WARNING: translation string unused: vpn red name WARNING: translation string unused: vpn watch WARNING: translation string unused: warn when traffic reaches WARNING: translation string unused: web proxy configuration @@ -820,6 +823,7 @@ WARNING: untranslated string: invalid input for interface mtu = Invalid input to WARNING: untranslated string: invalid input for local ip address = Invalid input for local IP address WARNING: untranslated string: invalid input for mode = Invalid input for mode WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname +WARNING: untranslated string: ipsec connection = unknown string WARNING: untranslated string: ipsec interface mode gre = GRE WARNING: untranslated string: ipsec interface mode none = - None (Default) - WARNING: untranslated string: ipsec interface mode vti = VTI diff --git a/html/cgi-bin/netovpnsrv.cgi b/html/cgi-bin/netovpnsrv.cgi index ddf41771a5..77c69cddb1 100755 --- a/html/cgi-bin/netovpnsrv.cgi +++ b/html/cgi-bin/netovpnsrv.cgi @@ -35,8 +35,20 @@ my %mainsettings = (); &General::readhash("${General::swroot}/main/settings", \%mainsettings); &General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color); +my %vpnsettings = (); +&General::readhasharray("${General::swroot}/vpn/config", \%vpnsettings); + my @vpns=(); +# Make list of all IPsec graphs +my %ipsecgraphs = (); +foreach my $key (sort {$vpnsettings{$a}[1] <=> $vpnsettings{$b}[1]} keys %vpnsettings) { + my $interface_mode = $vpnsettings{$key}[36]; + next unless ($interface_mode); + + $ipsecgraphs{$vpnsettings{$key}[1]} = "${interface_mode}${key}"; +} + my @querry = split(/\?/,$ENV{'QUERY_STRING'}); $querry[0] = '' unless defined $querry[0]; $querry[1] = 'week' unless defined $querry[1]; @@ -44,7 +56,11 @@ $querry[1] = 'week' unless defined $querry[1]; if ( $querry[0] ne ""){ print "Content-type: image/png\n\n"; binmode(STDOUT); - &Graphs::updatevpnn2ngraph($querry[0],$querry[1]); + if (grep { $_ eq $querry[0] } values %ipsecgraphs) { + &Graphs::updateifgraph($querry[0],$querry[1]); + } else { + &Graphs::updatevpnn2ngraph($querry[0],$querry[1]); + } }else{ &Header::showhttpheaders(); &Header::openpage($Lang::tr{'vpn statistic n2n'}, 1, ''); @@ -56,7 +72,13 @@ if ( $querry[0] ne ""){ push(@vpns,$2); } } - if (@vpns){ + if (@vpns || %ipsecgraphs) { + foreach my $name (sort keys %ipsecgraphs) { + &Header::openbox('100%', 'center', "$Lang::tr{'ipsec connection'}: $name"); + &Graphs::makegraphbox("netovpnsrv.cgi", $ipsecgraphs{$name}, "day"); + &Header::closebox(); + } + foreach (@vpns) { &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}"); &Graphs::makegraphbox("netovpnsrv.cgi",$_, "day"); diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 3f799d3b83..45af958a5b 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1,6 +1,7 @@ %tr = ( %tr, +'ipsec connection' => 'IPsec Connection', '24 hours' => '24 Hours', 'Act as' => 'Act as:', 'Add Level7 rule' => 'Add Level7 rule',