return 1;
}
-###
-# m.a.d net2net
-###
-
sub validdotmask
{
my $ipdotmask = $_[0];
$errormessage = $Lang::tr{'ovpn errmsg green already pushed'};
goto ADV_ERROR;
}
-# a.marx ccd
+
my %ccdroutehash=();
&General::readhasharray("${General::swroot}/ovpn/ccdroute", \%ccdroutehash);
foreach my $key (keys %ccdroutehash) {
}
}
-# ccd end
-
$vpnsettings{'ROUTES_PUSH'} .= $tmpip."\n";
}
}
&writeserverconf();#hier ok
}
-###
-# m.a.d net2net
-###
-
if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq 'net' && $cgiparams{'SIDE'} eq 'server')
{
}
-###
-# m.a.d net2net
-###
-
if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq 'net' && $cgiparams{'SIDE'} eq 'client')
{
### Enable/Disable connection
###
-###
-# m.a.d net2net
-###
-
}elsif ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {
&General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
my $tempdir = tempdir( CLEANUP => 1 );
my $zippath = "$tempdir/";
-###
-# m.a.d net2net
-###
-
if ($confighash{$cgiparams{'KEY'}}[3] eq 'net'){
my $zipname = "$confighash{$cgiparams{'KEY'}}[1]-Client.zip";
my $zippathname = "$zippath$zipname";
$clientovpn = "$confighash{$cgiparams{'KEY'}}[1]-TO-IPFire.ovpn";
-###
-# m.a.d net2net
-###
-
open(CLIENTCONF, ">$tempdir/$clientovpn") or die "Unable to open tempfile: $!";
flock CLIENTCONF, 2;
&General::system("/usr/bin/openssl", "ca", "-revoke", "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem", "-config", "/usr/share/openvpn/ovpn.cnf");
&General::system("/usr/bin/openssl", "ca", "-gencrl", "-out", "${General::swroot}/ovpn/crls/cacrl.pem", "-config", "/usr/share/openvpn/ovpn.cnf");
-###
-# m.a.d net2net
-###
-
if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') {
# Stop the N2N connection before it is removed
&General::system("/usr/local/bin/openvpnctrl", "-kn2n", "$confighash{$cgiparams{'KEY'}}[1]");
unlink ("${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem");
unlink ("${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12");
-# A.Marx CCD delete ccd files and routes
+ # Delete CCD files and routes
if (-f "${General::swroot}/ovpn/ccd/$confighash{$cgiparams{'KEY'}}[2]")
{
&General::writehasharray("${General::swroot}/ovpn/ccdroute2", \%ccdroute2hash);
&writeserverconf;
-# CCD end
# Update collectd configuration and delete all RRD files of the removed connection
&writecollectdconf();
&General::system("/usr/local/bin/openvpnctrl", "-drrd", "$confighash{$cgiparams{'KEY'}}[1]");
exit(0);
-# A.Marx CCD Add,delete or edit CCD net
+# Add, delete or edit CCD net
} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'ccd net'} ||
$cgiparams{'ACTION'} eq $Lang::tr{'ccd add'} ||
$errormessage = $Lang::tr{'invalid key'};
}
-###
-# m.a.d net2net
-###
-
} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'add'} && $cgiparams{'TYPE'} eq '') {
&General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
&Header::showhttpheaders();
&Header::closepage();
exit (0);
-###
-# m.a.d net2net
-###
-
} elsif (($cgiparams{'ACTION'} eq $Lang::tr{'add'}) && ($cgiparams{'TYPE'} eq 'net2net')){
my @firen2nconf;
goto N2N_ERROR;
}
-###
-# m.a.d net2net
-###
-
if ($cgiparams{'n2nname'} ne ''){
$uplconffilename2 = "$cgiparams{'n2nname'}.conf";
chomp ($complzoactive);
chomp ($mssfixactive);
-###
-# m.a.d net2net
-###
-
###
# Check if there is no other entry with this name
###
$errormessage = $Lang::tr{'invalid key'};
}
-
-###
-# m.a.d net2net
-###
-
-
###
### Adding a new connection
###
} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {
$cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'});
-#A.Marx CCD check iroute field and convert it to decimal
+# CCD check iroute field and convert it to decimal
if ($cgiparams{'TYPE'} eq 'host') {
my @temp=();
my %ccdroutehash=();
}
}
-#CCD End
-
-
if ($cgiparams{'TYPE'} !~ /^(host|net)$/) {
$errormessage = $Lang::tr{'connection type is invalid'};
if ($cgiparams{'TYPE'} eq 'net') {
goto VPNCONF_ERROR;
}
-###
-# m.a.d net2net
-###
-
if ($cgiparams{'TYPE'} eq 'net') {
if ($cgiparams{'DEST_PORT'} eq $vpnsettings{'DDEST_PORT'}) {
$errormessage = $Lang::tr{'openvpn destination port used'};
close CCDRWCONF;
}
-###
-# m.a.d n2n begin
-###
-
if ($cgiparams{'TYPE'} eq 'net') {
if (-e "/var/run/$confighash{$key}[1]n2n.pid") {
}
}
-###
-# m.a.d n2n end
-###
-
if ($cgiparams{'EDIT_ADVANCED'} eq 'on') {
$cgiparams{'KEY'} = $key;
$cgiparams{'ACTION'} = $Lang::tr{'advanced'};
goto VPNCONF_END;
} else {
$cgiparams{'ENABLED'} = 'on';
-###
-# m.a.d n2n begin
-###
$cgiparams{'MSSFIX'} = 'on';
$cgiparams{'FRAGMENT'} = '1300';
- $cgiparams{'DAUTH'} = 'SHA512';
-###
-# m.a.d n2n end
-###
+ $cgiparams{'DAUTH'} = 'SHA512';
$cgiparams{'SIDE'} = 'left';
if ( ! -f "${General::swroot}/ovpn/ca/cakey.pem" ) {
$cgiparams{'AUTH'} = 'psk';
</script>
END
-#jumper
print "<tr><td class='boldbase'>$Lang::tr{'remark title'}</td>";
print "<td colspan='3'><input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='55' maxlength='50' /></td></tr></table>";
}
print"</tr></table><br><br>";
-#A.Marx CCD new client
+
if ($cgiparams{'TYPE'} eq 'host') {
print "<table border='0' width='100%' cellspacing='1' cellpadding='0'><tr><td colspan='3'><hr><br><b>$Lang::tr{'ccd choose net'}</td></tr><tr><td height='20' colspan='3'></td></tr>";
my %vpnnet=();
print "</table><br><br><hr><br><br>";
}
}
-# ccd end
+
&Header::closebox();
if ($cgiparams{'KEY'} && $cgiparams{'AUTH'} eq 'psk') {
END
;
-###
-# m.a.d net2net
-###
-
} else {
print <<END;
}
-###
-# m.a.d net2net
-###
-
foreach my $country (sort keys %{Countries::countries}) {
print "<option value='$Countries::countries{$country}'";
if ( $Countries::countries{$country} eq $cgiparams{'CERT_COUNTRY'} ) {
}
print ">$country</option>";
}
-###
-# m.a.d net2net
-###
if ($cgiparams{'TYPE'} eq 'host') {
print <<END;
END
}
-###
-# m.a.d net2net
-###
- ;
&Header::closebox();
}
-#A.Marx CCD new client
if ($cgiparams{'TYPE'} eq 'host') {
print"<br><br>";
&Header::openbox('100%', 'LEFT', "$Lang::tr{'ccd client options'}:");
$checked{'DCOMPLZO'}{'on'} = '';
$checked{'DCOMPLZO'}{$cgiparams{'DCOMPLZO'}} = 'CHECKED';
-# m.a.d
$checked{'MSSFIX'}{'off'} = '';
$checked{'MSSFIX'}{'on'} = '';
$checked{'MSSFIX'}{$cgiparams{'MSSFIX'}} = 'CHECKED';
-#new settings
+
&Header::showhttpheaders();
&Header::openpage($Lang::tr{'status ovpn'}, 1, '');
&Header::openbigbox('100%', 'LEFT', '', $errormessage);
if ( -f "${General::swroot}/ovpn/ca/cacert.pem" ) {
###
-# m.a.d net2net
#<td width='25%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b><br /><img src='/images/null.gif' width='125' height='1' border='0' alt='L2089' /></td>
###
$col1="class='status is-disabled'";
$active = "$Lang::tr{'capsclosed'}";
} else {
-
-###
-# m.a.d net2net
-###
-
if ($confighash{$key}[3] eq 'net') {
if (-e "/var/run/$confighash{$key}[1]n2n.pid") {