#!/bin/sh /etc/rc.common

USE_PROCD=1
START=95

BIN=/usr/bin/wifidog-ng

parse_whitelist_mac() {
    local cfg="$1"
    local mac

    uci_validate_section wifidog-ng whitelist "${1}" \
        'mac:macaddr'

    [ $? -ne 0 ] && {
        echo "validation whitelist_mac failed" >&2
        exit 1
    }
}

parse_whitelist_domain() {
    local cfg="$1"
    local domain

    uci_validate_section wifidog-ng whitelist "${1}" \
        'domain:host'

    [ $? -ne 0 ] && {
        echo "validation whitelist_domain failed" >&2
        exit 1
    }
}

start_service() {
    modprobe wifidog-ng

    config_load wifidog-ng
    config_foreach parse_whitelist_mac whitelist_mac
    config_foreach parse_whitelist_domain whitelist_domain

    procd_open_instance
    procd_set_param command $BIN
    procd_set_param respawn
    procd_close_instance
}

stop_service() {
    rmmod wifidog-ng
}