Merge branch 'fifteen' of ssh://git.ipfire.org/pub/git/ipfire-2.x into fifteen-layout
authorAlexander Marx <amarx@ipfire.org>
Thu, 9 Jan 2014 15:23:39 +0000 (16:23 +0100)
committerAlexander Marx <amarx@ipfire.org>
Thu, 9 Jan 2014 15:23:39 +0000 (16:23 +0100)
config/backup/backup.pl
config/rootfiles/common/stage2
config/rootfiles/core/75/filelists/files
config/rootfiles/core/75/update.sh
html/cgi-bin/ovpnmain.cgi
html/html/themes/ipfire/include/css/style-rounded.css
src/scripts/convert-ovpn [new file with mode: 0755]

index a56a698..3172d6d 100644 (file)
@@ -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]");
index a53ecaf..114592a 100644 (file)
@@ -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
index 460db7d..9d4fbe4 100644 (file)
@@ -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
index 3fd00fe..94bec74 100644 (file)
@@ -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"
 
index bc76c15..7b1654f 100644 (file)
@@ -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'){
index f60f4f6..886d61f 100644 (file)
 /* 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;
@@ -44,25 +39,25 @@ table {
        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;
diff --git a/src/scripts/convert-ovpn b/src/scripts/convert-ovpn
new file mode 100755 (executable)
index 0000000..58921a5
--- /dev/null
@@ -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]);
+               }
+       }
+}