/trunk/vendor/autoload.php |
---|
3,22 → 3,9 |
// autoload.php @generated by Composer |
if (PHP_VERSION_ID < 50600) { |
if (!headers_sent()) { |
header('HTTP/1.1 500 Internal Server Error'); |
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; |
exit(1); |
} |
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; |
if (!ini_get('display_errors')) { |
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { |
fwrite(STDERR, $err); |
} elseif (!headers_sent()) { |
echo $err; |
} |
} |
trigger_error( |
$err, |
E_USER_ERROR |
); |
} |
require_once __DIR__ . '/composer/autoload_real.php'; |
/trunk/vendor/composer/ClassLoader.php |
---|
42,9 → 42,6 |
*/ |
class ClassLoader |
{ |
/** @var \Closure(string):void */ |
private static $includeFile; |
/** @var ?string */ |
private $vendorDir; |
109,7 → 106,6 |
public function __construct($vendorDir = null) |
{ |
$this->vendorDir = $vendorDir; |
self::initializeIncludeClosure(); |
} |
/** |
429,8 → 425,7 |
public function loadClass($class) |
{ |
if ($file = $this->findFile($class)) { |
$includeFile = self::$includeFile; |
$includeFile($file); |
includeFile($file); |
return true; |
} |
560,14 → 555,6 |
return false; |
} |
/** |
* @return void |
*/ |
private static function initializeIncludeClosure() |
{ |
if (self::$includeFile !== null) { |
return; |
} |
/** |
577,9 → 564,9 |
* |
* @param string $file |
* @return void |
* @private |
*/ |
self::$includeFile = \Closure::bind(static function($file) { |
function includeFile($file) |
{ |
include $file; |
}, null, null); |
} |
} |
/trunk/vendor/composer/InstalledVersions.php |
---|
98,7 → 98,7 |
{ |
foreach (self::getInstalled() as $installed) { |
if (isset($installed['versions'][$packageName])) { |
return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false; |
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); |
} |
} |
119,7 → 119,7 |
*/ |
public static function satisfies(VersionParser $parser, $packageName, $constraint) |
{ |
$constraint = $parser->parseConstraints((string) $constraint); |
$constraint = $parser->parseConstraints($constraint); |
$provided = $parser->parseConstraints(self::getVersionRanges($packageName)); |
return $provided->matches($constraint); |
328,9 → 328,7 |
if (isset(self::$installedByVendor[$vendorDir])) { |
$installed[] = self::$installedByVendor[$vendorDir]; |
} elseif (is_file($vendorDir.'/composer/installed.php')) { |
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ |
$required = require $vendorDir.'/composer/installed.php'; |
$installed[] = self::$installedByVendor[$vendorDir] = $required; |
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; |
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { |
self::$installed = $installed[count($installed) - 1]; |
} |
342,17 → 340,12 |
// only require the installed.php file if this file is loaded from its dumped location, |
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 |
if (substr(__DIR__, -8, 1) !== 'C') { |
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ |
$required = require __DIR__ . '/installed.php'; |
self::$installed = $required; |
self::$installed = require __DIR__ . '/installed.php'; |
} else { |
self::$installed = array(); |
} |
} |
if (self::$installed !== array()) { |
$installed[] = self::$installed; |
} |
return $installed; |
} |
/trunk/vendor/composer/LICENSE |
---|
1,3 → 1,4 |
Copyright (c) Nils Adermann, Jordi Boggiano |
Permission is hereby granted, free of charge, to any person obtaining a copy |
17,3 → 18,4 |
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
THE SOFTWARE. |
/trunk/vendor/composer/autoload_real.php |
---|
33,18 → 33,25 |
$loader->register(true); |
$filesToLoad = \Composer\Autoload\ComposerStaticInitOidPlusComposer::$files; |
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) { |
$includeFiles = \Composer\Autoload\ComposerStaticInitOidPlusComposer::$files; |
foreach ($includeFiles as $fileIdentifier => $file) { |
composerRequireOidPlusComposer($fileIdentifier, $file); |
} |
return $loader; |
} |
} |
/** |
* @param string $fileIdentifier |
* @param string $file |
* @return void |
*/ |
function composerRequireOidPlusComposer($fileIdentifier, $file) |
{ |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { |
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; |
require $file; |
} |
}, null, null); |
foreach ($filesToLoad as $fileIdentifier => $file) { |
$requireFile($fileIdentifier, $file); |
} |
return $loader; |
} |
} |
/trunk/vendor/composer/installed.json |
---|
392,18 → 392,18 |
"source": { |
"type": "git", |
"url": "https://github.com/danielmarschall/uuid_mac_utils.git", |
"reference": "4a4fbab31b474f8025aa213641e99b9354192086" |
"reference": "499e25760ea87439d4167266d76f01454282639b" |
}, |
"dist": { |
"type": "zip", |
"url": "https://api.github.com/repos/danielmarschall/uuid_mac_utils/zipball/4a4fbab31b474f8025aa213641e99b9354192086", |
"reference": "4a4fbab31b474f8025aa213641e99b9354192086", |
"url": "https://api.github.com/repos/danielmarschall/uuid_mac_utils/zipball/499e25760ea87439d4167266d76f01454282639b", |
"reference": "499e25760ea87439d4167266d76f01454282639b", |
"shasum": "" |
}, |
"require": { |
"php": ">=7.0" |
}, |
"time": "2023-10-06T21:40:12+00:00", |
"time": "2023-11-11T00:22:44+00:00", |
"default-branch": true, |
"type": "library", |
"installation-source": "dist", |
433,18 → 433,18 |
"source": { |
"type": "git", |
"url": "https://github.com/danielmarschall/vnag.git", |
"reference": "f354f73264e6d3fd3280ee0a0d546b048868eeba" |
"reference": "0d4b0b4d80430cc4b723657ad73b35f23b4fd367" |
}, |
"dist": { |
"type": "zip", |
"url": "https://api.github.com/repos/danielmarschall/vnag/zipball/f354f73264e6d3fd3280ee0a0d546b048868eeba", |
"reference": "f354f73264e6d3fd3280ee0a0d546b048868eeba", |
"url": "https://api.github.com/repos/danielmarschall/vnag/zipball/0d4b0b4d80430cc4b723657ad73b35f23b4fd367", |
"reference": "0d4b0b4d80430cc4b723657ad73b35f23b4fd367", |
"shasum": "" |
}, |
"require": { |
"php": ">=7.0" |
}, |
"time": "2023-10-15T10:14:46+00:00", |
"time": "2023-11-05T18:32:23+00:00", |
"default-branch": true, |
"type": "library", |
"installation-source": "dist", |
837,12 → 837,12 |
"source": { |
"type": "git", |
"url": "https://github.com/phpseclib/phpseclib.git", |
"reference": "33fa69b2514a61138dd48e7a49f99445711e0ad0" |
"reference": "3ecde6bf6a934e70f4dee95794c045ade788ac04" |
}, |
"dist": { |
"type": "zip", |
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/33fa69b2514a61138dd48e7a49f99445711e0ad0", |
"reference": "33fa69b2514a61138dd48e7a49f99445711e0ad0", |
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/3ecde6bf6a934e70f4dee95794c045ade788ac04", |
"reference": "3ecde6bf6a934e70f4dee95794c045ade788ac04", |
"shasum": "" |
}, |
"require": { |
860,7 → 860,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": "2023-10-21T14:00:39+00:00", |
"time": "2023-11-04T21:13:09+00:00", |
"type": "library", |
"installation-source": "dist", |
"autoload": { |
/trunk/vendor/composer/installed.php |
---|
95,7 → 95,7 |
'danielmarschall/uuid_mac_utils' => array( |
'pretty_version' => 'dev-master', |
'version' => 'dev-master', |
'reference' => '4a4fbab31b474f8025aa213641e99b9354192086', |
'reference' => '499e25760ea87439d4167266d76f01454282639b', |
'type' => 'library', |
'install_path' => __DIR__ . '/../danielmarschall/uuid_mac_utils', |
'aliases' => array( |
106,7 → 106,7 |
'danielmarschall/vnag' => array( |
'pretty_version' => 'dev-master', |
'version' => 'dev-master', |
'reference' => 'f354f73264e6d3fd3280ee0a0d546b048868eeba', |
'reference' => '0d4b0b4d80430cc4b723657ad73b35f23b4fd367', |
'type' => 'library', |
'install_path' => __DIR__ . '/../danielmarschall/vnag', |
'aliases' => array( |
189,7 → 189,7 |
'phpseclib/phpseclib' => array( |
'pretty_version' => '3.0.x-dev', |
'version' => '3.0.9999999.9999999-dev', |
'reference' => '33fa69b2514a61138dd48e7a49f99445711e0ad0', |
'reference' => '3ecde6bf6a934e70f4dee95794c045ade788ac04', |
'type' => 'library', |
'install_path' => __DIR__ . '/../phpseclib/phpseclib', |
'aliases' => array(), |
/trunk/vendor/danielmarschall/uuid_mac_utils/includes/uuid_utils.inc.php |
---|
3,7 → 3,7 |
/* |
* UUID utils for PHP |
* Copyright 2011 - 2023 Daniel Marschall, ViaThinkSoft |
* Version 2023-10-06 |
* Version 2023-11-11 |
* |
* Licensed under the Apache License, Version 2.0 (the "License"); |
* you may not use this file except in compliance with the License. |
87,11 → 87,19 |
echo sprintf("%-32s %s\n", "Microsoft GUID syntax:", '{' . strtoupper(oid_to_uuid(uuid_to_oid($uuid))) . '}'); |
echo sprintf("%-32s %s\n", "C++ struct syntax:", uuid_c_syntax($uuid)); |
echo "\n"; |
echo sprintf("%-32s %s\n", "As OID:", $oid); |
if (class_exists('OidDerConverter')) { |
echo sprintf("%-32s %s\n", "DER encoding of OID:", OidDerConverter::hexarrayToStr(OidDerConverter::oidToDER($oid))); |
} |
echo sprintf("%-32s %s\n", "As OID (ISO/ITU-T 128 bits):", $oid=uuid_to_oid($uuid, '2.25')); |
# Removed because it is too much information (we would also need to add this to the other OIDs too) |
#if (class_exists('OidDerConverter')) { |
# echo sprintf("%-32s %s\n", "DER encoding of OID:", OidDerConverter::hexarrayToStr(OidDerConverter::oidToDER($oid))); |
#} |
echo sprintf("%-32s %s\n", "As OID (Microsoft):", $oid=uuid_to_oid($uuid, '1.2.840.113556.1.8000.2554')); |
echo sprintf("%-32s %s\n", "As OID (Waterjuice 2x64 bits):", $oid=uuid_to_oid($uuid, '1.3.6.1.4.1.54392.1')); |
echo sprintf("%-32s %s\n", "As OID (Waterjuice 4x32 bits):", $oid=uuid_to_oid($uuid, '1.3.6.1.4.1.54392.2')); |
echo sprintf("%-32s %s\n", "As OID (Waterjuice 8x16 bits):", $oid=uuid_to_oid($uuid, '1.3.6.1.4.1.54392.3')); |
echo "\n"; |
echo "<u>Interpretation of the UUID:</u>\n\n"; |
if (!$echo) ob_start(); |
840,6 → 848,7 |
} |
function oid_to_uuid($oid) { |
// TODO: Also support Non-2.25 base UUID-to-OID |
if (!is_uuid_oid($oid,true)) return false; |
if (substr($oid,0,1) == '.') { |
862,6 → 871,7 |
} |
function is_uuid_oid($oid, $only_allow_root=false) { |
// TODO: Also support Non-2.25 base UUID-to-OID |
if (substr($oid,0,1) == '.') $oid = substr($oid, 1); // remove leading dot |
$ary = explode('.', $oid); |
888,13 → 898,50 |
return true; |
} |
function uuid_to_oid($uuid) { |
function uuid_to_oid($uuid, $base='2.25') { |
if (!uuid_valid($uuid)) return false; |
#$base = oid_sanitize($base); |
$uuid = str_replace(array('-', '{', '}'), '', $uuid); |
// Information about Microsoft and Waterjuice UUID-OID: https://waterjuiceweb.wordpress.com/2019/09/24/guids-to-oids/ |
if ($base == '2.25') { |
$x = gmp_init($uuid, 16); |
return '2.25.'.gmp_strval($x, 10); |
return $base.'.'.gmp_strval($x, 10); |
} else if ($base == '1.2.840.113556.1.8000.2554') { |
return $base.'.'. |
gmp_strval(gmp_init(substr($uuid,0,4),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,4,4),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,8,4),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,12,4),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,16,4),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,20,6),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,26,6),16),10); |
} else if ($base == '1.3.6.1.4.1.54392.1') { |
return $base.'.'. |
gmp_strval(gmp_init(substr($uuid,0,16),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,16,16),16),10); |
} else if ($base == '1.3.6.1.4.1.54392.2') { |
return $base.'.'. |
gmp_strval(gmp_init(substr($uuid,0,8),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,8,8),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,16,8),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,24,8),16),10); |
} else if ($base == '1.3.6.1.4.1.54392.3') { |
return $base.'.'. |
gmp_strval(gmp_init(substr($uuid,0,4),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,4,4),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,8,4),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,12,4),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,16,4),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,20,4),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,24,4),16),10).'.'. |
gmp_strval(gmp_init(substr($uuid,28,4),16),10); |
} else { |
throw new Exception("Unsupported UUID-to-OID base"); |
} |
} |
function uuid_numeric_value($uuid) { |
$oid = uuid_to_oid($uuid); |
/trunk/vendor/danielmarschall/vnag/TODO.md |
---|
8,7 → 8,7 |
- *.conf files: /daten sollte nicht in den example conf's stehen. irgendwie anders machen (Aber achtung: wir symlinken die config files in unserem /etc ) |
- idea: a script that converts the output of an EXISTING nagios plugin into VNag Weboutput. So an arbitary Nagios script can be forwarded to other systems over HTTP |
- make all plugins "web enabled" |
In the framework create an easy function, which generates a simple default HTML header and footer |
- In the framework create an easy function, which generates a simple default HTML header and footer |
- should error details, e.g. defective hard disks at the mdstat monitor be Verbosity=Summary, or Verbosity=AdditionalInformation ? |
- idea for a new plugin: sudo /daten/scripts/tools/check_etc_perms | grep -v "world readable" | grep -v "world executable" |
- should putputID, passwordOut and privateKey be a default argument? Then you can use encryption/signing for all plugins by default |
/trunk/vendor/danielmarschall/vnag/src/framework/vnag_framework.inc.php |
---|
11,7 → 11,7 |
Developed by Daniel Marschall www.viathinksoft.com |
Licensed under the terms of the Apache 2.0 license |
Revision 2023-10-13 |
Revision 2023-11-05 |
*/ |
44,7 → 44,7 |
} |
abstract class VNag { |
/*public*/ const VNAG_VERSION = '2023-10-13'; |
/*public*/ const VNAG_VERSION = '2023-11-05'; |
// 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." |
782,7 → 782,7 |
} |
$payload = @json_decode($payload,true); |
if (!$payload) { |
if ($payload === null) { |
throw new VNagWebInfoException(VNagLang::$payload_not_json); |
} |
2248,5 → 2248,3 |
$inside_vnag_run = false; |
$old_error_handler = set_error_handler("vnagErrorHandler"); |
// === End of document === |
/trunk/vendor/licenses |
---|
16,10 → 16,10 |
danielmarschall/php-sha3 dev-master 5605bd5 MIT |
danielmarschall/php_utils 9999999-dev 06a9716 Apache-2.0 |
danielmarschall/php_utils dev-master 06a9716 Apache-2.0 |
danielmarschall/uuid_mac_utils 9999999-dev 4a4fbab Apache-2.0 |
danielmarschall/uuid_mac_utils dev-master 4a4fbab Apache-2.0 |
danielmarschall/vnag 9999999-dev f354f73 Apache-2.0 |
danielmarschall/vnag dev-master f354f73 Apache-2.0 |
danielmarschall/uuid_mac_utils 9999999-dev 499e257 Apache-2.0 |
danielmarschall/uuid_mac_utils dev-master 499e257 Apache-2.0 |
danielmarschall/vnag 9999999-dev 0d4b0b4 Apache-2.0 |
danielmarschall/vnag dev-master 0d4b0b4 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 |
28,7 → 28,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 33fa69b MIT |
phpseclib/phpseclib 3.0.x-dev 3ecde6b MIT |
script47/bs5-utils master master MIT |
spamspan/spamspan master GPL-2.0-only |
spomky-labs/php-punycode 9999999-dev d12fe5c MIT |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Signature/IEEE.php |
---|
0,0 → 1,66 |
<?php |
/** |
* IEEE P1363 Signature Handler |
* |
* PHP version 5 |
* |
* Handles signatures in the format described in |
* https://standards.ieee.org/ieee/1363/2049/ and |
* https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/sign#ecdsa |
* |
* @author Jim Wigginton <terrafrost@php.net> |
* @copyright 2016 Jim Wigginton |
* @license http://www.opensource.org/licenses/mit-license.html MIT License |
* @link http://phpseclib.sourceforge.net |
*/ |
namespace phpseclib3\Crypt\EC\Formats\Signature; |
use phpseclib3\Math\BigInteger; |
/** |
* ASN1 Signature Handler |
* |
* @author Jim Wigginton <terrafrost@php.net> |
*/ |
abstract class IEEE |
{ |
/** |
* Loads a signature |
* |
* @param string $sig |
* @return array |
*/ |
public static function load($sig) |
{ |
if (!is_string($sig)) { |
return false; |
} |
$len = strlen($sig); |
if ($len & 1) { |
return false; |
} |
$r = new BigInteger(substr($sig, 0, $len >> 1), 256); |
$s = new BigInteger(substr($sig, $len >> 1), 256); |
return compact('r', 's'); |
} |
/** |
* Returns a signature in the appropriate format |
* |
* @param \phpseclib3\Math\BigInteger $r |
* @param \phpseclib3\Math\BigInteger $s |
* @return string |
*/ |
public static function save(BigInteger $r, BigInteger $s) |
{ |
$r = $r->toBytes(); |
$s = $s->toBytes(); |
$len = max(strlen($r), strlen($s)); |
return str_pad($r, $len, "\0", STR_PAD_LEFT) . str_pad($s, $len, "\0", STR_PAD_LEFT); |
} |
} |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger.php |
---|
29,7 → 29,6 |
use phpseclib3\Exception\BadConfigurationException; |
use phpseclib3\Math\BigInteger\Engines\Engine; |
use UnexpectedValueException; |
/** |
* Pure-PHP arbitrary precision integer arithmetic library. Supports base-2, base-10, base-16, and base-256 |
153,7 → 152,7 |
} |
} |
throw new UnexpectedValueException('No valid BigInteger found. This is only possible when JIT is enabled on Windows and neither the GMP or BCMath extensions are available so either disable JIT or install GMP / BCMath'); |
throw new \UnexpectedValueException('No valid BigInteger found. This is only possible when JIT is enabled on Windows and neither the GMP or BCMath extensions are available so either disable JIT or install GMP / BCMath'); |
} |
} |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Math/PrimeField/Integer.php |
---|
263,7 → 263,7 |
$r = $this->value->powMod($temp, static::$modulo[$this->instanceID]); |
while (!$t->equals($one)) { |
for ($i == clone $one; $i->compare($m) < 0; $i = $i->add($one)) { |
for ($i = clone $one; $i->compare($m) < 0; $i = $i->add($one)) { |
if ($t->powMod($two->pow($i), static::$modulo[$this->instanceID])->equals($one)) { |
break; |
} |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php |
---|
1551,7 → 1551,21 |
['hmac-sha1-96', 'hmac-md5-96'] |
)); |
} |
break; |
case substr($this->server_identifier, 0, 24) == 'SSH-2.0-TurboFTP_SERVER_': |
if (!isset($preferred['server_to_client']['crypt'])) { |
$s2c_encryption_algorithms = array_values(array_diff( |
$s2c_encryption_algorithms, |
['aes128-gcm@openssh.com', 'aes256-gcm@openssh.com'] |
)); |
} |
if (!isset($preferred['client_to_server']['crypt'])) { |
$c2s_encryption_algorithms = array_values(array_diff( |
$c2s_encryption_algorithms, |
['aes128-gcm@openssh.com', 'aes256-gcm@openssh.com'] |
)); |
} |
} |
$client_cookie = Random::string(16); |
2315,7 → 2329,7 |
return $this->login_helper($username, $password); |
} |
$this->disconnect_helper(NET_SSH2_DISCONNECT_CONNECTION_LOST); |
throw new ConnectionClosedException('Connection closed by server'); |
throw $e; |
} |
list($type, $service) = Strings::unpackSSH2('Cs', $response); |