From: Alexander Marx Date: Fri, 10 Apr 2015 11:16:33 +0000 (+0200) Subject: core89: Update OpenVPN configuration during the update X-Git-Tag: v2.17-core89~3^2~5 X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=commitdiff_plain;h=831a5ef6ad5bbdc158a5fb40a4db78a7d419f082 core89: Update OpenVPN configuration during the update --- diff --git a/config/rootfiles/common/stage2 b/config/rootfiles/common/stage2 index 44f24b4369..f506dafac8 100644 --- a/config/rootfiles/common/stage2 +++ b/config/rootfiles/common/stage2 @@ -124,6 +124,7 @@ usr/local/bin/update-lang-cache #usr/local/src #usr/sbin usr/sbin/ovpn-ccd-convert +usr/sbin/ovpn-collectd-convert #usr/share #usr/share/doc #usr/share/doc/licenses diff --git a/config/rootfiles/core/89/filelists/files b/config/rootfiles/core/89/filelists/files index 2be73d7d87..70c5f3d9b1 100644 --- a/config/rootfiles/core/89/filelists/files +++ b/config/rootfiles/core/89/filelists/files @@ -13,6 +13,7 @@ srv/web/ipfire/cgi-bin/ovpnmain.cgi srv/web/ipfire/cgi-bin/vpnmain.cgi usr/local/bin/collectdctrl usr/local/bin/openvpnctrl +usr/sbin/ovpn-collectd-convert usr/sbin/setup var/ipfire/backup/bin/backup.pl var/ipfire/graphs.pl diff --git a/config/rootfiles/core/89/update.sh b/config/rootfiles/core/89/update.sh index bc80709489..e15f9378b0 100644 --- a/config/rootfiles/core/89/update.sh +++ b/config/rootfiles/core/89/update.sh @@ -66,6 +66,9 @@ rm -f \ /opt/pakfire/db/*/meta-sqlite \ /opt/pakfire/db/rootfiles/sqlite +# Update OpenVPN/collectd configuration +/usr/sbin/ovpn-collectd-convert + # Fix #10625 mkdir -p /etc/logrotate.d diff --git a/src/scripts/ovpn-collectd-convert b/src/scripts/ovpn-collectd-convert new file mode 100644 index 0000000000..59d67b9b0a --- /dev/null +++ b/src/scripts/ovpn-collectd-convert @@ -0,0 +1,26 @@ +#!/usr/bin/perl +# Converter script for adding existing OpenVPN N2N connections to collectd +# Used for core update 89 + +my %ovpnconfig=(); + +require '/var/ipfire/general-functions.pl'; + +open(COLLECTDVPN, ">${General::swroot}/ovpn/collectd.vpn") or die "Unable to open collectd.vpn: $!"; +print COLLECTDVPN "Loadplugin openvpn\n"; +print COLLECTDVPN "\n"; +print COLLECTDVPN "\n"; +print COLLECTDVPN "Statusfile \"/var/run/ovpnserver.log\"\n"; + +&General::readhasharray("/var/ipfire/ovpn/ovpnconfig", \%ovpnconfig); +foreach my $key (keys %ovpnconfig) { + if ($ovpnconfig{$key}[0] eq 'on' && $ovpnconfig{$key}[3] eq 'net') { + print COLLECTDVPN "Statusfile \"/var/run/openvpn/$ovpnconfig{$key}[1]-n2n\"\n"; + } +} + +print COLLECTDVPN "\n"; +close(COLLECTDVPN); + +# Reload collectd afterwards +system("/usr/local/bin/collectdctrl restart &>/dev/null");