#!/bin/sh
#
# 50meow_ntpsync — udhcpc 钩子（M22）
#
# /usr/share/udhcpc/default.script 结尾会执行 default.script.d/*，
# 参数是本轮 DHCP 事件（deconfig|bound|renew|leasefail|nak）。
# 本钩子只在拿到租约（bound/renew）时动作——这是设备上唯一可靠的
# 「网络真的就绪」事件（S40network 阶段 WiFi 还没起来）。
#
# 关键：**绝不能阻塞**。default.script 是 udhcpc 同步调用的，
# 这里把校时丢后台后立即 exit 0，否则会拖住 DHCP 脚本。
#
# $ntpsrv = DHCP option 42（NTP 服务器列表）。
# 实测 2026-11-06 热点不下发（租约环境变量里没有 ntpsrv），企业网可能有；
# 有就优先用，没有就走 /usr/bin/meow_ntpsync 里的内置 IP 兜底。
#
# 重复触发由 meow_ntpsync 自己的 1 h 短路 + 锁兜住：续租每 30 min 一次，
# 最多 1 h 真同步一次，开销可忽略。
#
case "$1" in
  bound|renew) ;;
  *) exit 0 ;;
esac

[ -x /usr/bin/meow_ntpsync ] || exit 0

if [ -n "$ntpsrv" ]; then
	setsid /usr/bin/meow_ntpsync -s "$ntpsrv" >/dev/null 2>&1 &
else
	setsid /usr/bin/meow_ntpsync >/dev/null 2>&1 &
fi

exit 0
