diff --git a/doc/language_issues.es b/doc/language_issues.es
index 48afe09bb..09dae68d4 100644
--- a/doc/language_issues.es
+++ b/doc/language_issues.es
@@ -1144,6 +1144,7 @@ WARNING: untranslated string: urlfilter redirect template
WARNING: untranslated string: vendor
WARNING: untranslated string: visit us at
WARNING: untranslated string: vpn broken
+WARNING: untranslated string: vpn connecting
WARNING: untranslated string: vpn force mobike
WARNING: untranslated string: vpn keyexchange
WARNING: untranslated string: vpn on-demand
diff --git a/doc/language_issues.fr b/doc/language_issues.fr
index a048e983a..1f4f9c357 100644
--- a/doc/language_issues.fr
+++ b/doc/language_issues.fr
@@ -1161,6 +1161,7 @@ WARNING: untranslated string: urlfilter redirect template
WARNING: untranslated string: vendor
WARNING: untranslated string: visit us at
WARNING: untranslated string: vpn broken
+WARNING: untranslated string: vpn connecting
WARNING: untranslated string: vpn force mobike
WARNING: untranslated string: vpn keyexchange
WARNING: untranslated string: vpn on-demand
diff --git a/doc/language_issues.it b/doc/language_issues.it
index 077ab75e1..6b5639c0f 100644
--- a/doc/language_issues.it
+++ b/doc/language_issues.it
@@ -820,6 +820,7 @@ WARNING: untranslated string: unblock
WARNING: untranslated string: unblock all
WARNING: untranslated string: uncheck all
WARNING: untranslated string: vpn broken
+WARNING: untranslated string: vpn connecting
WARNING: untranslated string: vpn force mobike
WARNING: untranslated string: vpn on-demand
WARNING: untranslated string: vpn start action
diff --git a/doc/language_issues.nl b/doc/language_issues.nl
index c27d5e764..30744829d 100644
--- a/doc/language_issues.nl
+++ b/doc/language_issues.nl
@@ -868,6 +868,7 @@ WARNING: untranslated string: uncheck all
WARNING: untranslated string: upload dh key
WARNING: untranslated string: vendor
WARNING: untranslated string: vpn broken
+WARNING: untranslated string: vpn connecting
WARNING: untranslated string: vpn force mobike
WARNING: untranslated string: vpn on-demand
WARNING: untranslated string: vpn start action
diff --git a/doc/language_issues.pl b/doc/language_issues.pl
index 48afe09bb..09dae68d4 100644
--- a/doc/language_issues.pl
+++ b/doc/language_issues.pl
@@ -1144,6 +1144,7 @@ WARNING: untranslated string: urlfilter redirect template
WARNING: untranslated string: vendor
WARNING: untranslated string: visit us at
WARNING: untranslated string: vpn broken
+WARNING: untranslated string: vpn connecting
WARNING: untranslated string: vpn force mobike
WARNING: untranslated string: vpn keyexchange
WARNING: untranslated string: vpn on-demand
diff --git a/doc/language_issues.ru b/doc/language_issues.ru
index c8595703d..f4944db94 100644
--- a/doc/language_issues.ru
+++ b/doc/language_issues.ru
@@ -1139,6 +1139,7 @@ WARNING: untranslated string: urlfilter redirect template
WARNING: untranslated string: vendor
WARNING: untranslated string: visit us at
WARNING: untranslated string: vpn broken
+WARNING: untranslated string: vpn connecting
WARNING: untranslated string: vpn force mobike
WARNING: untranslated string: vpn keyexchange
WARNING: untranslated string: vpn on-demand
diff --git a/doc/language_issues.tr b/doc/language_issues.tr
index ad150abc2..ac7a82dc1 100644
--- a/doc/language_issues.tr
+++ b/doc/language_issues.tr
@@ -754,6 +754,7 @@ WARNING: untranslated string: routing config added
WARNING: untranslated string: routing config changed
WARNING: untranslated string: routing table
WARNING: untranslated string: vpn broken
+WARNING: untranslated string: vpn connecting
WARNING: untranslated string: vpn on-demand
WARNING: untranslated string: vpn start action
WARNING: untranslated string: vpn start action route
diff --git a/doc/language_missings b/doc/language_missings
index aaf060410..72fe07594 100644
--- a/doc/language_missings
+++ b/doc/language_missings
@@ -562,6 +562,7 @@
< vendor
< visit us at
< vpn broken
+< vpn connecting
< vpn keyexchange
< vpn on-demand
< vpn start action
@@ -1183,6 +1184,7 @@
< vendor
< visit us at
< vpn broken
+< vpn connecting
< vpn keyexchange
< vpn on-demand
< vpn start action
@@ -1769,6 +1771,7 @@
< vendor
< visit us at
< vpn broken
+< vpn connecting
< vpn keyexchange
< vpn on-demand
< vpn start action
@@ -2360,6 +2363,7 @@
< vendor
< visit us at
< vpn broken
+< vpn connecting
< vpn keyexchange
< vpn on-demand
< vpn start action
diff --git a/html/cgi-bin/index.cgi b/html/cgi-bin/index.cgi
index 7c1746259..80a86afb2 100644
--- a/html/cgi-bin/index.cgi
+++ b/html/cgi-bin/index.cgi
@@ -425,6 +425,9 @@ END
if (($line =~ /\"$vpnconfig{$key}[1]\".*IPsec SA established/) || ($line =~/$vpnconfig{$key}[1]\{.*INSTALLED/ )){
$activecolor = $Header::colourgreen;
$activestatus = $Lang::tr{'capsopen'};
+ } elsif ($line =~ /$vpnconfig{$key}[1]\[.*CONNECTING/) {
+ $activecolor = $Header::colourorange;
+ $activestatus = $Lang::tr{'vpn connecting'};
} elsif ($line =~ /$vpnconfig{$key}[1]\{.*ROUTED/) {
$activecolor = $Header::colourorange;
$activestatus = $Lang::tr{'vpn on-demand'};
diff --git a/html/cgi-bin/vpnmain.cgi b/html/cgi-bin/vpnmain.cgi
index 88159499b..d3e4fe8f9 100644
--- a/html/cgi-bin/vpnmain.cgi
+++ b/html/cgi-bin/vpnmain.cgi
@@ -2808,6 +2808,9 @@ END
($line =~ /$confighash{$key}[1]\{.*INSTALLED/)) {
$col1="bgcolor='${Header::colourgreen}'";
$active = "$Lang::tr{'capsopen'}";
+ } elsif ($line =~ /$confighash{$key}[1]\[.*CONNECTING/) {
+ $col1="bgcolor='${Header::colourorange}'";
+ $active = "$Lang::tr{'vpn connecting'}";
} elsif ($line =~ /$confighash{$key}[1]\{.*ROUTED/) {
$col1="bgcolor='${Header::colourorange}'";
$active = "$Lang::tr{'vpn on-demand'}";
diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl
index 0d6836b9a..68d925d8c 100644
--- a/langs/de/cgi-bin/de.pl
+++ b/langs/de/cgi-bin/de.pl
@@ -2606,6 +2606,7 @@
'vpn altname syntax' => 'Der Subjekt Alternativ Name ist eine durch Komma getrennte Liste von Email, DNS, URI, RID und IP Objekten.
Email: eine Email Adresse. Syntax Email: \'copy\' benutzt die Email Adresse aus dem Zertifikatfeld.
DNS: ein gültiger Domain Name.
URI: eine gültige URI.
RID: Registriertes Objekt Identifikation.
IP: eine IP Adresse.
Bitte beachten: der Zeichensatz ist eingeschränkt und die Groß-/Kleinschreibung ist entscheidend.
Beispiel:
email:info@ipfire.org,email:copy,DNS:www.ipfire.org,IP:127.0.0.1,URI: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 broken' => 'Gebrochen',
+'vpn connecting' => 'VERBINDUNGSAUFBAU',
'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',
diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
index 925f66528..4f30f562d 100644
--- a/langs/en/cgi-bin/en.pl
+++ b/langs/en/cgi-bin/en.pl
@@ -2650,6 +2650,7 @@
'vpn auth-dn' => 'Peer is identified by either IPV4_ADDR, FQDN, USER_FQDN or DER_ASN1_DN string in remote ID field',
'vpn broken' => 'Broken',
'vpn configuration main' => 'VPN Configuration',
+'vpn connecting' => 'CONNECTING',
'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 force mobike' => 'Force using MOBIKE (only IKEv2)',