Rev 31 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 31 | Rev 48 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | <?php /* <ViaThinkSoftSignature> |
1 | <?php /* <ViaThinkSoftSignature> |
2 | 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 |
23 | A== |
23 | g== |
24 | </ViaThinkSoftSignature> */ ?> |
24 | </ViaThinkSoftSignature> */ ?> |
25 | <?php |
25 | <?php |
26 | 26 | ||
27 | /* |
27 | /* |
28 | 28 | ||
29 | VNag - Nagios Framework for PHP (C) 2014-2021 |
29 | VNag - Nagios Framework for PHP (C) 2014-2022 |
30 | __ ___ _____ _ _ _ ____ __ _ |
30 | __ ___ _____ _ _ _ ____ __ _ |
31 | \ \ / (_) __ |_ _| |__ (_)_ __ | | __/ ___| ___ / _| |_ |
31 | \ \ / (_) __ |_ _| |__ (_)_ __ | | __/ ___| ___ / _| |_ |
32 | \ \ / /| |/ _` || | | '_ \| | '_ \| |/ /\___ \ / _ \| |_| __| |
32 | \ \ / /| |/ _` || | | '_ \| | '_ \| |/ /\___ \ / _ \| |_| __| |
33 | \ V / | | (_| || | | | | | | | | | < ___) | (_) | _| |_ |
33 | \ V / | | (_| || | | | | | | | | | < ___) | (_) | _| |_ |
34 | \_/ |_|\__,_||_| |_| |_|_|_| |_|_|\_\|____/ \___/|_| \__| |
34 | \_/ |_|\__,_||_| |_| |_|_|_| |_|_|\_\|____/ \___/|_| \__| |
35 | 35 | ||
36 | Developed by Daniel Marschall www.viathinksoft.com |
36 | Developed by Daniel Marschall www.viathinksoft.com |
37 | Licensed under the terms of the Apache 2.0 license |
37 | Licensed under the terms of the Apache 2.0 license |
38 | Revision 2021-06-24 |
38 | Revision 2022-04-09 |
39 | 39 | ||
40 | */ |
40 | */ |
41 | 41 | ||
42 | /**************************************************************************************************** |
42 | /**************************************************************************************************** |
43 | 43 | ||
Line 345... | Line 345... | ||
345 | // Returns true for '' or null. Does not return true for value 0 or '0' (like empty() does) |
345 | // Returns true for '' or null. Does not return true for value 0 or '0' (like empty() does) |
346 | return trim($x) == ''; |
346 | return trim($x) == ''; |
347 | } |
347 | } |
348 | 348 | ||
349 | abstract class VNag { |
349 | abstract class VNag { |
350 | /*public*/ const VNAG_VERSION = '2021-06-24'; |
350 | /*public*/ const VNAG_VERSION = '2022-04-09'; |
351 | 351 | ||
352 | // Status 0..3 for STATUSMODEL_SERVICE (the default status model): |
352 | // Status 0..3 for STATUSMODEL_SERVICE (the default status model): |
353 | # The guideline states: "Higher-level errors (such as name resolution errors, socket timeouts, etc) are outside of the control of plugins and should generally NOT be reported as UNKNOWN states." |
353 | # The guideline states: "Higher-level errors (such as name resolution errors, socket timeouts, etc) are outside of the control of plugins and should generally NOT be reported as UNKNOWN states." |
354 | # We choose 4 as exitcode. The plugin developer is free to return any other status. |
354 | # We choose 4 as exitcode. The plugin developer is free to return any other status. |
355 | /*public*/ const STATUS_OK = 0; |
355 | /*public*/ const STATUS_OK = 0; |
Line 1156... | Line 1156... | ||
1156 | } |
1156 | } |
1157 | 1157 | ||
1158 | $signature = ''; |
1158 | $signature = ''; |
1159 | $sign_algo = is_null($this->sign_algo) ? OPENSSL_ALGO_SHA256 : $this->sign_algo; |
1159 | $sign_algo = is_null($this->sign_algo) ? OPENSSL_ALGO_SHA256 : $this->sign_algo; |
1160 | if (@openssl_sign($payload, $signature, $pkeyid, $sign_algo)) { |
1160 | if (@openssl_sign($payload, $signature, $pkeyid, $sign_algo)) { |
- | 1161 | if (version_compare(PHP_VERSION, '8.0.0') < 0) { |
|
1161 | openssl_free_key($pkeyid); |
1162 | openssl_free_key($pkeyid); |
- | 1163 | } |
|
1162 | 1164 | ||
1163 | $dataset['signature'] = base64_encode($signature); |
1165 | $dataset['signature'] = base64_encode($signature); |
1164 | } else { |
1166 | } else { |
1165 | throw new VNagPrivateKeyException(sprintf(VNagLang::$signature_failed)); |
1167 | throw new VNagPrivateKeyException(sprintf(VNagLang::$signature_failed)); |
1166 | } |
1168 | } |