From 3ae780bcf89fd7392565c592a0d73b758ace92ff Mon Sep 17 00:00:00 2001 From: Ycarus Date: Sun, 25 Mar 2018 20:48:48 +0200 Subject: [PATCH] Fix tracker and add default config for tunnel --- omr-tracker/files/bin/omr-tracker | 53 ++++++++++--------- .../files/etc/uci-defaults/1990-omr-tracker | 13 +++++ 2 files changed, 40 insertions(+), 26 deletions(-) create mode 100755 openmptcprouter/files/etc/uci-defaults/1990-omr-tracker diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index b039f42e5..b9d735fb8 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -163,32 +163,33 @@ while true; do _ping "$OMR_TRACKER_DEVICE_GATEWAY" "$OMR_TRACKER_DEVICE_IP" "no" status=$? if $(exit $status); then - # setup loop variable - tries="$OMR_TRACKER_TRIES" - ip route replace "$OMR_TRACKER_HOST" via "$OMR_TRACKER_DEVICE_GATEWAY" dev "$OMR_TRACKER_DEVICE" src "$OMR_TRACKER_DEVICE_IP" - # loop until tries attempts have been reached - while [ "$tries" -gt 0 ]; do - if [ "$OMR_TRACKER_TYPE" = "ping" ]; then - _ping "$OMR_TRACKER_HOST" "$OMR_TRACKER_DEVICE_IP" "yes" - status=$? - elif [ "$OMR_TRACKER_TYPE" = "httping" ]; then - _httping "$OMR_TRACKER_HOST" "$OMR_TRACKER_DEVICE_IP" "yes" - status=$? - elif [ "$OMR_TRACKER_TYPE" = "dns" ]; then - _dns "$OMR_TRACKER_HOST" "$OMR_TRACKER_DEVICE_IP" "yes" - status=$? - elif [ "$OMR_TRACKER_TYPE" = "none" ]; then - _none - status=$? - fi - if $(exit $status); then - OMR_TRACKER_STATUS="OK" - break - fi - tries=$((tries - 1)) - OMR_TRACKER_TIMEOUT=$((OMR_TRACKER_TIMEOUT * 2)) - done - ip route del "$OMR_TRACKER_HOST" via "$OMR_TRACKER_DEVICE_GATEWAY" dev "$OMR_TRACKER_DEVICE" src "$OMR_TRACKER_DEVICE_IP" + if [ "$OMR_TRACKER_TYPE" = "none" ]; then + OMR_TRACKER_STATUS="OK" + else + # setup loop variable + tries="$OMR_TRACKER_TRIES" + ip route replace "$OMR_TRACKER_HOST" via "$OMR_TRACKER_DEVICE_GATEWAY" dev "$OMR_TRACKER_DEVICE" src "$OMR_TRACKER_DEVICE_IP" + # loop until tries attempts have been reached + while [ "$tries" -gt 0 ]; do + if [ "$OMR_TRACKER_TYPE" = "ping" ]; then + _ping "$OMR_TRACKER_HOST" "$OMR_TRACKER_DEVICE_IP" "yes" + status=$? + elif [ "$OMR_TRACKER_TYPE" = "httping" ]; then + _httping "$OMR_TRACKER_HOST" "$OMR_TRACKER_DEVICE_IP" "yes" + status=$? + elif [ "$OMR_TRACKER_TYPE" = "dns" ]; then + _dns "$OMR_TRACKER_HOST" "$OMR_TRACKER_DEVICE_IP" "yes" + status=$? + fi + if $(exit $status); then + OMR_TRACKER_STATUS="OK" + break + fi + tries=$((tries - 1)) + OMR_TRACKER_TIMEOUT=$((OMR_TRACKER_TIMEOUT * 2)) + done + ip route del "$OMR_TRACKER_HOST" via "$OMR_TRACKER_DEVICE_GATEWAY" dev "$OMR_TRACKER_DEVICE" src "$OMR_TRACKER_DEVICE_IP" > /dev/null 2&>1 + fi fi fi fi diff --git a/openmptcprouter/files/etc/uci-defaults/1990-omr-tracker b/openmptcprouter/files/etc/uci-defaults/1990-omr-tracker new file mode 100755 index 000000000..48d59d9cf --- /dev/null +++ b/openmptcprouter/files/etc/uci-defaults/1990-omr-tracker @@ -0,0 +1,13 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + set omr-tracker.tun0=interface + set omr-tracker.tun0.type="none" + set omr-tracker.tun0.timeout=1 + set omr-tracker.tun0.tries=4 + set omr-tracker.tun0.interval=2 + commit omr-tracker +EOF +rm -f /tmp/luci-indexcache + +exit 0