From: <ow...@us...> - 2009-10-31 20:01:55
|
Revision: 3772 http://ipcop.svn.sourceforge.net/ipcop/?rev=3772&view=rev Author: owes Date: 2009-10-31 20:01:48 +0000 (Sat, 31 Oct 2009) Log Message: ----------- Test for valid IP before using NetAddr::IP Modified Paths: -------------- ipcop/trunk/html/cgi-bin/openvpn.cgi Modified: ipcop/trunk/html/cgi-bin/openvpn.cgi =================================================================== --- ipcop/trunk/html/cgi-bin/openvpn.cgi 2009-10-31 19:02:58 UTC (rev 3771) +++ ipcop/trunk/html/cgi-bin/openvpn.cgi 2009-10-31 20:01:48 UTC (rev 3772) @@ -81,6 +81,8 @@ $cgiparams{'PUSH_GREEN_1'} = 'off'; $cgiparams{'PUSH_BLUE_1'} = 'off'; $cgiparams{'PUSH_ORANGE_1'} = 'off'; +$cgiparams{'TYPE'} = ''; +$cgiparams{'KEY'} = ''; &General::getcgihash(\%cgiparams, {'wantfile' => 1, 'filevar' => 'FH'}); &General::readhash('/var/ipcop/openvpn/settings', \%vpnsettings); @@ -518,7 +520,7 @@ goto SETTINGS_ERROR; } - if ($tmpnetaddr->contains(NetAddr::IP->new($netsettings{'RED_1_ADDRESS'}))) { + if (&General::validip($netsettings{'RED_1_ADDRESS'}) && $tmpnetaddr->contains(NetAddr::IP->new($netsettings{'RED_1_ADDRESS'}))) { $errormessage = "$Lang::tr{'openvpn subnet overlap'}: IPCop RED Network $netsettings{'RED_1_ADDRESS'}"; goto SETTINGS_ERROR; } @@ -528,12 +530,12 @@ goto SETTINGS_ERROR; } - if ($tmpnetaddr->contains(NetAddr::IP->new($netsettings{'BLUE_1_ADDRESS'}))) { + if (&General::validip($netsettings{'BLUE_1_ADDRESS'}) && $tmpnetaddr->contains(NetAddr::IP->new($netsettings{'BLUE_1_ADDRESS'}))) { $errormessage = "$Lang::tr{'openvpn subnet overlap'}: IPCop Blue Network $netsettings{'BLUE_1_ADDRESS'}"; goto SETTINGS_ERROR; } - if ($tmpnetaddr->contains(NetAddr::IP->new($netsettings{'ORANGE_1_ADDRESS'}))) { + if (&General::validip($netsettings{'ORANGE_1_ADDRESS'}) && $tmpnetaddr->contains(NetAddr::IP->new($netsettings{'ORANGE_1_ADDRESS'}))) { $errormessage = "$Lang::tr{'openvpn subnet overlap'}: IPCop Orange Network $netsettings{'ORANGE_1_ADDRESS'}"; goto SETTINGS_ERROR; } @@ -542,7 +544,7 @@ chomp($_); my @tempalias = split(/\,/,$_); if ($tempalias[1] eq 'on') { - if ($tmpnetaddr->contains(NetAddr::IP->new($tempalias[0]))) { + if (&General::validip($tempalias[0]) && $tmpnetaddr->contains(NetAddr::IP->new($tempalias[0]))) { $errormessage = "$Lang::tr{'openvpn subnet overlap'}: IPCop alias entry $tempalias[0]"; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |