From 831a5ef6ad5bbdc158a5fb40a4db78a7d419f082 Mon Sep 17 00:00:00 2001 From: Alexander Marx Date: Fri, 10 Apr 2015 13:16:33 +0200 Subject: [PATCH] core89: Update OpenVPN configuration during the update --- config/rootfiles/common/stage2 | 1 + config/rootfiles/core/89/filelists/files | 1 + config/rootfiles/core/89/update.sh | 3 +++ src/scripts/ovpn-collectd-convert | 26 ++++++++++++++++++++++++ 4 files changed, 31 insertions(+) create mode 100644 src/scripts/ovpn-collectd-convert 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"); -- 2.39.2