]> git.ipfire.org Git - people/ms/ipfire-2.x.git/commitdiff
ovpnmain.cgi: Add check for a valid N2N network.
authorStefan Schantl <stefan.schantl@ipfire.org>
Wed, 17 Jul 2013 17:58:20 +0000 (19:58 +0200)
committerAlexander Marx <amarx@ipfire.org>
Thu, 8 Aug 2013 05:52:04 +0000 (07:52 +0200)
Fixes #10390.

html/cgi-bin/ovpnmain.cgi

index 15da7abbbb47f02ad788bde92fd64b4d2178256f..a5e696e070f29906bb653ad65e2c807e9e0e7ed7 100644 (file)
@@ -3475,6 +3475,14 @@ if ($cgiparams{'TYPE'} eq 'net') {
       goto VPNCONF_ERROR;                      
                }
 
+    # Check if the input for the transfer net is valid.
+    if (!&General::validipandmask($cgiparams{'OVPN_SUBNET'})){
+                       $errormessage = $Lang::tr{'ccd err invalidnet'};
+                       unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+                       goto VPNCONF_ERROR;
+               }
+
     if ($cgiparams{'OVPN_SUBNET'} eq  $vpnsettings{'DOVPN_SUBNET'}) {
                        $errormessage = $Lang::tr{'openvpn subnet is used'};
                        unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";