From b4d4d282bb243d0dbea0888f3ad9a9efec9e7777 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Mon, 28 Mar 2022 13:47:45 -0400 Subject: [PATCH] trim all monitor inputs before looking for errors. No inputs should have whitespace at beginning or end --- web/skins/classic/views/js/monitor.js.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/web/skins/classic/views/js/monitor.js.php b/web/skins/classic/views/js/monitor.js.php index c635af233..335ec9858 100644 --- a/web/skins/classic/views/js/monitor.js.php +++ b/web/skins/classic/views/js/monitor.js.php @@ -46,8 +46,14 @@ rtspStreamNames[\''.validJsStr($row['RTSPStreamName']).'\'] = true; function validateForm( form ) { var errors = new Array(); var warnings = new Array(); + const elements = form.elements; - if ( form.elements['newMonitor[Name]'].value.search( /[^\w\-\.\(\)\:\/ ]/ ) >= 0 ) + // No monitor input should have whitespace at beginning or end, so strip them out first. + for (var i=0; i= 0 ) errors[errors.length] = ""; else if ( monitorNames[form.elements['newMonitor[Name]'].value] ) errors[errors.length] = ""; @@ -77,6 +83,12 @@ function validateForm( form ) { errors[errors.length] = ""; } else if (form.elements['newMonitor[Path]'].value.match(/[\!\*'\(\)\$ ,#]/)) { warnings[warnings.length] = ""; +console.log(form.elements['newMonitor[Path]'].value.match(/[\!\*'\(\)\$ ,#]/)); + } + let url = new URL(form.elements['newMonitor[Path]'].value); +console.log(url.href); + if (url.href != form.elements['newMonitor[Path]'].value) { + warnings[warnings.length] = ""; } } else if ( form.elements['newMonitor[Type]'].value == 'File' ) {