summarylogtreecommitdiffstats
path: root/piavpn-bin.install
diff options
context:
space:
mode:
Diffstat (limited to 'piavpn-bin.install')
-rw-r--r--piavpn-bin.install31
1 files changed, 22 insertions, 9 deletions
diff --git a/piavpn-bin.install b/piavpn-bin.install
index 080526e04c6e..7479a0d7851c 100644
--- a/piavpn-bin.install
+++ b/piavpn-bin.install
@@ -1,11 +1,11 @@
-# copy-pasted from install.sh in .run file, but with modified rt_tables path
+# copy-pasted from install.sh in .run file, but with rt_tables copying logic, for if needed
function addRoutingTable() {
- local highestIndex=$(awk '/^[0-9]/{print $1}' /usr/lib/iproute2/rt_tables | sort -n | tail -1)
+ local highestIndex=$(awk '/^[0-9]/{print $1}' /etc/iproute2/rt_tables | sort -n | tail -1)
local newIndex=$(($highestIndex + 1))
local routingTable="$1"
- if ! grep -q "$routingTable" /usr/lib/iproute2/rt_tables; then
- echo -e "$newIndex\t$routingTable" >> /usr/lib/iproute2/rt_tables
+ if ! grep -q "$routingTable" /etc/iproute2/rt_tables; then
+ echo -e "$newIndex\t$routingTable" >> /etc/iproute2/rt_tables
fi
}
@@ -13,6 +13,12 @@ pre_install() {
groupadd piavpn
groupadd piahnsd
+ if ! cat /etc/iproute2/rt_tables > /dev/null 2>&1 # If this doesn't exist, create it!
+ then
+ mkdir -p /etc/iproute2
+ cp /usr/lib/iproute2/rt_tables /etc/iproute2/rt_tables
+ fi
+
addRoutingTable piavpnrt
addRoutingTable piavpnOnlyrt
addRoutingTable piavpnWgrt
@@ -30,16 +36,23 @@ pre_remove() {
}
post_remove() {
- sed -i '/.*piavpnrt$/d' /usr/lib/iproute2/rt_tables
- sed -i '/.*piavpnOnlyrt$/d' /usr/lib/iproute2/rt_tables
- sed -i '/.*piavpnWgrt$/d' /usr/lib/iproute2/rt_tables
- sed -i '/.*piavpnFwdrt$/d' /usr/lib/iproute2/rt_tables
+ sed -i '/.*piavpnrt$/d' /etc/iproute2/rt_tables
+ sed -i '/.*piavpnOnlyrt$/d' /etc/iproute2/rt_tables
+ sed -i '/.*piavpnWgrt$/d' /etc/iproute2/rt_tables
+ sed -i '/.*piavpnFwdrt$/d' /etc/iproute2/rt_tables
groupdel piavpn
groupdel piahnsd
+
+ if diff -q /usr/lib/iproute2/rt_tables /etc/iproute2/rt_tables > /dev/null 2>&1 # If files are identical
+ then
+ echo "/etc/iproute2/rt_tables is identical to default at /usr/lib/iproute2/rt_tables, removing"
+ rm /etc/iproute2/rt_tables
+ rmdir /etc/iproute2
+ fi
}
post_upgrade() {
- if ! grep -q piavpnFwdrt /usr/lib/iproute2/rt_tables; then
+ if ! grep -q piavpnFwdrt /etc/iproute2/rt_tables; then
addRoutingTable piavpnFwdrt
fi
systemctl daemon-reload