diff --git a/package/system/procd/files/procd.sh b/package/system/procd/files/procd.sh index 1c2edc6799..693a045be5 100644 --- a/package/system/procd/files/procd.sh +++ b/package/system/procd/files/procd.sh @@ -72,7 +72,9 @@ _procd_open_service() { _procd_close_service() { json_close_object + _procd_open_trigger service_triggers + _procd_close_trigger _procd_ubus_call set } @@ -117,13 +119,27 @@ _procd_open_instance() { } _procd_open_trigger() { + let '_procd_trigger_open = _procd_trigger_open + 1' + [ "$_procd_trigger_open" -gt 1 ] && return json_add_array "triggers" } +_procd_close_trigger() { + let '_procd_trigger_open = _procd_trigger_open - 1' + [ "$_procd_trigger_open" -lt 1 ] || return + json_close_array +} + _procd_open_validate() { + json_select .. json_add_array "validate" } +_procd_close_validate() { + json_close_array + json_select triggers +} + _procd_add_jail() { json_add_object "jail" json_add_string name "$1" @@ -331,14 +347,6 @@ _procd_close_instance() { json_close_object } -_procd_close_trigger() { - json_close_array -} - -_procd_close_validate() { - json_close_array -} - _procd_add_instance() { _procd_open_instance _procd_set_param command "$@"