#!/bin/sh

. /lib/functions.sh

IF_TO_WATCH="wan_6"
SERVICE="hickory-dns"
DELAY=5
LOCK_DIR="/tmp/hickory-hotplug.lock"
TAG="hickory-hotplug"

[ "$INTERFACE" = "$IF_TO_WATCH" ] || exit 0
[ "$ACTION" = "ifup" ] || exit 0

/etc/init.d/${SERVICE} enabled || {
    logger -t "$TAG" "${SERVICE} not enabled, skipping restart"
    exit 0
}

mkdir "$LOCK_DIR" 2>/dev/null || {
    logger -t "$TAG" "Restart already pending, skipping"
    exit 0
}

logger -t "$TAG" "${IF_TO_WATCH} ifup - ${SERVICE} restart in ${DELAY}s"

(
    sleep "$DELAY"

    /etc/init.d/${SERVICE} restart >/dev/null 2>&1
    RET=$?

    if [ "$RET" = "0" ]; then
        logger -t "$TAG" "${SERVICE} restarted successfully after ${IF_TO_WATCH} ifup"
    else
        logger -t "$TAG" "${SERVICE} restart failed after ${IF_TO_WATCH} ifup, exit code ${RET}"
    fi

    rmdir "$LOCK_DIR"
) &
