busybox: sysntpd: option to bind server to iface

NTPD in busybox has option -I to bind server to IFACE.
However, capabilities of the busybox are limited, the -I option cannot be
repeated and only one interface can be effectively specified in it.
This option is currently not configurable via UCI.
The patch adds an interface option to the system config, ntp section.
Also sort options for uci_load_validate alphabetically.

Signed-off-by: Alexey Dobrovolsky <dobrovolskiy.alexey@gmail.com>
This commit is contained in:
Alexey Dobrovolsky 2021-02-23 17:43:02 +03:00 committed by Hauke Mehrtens
parent 6fe6b631ef
commit e12fcf0fe5

View File

@ -30,7 +30,12 @@ get_dhcp_ntp_servers() {
validate_ntp_section() { validate_ntp_section() {
uci_load_validate system timeserver "$1" "$2" \ uci_load_validate system timeserver "$1" "$2" \
'server:list(host)' 'enabled:bool:1' 'enable_server:bool:0' 'use_dhcp:bool:1' 'dhcp_interface:list(string)' 'dhcp_interface:list(string)' \
'enable_server:bool:0' \
'enabled:bool:1' \
'interface:string' \
'server:list(host)' \
'use_dhcp:bool:1'
} }
start_ntpd_instance() { start_ntpd_instance() {
@ -49,7 +54,10 @@ start_ntpd_instance() {
procd_open_instance procd_open_instance
procd_set_param command "$PROG" -n -N procd_set_param command "$PROG" -n -N
[ "$enable_server" = "1" ] && procd_append_param command -l if [ "$enable_server" = "1" ]; then
procd_append_param command -l
[ -n "$interface" ] && procd_append_param command -I $interface
fi
[ -x "$HOTPLUG_SCRIPT" ] && procd_append_param command -S "$HOTPLUG_SCRIPT" [ -x "$HOTPLUG_SCRIPT" ] && procd_append_param command -S "$HOTPLUG_SCRIPT"
for peer in $server; do for peer in $server; do
procd_append_param command -p $peer procd_append_param command -p $peer