#!/usr/bin/lua

local uci = require('simple-uci').cursor()

local function restart_tunneldigger()
	os.execute('logger -t tunneldigger-watchdog "Restarting Tunneldigger."')
	os.execute('/etc/init.d/tunneldigger restart')
end

local function has_mesh_vpn_neighbours()
	local handle = io.popen('batctl o', 'r')
	if not handle then
		return false
	end
	for line in handle:lines() do
		if line:find('mesh%-vpn') then
			handle:close()
			return true
		end
	end
	handle:close()
	return false
end

if uci:get_bool('tunneldigger', 'mesh_vpn', 'enabled') then
	if not has_mesh_vpn_neighbours() then
		os.execute('logger -t tunneldigger-watchdog "No vpn-mesh neighbours found."')
		restart_tunneldigger()
		return
	end
end