mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-26 10:52:57 +02:00
Merge branch 'master' into fifteen
Conflicts: config/backup/backup.pl
This commit is contained in:
@@ -125,6 +125,10 @@ elsif ($ARGV[0] eq 'restore') {
|
||||
}
|
||||
system("/usr/local/bin/firewallctrl");
|
||||
}
|
||||
|
||||
# Convert old OpenVPN CCD files (CN change, core 75).
|
||||
system("/usr/local/bin/convert-ovpn");
|
||||
}
|
||||
elsif ($ARGV[0] eq 'restoreaddon') {
|
||||
if ( -e "/tmp/$ARGV[1]" ){system("mv /tmp/$ARGV[1] /var/ipfire/backup/addons/backup/$ARGV[1]");}
|
||||
system("cd / && tar -xvz -p -f /var/ipfire/backup/addons/backup/$ARGV[1]");
|
||||
|
||||
@@ -77,6 +77,7 @@ usr/lib/libstdc++.so.6
|
||||
usr/local/bin/backupiso
|
||||
usr/local/bin/connscheduler
|
||||
usr/local/bin/consort.sh
|
||||
usr/local/bin/convert-ovpn
|
||||
usr/local/bin/dialctrl.pl
|
||||
usr/local/bin/hddshutdown
|
||||
usr/local/bin/httpscert
|
||||
|
||||
@@ -3,5 +3,7 @@ etc/issue
|
||||
opt/pakfire/lib/functions.pl
|
||||
srv/web/ipfire/cgi-bin/ovpnmain.cgi
|
||||
usr/lib/openvpn/verify
|
||||
usr/local/bin/convert-ovpn
|
||||
var/ipfire/backup/bin/backup.pl
|
||||
var/ipfire/header.pl
|
||||
var/ipfire/langs
|
||||
|
||||
@@ -44,6 +44,9 @@ if [ -r "/var/ipfire/ovpn/server.conf" ]; then
|
||||
-i /var/ipfire/ovpn/server.conf
|
||||
fi
|
||||
|
||||
# Convert CCD files.
|
||||
/usr/local/bin/convert-ovpn
|
||||
|
||||
# Update Language cache
|
||||
perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
|
||||
|
||||
|
||||
@@ -3947,7 +3947,6 @@ if ($cgiparams{'TYPE'} eq 'net') {
|
||||
if ( -e "${General::swroot}/ovpn/ccd/$confighash{$key}[2]"){
|
||||
unlink "${General::swroot}/ovpn/ccd/$cgiparams{'CERT_NAME'}";
|
||||
}
|
||||
$confighash{$key}[2] =~ s/ /_/gi;
|
||||
open ( CCDRWCONF,'>',"${General::swroot}/ovpn/ccd/$confighash{$key}[2]") or die "Unable to create clientconfigfile $!";
|
||||
print CCDRWCONF "# OpenVPN clientconfig from ccd extension by Copymaster#\n\n";
|
||||
if($cgiparams{'CHECK1'} eq 'dynamic'){
|
||||
|
||||
60
src/scripts/convert-ovpn
Executable file
60
src/scripts/convert-ovpn
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2013 Alexander Marx <amarx@ipfire.org> #
|
||||
# #
|
||||
# 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 #
|
||||
# the Free Software Foundation, either version 3 of the License, or #
|
||||
# (at your option) any later version. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, #
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
||||
# GNU General Public License for more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License #
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
|
||||
# #
|
||||
###############################################################################
|
||||
# #
|
||||
# This script converts old openvpn ccd files with underscore #
|
||||
# to files with spaces to make them working with openvpn 2.3 again #
|
||||
# STEP1: read ovpnconfig and verify cert names #
|
||||
# STEP2: if neccessary convert ccd file #
|
||||
# #
|
||||
###############################################################################
|
||||
|
||||
require '/var/ipfire/general-functions.pl';
|
||||
|
||||
my %configovpn=();
|
||||
my $ccdpath="/var/ipfire/ovpn/ccd/";
|
||||
my $ovpnconfig="/var/ipfire/ovpn/ovpnconfig";
|
||||
|
||||
&General::readhasharray ($ovpnconfig,\%configovpn);
|
||||
|
||||
&check_config();
|
||||
|
||||
sub check_config {
|
||||
print "Converting CCD files...\n";
|
||||
chdir($ccdpath);
|
||||
|
||||
foreach my $key (sort keys %configovpn){
|
||||
# Skip everything else but roadwarrior connections.
|
||||
next if ($configovpn{$key}[3] ne 'host');
|
||||
|
||||
# Skip all connections with no space in the CN name.
|
||||
next if ($configovpn{$key}[2] !~ " ");
|
||||
|
||||
my $ccdname = $configovpn{$key}[2];
|
||||
$ccdname =~ tr/ /_/;
|
||||
|
||||
# Rename the CCD file if one with the old format exists.
|
||||
if (-e "$ccdname") {
|
||||
print " Renaming $ccdname -> $configovpn{$key}[2]...\n";
|
||||
rename($ccdname, $configovpn{$key}[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user