aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils
diff options
context:
space:
mode:
Diffstat (limited to 'package/utils')
-rwxr-xr-xpackage/utils/busybox/files/sysntpd24
1 files changed, 22 insertions, 2 deletions
diff --git a/package/utils/busybox/files/sysntpd b/package/utils/busybox/files/sysntpd
index c4c311c242..074f14b8f8 100755
--- a/package/utils/busybox/files/sysntpd
+++ b/package/utils/busybox/files/sysntpd
@@ -56,7 +56,14 @@ start_ntpd_instance() {
procd_set_param command "$PROG" -n -N
if [ "$enable_server" = "1" ]; then
procd_append_param command -l
- [ -n "$interface" ] && procd_append_param command -I $interface
+ [ -n "$interface" ] && {
+ local ifname
+
+ network_get_device ifname "$interface" || \
+ ifname="$interface"
+ procd_append_param command -I "$ifname"
+ procd_append_param netdev "$ifname"
+ }
fi
[ -x "$HOTPLUG_SCRIPT" ] && procd_append_param command -S "$HOTPLUG_SCRIPT"
for peer in $server; do
@@ -79,11 +86,12 @@ start_ntpd_instance() {
}
start_service() {
+ . /lib/functions/network.sh
validate_ntp_section ntp start_ntpd_instance
}
service_triggers() {
- local script name use_dhcp
+ local script name use_dhcp enable_server interface
script=$(readlink -f "$initscript")
name=$(basename ${script:-$initscript})
@@ -106,5 +114,17 @@ service_triggers() {
fi
}
+ config_get_bool enable_server ntp enable_server 0
+ config_get interface ntp interface
+
+ [ $enable_server -eq 1 ] && [ -n "$interface" ] && {
+ local ifname
+
+ network_get_device ifname "$interface" || \
+ ifname="$interface"
+ procd_add_interface_trigger "interface.*" "$ifname" \
+ /etc/init.d/"$name" reload
+ }
+
procd_add_validation validate_ntp_section
}