/trunk/vendor/composer/installed.json |
---|
350,12 → 350,12 |
"source": { |
"type": "git", |
"url": "https://github.com/danielmarschall/php_utils.git", |
"reference": "06a97168b4b7a9726581decf7d75dc5b077b71a6" |
"reference": "29f3e9fc900fa6a06de15e8eabdc860a49ce5c76" |
}, |
"dist": { |
"type": "zip", |
"url": "https://api.github.com/repos/danielmarschall/php_utils/zipball/06a97168b4b7a9726581decf7d75dc5b077b71a6", |
"reference": "06a97168b4b7a9726581decf7d75dc5b077b71a6", |
"url": "https://api.github.com/repos/danielmarschall/php_utils/zipball/29f3e9fc900fa6a06de15e8eabdc860a49ce5c76", |
"reference": "29f3e9fc900fa6a06de15e8eabdc860a49ce5c76", |
"shasum": "" |
}, |
"require": { |
362,7 → 362,7 |
"ext-zlib": "*", |
"php": ">=7.0" |
}, |
"time": "2023-09-30T19:29:58+00:00", |
"time": "2023-11-30T21:53:37+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": "c21db263b0b65116532684e6e3674dd2b9ceac18" |
"reference": "56c79f16a6ae17e42089c06a2144467acc35348a" |
}, |
"dist": { |
"type": "zip", |
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/c21db263b0b65116532684e6e3674dd2b9ceac18", |
"reference": "c21db263b0b65116532684e6e3674dd2b9ceac18", |
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/56c79f16a6ae17e42089c06a2144467acc35348a", |
"reference": "56c79f16a6ae17e42089c06a2144467acc35348a", |
"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-11-12T15:02:35+00:00", |
"time": "2023-11-27T11:13:31+00:00", |
"type": "library", |
"installation-source": "dist", |
"autoload": { |
/trunk/vendor/composer/installed.php |
---|
84,7 → 84,7 |
'danielmarschall/php_utils' => array( |
'pretty_version' => 'dev-master', |
'version' => 'dev-master', |
'reference' => '06a97168b4b7a9726581decf7d75dc5b077b71a6', |
'reference' => '29f3e9fc900fa6a06de15e8eabdc860a49ce5c76', |
'type' => 'library', |
'install_path' => __DIR__ . '/../danielmarschall/php_utils', |
'aliases' => array( |
189,7 → 189,7 |
'phpseclib/phpseclib' => array( |
'pretty_version' => '3.0.x-dev', |
'version' => '3.0.9999999.9999999-dev', |
'reference' => 'c21db263b0b65116532684e6e3674dd2b9ceac18', |
'reference' => '56c79f16a6ae17e42089c06a2144467acc35348a', |
'type' => 'library', |
'install_path' => __DIR__ . '/../phpseclib/phpseclib', |
'aliases' => array(), |
/trunk/vendor/danielmarschall/php_utils/VtsLDAPUtils.class.php |
---|
3,7 → 3,7 |
/* |
* VtsLDAPUtils - Simple LDAP helper functions |
* Copyright 2021 - 2023 Daniel Marschall, ViaThinkSoft |
* Revision: 2023-04-09 |
* Revision: 2023-11-30 |
* |
* Licensed under the Apache License, Version 2.0 (the "License"); |
* you may not use this file except in compliance with the License. |
87,15 → 87,20 |
} |
} |
public function connect($cfg_ldap_server, $cfg_ldap_port) { |
public function connect($cfg_ldap_server, $cfg_ldap_port=389) { |
$this->disconnect(); |
// Connect to the server |
if (!empty($cfg_ldap_port)) { |
if (!($ldapconn = @ldap_connect($cfg_ldap_server, $cfg_ldap_port))) throw new Exception(self::_L('Cannot connect to LDAP server')); |
if (strpos($cfg_ldap_server, '://') !== false) { |
// e.g. ldap://hostname:port or ldaps://hostname:port |
$uri = $cfg_ldap_server; |
} else { |
if (!($ldapconn = @ldap_connect($cfg_ldap_server))) throw new Exception(self::_L('Cannot connect to LDAP server')); |
$secure = ($cfg_ldap_port == 636) || ($cfg_ldap_port == 3268) || ($cfg_ldap_port == 3269); |
$schema = $secure ? 'ldaps' : 'ldap'; |
$uri = $schema . '://' . $cfg_ldap_server . ':' . $cfg_ldap_port; |
} |
if (!($ldapconn = @ldap_connect($uri))) throw new Exception(self::_L('Cannot connect to LDAP server')); |
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3); |
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0); |
/trunk/vendor/danielmarschall/php_utils/vts_crypt.inc.php |
---|
57,7 → 57,7 |
Like most Crypt-hashes, <salt> and <hash> are Radix64 coded |
with alphabet './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' and no padding. |
Link to the online specification: |
https://oidplus.viathinksoft.com/oidplus/?goto=oid%3A1.3.6.1.4.1.37476.3.0.1.1 |
https://hosted.oidplus.com/viathinksoft/?goto=oid%3A1.3.6.1.4.1.37476.3.0.1.1 |
Reference implementation in PHP: |
https://github.com/danielmarschall/php_utils/blob/master/vts_crypt.inc.php |
/trunk/vendor/licenses |
---|
14,8 → 14,8 |
danielmarschall/oidconverter dev-master d9eb98e Apache-2.0 |
danielmarschall/php-sha3 9999999-dev 5605bd5 MIT |
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/php_utils 9999999-dev 29f3e9f Apache-2.0 |
danielmarschall/php_utils dev-master 29f3e9f Apache-2.0 |
danielmarschall/uuid_mac_utils 9999999-dev e632024 Apache-2.0 |
danielmarschall/uuid_mac_utils dev-master e632024 Apache-2.0 |
danielmarschall/vnag 9999999-dev 0d4b0b4 Apache-2.0 |
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 c21db26 MIT |
phpseclib/phpseclib 3.0.x-dev 56c79f1 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/Common/Formats/Keys/PKCS8.php |
---|
219,7 → 219,7 |
{ |
switch ($algo) { |
case 'desCBC': |
$cipher = new TripleDES('cbc'); |
$cipher = new DES('cbc'); |
break; |
case 'des-EDE3-CBC': |
$cipher = new TripleDES('cbc'); |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP.php |
---|
1332,7 → 1332,8 |
*/ |
protected static function testJITOnWindows() |
{ |
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN' && function_exists('opcache_get_status') && !defined('PHPSECLIB_ALLOW_JIT')) { |
// see https://github.com/php/php-src/issues/11917 |
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN' && function_exists('opcache_get_status') && PHP_VERSION_ID < 80213 && !defined('PHPSECLIB_ALLOW_JIT')) { |
$status = opcache_get_status(); |
if ($status && isset($status['jit']) && $status['jit']['enabled'] && $status['jit']['on']) { |
return true; |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Math/BinaryField.php |
---|
48,6 → 48,15 |
public function __construct(...$indices) |
{ |
$m = array_shift($indices); |
if ($m > 571) { |
/* sect571r1 and sect571k1 are the largest binary curves that https://www.secg.org/sec2-v2.pdf defines |
altho theoretically there may be legit reasons to use binary finite fields with larger degrees |
imposing a limit on the maximum size is both reasonable and precedented. in particular, |
http://tools.ietf.org/html/rfc4253#section-6.1 (The Secure Shell (SSH) Transport Layer Protocol) says |
"implementations SHOULD check that the packet length is reasonable in order for the implementation to |
avoid denial of service and/or buffer overflow attacks" */ |
throw new \OutOfBoundsException('Degrees larger than 571 are not supported'); |
} |
$val = str_repeat('0', $m) . '1'; |
foreach ($indices as $index) { |
$val[$index] = '1'; |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php |
---|
1122,6 → 1122,7 |
4 => 'NET_SSH2_MSG_DEBUG', |
5 => 'NET_SSH2_MSG_SERVICE_REQUEST', |
6 => 'NET_SSH2_MSG_SERVICE_ACCEPT', |
7 => 'NET_SSH2_MSG_EXT_INFO', // RFC 8308 |
20 => 'NET_SSH2_MSG_KEXINIT', |
21 => 'NET_SSH2_MSG_NEWKEYS', |
30 => 'NET_SSH2_MSG_KEXDH_INIT', |
1535,6 → 1536,8 |
$preferred['client_to_server']['comp'] : |
SSH2::getSupportedCompressionAlgorithms(); |
$kex_algorithms = array_merge($kex_algorithms, array('ext-info-c')); |
// some SSH servers have buggy implementations of some of the above algorithms |
switch (true) { |
case $this->server_identifier == 'SSH-2.0-SSHD': |
2332,7 → 2335,23 |
throw $e; |
} |
list($type, $service) = Strings::unpackSSH2('Cs', $response); |
list($type) = Strings::unpackSSH2('C', $response); |
if ($type == NET_SSH2_MSG_EXT_INFO) { |
list($nr_extensions) = Strings::unpackSSH2('N', $response); |
for ($i = 0; $i < $nr_extensions; $i++) { |
list($extension_name, $extension_value) = Strings::unpackSSH2('ss', $response); |
if ($extension_name == 'server-sig-algs') { |
$this->supported_private_key_algorithms = explode(',', $extension_value); |
} |
} |
$response = $this->get_binary_packet(); |
list($type) = Strings::unpackSSH2('C', $response); |
} |
list($service) = Strings::unpackSSH2('s', $response); |
if ($type != NET_SSH2_MSG_SERVICE_ACCEPT || $service != 'ssh-userauth') { |
$this->disconnect_helper(NET_SSH2_DISCONNECT_PROTOCOL_ERROR); |
throw new \UnexpectedValueException('Expected SSH_MSG_SERVICE_ACCEPT'); |
2608,7 → 2627,7 |
$privatekey = $privatekey->withPadding(RSA::SIGNATURE_PKCS1); |
$algos = ['rsa-sha2-256', 'rsa-sha2-512', 'ssh-rsa']; |
if (isset($this->preferred['hostkey'])) { |
$algos = array_intersect($this->preferred['hostkey'], $algos); |
$algos = array_intersect($algos, $this->preferred['hostkey']); |
} |
$algo = self::array_intersect_first($algos, $this->supported_private_key_algorithms); |
switch ($algo) { |
3417,6 → 3436,8 |
$this->session_id = false; |
$this->retry_connect = true; |
$this->get_seq_no = $this->send_seq_no = 0; |
$this->channel_status = []; |
$this->channel_id_last_interactive = 0; |
} |
/** |