#!/usr/bin/perl
-
+# Converter script for old openvpn clients
my %net=();
my %ovpnconfig=();
my @serverconf=();
my $greennet;
my $greensubnet;
+my $running='off';
require '/var/ipfire/general-functions.pl';
-
+unless (-d "${General::swroot}/ovpn/ccd") { system("mkdir ${General::swroot}/ovpn/ccd"); }
+system ("chown nobody.nobody ${General::swroot}/ovpn/ccd");
if ( -e "/var/run/openvpn.pid"){
+ $running='on';
system('/usr/local/bin/openvpnctrl', '-k');
}
&General::readhasharray("/var/ipfire/ovpn/ovpnconfig", \%ovpnconfig);
foreach my $key (keys %ovpnconfig){
if($ovpnconfig{$key}[32] eq '' && $ovpnconfig{$key}[3] eq 'host'){
+ $ovpnconfig{$key}[2] =~ s/ /_/gi;
open ( CCDRWCONF,'>',"/var/ipfire/ovpn/ccd/$ovpnconfig{$key}[2]") or die "Unable to create clientconfigfile $!";
print CCDRWCONF "# OpenVPN Clientconfig from CCD extension by Copymaster#\n\n";
print CCDRWCONF "#This client uses the dynamic pool\n\n";
$ovpnconfig{$key}[32] = 'dynamic';
}
&General::writehasharray("/var/ipfire/ovpn/ovpnconfig", \%ovpnconfig);
-system('/usr/local/bin/openvpnctrl', '-s');
-
+if ($running eq 'on')
+{
+ system('/usr/local/bin/openvpnctrl', '-s');
+}
+system ("chown nobody:nobody /var/ipfire/ovpn/ccd/*");