/trunk/vendor/composer/installed.json |
---|
370,18 → 370,18 |
"source": { |
"type": "git", |
"url": "https://github.com/danielmarschall/vnag.git", |
"reference": "85fb29d887bcfd6e251029d73cb12caaa28e4ec2" |
"reference": "839d7ddfe183bf59ab1a2a37e0c24e7653340ccb" |
}, |
"dist": { |
"type": "zip", |
"url": "https://api.github.com/repos/danielmarschall/vnag/zipball/85fb29d887bcfd6e251029d73cb12caaa28e4ec2", |
"reference": "85fb29d887bcfd6e251029d73cb12caaa28e4ec2", |
"url": "https://api.github.com/repos/danielmarschall/vnag/zipball/839d7ddfe183bf59ab1a2a37e0c24e7653340ccb", |
"reference": "839d7ddfe183bf59ab1a2a37e0c24e7653340ccb", |
"shasum": "" |
}, |
"require": { |
"php": ">=7.0" |
}, |
"time": "2022-09-12T12:33:50+00:00", |
"time": "2022-12-18T19:54:16+00:00", |
"default-branch": true, |
"type": "library", |
"installation-source": "dist", |
774,12 → 774,12 |
"source": { |
"type": "git", |
"url": "https://github.com/phpseclib/phpseclib.git", |
"reference": "8568af7f9bd6487c3283a24d7b546f9b30597cb9" |
"reference": "f28693d38ba21bb0d9f0c411ee5dae2b178201da" |
}, |
"dist": { |
"type": "zip", |
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/8568af7f9bd6487c3283a24d7b546f9b30597cb9", |
"reference": "8568af7f9bd6487c3283a24d7b546f9b30597cb9", |
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/f28693d38ba21bb0d9f0c411ee5dae2b178201da", |
"reference": "f28693d38ba21bb0d9f0c411ee5dae2b178201da", |
"shasum": "" |
}, |
"require": { |
797,7 → 797,7 |
"ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", |
"ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." |
}, |
"time": "2022-12-07T14:38:06+00:00", |
"time": "2022-12-17T18:26:50+00:00", |
"type": "library", |
"installation-source": "dist", |
"autoload": { |
/trunk/vendor/composer/installed.php |
---|
95,7 → 95,7 |
'danielmarschall/vnag' => array( |
'pretty_version' => 'dev-master', |
'version' => 'dev-master', |
'reference' => '85fb29d887bcfd6e251029d73cb12caaa28e4ec2', |
'reference' => '839d7ddfe183bf59ab1a2a37e0c24e7653340ccb', |
'type' => 'library', |
'install_path' => __DIR__ . '/../danielmarschall/vnag', |
'aliases' => array( |
178,7 → 178,7 |
'phpseclib/phpseclib' => array( |
'pretty_version' => '3.0.x-dev', |
'version' => '3.0.9999999.9999999-dev', |
'reference' => '8568af7f9bd6487c3283a24d7b546f9b30597cb9', |
'reference' => 'f28693d38ba21bb0d9f0c411ee5dae2b178201da', |
'type' => 'library', |
'install_path' => __DIR__ . '/../phpseclib/phpseclib', |
'aliases' => array(), |
/trunk/vendor/danielmarschall/vnag/README.md |
---|
19,6 → 19,7 |
VNag comes with following plugins pre-installed: |
- **4images_version**: Checks 4images installations for updates. |
- **aastra_430_voicemail**: Checks Aastra 430 phone system for new voicemails. |
- **disk_running**: Checks if harddisks which do not have SMART capability are online |
- **file_timestamp**: Warns when files are not modified withhin a specific interval/age. |
- **gitlab_version**: Checks GitLab install~ations for updates. |
28,10 → 29,12 |
- **last**: Checks the output of the tool "last" and warns when logins from suspicious IP adresses are detected. |
- **mdstat**: Parses the output of "/proc/mdstat" and warns when drives inside a RAID array have failed. |
- **mediawiki_version**: Checks MediaWiki installations for updates. |
- **net2ftp_version**: Checks net2ftp installations for updates. |
- **minecraft_java_version**: Checks the version of a local Minecraft Java server for updates. |
- **net2ftp_version**: Checks [net2ftp](https://www.net2ftp.com/) installations for updates. |
- **nextcloud_version**: Checks Nextcloud installations for updates. |
- **nocc_version**: Checks NOCC webmail installations for updates. |
- **openbugbounty**: Checks if your domains are listed at OpenBugBounty.org. |
- **open_deleted_files**: Checks if there are deleted files which have open file handles (leaked disk space). |
- **owncloud_version**: Checks ownCloud installations for updates. |
- **phpbb_version**: Checks phpBB installations for updates. |
- **phpmyadmin_version**: Checks phpMyAdmin installations for updates. |
39,8 → 42,10 |
- **pmwiki_version**: Checks PmWiki installations for updates. |
- **roundcube_version**: Checks RoundCube installations for updates. |
- **smart**: Checks the SMART attributes of harddrives and warns when bad attributes are detected. |
- **viewvc_version**: Checks [ViewVC](https://github.com/viewvc/viewvc/) installations for updates. |
- **virtual_mem**: Checks the amount of virtual memory (physical memory + swap). |
- **webreader**: Reads the output of another VNag plugin transferred over HTTP. |
- **websvn_version**: Checks [WebSVN](https://github.com/websvnphp/websvn/) installations for updates. |
- **wordpress_version**: Checks WordPress installations for updates. |
- **x509_expire**: Warns when X.509 (PEM) certificate files reach a specific age. |
/trunk/vendor/danielmarschall/vnag/framework/vnag_framework.inc.php |
---|
1,25 → 1,25 |
<?php /* <ViaThinkSoftSignature> |
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 |
Q== |
</ViaThinkSoftSignature> */ ?> |
<?php |
35,7 → 35,7 |
Developed by Daniel Marschall www.viathinksoft.com |
Licensed under the terms of the Apache 2.0 license |
Revision 2022-06-06 |
Revision 2022-12-18 |
*/ |
347,7 → 347,7 |
} |
abstract class VNag { |
/*public*/ const VNAG_VERSION = '2022-06-06'; |
/*public*/ const VNAG_VERSION = '2022-12-18'; |
// Status 0..3 for STATUSMODEL_SERVICE (the default status model): |
# 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." |
1308,9 → 1308,37 |
} |
} |
} |
// This is not used by the framework itself, but can be useful for plugins |
// Note: For icinga2, the path is /var/lib/nagios/.vnag/cache/ |
protected function get_cache_dir() { |
$homedir = @getenv('HOME'); |
if ($homedir && is_dir($homedir)) { |
$try = "${homedir}/.vnag/cache"; |
if (is_dir($try)) return $try; |
if (@mkdir($try,0777,true)) return $try; |
} |
$user = posix_getpwuid(posix_geteuid()); |
if (isset($user['dir']) && is_dir($user['dir'])) { |
$homedir = $user['dir']; |
$try = "${homedir}/.vnag/cache"; |
if (is_dir($try)) return $try; |
if (@mkdir($try,0777,true)) return $try; |
} |
if (isset($user['name']) && is_dir($user['name'])) { |
$username = $user['name']; |
$try = "/tmp/vnag/cache"; |
if (is_dir($try)) return $try; |
if (@mkdir($try,0777,true)) return $try; |
} |
throw new VNagException("Cannot get cache dir"); // TODO: translate and own exception type |
} |
} |
class VNagException extends Exception { |
public function getStatus() { |
return VNag::STATUS_ERROR; |
/trunk/vendor/danielmarschall/vnag/signtool/sign |
---|
24,6 → 24,7 |
for ($i=1; $i<$argc; $i++) { |
$file = $argv[$i]; |
if (is_dir($file)) continue; |
$cont = file_get_contents($file); |
$original = $cont; |
/trunk/vendor/licenses |
---|
16,8 → 16,8 |
danielmarschall/php_utils dev-master e430ac9 Apache-2.0 |
danielmarschall/uuid_mac_utils 9999999-dev d0edce1 Apache-2.0 |
danielmarschall/uuid_mac_utils dev-master d0edce1 Apache-2.0 |
danielmarschall/vnag 9999999-dev 85fb29d Apache-2.0 |
danielmarschall/vnag dev-master 85fb29d Apache-2.0 |
danielmarschall/vnag 9999999-dev 839d7dd Apache-2.0 |
danielmarschall/vnag dev-master 839d7dd Apache-2.0 |
dcodeio/bcrypt.js master master BSD-3-Clause, MIT |
emn178/js-sha3 master master MIT |
firebase/php-jwt v5.5.1 BSD-3-Clause |
26,7 → 26,7 |
matthiasmullie/path-converter 1.1.3 MIT |
paragonie/constant_time_encoding v2.6.3 MIT |
paragonie/random_compat v9.99.100 MIT |
phpseclib/phpseclib 3.0.x-dev 8568af7 MIT |
phpseclib/phpseclib 3.0.x-dev f28693d MIT |
script47/bs5-utils master master MIT |
spamspan/spamspan master GPL-2.0-only |
symfony/polyfill-mbstring v1.19.0 MIT |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php |
---|
396,10 → 396,13 |
protected function isValidEngineHelper($engine) |
{ |
if ($engine == self::ENGINE_OPENSSL) { |
if (version_compare(PHP_VERSION, '5.3.7') < 0 && $this->key_length != 16) { |
if ($this->key_length < 16) { |
return false; |
} |
if ($this->key_length < 16) { |
// quoting https://www.openssl.org/news/openssl-3.0-notes.html, OpenSSL 3.0.1 |
// "Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider" |
// in theory openssl_get_cipher_methods() should catch this but, on GitHub Actions, at least, it does not |
if (version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) { |
return false; |
} |
$this->cipher_name_openssl_ecb = 'bf-ecb'; |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Crypt/DES.php |
---|
594,6 → 594,12 |
{ |
if ($this->key_length_max == 8) { |
if ($engine == self::ENGINE_OPENSSL) { |
// quoting https://www.openssl.org/news/openssl-3.0-notes.html, OpenSSL 3.0.1 |
// "Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider" |
// in theory openssl_get_cipher_methods() should catch this but, on GitHub Actions, at least, it does not |
if (version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) { |
return false; |
} |
$this->cipher_name_openssl_ecb = 'des-ecb'; |
$this->cipher_name_openssl = 'des-' . $this->openssl_translate_mode(); |
} |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC2.php |
---|
272,6 → 272,12 |
if ($this->current_key_length != 128 || strlen($this->orig_key) < 16) { |
return false; |
} |
// quoting https://www.openssl.org/news/openssl-3.0-notes.html, OpenSSL 3.0.1 |
// "Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider" |
// in theory openssl_get_cipher_methods() should catch this but, on GitHub Actions, at least, it does not |
if (version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) { |
return false; |
} |
$this->cipher_name_openssl_ecb = 'rc2-ecb'; |
$this->cipher_name_openssl = 'rc2-' . $this->openssl_translate_mode(); |
} |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC4.php |
---|
108,24 → 108,14 |
if ($this->continuousBuffer) { |
return false; |
} |
if (version_compare(PHP_VERSION, '5.3.7') >= 0) { |
$this->cipher_name_openssl = 'rc4-40'; |
} else { |
switch (strlen($this->key)) { |
case 5: |
$this->cipher_name_openssl = 'rc4-40'; |
break; |
case 8: |
$this->cipher_name_openssl = 'rc4-64'; |
break; |
case 16: |
$this->cipher_name_openssl = 'rc4'; |
break; |
default: |
// quoting https://www.openssl.org/news/openssl-3.0-notes.html, OpenSSL 3.0.1 |
// "Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider" |
// in theory openssl_get_cipher_methods() should catch this but, on GitHub Actions, at least, it does not |
if (version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) { |
return false; |
} |
$this->cipher_name_openssl = 'rc4-40'; |
} |
} |
return parent::isValidEngineHelper($engine); |
} |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/Reductions/EvalBarrett.php |
---|
105,7 → 105,7 |
$rhs = new ' . $class . '(); |
$lhs->value = $n; |
$rhs->value = [' . |
implode(',', array_map('self::float2string', $m)) . ']; |
implode(',', array_map(self::class . '::float2string', $m)) . ']; |
list(, $temp) = $lhs->divide($rhs); |
return $temp->value; |
} |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php |
---|
268,6 → 268,18 |
private $server_host_key_algorithms = false; |
/** |
* Supported Private Key Algorithms |
* |
* In theory this should be the same as the Server Host Key Algorithms but, in practice, |
* some servers (eg. Azure) will support rsa-sha2-512 as a server host key algorithm but |
* not a private key algorithm |
* |
* @see self::privatekey_login() |
* @var array|false |
*/ |
private $supported_private_key_algorithms = false; |
/** |
* Encryption Algorithms: Client to Server |
* |
* @see self::getEncryptionAlgorithmsClient2Server() |
1546,6 → 1558,8 |
$first_kex_packet_follows |
) = Strings::unpackSSH2('L10C', $response); |
$this->supported_private_key_algorithms = $this->server_host_key_algorithms; |
if ($send_kex) { |
$this->send_binary_packet($kexinit_payload_client); |
} |
2533,7 → 2547,7 |
if (isset($this->preferred['hostkey'])) { |
$algos = array_intersect($this->preferred['hostkey'], $algos); |
} |
$algo = self::array_intersect_first($algos, $this->server_host_key_algorithms); |
$algo = self::array_intersect_first($algos, $this->supported_private_key_algorithms); |
switch ($algo) { |
case 'rsa-sha2-512': |
$hash = 'sha512'; |
2602,6 → 2616,10 |
switch ($type) { |
case NET_SSH2_MSG_USERAUTH_FAILURE: |
list($auth_methods) = Strings::unpackSSH2('L', $response); |
if (in_array('publickey', $auth_methods) && substr($signatureType, 0, 9) == 'rsa-sha2-') { |
$this->supported_private_key_algorithms = array_diff($this->supported_private_key_algorithms, ['rsa-sha2-256', 'rsa-sha2-512']); |
return $this->privatekey_login($username, $privatekey); |
} |
$this->auth_methods_to_continue = $auth_methods; |
$this->errors[] = 'SSH_MSG_USERAUTH_FAILURE'; |
return false; |