aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/busybox/files
diff options
context:
space:
mode:
Diffstat (limited to 'package/utils/busybox/files')
-rwxr-xr-xpackage/utils/busybox/files/cron38
-rwxr-xr-xpackage/utils/busybox/files/ntpd-hotplug3
-rwxr-xr-xpackage/utils/busybox/files/sysntpd42
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
+}