aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/busybox
diff options
context:
space:
mode:
Diffstat (limited to 'package/utils/busybox')
-rwxr-xr-xpackage/utils/busybox/files/cron19
1 files changed, 19 insertions, 0 deletions
diff --git a/package/utils/busybox/files/cron b/package/utils/busybox/files/cron
index 5e6b4bf3fe..8f54527805 100755
--- a/package/utils/busybox/files/cron
+++ b/package/utils/busybox/files/cron
@@ -6,10 +6,24 @@ 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}"
+ [ "$?" -eq 0 ] || {
+ echo "validation failed"
+ return 1
+ }
+ }
+
mkdir -p /var/spool/cron
ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null
@@ -17,3 +31,8 @@ start_service () {
procd_set_param command "$PROG" -f -c /etc/crontabs -l ${loglevel:-5}
procd_close_instance
}
+
+service_triggers()
+{
+ procd_add_validation validate_cron_section
+}