From 290da489b7ec18143ca2241cbe55e603cbd18aaf Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 23 Mar 2024 17:01:14 +0100 Subject: [PATCH] ovpnmain.cgi: Use global ethernet settings Signed-off-by: Michael Tremer --- html/cgi-bin/ovpnmain.cgi | 48 +++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index cd7f5b340..28f8a68ba 100755 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -79,7 +79,6 @@ my $DHPARAM = "/etc/ssl/ffdhe4096.pem"; my %ccdconfhash=(); my %ccdroutehash=(); my %ccdroute2hash=(); -my %netsettings=(); my %cgiparams=(); my %vpnsettings=(); my %checked=(); @@ -98,9 +97,6 @@ my $col=""; my $local_serverconf = "${General::swroot}/ovpn/scripts/server.conf.local"; my $local_clientconf = "${General::swroot}/ovpn/scripts/client.conf.local"; -# Read Ethernet configuration -&General::readhash("${General::swroot}/ethernet/settings", \%netsettings); - # Set default CGI parameters $cgiparams{'ENABLED'} = 'off'; $cgiparams{'EDIT_ADVANCED'} = 'off'; @@ -1037,7 +1033,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) { } my ($ip, $cidr) = split("\/",&General::ipcidr2msk($tmpip)); - if ($ip eq $netsettings{'GREEN_NETADDRESS'} && $cidr eq $netsettings{'GREEN_NETMASK'}) { + if ($ip eq $Network::ethernet{'GREEN_NETADDRESS'} && $cidr eq $Network::ethernet{'GREEN_NETMASK'}) { $errormessage = $Lang::tr{'ovpn errmsg green already pushed'}; goto ADV_ERROR; } @@ -1316,27 +1312,27 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cg } my @tmpovpnsubnet = split("\/",$cgiparams{'DOVPN_SUBNET'}); - if (&General::IpInSubnet ( $netsettings{'RED_ADDRESS'}, + if (&General::IpInSubnet ( $Network::ethernet{'RED_ADDRESS'}, $tmpovpnsubnet[0], $tmpovpnsubnet[1])) { - $errormessage = "$Lang::tr{'ovpn subnet overlap'} IPFire RED Network $netsettings{'RED_ADDRESS'}"; + $errormessage = "$Lang::tr{'ovpn subnet overlap'} IPFire RED Network $Network::ethernet{'RED_ADDRESS'}"; goto SETTINGS_ERROR; } - if (&General::IpInSubnet ( $netsettings{'GREEN_ADDRESS'}, + if (&General::IpInSubnet ( $Network::ethernet{'GREEN_ADDRESS'}, $tmpovpnsubnet[0], $tmpovpnsubnet[1])) { - $errormessage = "$Lang::tr{'ovpn subnet overlap'} IPFire Green Network $netsettings{'GREEN_ADDRESS'}"; + $errormessage = "$Lang::tr{'ovpn subnet overlap'} IPFire Green Network $Network::ethernet{'GREEN_ADDRESS'}"; goto SETTINGS_ERROR; } - if (&General::IpInSubnet ( $netsettings{'BLUE_ADDRESS'}, + if (&General::IpInSubnet ( $Network::ethernet{'BLUE_ADDRESS'}, $tmpovpnsubnet[0], $tmpovpnsubnet[1])) { - $errormessage = "$Lang::tr{'ovpn subnet overlap'} IPFire Blue Network $netsettings{'BLUE_ADDRESS'}"; + $errormessage = "$Lang::tr{'ovpn subnet overlap'} IPFire Blue Network $Network::ethernet{'BLUE_ADDRESS'}"; goto SETTINGS_ERROR; } - if (&General::IpInSubnet ( $netsettings{'ORANGE_ADDRESS'}, + if (&General::IpInSubnet ( $Network::ethernet{'ORANGE_ADDRESS'}, $tmpovpnsubnet[0], $tmpovpnsubnet[1])) { - $errormessage = "$Lang::tr{'ovpn subnet overlap'} IPFire Orange Network $netsettings{'ORANGE_ADDRESS'}"; + $errormessage = "$Lang::tr{'ovpn subnet overlap'} IPFire Orange Network $Network::ethernet{'ORANGE_ADDRESS'}"; goto SETTINGS_ERROR; } open(ALIASES, "${General::swroot}/ethernet/aliases") or die 'Unable to open aliases file.'; @@ -3837,19 +3833,19 @@ if ($cgiparams{'TYPE'} eq 'host') { } #check for existing network IP's - if (&General::IpInSubnet ($ip,$netsettings{GREEN_NETADDRESS},$netsettings{GREEN_NETMASK}) && $netsettings{GREEN_NETADDRESS} ne '0.0.0.0') + if (&General::IpInSubnet ($ip,$Network::ethernet{GREEN_NETADDRESS},$Network::ethernet{GREEN_NETMASK}) && $Network::ethernet{GREEN_NETADDRESS} ne '0.0.0.0') { $errormessage=$Lang::tr{'ccd err green'}; goto VPNCONF_ERROR; - }elsif(&General::IpInSubnet ($ip,$netsettings{RED_NETADDRESS},$netsettings{RED_NETMASK}) && $netsettings{RED_NETADDRESS} ne '0.0.0.0') + }elsif(&General::IpInSubnet ($ip,$Network::ethernet{RED_NETADDRESS},$Network::ethernet{RED_NETMASK}) && $Network::ethernet{RED_NETADDRESS} ne '0.0.0.0') { $errormessage=$Lang::tr{'ccd err red'}; goto VPNCONF_ERROR; - }elsif(&General::IpInSubnet ($ip,$netsettings{BLUE_NETADDRESS},$netsettings{BLUE_NETMASK}) && $netsettings{BLUE_NETADDRESS} ne '0.0.0.0' && $netsettings{BLUE_NETADDRESS} gt '') + }elsif(&General::IpInSubnet ($ip,$Network::ethernet{BLUE_NETADDRESS},$Network::ethernet{BLUE_NETMASK}) && $Network::ethernet{BLUE_NETADDRESS} ne '0.0.0.0' && $Network::ethernet{BLUE_NETADDRESS} gt '') { $errormessage=$Lang::tr{'ccd err blue'}; goto VPNCONF_ERROR; - }elsif(&General::IpInSubnet ($ip,$netsettings{ORANGE_NETADDRESS},$netsettings{ORANGE_NETMASK}) && $netsettings{ORANGE_NETADDRESS} ne '0.0.0.0' && $netsettings{ORANGE_NETADDRESS} gt '' ) + }elsif(&General::IpInSubnet ($ip,$Network::ethernet{ORANGE_NETADDRESS},$Network::ethernet{ORANGE_NETMASK}) && $Network::ethernet{ORANGE_NETADDRESS} ne '0.0.0.0' && $Network::ethernet{ORANGE_NETADDRESS} gt '' ) { $errormessage=$Lang::tr{'ccd err orange'}; goto VPNCONF_ERROR; @@ -3894,22 +3890,20 @@ if ($cgiparams{'TYPE'} eq 'host') { $ccdroute2hash{$keypoint}[0]=$cgiparams{'NAME'}; if ($cgiparams{'IFROUTE'} eq ''){$cgiparams{'IFROUTE'} = $Lang::tr{'ccd none'};} @temp = split(/\|/,$cgiparams{'IFROUTE'}); - my %ownnet=(); - &General::readhash("${General::swroot}/ethernet/settings", \%ownnet); foreach $val (@temp){ chomp($val); $val=~s/\s*$//g; if ($val eq $Lang::tr{'green'}) { - $val=$ownnet{GREEN_NETADDRESS}."/".$ownnet{GREEN_NETMASK}; + $val=$Network::ethernet{GREEN_NETADDRESS}."/".$Network::ethernet{GREEN_NETMASK}; } if ($val eq $Lang::tr{'blue'}) { - $val=$ownnet{BLUE_NETADDRESS}."/".$ownnet{BLUE_NETMASK}; + $val=$Network::ethernet{BLUE_NETADDRESS}."/".$Network::ethernet{BLUE_NETMASK}; } if ($val eq $Lang::tr{'orange'}) { - $val=$ownnet{ORANGE_NETADDRESS}."/".$ownnet{ORANGE_NETMASK}; + $val=$Network::ethernet{ORANGE_NETADDRESS}."/".$Network::ethernet{ORANGE_NETMASK}; } my ($ip,$cidr) = split (/\//, $val); @@ -4580,7 +4574,7 @@ if ($cgiparams{'TYPE'} eq 'net') { } else { $cgiparams{'AUTH'} = 'certgen'; } - $cgiparams{'LOCAL_SUBNET'} ="$netsettings{'GREEN_NETADDRESS'}/$netsettings{'GREEN_NETMASK'}"; + $cgiparams{'LOCAL_SUBNET'} ="$Network::ethernet{'GREEN_NETADDRESS'}/$Network::ethernet{'GREEN_NETMASK'}"; $cgiparams{'CERT_ORGANIZATION'} = $vpnsettings{'ROOTCERT_ORGANIZATION'}; $cgiparams{'CERT_CITY'} = $vpnsettings{'ROOTCERT_CITY'}; $cgiparams{'CERT_STATE'} = $vpnsettings{'ROOTCERT_STATE'}; @@ -4694,7 +4688,7 @@ if ($cgiparams{'TYPE'} eq 'net') { # print "$Lang::tr{'interface'}"; # print "