base-files: allow users to delect debug level during boot
[openwrt.git] / package / utils / busybox / files / cron
index 5e6b4bf..8f54527 100755 (executable)
@@ -6,10 +6,24 @@ START=50
 USE_PROCD=1
 PROG=/usr/sbin/crond
 
 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")
 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
 
        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
 }
        procd_set_param command "$PROG" -f -c /etc/crontabs -l ${loglevel:-5}
        procd_close_instance
 }
+
+service_triggers()
+{
+       procd_add_validation validate_cron_section
+}