]> git.ipfire.org Git - 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)
committerStefan Schantl <stefan.schantl@ipfire.org>
Wed, 17 Jul 2013 17:58:20 +0000 (19:58 +0200)
Fixes #10390.

html/cgi-bin/ovpnmain.cgi

index a4953ffe496185991e6ecd70996160604d391258..38dad1ded1adfd20eb0a873687fc29bb3653706e 100644 (file)
@@ -3520,6 +3520,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: $!";