From d7f25351b2a1623e0379db080db20ee263a97c57 Mon Sep 17 00:00:00 2001 From: Frank Brendel Date: Mon, 15 Oct 2018 09:44:01 +0200 Subject: [PATCH] monit: add quotes and timeout to custom program path --- .../mvc/app/controllers/OPNsense/Monit/forms/services.xml | 7 +++++++ src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml | 7 +++++++ src/opnsense/mvc/app/views/OPNsense/Monit/index.volt | 3 +++ src/opnsense/service/templates/OPNsense/Monit/monitrc | 8 ++++++-- 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Monit/forms/services.xml b/src/opnsense/mvc/app/controllers/OPNsense/Monit/forms/services.xml index d35ec9c7d..5b2b44c1a 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Monit/forms/services.xml +++ b/src/opnsense/mvc/app/controllers/OPNsense/Monit/forms/services.xml @@ -35,6 +35,13 @@ text + + monit.service.timeout + + text + true + + monit.service.address diff --git a/src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml b/src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml index dc67c30c1..1b5afabb0 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml +++ b/src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml @@ -214,6 +214,13 @@ /^(\/[^\/ ]*)+\/?.*$/ Should be a valid absolute file or folder path. + + 300 + N + 1 + 86400 + Program Timeout needs to be an integer value between 1 and 86400> +
N /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-4]|2[0-5][0-9]|[01]?[0-9][0-9]?)$/ diff --git a/src/opnsense/mvc/app/views/OPNsense/Monit/index.volt b/src/opnsense/mvc/app/views/OPNsense/Monit/index.volt index 4319996b2..277d6d7b0 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Monit/index.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Monit/index.volt @@ -196,6 +196,7 @@ POSSIBILITY OF SUCH DAMAGE. $('tr[id="row_monit.service.pidfile"]').addClass('hidden'); $('tr[id="row_monit.service.match"]').addClass('hidden'); $('tr[id="row_monit.service.path"]').addClass('hidden'); + $('tr[id="row_monit.service.timeout"]').addClass('hidden'); $('tr[id="row_monit.service.address"]').addClass('hidden'); $('tr[id="row_monit.service.interface"]').addClass('hidden'); $('tr[id="row_monit.service.start"]').removeClass('hidden'); @@ -238,6 +239,7 @@ POSSIBILITY OF SUCH DAMAGE. break; default: $('tr[id="row_monit.service.path"]').removeClass('hidden'); + $('tr[id="row_monit.service.timeout"]').removeClass('hidden'); } }; $('#DialogEditService').on('shown.bs.modal', function() {ShowHideFields();}); @@ -245,6 +247,7 @@ POSSIBILITY OF SUCH DAMAGE. $('#monit\\.service\\.pidfile').on('input', function() {ShowHideFields();}); $('#monit\\.service\\.match').on('input', function() {ShowHideFields();}); $('#monit\\.service\\.path').on('input', function() {ShowHideFields();}); + $('#monit\\.service\\.timeout').on('input', function() {ShowHideFields();}); $('#monit\\.service\\.address').on('input', function() {ShowHideFields();}); $('#monit\\.service\\.interface').on('changed.bs.select', function(e) {ShowHideFields();}); diff --git a/src/opnsense/service/templates/OPNsense/Monit/monitrc b/src/opnsense/service/templates/OPNsense/Monit/monitrc index 3971b6caf..bfb66e185 100644 --- a/src/opnsense/service/templates/OPNsense/Monit/monitrc +++ b/src/opnsense/service/templates/OPNsense/Monit/monitrc @@ -117,9 +117,13 @@ check {{ service.type }} {{ service.name }} {{ address }} {{ interface }} {% elif service.type == 'system' %} check {{ service.type }} {{ service.name }} {% else %} -{% set path = "with path " ~ service.path %} +{% set path = "with path \"" ~ service.path ~ "\"" %} {% if service.type == 'custom' %} -check program {{ service.name }} {{ path }} +{% set timeout = '' %} +{% if service.timeout|default('0') != 0 %} +{% set timeout = "timeout " ~ service.timeout ~ " seconds" %} +{% endif %} +check program {{ service.name }} {{ path }} {{ timeout }} {% else %} check {{ service.type }} {{ service.name }} {{ path }} {% endif %}