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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
< dnsforward entries
< dnsforward forward_server
< dnsforward zone
+< dpd delay
+< dpd timeout
< drop action
< drop action1
< drop action2
< fw settings ruletable
< grouptype
< integrity
+< invalid input for dpd delay
+< invalid input for dpd timeout
< least preferred
< lifetime
< minute
< dnsforward entries
< dnsforward forward_server
< dnsforward zone
+< dpd delay
+< dpd timeout
< drop action
< drop action1
< drop action2
< fw settings ruletable
< grouptype
< integrity
+< invalid input for dpd delay
+< invalid input for dpd timeout
< least preferred
< lifetime
< minute
< dnsforward entries
< dnsforward forward_server
< dnsforward zone
+< dpd delay
+< dpd timeout
< drop action
< drop action1
< drop action2
< fw settings ruletable
< grouptype
< integrity
+< invalid input for dpd delay
+< invalid input for dpd timeout
< least preferred
< lifetime
< minute
< dnsforward entries
< dnsforward forward_server
< dnsforward zone
+< dpd delay
+< dpd timeout
< drop action
< drop action1
< drop action2
< hour-graph
< incoming traffic in bytes per second
< integrity
+< invalid input for dpd delay
+< invalid input for dpd timeout
< least preferred
< lifetime
< minute
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') {
$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)$/) {
$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';
$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'";
<input type='hidden' name='ONLY_PROPOSED' value='$cgiparams{'ONLY_PROPOSED'}' />
<input type='hidden' name='PFS' value='$cgiparams{'PFS'}' />
<input type='hidden' name='VHOST' value='$cgiparams{'VHOST'}' />
+ <input type='hidden' name='DPD_ACTION' value='$cgiparams{'DPD_ACTION'}' />
+ <input type='hidden' name='DPD_DELAY' value='$cgiparams{'DPD_DELAY'}' />
+ <input type='hidden' name='DPD_TIMEOUT' value='$cgiparams{'DPD_TIMEOUT'}' />
END
;
if ($cgiparams{'KEY'}) {
<option value='ikev1' $selected{'IKE_VERSION'}{'ikev1'}>IKEv1</option>
</select>
</td>
- <td>$Lang::tr{'dpd action'}:</td>
- <td><select name='DPD_ACTION'>
- <option value='clear' $selected{'DPD_ACTION'}{'clear'}>clear</option>
- <option value='hold' $selected{'DPD_ACTION'}{'hold'}>hold</option>
- <option value='restart' $selected{'DPD_ACTION'}{'restart'}>restart</option>
- </select>
- </td>
+ <td colspan="2"></td>
</tr><tr>
<td class='boldbase'>$Lang::tr{'remark title'} <img src='/blob.gif' alt='*' /></td>
<td colspan='3'><input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='55' maxlength='50' /></td>
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'};
$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';
}
$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);
<table width='100%'>
<thead>
<tr>
- <th></th>
+ <th width="15%"></th>
<th>IKE</th>
<th>ESP</th>
</tr>
</thead>
<tbody>
<tr>
- <td class='boldbase'>$Lang::tr{'encryption'}</td>
+ <td class='boldbase' width="15%">$Lang::tr{'encryption'}</td>
<td class='boldbase'>
<select name='IKE_ENCRYPTION' multiple='multiple' size='6' style='width: 100%'>
<option value='aes256' $checked{'IKE_ENCRYPTION'}{'aes256'}>AES (256 bit)</option>
</tr>
<tr>
- <td class='boldbase'>$Lang::tr{'integrity'}</td>
+ <td class='boldbase' width="15%">$Lang::tr{'integrity'}</td>
<td class='boldbase'>
<select name='IKE_INTEGRITY' multiple='multiple' size='6' style='width: 100%'>
<option value='sha2_512' $checked{'IKE_INTEGRITY'}{'sha2_512'}>SHA2 512 bit</option>
</td>
</tr>
<tr>
- <td class='boldbase'>$Lang::tr{'lifetime'}</td>
+ <td class='boldbase' width="15%">$Lang::tr{'lifetime'}</td>
<td class='boldbase'>
<input type='text' name='IKE_LIFETIME' value='$cgiparams{'IKE_LIFETIME'}' size='5' /> $Lang::tr{'hours'}
</td>
</td>
</tr>
<tr>
- <td class='boldbase'>$Lang::tr{'grouptype'}</td>
+ <td class='boldbase' width="15%">$Lang::tr{'grouptype'}</td>
<td class='boldbase'>
<select name='IKE_GROUPTYPE' multiple='multiple' size='6' style='width: 100%'>
<option value='e521' $checked{'IKE_GROUPTYPE'}{'e521'}>ECP-521 (NIST)</option>
</tbody>
</table>
+ <br><br>
+
+ <h2>$Lang::tr{'dead peer detection'}</h2>
+
+ <table width="100%">
+ <tr>
+ <td width="15%">$Lang::tr{'dpd action'}:</td>
+ <td>
+ <select name='DPD_ACTION'>
+ <option value='clear' $selected{'DPD_ACTION'}{'clear'}>clear</option>
+ <option value='hold' $selected{'DPD_ACTION'}{'hold'}>hold</option>
+ <option value='restart' $selected{'DPD_ACTION'}{'restart'}>restart</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td width="15%">$Lang::tr{'dpd timeout'}:</td>
+ <td>
+ <input type='text' name='DPD_TIMEOUT' size='5' value='$cgiparams{'DPD_TIMEOUT'}' />
+ </td>
+ </tr>
+ <tr>
+ <td width="15%">$Lang::tr{'dpd delay'}:</td>
+ <td>
+ <input type='text' name='DPD_DELAY' size='5' value='$cgiparams{'DPD_DELAY'}' />
+ </td>
+ </tr>
+ </table>
+
<hr>
<table width="100%">
<tr>
- <td colspan='2'>
+ <td>
<label>
<input type='checkbox' name='ONLY_PROPOSED' $checked{'ONLY_PROPOSED'} />
IKE+ESP: $Lang::tr{'use only proposed settings'}</td>
</td>
</tr>
<tr>
- <td colspan='2'>
+ <td>
<label>
<input type='checkbox' name='PFS' $checked{'PFS'} />
$Lang::tr{'pfs yes no'}
</td>
</tr>
<tr>
- <td colspan='2'>
+ <td>
<label>
<input type='checkbox' name='COMPRESSION' $checked{'COMPRESSION'} />
$Lang::tr{'vpn payload compression'}
</label>
</td>
</tr>
- <tr>
- <td width='20%'>
- <label>
- $Lang::tr{'dpd timeout'}
- </label>
- </td>
- <td>
- <input type='text' name='DPD_TIMEOUT' size='5' value='$cgiparams{'DPD_TIMEOUT'}' />
- </td>
- </tr>
- <tr>
- <td width='20%'>
- <label>
- $Lang::tr{'dpd delay'}
- </label>
- </td>
- <td>
- <input type='text' name='DPD_DELAY' size='5' value='$cgiparams{'DPD_DELAY'}' />
- </td>
- </tr>
EOF
;
if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') {
'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"',
'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',
'ddns noip prefix' => 'To use no-ip in group mode, prefix hostname with <b>%</b>',
'deactivate' => 'deactivate',
'deactivate user' => 'deactivate user',
+'dead peer detection' => 'Dead Peer Detection',
'debugme' => 'Not yet implemented',
'december' => 'December',
'deep scan directories' => 'Scan recursive',
'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"',
'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.',