Skip to content
Snippets Groups Projects
Commit b1fed240 authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

update cert check validation

parent debac217
No related branches found
No related tags found
1 merge request!85update cert check validation
...@@ -48,8 +48,9 @@ if (!class_exists('appmonitorcheck')) { ...@@ -48,8 +48,9 @@ if (!class_exists('appmonitorcheck')) {
* 2025-03-04 0.154 axel.hahn@unibe.ch finish with exitcode instead of die() * 2025-03-04 0.154 axel.hahn@unibe.ch finish with exitcode instead of die()
* 2025-03-17 0.155 axel.hahn@unibe.ch added: getVersion() and setVersion() * 2025-03-17 0.155 axel.hahn@unibe.ch added: getVersion() and setVersion()
* 2025-03-19 0.156 axel.hahn@unibe.ch added: validation rules for parameters in all checks * 2025-03-19 0.156 axel.hahn@unibe.ch added: validation rules for parameters in all checks
* 2025-03-24 0.157 axel.hahn@unibe.ch update validator for bool check in ini files
* --------------------------------------------------------------------------------<br> * --------------------------------------------------------------------------------<br>
* @version 0.155 * @version 0.157
* @author Axel Hahn * @author Axel Hahn
* @link TODO * @link TODO
* @license GPL * @license GPL
...@@ -63,7 +64,7 @@ class appmonitor ...@@ -63,7 +64,7 @@ class appmonitor
* Name and Version number * Name and Version number
* @var string * @var string
*/ */
protected string $_sVersion = '0.156'; protected string $_sVersion = '0.157';
/** /**
* config: default ttl for server before requesting the client check again * config: default ttl for server before requesting the client check again
......
...@@ -96,7 +96,10 @@ class validateparam ...@@ -96,7 +96,10 @@ class validateparam
break; break;
case 'bool': case 'bool':
if (!is_bool($value)) { if (!is_bool($value)) {
$sError .= "Value '$value' isn't a bool"; // special case for bool after ini parsing
if(!$value==="" || !$value===1){
$sError .= "Value '$value' isn't a bool";
}
} }
break; break;
......
...@@ -57,7 +57,7 @@ class checkCert extends appmonitorcheck ...@@ -57,7 +57,7 @@ class checkCert extends appmonitorcheck
'url' => [ 'url' => [
'type' => 'string', 'type' => 'string',
'required' => true, 'required' => true,
'description' => 'Url to check https://[server}[:{port}] or ssl://[server}[:{port}]', 'description' => 'Url to check https://[server}[:{port}] or ssl://[server}[:{port}]; autodetected on webserver with php but required on cli',
'default' => null, 'default' => null,
'regex'=>'/^(https|ssl):\/\/[^\s]+/', 'regex'=>'/^(https|ssl):\/\/[^\s]+/',
'example' => '', 'example' => '',
...@@ -86,6 +86,18 @@ class checkCert extends appmonitorcheck ...@@ -86,6 +86,18 @@ class checkCert extends appmonitorcheck
], ],
]; ];
/**
* Override explain()
* If https is used, url is not required because it can be autodetected from $_SERVER
*/
public function explain(): array
{
if($_SERVER['HTTPS']??false && $_SERVER['SERVER_NAME']??false){
$this->_aDoc['parameters']['url']['required']=false;
}
return $this->_aDoc;
}
/** /**
* Get default group of this check * Get default group of this check
* @return string * @return string
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment