}
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]");
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
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
-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"
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'){
/* Table */
/* when using class='bordered' after tabletag */
-table {
- *border-collapse: collapse; /* IE7 and lower */
- border-spacing: 0;
-}
-
-.tbl th:first-child{
+.tbl th:first-child {
-moz-border-radius: 6px 0 0 0;
-webkit-border-radius: 6px 0 0 0;
border-radius: 6px 0 0 0;
border-radius: 0 6px 0 0;
}
-.tbl th:only-child{
+.tbl th:only-child {
-moz-border-radius: 6px 6px 0 0;
-webkit-border-radius: 6px 6px 0 0;
border-radius: 6px 6px 0 0;
}
-.tbl tr:first-child td:first-child{
+.tbl tr:first-child td:first-child {
-moz-border-radius: 6px 0 0 0;
-webkit-border-radius: 6px 0 0 0;
border-radius: 6px 0 0 0;
}
-.tbl tr:first-child td:last-child{
+.tbl tr:first-child td:last-child {
-moz-border-radius: 0 6px 0 0;
-webkit-border-radius: 0 6px 0 0;
border-radius: 0 6px 0 0;
}
-.tbl tr:first-child td:only-child{
+.tbl tr:first-child td:only-child {
-moz-border-radius: 6px 6px 0 0;
-webkit-border-radius: 6px 6px 0 0;
border-radius: 6px 6px 0 0;
--- /dev/null
+#!/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]);
+ }
+ }
+}