diff options
Diffstat (limited to 'package/utils/busybox/files')
-rwxr-xr-x | package/utils/busybox/files/cron | 38 | ||||
-rwxr-xr-x | package/utils/busybox/files/ntpd-hotplug | 3 | ||||
-rwxr-xr-x | package/utils/busybox/files/sysntpd | 42 |
3 files changed, 83 insertions, 0 deletions
diff --git a/package/utils/busybox/files/cron b/package/utils/busybox/files/cron new file mode 100755 index 0000000..19ecc43 --- /dev/null +++ b/package/utils/busybox/files/cron @@ -0,0 +1,38 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006-2011 OpenWrt.org + +START=50 + +USE_PROCD=1 +PROG=/usr/sbin/crond + +validate_cron_section() { + uci_validate_section system system "${1}" \ + 'cronloglevel:uinteger' +} + +start_service () { + [ -z "$(ls /etc/crontabs/)" ] && return 1 + + loglevel=$(uci_get "system.@system[0].cronloglevel") + + [ -z "${loglevel}" ] || { + /sbin/validate_data uinteger "${loglevel}" 2>/dev/null + [ "$?" -eq 0 ] || { + echo "validation failed" + return 1 + } + } + + mkdir -p /var/spool/cron + ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null + + procd_open_instance + procd_set_param command "$PROG" -f -c /etc/crontabs -l ${loglevel:-5} + procd_close_instance +} + +service_triggers() +{ + procd_add_validation validate_cron_section +} diff --git a/package/utils/busybox/files/ntpd-hotplug b/package/utils/busybox/files/ntpd-hotplug new file mode 100755 index 0000000..ddc1490 --- /dev/null +++ b/package/utils/busybox/files/ntpd-hotplug @@ -0,0 +1,3 @@ +#!/bin/sh +[ "$1" = stratum ] || exit 0 +ACTION="$1" /sbin/hotplug-call ntp diff --git a/package/utils/busybox/files/sysntpd b/package/utils/busybox/files/sysntpd new file mode 100755 index 0000000..f73bb83 --- /dev/null +++ b/package/utils/busybox/files/sysntpd @@ -0,0 +1,42 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2011 OpenWrt.org + +START=98 + +USE_PROCD=1 +PROG=/usr/sbin/ntpd +HOTPLUG_SCRIPT=/usr/sbin/ntpd-hotplug + +validate_ntp_section() { + uci_validate_section system timeserver "${1}" \ + 'server:list(host)' 'enabled:bool:1' 'enable_server:bool:0' +} + +start_service() { + local server enabled enable_server peer + + validate_ntp_section ntp || { + echo "validation failed" + return 1 + } + + [ $enabled = 0 ] && return + + [ -z "$server" ] && return + + procd_open_instance + procd_set_param command "$PROG" -n + [ "$enable_server" = "1" ] && procd_append_param command -l + [ -x "$HOTPLUG_SCRIPT" ] && procd_append_param command -S "$HOTPLUG_SCRIPT" + for peer in $server; do + procd_append_param command -p $peer + done + procd_set_param respawn + procd_close_instance +} + +service_triggers() +{ + procd_add_reload_trigger "system" + procd_add_validation validate_ntp_section +} |