From cbb3a8f91e2e7aa220b5bc9e9773fa4547f0ce85 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 7 Jan 2014 01:37:00 +0100 Subject: [PATCH] IPsec: Fix and enhance DPD configuration. Also the action option has now moved to the advanced settings page and the design has been improved. --- doc/language_issues.de | 2 +- doc/language_issues.en | 1 - doc/language_issues.es | 6 ++ doc/language_issues.fr | 6 ++ doc/language_issues.nl | 6 ++ doc/language_issues.pl | 6 ++ doc/language_issues.ru | 6 ++ doc/language_issues.tr | 6 ++ doc/language_missings | 16 +++++ html/cgi-bin/vpnmain.cgi | 133 ++++++++++++++++++++++++++------------- langs/de/cgi-bin/de.pl | 6 +- langs/en/cgi-bin/en.pl | 9 ++- 12 files changed, 154 insertions(+), 49 deletions(-) diff --git a/doc/language_issues.de b/doc/language_issues.de index bcc0214230..548acf2a78 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -198,7 +198,6 @@ WARNING: translation string unused: from warn email bad WARNING: translation string unused: fwdfw MODE1 WARNING: translation string unused: fwdfw MODE2 WARNING: translation string unused: fwdfw err prot_port1 -WARNING: translation string unused: fwdfw err tgt_port WARNING: translation string unused: fwdfw final_rule WARNING: translation string unused: fwdfw from WARNING: translation string unused: fwdfw ipsec network @@ -572,6 +571,7 @@ WARNING: untranslated string: Scan for Songs WARNING: untranslated string: advproxy cache-digest WARNING: untranslated string: bytes WARNING: untranslated string: community rules +WARNING: untranslated string: dead peer detection WARNING: untranslated string: emerging rules WARNING: untranslated string: fwhost err hostip WARNING: untranslated string: new diff --git a/doc/language_issues.en b/doc/language_issues.en index 1eccc80a2f..5266bc2d6f 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -221,7 +221,6 @@ WARNING: translation string unused: from warn email bad WARNING: translation string unused: fwdfw MODE1 WARNING: translation string unused: fwdfw MODE2 WARNING: translation string unused: fwdfw err prot_port1 -WARNING: translation string unused: fwdfw err tgt_port WARNING: translation string unused: fwdfw final_rule WARNING: translation string unused: fwdfw from WARNING: translation string unused: fwdfw ipsec network diff --git a/doc/language_issues.es b/doc/language_issues.es index 6b6424a339..553772e30f 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -595,6 +595,7 @@ WARNING: untranslated string: ccd none WARNING: untranslated string: ccd routes WARNING: untranslated string: ccd subnet WARNING: untranslated string: ccd used +WARNING: untranslated string: dead peer detection WARNING: untranslated string: default ip WARNING: untranslated string: deprecated fs warn WARNING: untranslated string: dnat address @@ -605,6 +606,8 @@ WARNING: untranslated string: dnsforward edit an entry WARNING: untranslated string: dnsforward entries WARNING: untranslated string: dnsforward forward_server WARNING: untranslated string: dnsforward zone +WARNING: untranslated string: dpd delay +WARNING: untranslated string: dpd timeout WARNING: untranslated string: drop action WARNING: untranslated string: drop action1 WARNING: untranslated string: drop action2 @@ -664,6 +667,7 @@ WARNING: untranslated string: fwdfw err src_addr WARNING: untranslated string: fwdfw err tgt_addr WARNING: untranslated string: fwdfw err tgt_grp WARNING: untranslated string: fwdfw err tgt_mac +WARNING: untranslated string: fwdfw err tgt_port WARNING: untranslated string: fwdfw err time WARNING: untranslated string: fwdfw external port nat WARNING: untranslated string: fwdfw hint ip1 @@ -774,6 +778,8 @@ WARNING: untranslated string: fwhost used WARNING: untranslated string: fwhost welcome WARNING: untranslated string: grouptype WARNING: untranslated string: integrity +WARNING: untranslated string: invalid input for dpd delay +WARNING: untranslated string: invalid input for dpd timeout WARNING: untranslated string: least preferred WARNING: untranslated string: lifetime WARNING: untranslated string: minute diff --git a/doc/language_issues.fr b/doc/language_issues.fr index 2f7f60d009..3d06db7a91 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -597,6 +597,7 @@ WARNING: untranslated string: ccd none WARNING: untranslated string: ccd routes WARNING: untranslated string: ccd subnet WARNING: untranslated string: ccd used +WARNING: untranslated string: dead peer detection WARNING: untranslated string: default ip WARNING: untranslated string: deprecated fs warn WARNING: untranslated string: dnat address @@ -608,6 +609,8 @@ WARNING: untranslated string: dnsforward edit an entry WARNING: untranslated string: dnsforward entries WARNING: untranslated string: dnsforward forward_server WARNING: untranslated string: dnsforward zone +WARNING: untranslated string: dpd delay +WARNING: untranslated string: dpd timeout WARNING: untranslated string: drop action WARNING: untranslated string: drop action1 WARNING: untranslated string: drop action2 @@ -667,6 +670,7 @@ WARNING: untranslated string: fwdfw err src_addr WARNING: untranslated string: fwdfw err tgt_addr WARNING: untranslated string: fwdfw err tgt_grp WARNING: untranslated string: fwdfw err tgt_mac +WARNING: untranslated string: fwdfw err tgt_port WARNING: untranslated string: fwdfw err time WARNING: untranslated string: fwdfw external port nat WARNING: untranslated string: fwdfw hint ip1 @@ -777,6 +781,8 @@ WARNING: untranslated string: fwhost used WARNING: untranslated string: fwhost welcome WARNING: untranslated string: grouptype WARNING: untranslated string: integrity +WARNING: untranslated string: invalid input for dpd delay +WARNING: untranslated string: invalid input for dpd timeout WARNING: untranslated string: least preferred WARNING: untranslated string: lifetime WARNING: untranslated string: minute diff --git a/doc/language_issues.nl b/doc/language_issues.nl index d543069f31..fdec3dd226 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -563,6 +563,7 @@ WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent WARNING: untranslated string: bytes WARNING: untranslated string: ccd iroute2 +WARNING: untranslated string: dead peer detection WARNING: untranslated string: default ip WARNING: untranslated string: dnat address WARNING: untranslated string: dnsforward @@ -572,6 +573,8 @@ WARNING: untranslated string: dnsforward edit an entry WARNING: untranslated string: dnsforward entries WARNING: untranslated string: dnsforward forward_server WARNING: untranslated string: dnsforward zone +WARNING: untranslated string: dpd delay +WARNING: untranslated string: dpd timeout WARNING: untranslated string: drop action WARNING: untranslated string: drop action1 WARNING: untranslated string: drop action2 @@ -613,6 +616,7 @@ WARNING: untranslated string: fwdfw err src_addr WARNING: untranslated string: fwdfw err tgt_addr WARNING: untranslated string: fwdfw err tgt_grp WARNING: untranslated string: fwdfw err tgt_mac +WARNING: untranslated string: fwdfw err tgt_port WARNING: untranslated string: fwdfw err time WARNING: untranslated string: fwdfw external port nat WARNING: untranslated string: fwdfw hint ip1 @@ -723,6 +727,8 @@ WARNING: untranslated string: fwhost used WARNING: untranslated string: fwhost welcome WARNING: untranslated string: grouptype WARNING: untranslated string: integrity +WARNING: untranslated string: invalid input for dpd delay +WARNING: untranslated string: invalid input for dpd timeout WARNING: untranslated string: least preferred WARNING: untranslated string: lifetime WARNING: untranslated string: most preferred diff --git a/doc/language_issues.pl b/doc/language_issues.pl index 6b6424a339..553772e30f 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -595,6 +595,7 @@ WARNING: untranslated string: ccd none WARNING: untranslated string: ccd routes WARNING: untranslated string: ccd subnet WARNING: untranslated string: ccd used +WARNING: untranslated string: dead peer detection WARNING: untranslated string: default ip WARNING: untranslated string: deprecated fs warn WARNING: untranslated string: dnat address @@ -605,6 +606,8 @@ WARNING: untranslated string: dnsforward edit an entry WARNING: untranslated string: dnsforward entries WARNING: untranslated string: dnsforward forward_server WARNING: untranslated string: dnsforward zone +WARNING: untranslated string: dpd delay +WARNING: untranslated string: dpd timeout WARNING: untranslated string: drop action WARNING: untranslated string: drop action1 WARNING: untranslated string: drop action2 @@ -664,6 +667,7 @@ WARNING: untranslated string: fwdfw err src_addr WARNING: untranslated string: fwdfw err tgt_addr WARNING: untranslated string: fwdfw err tgt_grp WARNING: untranslated string: fwdfw err tgt_mac +WARNING: untranslated string: fwdfw err tgt_port WARNING: untranslated string: fwdfw err time WARNING: untranslated string: fwdfw external port nat WARNING: untranslated string: fwdfw hint ip1 @@ -774,6 +778,8 @@ WARNING: untranslated string: fwhost used WARNING: untranslated string: fwhost welcome WARNING: untranslated string: grouptype WARNING: untranslated string: integrity +WARNING: untranslated string: invalid input for dpd delay +WARNING: untranslated string: invalid input for dpd timeout WARNING: untranslated string: least preferred WARNING: untranslated string: lifetime WARNING: untranslated string: minute diff --git a/doc/language_issues.ru b/doc/language_issues.ru index 5a1296b544..5127491f56 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -590,6 +590,7 @@ WARNING: untranslated string: ccd routes WARNING: untranslated string: ccd subnet WARNING: untranslated string: ccd used WARNING: untranslated string: community rules +WARNING: untranslated string: dead peer detection WARNING: untranslated string: default ip WARNING: untranslated string: deprecated fs warn WARNING: untranslated string: disk access per @@ -601,6 +602,8 @@ WARNING: untranslated string: dnsforward edit an entry WARNING: untranslated string: dnsforward entries WARNING: untranslated string: dnsforward forward_server WARNING: untranslated string: dnsforward zone +WARNING: untranslated string: dpd delay +WARNING: untranslated string: dpd timeout WARNING: untranslated string: drop action WARNING: untranslated string: drop action1 WARNING: untranslated string: drop action2 @@ -650,6 +653,7 @@ WARNING: untranslated string: fwdfw err src_addr WARNING: untranslated string: fwdfw err tgt_addr WARNING: untranslated string: fwdfw err tgt_grp WARNING: untranslated string: fwdfw err tgt_mac +WARNING: untranslated string: fwdfw err tgt_port WARNING: untranslated string: fwdfw err time WARNING: untranslated string: fwdfw external port nat WARNING: untranslated string: fwdfw hint ip1 @@ -761,6 +765,8 @@ WARNING: untranslated string: fwhost welcome WARNING: untranslated string: grouptype WARNING: untranslated string: incoming traffic in bytes per second WARNING: untranslated string: integrity +WARNING: untranslated string: invalid input for dpd delay +WARNING: untranslated string: invalid input for dpd timeout WARNING: untranslated string: least preferred WARNING: untranslated string: lifetime WARNING: untranslated string: minute diff --git a/doc/language_issues.tr b/doc/language_issues.tr index 299c74d64e..e8e130602d 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -576,8 +576,11 @@ WARNING: untranslated string: Scan for Songs WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent WARNING: untranslated string: bytes +WARNING: untranslated string: dead peer detection WARNING: untranslated string: default ip WARNING: untranslated string: dnat address +WARNING: untranslated string: dpd delay +WARNING: untranslated string: dpd timeout WARNING: untranslated string: drop action WARNING: untranslated string: drop action1 WARNING: untranslated string: drop action2 @@ -619,6 +622,7 @@ WARNING: untranslated string: fwdfw err src_addr WARNING: untranslated string: fwdfw err tgt_addr WARNING: untranslated string: fwdfw err tgt_grp WARNING: untranslated string: fwdfw err tgt_mac +WARNING: untranslated string: fwdfw err tgt_port WARNING: untranslated string: fwdfw err time WARNING: untranslated string: fwdfw external port nat WARNING: untranslated string: fwdfw hint ip1 @@ -729,6 +733,8 @@ WARNING: untranslated string: fwhost used WARNING: untranslated string: fwhost welcome WARNING: untranslated string: grouptype WARNING: untranslated string: integrity +WARNING: untranslated string: invalid input for dpd delay +WARNING: untranslated string: invalid input for dpd timeout WARNING: untranslated string: least preferred WARNING: untranslated string: lifetime WARNING: untranslated string: most preferred diff --git a/doc/language_missings b/doc/language_missings index 86f45b004a..952e1e5f2a 100644 --- a/doc/language_missings +++ b/doc/language_missings @@ -70,6 +70,8 @@ < dnsforward entries < dnsforward forward_server < dnsforward zone +< dpd delay +< dpd timeout < drop action < drop action1 < drop action2 @@ -268,6 +270,8 @@ < fw settings ruletable < grouptype < integrity +< invalid input for dpd delay +< invalid input for dpd timeout < least preferred < lifetime < minute @@ -488,6 +492,8 @@ < dnsforward entries < dnsforward forward_server < dnsforward zone +< dpd delay +< dpd timeout < drop action < drop action1 < drop action2 @@ -686,6 +692,8 @@ < fw settings ruletable < grouptype < integrity +< invalid input for dpd delay +< invalid input for dpd timeout < least preferred < lifetime < minute @@ -898,6 +906,8 @@ < dnsforward entries < dnsforward forward_server < dnsforward zone +< dpd delay +< dpd timeout < drop action < drop action1 < drop action2 @@ -1088,6 +1098,8 @@ < fw settings ruletable < grouptype < integrity +< invalid input for dpd delay +< invalid input for dpd timeout < least preferred < lifetime < minute @@ -1287,6 +1299,8 @@ < dnsforward entries < dnsforward forward_server < dnsforward zone +< dpd delay +< dpd timeout < drop action < drop action1 < drop action2 @@ -1481,6 +1495,8 @@ < hour-graph < incoming traffic in bytes per second < integrity +< invalid input for dpd delay +< invalid input for dpd timeout < least preferred < lifetime < minute diff --git a/html/cgi-bin/vpnmain.cgi b/html/cgi-bin/vpnmain.cgi index b9a73e5f24..43d574ce5c 100644 --- a/html/cgi-bin/vpnmain.cgi +++ b/html/cgi-bin/vpnmain.cgi @@ -385,10 +385,19 @@ sub writeipsecfiles { print CONF "\tcompress=yes\n" if ($lconfighash{$key}[13] eq 'on'); # Dead Peer Detection - print CONF "\tdpddelay=$lconfighash{$key}[30]\n"; - print CONF "\tdpdtimeout=$lconfighash{$key}[31]\n"; print CONF "\tdpdaction=$lconfighash{$key}[27]\n"; + my $dpddelay = $lconfighash{$key}[30]; + if (!$dpddelay) { + $dpddelay = 30; + } + print CONF "\tdpddelay=$dpddelay\n"; + my $dpdtimeout = $lconfighash{$key}[31]; + if (!$dpdtimeout) { + $dpdtimeout = 120; + } + print CONF "\tdpdtimeout=$dpdtimeout\n"; + # Build Authentication details: LEFTid RIGHTid : PSK psk my $psk_line; if ($lconfighash{$key}[4] eq 'psk') { @@ -1278,6 +1287,14 @@ END $cgiparams{'DPD_TIMEOUT'} = $confighash{$cgiparams{'KEY'}}[30]; $cgiparams{'DPD_DELAY'} = $confighash{$cgiparams{'KEY'}}[31]; + if (!$cgiparams{'DPD_DELAY'}) { + $cgiparams{'DPD_DELAY'} = 30; + } + + if (!$cgiparams{'DPD_TIMEOUT'}) { + $cgiparams{'DPD_TIMEOUT'} = 120; + } + } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) { $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'}); if ($cgiparams{'TYPE'} !~ /^(host|net)$/) { @@ -1833,6 +1850,14 @@ END $cgiparams{'DPD_ACTION'} = 'restart'; } + if (!$cgiparams{'DPD_DELAY'}) { + $cgiparams{'DPD_DELAY'} = 30; + } + + if (!$cgiparams{'DPD_TIMEOUT'}) { + $cgiparams{'DPD_TIMEOUT'} = 120; + } + # Default IKE Version to v2 if (!$cgiparams{'IKE_VERSION'}) { $cgiparams{'IKE_VERSION'} = 'ikev2'; @@ -1874,11 +1899,6 @@ END $checked{'AUTH'}{'auth-dn'} = ''; $checked{'AUTH'}{$cgiparams{'AUTH'}} = "checked='checked'"; - $selected{'DPD_ACTION'}{'clear'} = ''; - $selected{'DPD_ACTION'}{'hold'} = ''; - $selected{'DPD_ACTION'}{'restart'} = ''; - $selected{'DPD_ACTION'}{$cgiparams{'DPD_ACTION'}} = "selected='selected'"; - $selected{'IKE_VERSION'}{'ikev1'} = ''; $selected{'IKE_VERSION'}{'ikev2'} = ''; $selected{'IKE_VERSION'}{$cgiparams{'IKE_VERSION'}} = "selected='selected'"; @@ -1915,6 +1935,9 @@ END + + + END ; if ($cgiparams{'KEY'}) { @@ -1970,13 +1993,7 @@ END - $Lang::tr{'dpd action'}: - - + $Lang::tr{'remark title'} * @@ -2189,6 +2206,16 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) || goto ADVANCED_ERROR; } + if ($cgiparams{'DPD_DELAY'} !~ /^\d+$/) { + $errormessage = $Lang::tr{'invalid input for dpd delay'}; + goto ADVANCED_ERROR; + } + + if ($cgiparams{'DPD_TIMEOUT'} !~ /^\d+$/) { + $errormessage = $Lang::tr{'invalid input for dpd timeout'}; + goto ADVANCED_ERROR; + } + $confighash{$cgiparams{'KEY'}}[18] = $cgiparams{'IKE_ENCRYPTION'}; $confighash{$cgiparams{'KEY'}}[19] = $cgiparams{'IKE_INTEGRITY'}; $confighash{$cgiparams{'KEY'}}[20] = $cgiparams{'IKE_GROUPTYPE'}; @@ -2227,6 +2254,14 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) || $cgiparams{'DPD_TIMEOUT'} = $confighash{$cgiparams{'KEY'}}[30]; $cgiparams{'DPD_DELAY'} = $confighash{$cgiparams{'KEY'}}[31]; + if (!$cgiparams{'DPD_DELAY'}) { + $cgiparams{'DPD_DELAY'} = 30; + } + + if (!$cgiparams{'DPD_TIMEOUT'}) { + $cgiparams{'DPD_TIMEOUT'} = 120; + } + if ($confighash{$cgiparams{'KEY'}}[3] eq 'net' || $confighash{$cgiparams{'KEY'}}[10]) { $cgiparams{'VHOST'} = 'off'; } @@ -2288,6 +2323,11 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) || $checked{'PFS'} = $cgiparams{'PFS'} eq 'on' ? "checked='checked'" : '' ; $checked{'VHOST'} = $cgiparams{'VHOST'} eq 'on' ? "checked='checked'" : '' ; + $selected{'DPD_ACTION'}{'clear'} = ''; + $selected{'DPD_ACTION'}{'hold'} = ''; + $selected{'DPD_ACTION'}{'restart'} = ''; + $selected{'DPD_ACTION'}{$cgiparams{'DPD_ACTION'}} = "selected='selected'"; + &Header::showhttpheaders(); &Header::openpage($Lang::tr{'vpn configuration main'}, 1, ''); &Header::openbigbox('100%', 'left', '', $errormessage); @@ -2315,14 +2355,14 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) || - + - + - + - + @@ -2380,7 +2420,7 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) || - +
IKE ESP
$Lang::tr{'encryption'}$Lang::tr{'encryption'}
$Lang::tr{'integrity'}$Lang::tr{'integrity'}
$Lang::tr{'lifetime'}$Lang::tr{'lifetime'} $Lang::tr{'hours'}
$Lang::tr{'grouptype'}$Lang::tr{'grouptype'}
+

+ +

$Lang::tr{'dead peer detection'}

+ + + + + + + + + + + + + + +
$Lang::tr{'dpd action'}: + +
$Lang::tr{'dpd timeout'}: + +
$Lang::tr{'dpd delay'}: + +
+
- @@ -2421,7 +2490,7 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) || - - - - - - - - - - EOF ; if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') { diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 90128884b8..568f057cb6 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -749,8 +749,8 @@ 'download pkcs12 file' => 'PKCS12-Datei herunterladen', 'download root certificate' => 'Root-Zertifikat herunterladen', 'dpd action' => 'Aktion für Dead Peer Detection', -'dpd timeout' => 'DPD Zeitüberschreitung', -'dpd delay' => 'DPD Verzögerung', +'dpd delay' => 'Verzögerung', +'dpd timeout' => 'Zeitüberschreitung', 'driver' => 'Treiber', 'drop action' => 'Standardverhalten der (Forward) Firewall in Modus "Blocked"', 'drop action1' => 'Standardverhalten der (Outgoing) Firewall in Modus "Blocked"', @@ -1211,6 +1211,8 @@ 'invalid input for dhcp dns' => 'Ungültige Eingabe für DHCP DNS', 'invalid input for dhcp domain' => 'Ungültige Eingabe für DHCP Domain', 'invalid input for dhcp wins' => 'Ungültige Eingabe für DHCP WINS', +'invalid input for dpd delay' => 'Ungültige Eingabe für DPD-Verzögerung', +'invalid input for dpd timeout' => 'Ungültige Eingabe für DPD-Zeitüberschreitung', 'invalid input for e-mail address' => 'Ungültige Eingabe für die E-mail Adresse', 'invalid input for esp keylife' => 'Ungültige Eingabe für ESP Schlüssel-Lebensdauer', 'invalid input for hostname' => 'Ungültige Eingabe für Hostname', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index ec03edc675..451ea79454 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -634,6 +634,7 @@ 'ddns noip prefix' => 'To use no-ip in group mode, prefix hostname with %', 'deactivate' => 'deactivate', 'deactivate user' => 'deactivate user', +'dead peer detection' => 'Dead Peer Detection', 'debugme' => 'Not yet implemented', 'december' => 'December', 'deep scan directories' => 'Scan recursive', @@ -772,9 +773,9 @@ 'download new ruleset' => 'Download new ruleset', 'download pkcs12 file' => 'Download PKCS12 file', 'download root certificate' => 'Download root certificate', -'dpd action' => 'Dead Peer Detection action', -'dpd timeout' => 'DPD timeout', -'dpd delay' => 'DPD delay', +'dpd action' => 'Action', +'dpd delay' => 'Delay', +'dpd timeout' => 'Timeout', 'driver' => 'Driver', 'drop action' => 'Default behaviour of (forward) firewall in mode "Blocked"', 'drop action1' => 'Default behaviour of (outgoing) firewall in mode "Blocked"', @@ -1239,6 +1240,8 @@ 'invalid input for dhcp dns' => 'Invalid input for DHCP DNS', 'invalid input for dhcp domain' => 'Invalid input for DHCP domain', 'invalid input for dhcp wins' => 'Invalid input for DHCP WINS', +'invalid input for dpd delay' => 'Invalid input for DPD delay', +'invalid input for dpd timeout' => 'Invalid input for DPD timeout', 'invalid input for e-mail address' => 'Invalid input for e-mail address.', 'invalid input for esp keylife' => 'Invalid input for ESP Keylife', 'invalid input for hostname' => 'Invalid input for hostname.', -- 2.39.2
+
+
+
- - - -
- - - -