diff options
Diffstat (limited to 'piavpn-bin.install')
-rw-r--r-- | piavpn-bin.install | 31 |
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 |