diff -Nur -x '*.orig' -x '*.rej' smeserver-openvpn-s2s-0.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/openvpns2s.pm mezzanine_patched_smeserver-openvpn-s2s-0.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/openvpns2s.pm --- smeserver-openvpn-s2s-0.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/openvpns2s.pm 2010-10-17 00:07:07.000000000 +0200 +++ mezzanine_patched_smeserver-openvpn-s2s-0.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/openvpns2s.pm 2010-10-17 00:06:48.000000000 +0200 @@ -333,13 +333,17 @@ sub is_valid_net_or_empty{ my ($fm, $nets) = @_; my $ret = 'OK'; + my $conf = $fm->{cgi}->param('conf_name') || ''; foreach my $net (split (/[;,]/, $nets)){ $ret = $fm->localise('INVALID_NET') unless $net =~ m/([\d\.]+)\/([\d\.]+)/; my $netaddr = $1; my $mask = $2; - $ret = $fm->localise('INVALID_NET') unless - (CGI::FormMagick::Validator::ip_number($fm,$netaddr) eq 'OK' && + $ret = $fm->localise('NET_IS_LOCAL') if + ($net_db->get("$netaddr") && + ($net_db->get("$netaddr")->prop('VPN') || '') ne $conf); + $ret = $fm->localise('INVALID_NET') unless + (CGI::FormMagick::Validator::ip_number($fm,$netaddr) eq 'OK' && CGI::FormMagick::Validator::ip_number($fm,$mask) eq 'OK'); } return $ret;