mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-28 03:33:25 +02:00
OpenVPN: Bugfix 10357, now when chaning an VPN N2N or editing an old one the ports are checked.
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
# #
|
# #
|
||||||
# IPFire.org - A linux based firewall #
|
# IPFire.org - A linux based firewall #
|
||||||
# Copyright (C) 2007-2011 IPFire Team <info@ipfire.org> #
|
# Copyright (C) 2007-2013 IPFire Team <info@ipfire.org> #
|
||||||
# #
|
# #
|
||||||
# This program is free software: you can redistribute it and/or modify #
|
# This program is free software: you can redistribute it and/or modify #
|
||||||
# it under the terms of the GNU General Public License as published by #
|
# it under the terms of the GNU General Public License as published by #
|
||||||
@@ -3498,18 +3498,25 @@ if ($cgiparams{'TYPE'} eq 'host') {
|
|||||||
###
|
###
|
||||||
|
|
||||||
if ($cgiparams{'TYPE'} eq 'net') {
|
if ($cgiparams{'TYPE'} eq 'net') {
|
||||||
|
if ($cgiparams{'DEST_PORT'} eq $vpnsettings{'DDEST_PORT'}) {
|
||||||
if ($cgiparams{'DEST_PORT'} eq $vpnsettings{'DDEST_PORT'}) {
|
|
||||||
$errormessage = $Lang::tr{'openvpn destination port used'};
|
$errormessage = $Lang::tr{'openvpn destination port used'};
|
||||||
unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
|
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: $!";
|
rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
|
||||||
goto VPNCONF_ERROR;
|
goto VPNCONF_ERROR;
|
||||||
}
|
}
|
||||||
|
#Bugfix 10357
|
||||||
if ($cgiparams{'DEST_PORT'} eq '') {
|
foreach my $key (sort keys %confighash){
|
||||||
|
if ( ($confighash{$key}[22] eq $cgiparams{'DEST_PORT'} && $cgiparams{'NAME'} ne $confighash{$key}[1]) || ($confighash{$key}[29] eq $cgiparams{'DEST_PORT'} && $cgiparams{'NAME'} ne $confighash{$key}[1])){
|
||||||
$errormessage = $Lang::tr{'openvpn destination port used'};
|
$errormessage = $Lang::tr{'openvpn destination port used'};
|
||||||
unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
|
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: $!";
|
rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
|
||||||
|
goto VPNCONF_ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($cgiparams{'DEST_PORT'} eq '') {
|
||||||
|
$errormessage = $Lang::tr{'invalid port'};
|
||||||
|
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;
|
goto VPNCONF_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3920,7 +3927,7 @@ if ($cgiparams{'TYPE'} eq 'net') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Save the config
|
# Save the config
|
||||||
my $key = $cgiparams{'KEY'};
|
my $key = $cgiparams{'KEY'};
|
||||||
|
|
||||||
if (! $key) {
|
if (! $key) {
|
||||||
|
|||||||
Reference in New Issue
Block a user