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

12 files changed:
1  2 
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/ovpnmain.cgi
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl

@@@ -408,11 -409,10 +408,10 @@@ WARNING: translation string unused: out
  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 engines
  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
@@@ -145,6 -146,6 +145,7 @@@ WARNING: translation string unused: des
  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
@@@ -434,13 -435,12 +435,11 @@@ WARNING: translation string unused: out
  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 engines
  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
@@@ -546,6 -550,6 +545,7 @@@ WARNING: translation string unused: suc
  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
@@@ -633,9 -636,6 +633,10 @@@ WARNING: untranslated string: countryco
  WARNING: untranslated string: dead peer detection
  WARNING: untranslated string: deprecated fs warn
  WARNING: untranslated string: details
- WARNING: untranslated string: dh name is invalid
 +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
@@@ -871,14 -851,8 +872,15 @@@ WARNING: untranslated string: othe
  WARNING: untranslated string: outgoing firewall access
  WARNING: untranslated string: outgoing firewall p2p allow
  WARNING: untranslated string: outgoing firewall p2p deny
- WARNING: untranslated string: ovpn dh name
 +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
@@@ -643,9 -646,6 +643,10 @@@ WARNING: untranslated string: countryco
  WARNING: untranslated string: dead peer detection
  WARNING: untranslated string: deprecated fs warn
  WARNING: untranslated string: details
- WARNING: untranslated string: dh name is invalid
 +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
@@@ -882,12 -862,6 +883,13 @@@ WARNING: untranslated string: openvpn p
  WARNING: untranslated string: openvpn subnet is used
  WARNING: untranslated string: other
  WARNING: untranslated string: outgoing firewall access
- WARNING: untranslated string: ovpn dh name
 +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
@@@ -648,39 -652,9 +648,41 @@@ WARNING: untranslated string: Number o
  WARNING: untranslated string: Scan for Songs
  WARNING: untranslated string: atm device
  WARNING: untranslated string: bytes
- WARNING: untranslated string: dh name is invalid
 +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: ovpn dh name
 +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
@@@ -633,9 -636,6 +633,10 @@@ WARNING: untranslated string: countryco
  WARNING: untranslated string: dead peer detection
  WARNING: untranslated string: deprecated fs warn
  WARNING: untranslated string: details
- WARNING: untranslated string: dh name is invalid
 +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
@@@ -871,14 -851,8 +872,15 @@@ WARNING: untranslated string: othe
  WARNING: untranslated string: outgoing firewall access
  WARNING: untranslated string: outgoing firewall p2p allow
  WARNING: untranslated string: outgoing firewall p2p deny
- WARNING: untranslated string: ovpn dh name
 +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
@@@ -637,9 -640,6 +637,10 @@@ WARNING: untranslated string: countryco
  WARNING: untranslated string: dead peer detection
  WARNING: untranslated string: deprecated fs warn
  WARNING: untranslated string: details
- WARNING: untranslated string: dh name is invalid
 +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
@@@ -866,12 -846,6 +867,13 @@@ WARNING: untranslated string: openvpn s
  WARNING: untranslated string: other
  WARNING: untranslated string: outgoing firewall access
  WARNING: untranslated string: outgoing traffic in bytes per second
- WARNING: untranslated string: ovpn dh name
 +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
@@@ -643,40 -648,9 +643,42 @@@ WARNING: translation string unused: xta
  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: dh name is invalid
 +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: ovpn dh name
 +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
@@@ -6,6 -6,6 +6,7 @@@
  ############################################################################
  < addon
  < ccd maxclients
++< ovpn_fragment
  ############################################################################
  # Checking install/setup translations for language: fr                     #
  ############################################################################
  < default ip
  < deprecated fs warn
  < details
- < dh name is invalid
 +< dh
++< dh key move failed
 +< dh key warn
++< dh key warn1
  < dnat address
  < dns address deleted txt
  < dnsforward
  < other
  < our donors
  < outgoing firewall access
- < ovpn dh name
 +< 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
  < default ip
  < deprecated fs warn
  < details
- < dh name is invalid
 +< dh
++< dh key move failed
 +< dh key warn
++< dh key warn1
  < dnat address
  < dnsforward
  < dnsforward add a new entry
  < outgoing firewall p2p description 2
  < outgoing firewall p2p description 3
  < outgoing firewall view group
- < ovpn dh name
 +< 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
  < default ip
  < deprecated fs warn
  < details
- < dh name is invalid
 +< dh
++< dh key move failed
 +< dh key warn
++< dh key warn1
  < dnat address
  < dnsforward
  < dnsforward add a new entry
  < other
  < our donors
  < outgoing firewall access
- < ovpn dh name
 +< 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
  < default ip
  < deprecated fs warn
  < details
- < dh name is invalid
 +< dh
++< dh key move failed
 +< dh key warn
++< dh key warn1
  < disk access per
  < dnat address
  < dnsforward
  < our donors
  < outgoing firewall access
  < outgoing traffic in bytes per second
- < ovpn dh name
 +< 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
@@@ -19,7 -19,7 +19,6 @@@
  #                                                                             #
  ###############################################################################
  ###
- # Based on IPFireCore 76
 -# Based on IPFireCore 77
  ###
  use CGI;
  use CGI qw/:standard/;
@@@ -1205,15 -1203,15 +1248,15 @@@ SETTINGS_ERROR
        }
      }
      while ($file = glob("${General::swroot}/ovpn/ca/*")) {
-               unlink $file
+       unlink $file;
      }
      while ($file = glob("${General::swroot}/ovpn/certs/*")) {
-               unlink $file
+       unlink $file;
      }
      while ($file = glob("${General::swroot}/ovpn/crls/*")) {
-               unlink $file
+       unlink $file;
      }
 -    &cleanssldatabase();
 +      &cleanssldatabase();
      if (open(FILE, ">${General::swroot}/ovpn/caconfig")) {
          print FILE "";
          close FILE;
                        <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>
                        <tr>
@@@ -2452,23 -2467,29 +2513,32 @@@ if ($confighash{$cgiparams{'KEY'}}[3] e
  #    }
  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';
+     }
+     if ($cgiparams{'ENGINES'} eq '') {
+       $cgiparams{'ENGINES'} = 'disabled';
+     }
+     if ($cgiparams{'TLSAUTH'} eq '') {
+       $cgiparams{'TLSAUTH'} = 'off';
+     }
      $checked{'CLIENT2CLIENT'}{'off'} = '';
      $checked{'CLIENT2CLIENT'}{'on'} = '';
      $checked{'CLIENT2CLIENT'}{$cgiparams{'CLIENT2CLIENT'}} = 'CHECKED';
      $selected{'DAUTH'}{'SHA512'} = '';
      $selected{'DAUTH'}{'SHA384'} = '';
      $selected{'DAUTH'}{'SHA256'} = '';
-     $selected{'DAUTH'}{'ecdsa-with-SHA1'} = '';
      $selected{'DAUTH'}{'SHA1'} = '';
      $selected{'DAUTH'}{$cgiparams{'DAUTH'}} = 'SELECTED';
 -   
+     $checked{'TLSAUTH'}{'off'} = '';
+     $checked{'TLSAUTH'}{'on'} = '';
+     $checked{'TLSAUTH'}{$cgiparams{'TLSAUTH'}} = 'CHECKED';
+     $selected{'ENGINES'}{'cryptodev'} = '';
+     $selected{'ENGINES'}{'dynamic'} = '';
+     $selected{'ENGINES'}{'aesni'} = '';
+     $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);    
@@@ -2577,14 -2606,16 +2655,16 @@@ print <<END
          <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>
-       <tr>
+       </tr>
+       <tr>
          <td class='base'>mssfix</td>
          <td><input type='checkbox' name='MSSFIX' $checked{'MSSFIX'}{'on'} /></td>
-       </tr>
+         <td>$Lang::tr{'openvpn default'}: off</td>
+         </tr>
        <tr>
                <td class='base'>$Lang::tr{'ovpn mtu-disc'}</td>
                <td><input type='radio' name='PMTU_DISCOVERY' value='yes' $checked{'PMTU_DISCOVERY'}{'yes'} /> $Lang::tr{'ovpn mtu-disc yes'}</td>
  </table>
  
  <hr size='1'>
 -    <table width='100%'>
 +<table width='100%'>
      <tr>
-               <td class'base'><b>$Lang::tr{'log-options'}</b></td>
+       <td class'base'><b>$Lang::tr{'log-options'}</b></td>
      </tr>
      <tr>
-               <td width='20%'></td> <td width='30%'> </td><td width='25%'> </td><td width='25%'></td>
+       <td width='20%'></td> <td width='30%'> </td><td width='25%'> </td><td width='25%'></td>
      </tr>
  
      <tr><td class='base'>VERB</td>
                        </select>
                </td>
                <td>Default: <span class="base">SHA1 (160 $Lang::tr{'bit'})</span></td>
- </table><hr>
+     </tr>
+     <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn engines'}</td>
+               <td><select name='ENGINES'>
+                               <option value='cryptodev'               $selected{'ENGINES'}{'cryptodev'}>Cryptodev</option>
+                               <option value='dynamic'                 $selected{'ENGINES'}{'dynamic'}>Dynamic</option>
+                               <option value='aesni'                   $selected{'ENGINES'}{'aesni'}>AES-NI</option>
+                               <option value='padlock'                 $selected{'ENGINES'}{'padlock'}>Padlock</option>
+                               <option value='disabled'                $selected{'ENGINES'}{'disabled'}>$Lang::tr{'disabled'}</option>
+                       </select>
+               </td>
+               <td>Default: <span class="base">$Lang::tr{'disabled'}</span></td>
+       </tr>
+ </table>
+ <table width='100%'>
+     <tr>
+       <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'>HMAC tls-auth</td>
+       <td><input type='checkbox' name='TLSAUTH' $checked{'TLSAUTH'}{'on'} /></td>
+     </tr>
+     </table><hr>
  END
  
  if ( -e "/var/run/openvpn.pid"){
@@@ -2720,11 -2773,11 +2820,11 @@@ if ($cgiparams{'ACTION'} eq "edit")
        
        &Header::openbox('100%', 'LEFT', $Lang::tr{'ccd modify'});
  
-     print <<END;
-     <table width='100%' border=0>
+       print <<END;
+     <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>
@@@ -3180,8 -3233,8 +3280,9 @@@ EN
        
  my $complzoactive;
  my $mssfixactive;
 +my $authactive;
  my $n2nfragment;
+ my $authactive;
  my @n2nmtudisc = split(/ /, (grep { /^mtu-disc/ } @firen2nconf)[0]);
  my @n2nproto2 = split(/ /, (grep { /^proto/ } @firen2nconf)[0]);
  my @n2nproto = split(/-/, $n2nproto2[1]);
@@@ -3296,10 -3350,12 +3398,11 @@@ foreach my $dkey (keys %confighash) 
        $confighash{$key}[29] = $n2nport[1];
        $confighash{$key}[30] = $complzoactive;
        $confighash{$key}[31] = $n2ntunmtu[1];
-       $confighash{$key}[38] = $n2nmtudisc[1]; 
+       $confighash{$key}[38] = $n2nmtudisc[1];
        $confighash{$key}[39] = $n2nauth[1];
        $confighash{$key}[40] = $n2ncipher[1];
+       $confighash{$key}[41] = 'disabled';
  
 -
    &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
   
    N2N_ERROR:
                <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>
+               <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>
                <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn hmac'}:</td><td><b>$confighash{$key}[39]</b></td></tr>
                <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'cipher'}</td><td><b>$confighash{$key}[40]</b></td></tr>
                <tr><td>&nbsp;</td><td>&nbsp;</td></tr> 
@@@ -4163,7 -4221,9 +4268,8 @@@ if ($cgiparams{'TYPE'} eq 'net') 
        $confighash{$key}[38]           = $cgiparams{'PMTU_DISCOVERY'};
        $confighash{$key}[39]           = $cgiparams{'DAUTH'};
        $confighash{$key}[40]           = $cgiparams{'DCIPHER'};
+       $confighash{$key}[42]           = $cgiparams{'ENGINES'};
  
 -
        &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
        
        if ($cgiparams{'CHECK1'} ){
            } 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>
                        </td>
                </tr>
  
-               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'MTU'}&nbsp;<img src='/blob.gif' /></td>
+               <tr><td colspan=2><hr /></td></tr><tr>
+                       <tr><td class='boldbase' nowrap='nowrap'>Management Port ($Lang::tr{'openvpn default'}: <span class="base">$Lang::tr{'destination port'}): &nbsp;<img src='/blob.gif' /></td>
+                       <td> <input type='TEXT' name='OVPN_MGMT' VALUE='$cgiparams{'OVPN_MGMT'}'size='5' /></td>
+               </tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'MTU'}&nbsp;<img src='/blob.gif' /></td>
                        <td> <input type='TEXT' name='MTU' VALUE='$cgiparams{'MTU'}'size='5' /></td>
                        <td colspan='2'>$Lang::tr{'openvpn default'}: udp/tcp <span class="base">1500/1400</span></td>
+               </tr>
  
-               <tr><td class='boldbase' nowrap='nowrap'>fragment: &nbsp;<img src='/blob.gif' /></td>
+               <tr><td class='boldbase' nowrap='nowrap'>fragment &nbsp;<img src='/blob.gif' /></td>
                        <td><input type='TEXT' name='FRAGMENT' VALUE='$cgiparams{'FRAGMENT'}'size='5' /></td>
                        <td>$Lang::tr{'openvpn default'}: <span class="base">1300</span></td>
+               </tr>
  
-               <tr><td class='boldbase' nowrap='nowrap'>mssfix: &nbsp;<img src='/blob.gif' /></td>
+               <tr><td class='boldbase' nowrap='nowrap'>mssfix &nbsp;<img src='/blob.gif' /></td>
                        <td><input type='checkbox' name='MSSFIX' $checked{'MSSFIX'}{'on'} /></td>
                        <td>$Lang::tr{'openvpn default'}: <span class="base">on</span></td>
-         <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'comp-lzo'} &nbsp;<img src='/blob.gif'</td>
-                       <td><input type='checkbox' name='COMPLZO' $checked{'COMPLZO'}{'on'} /></td>
                </tr>
  
-               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn mtu-disc'}:</td>
-                       <td colspan='3'>
-                               <input type='radio' name='PMTU_DISCOVERY' value='yes' $checked{'PMTU_DISCOVERY'}{'yes'} /> $Lang::tr{'ovpn mtu-disc yes'}
-                               <input type='radio' name='PMTU_DISCOVERY' value='maybe' $checked{'PMTU_DISCOVERY'}{'maybe'} /> $Lang::tr{'ovpn mtu-disc maybe'}
-                               <input type='radio' name='PMTU_DISCOVERY' value='no' $checked{'PMTU_DISCOVERY'}{'no'} /> $Lang::tr{'ovpn mtu-disc no'}
-                               <input type='radio' name='PMTU_DISCOVERY' value='off' $checked{'PMTU_DISCOVERY'}{'off'} /> $Lang::tr{'ovpn mtu-disc off'}
-                       </td>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'comp-lzo'} &nbsp;<img src='/blob.gif'</td>
+                       <td><input type='checkbox' name='COMPLZO' $checked{'COMPLZO'}{'on'} /></td>
                </tr>
  
 -
+       <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn mtu-disc'}</td>
+               <td colspan='3'>
+                       <input type='radio' name='PMTU_DISCOVERY' value='yes' $checked{'PMTU_DISCOVERY'}{'yes'} /> $Lang::tr{'ovpn mtu-disc yes'}
+                       <input type='radio' name='PMTU_DISCOVERY' value='maybe' $checked{'PMTU_DISCOVERY'}{'maybe'} /> $Lang::tr{'ovpn mtu-disc maybe'}
+                       <input type='radio' name='PMTU_DISCOVERY' value='no' $checked{'PMTU_DISCOVERY'}{'no'} /> $Lang::tr{'ovpn mtu-disc no'}
+                       <input type='radio' name='PMTU_DISCOVERY' value='off' $checked{'PMTU_DISCOVERY'}{'off'} /> $Lang::tr{'ovpn mtu-disc off'}
+               </td>
+       </tr>
  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'} = '';
@@@ -38,8 -40,7 +38,8 @@@
  'Local VPN IP' => 'Internes Netzwerk (GREEN)',
  'MB read' => 'MB gelesen',
  'MB written' => 'MB geschrieben',
- 'MTU' => 'MTU Size',
+ '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',
  '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 device' => 'OpenVPN-Gerät:',
 +'ovpn crypt options' => 'Kryptografieoptionen',
+ 'ovpn device' => 'OpenVPN-Gerät',
  'ovpn dh' => 'Diffie-Hellman Key Länge',
- 'ovpn dh name' => 'Diffie-Hellman Key Name',
+ 'ovpn dh upload' => 'Upload Diffie-Hellman Key',
  'ovpn dl' => 'OVPN-Konfiguration downloaden',
  'ovpn engines' => 'Krypto Engine',
  'ovpn errmsg green already pushed' => 'Route für grünes Netzwerk wird immer gesetzt',
  '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:',
+ 'ovpn server status' => 'OpenVPN-Server-Status',
  'ovpn subnet' => 'OpenVPN-Subnetz:',
  'ovpn subnet is invalid' => 'Das OpenVPN-Subnetz ist ungültig.',
  'ovpn subnet overlap' => 'OpenVPNSubnetz überschneidet sich mit  ',
  'device' => 'Device',
  'devices on blue' => 'Devices on BLUE',
  'dh' => 'Diffie-Hellman Key',
- 'dh key warn' => 'Keys with 1024 and 2048 bit takes up to several minutes, 3072 and 4096 bit might needs several hours. Please be patient.',
++'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.',
  '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 name' => 'Diffie-Hellman key name',
+ '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 subnet is invalid' => 'OpenVPN subnet is invalid.',
  'ovpn subnet overlap' => 'OpenVPN Subnet overlaps with : ',
  'ovpn_fastio' => 'Fast-IO',
- 'ovpn_fragment' => 'Fragmentsize',
 -'teovpn_fragment' => 'Fragmentsize',
  'ovpn_mssfix' => 'MSSFIX Size',
  'ovpn_mtudisc' => 'MTU-Discovery',
  'ovpn_processprio' => 'Process priority',
  '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',