From cf10e9169fa34e9e09f055f4fe338045d34bd372 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 21 Aug 2013 14:55:52 +0000 Subject: main/pingu: add support for static route rules Users can add static route rules in /etc/pingu/route-rules The rules will be added when startup and removed when stop --- main/pingu/APKBUILD | 8 ++++---- main/pingu/pingu.initd | 25 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) (limited to 'main/pingu') diff --git a/main/pingu/APKBUILD b/main/pingu/APKBUILD index 6929dc119..5c945165a 100644 --- a/main/pingu/APKBUILD +++ b/main/pingu/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Natanael Copa pkgname=pingu pkgver=1.3 -pkgrel=0 +pkgrel=1 pkgdesc="Small daemon that pings hosts and executes a script when status change" url="http://git.alpinelinux.org/cgit/pingu" arch="all" @@ -65,8 +65,8 @@ _lua() { } md5sums="0d33bfe66a428ace44bdf968c825ab12 pingu-1.3.tar.gz -70f56b0f506e1c2e725d0ec062667c32 pingu.initd" +c24b9cc209e9e34a59ab60d06ab46e11 pingu.initd" sha256sums="971f3a68d201b2217bb7b4918ad349b0ef5ff19b7015439a174d2bf2d201ad42 pingu-1.3.tar.gz -cf3197f457d7a5955662417da8a7908a01934bfb5e97cf46c14a1ceab93ad47c pingu.initd" +7db46892d4af4adf7101bf56fabe6b43974f471c6979ee74948b608b75796d89 pingu.initd" sha512sums="e2489720268ef7c2e3b1619fd7f1f968db8e546b49769c6f40b12d7db49d39445329df4a6a12d1b5319aee4a89e0665bb188609a85d4b7495f9d5719d37409de pingu-1.3.tar.gz -b14b4b1ae218c53abec94d4c177327a5a7ed1833cb0160a83c683766d638759c1ed12c73d4cee93a2c09b6296affea20cf15f4dd5a5f2e910ac6f8d7e896ceb4 pingu.initd" +e9acbeb44d5babf06bb3d2bbb45bd798a38166ef8b6d1c0b9d62891cbae24bc883c92435915f96cbef05d5398d9d7a7dc1aef2e008ab3f7310e358608c479d76 pingu.initd" diff --git a/main/pingu/pingu.initd b/main/pingu/pingu.initd index a7a6bef36..47353e79f 100644 --- a/main/pingu/pingu.initd +++ b/main/pingu/pingu.initd @@ -4,8 +4,33 @@ description="MultiISP load balancing and failover" command=/usr/sbin/pingu command_args="-d" pidfile=/var/run/pingu/pingu.pid +route_rules=/etc/pingu/route-rules +rundir=${pidfile%/*} depend() { need net after firewall } + +start_pre() { + if ! [ -f "$route_rules" ]; then + return 0 + fi + sed -e 's/\#.*//' -e '/^$/d' "$route_rules" | while read line; do + ebegin "Adding route rule: $line" + ip rule add $line && echo $line >> $rundir/route-rules + eend + done +} + +stop_post() { + if ! [ -f "$rundir"/route-rules ]; then + return 0 + fi + while read line; do + ebegin "Removing route rule: $line" + ip rule del $line + eend + done < "$rundir"/route-rules + rm "$rundir"/route-rules +} -- cgit v1.2.3