#!/bin/sh

uci_get_one() {
	for var in "$@"; do
		uci -P /var/state get "$var" 2>/dev/null && break
	done
}

local servers=$(uci_get_one "network.wan.lease_timesrv" \
	"system.time.rdate_servers" "freifunk.time.rdate_servers")

if [ -n "$servers" ]; then
	for server in $servers; do
		rdate -s $server >/dev/null 2>/dev/null && \
			logger -t rdate "Synced with $server" && break

		logger -t rdate "Failed to sync with $server"
	done
else
	logger -t rdate "No usable time server found"
fi