mirror of
https://github.com/danog/phpseclib.git
synced 2024-11-26 20:35:21 +01:00
php-cs-fixer @PHP81Migration rule set
This commit is contained in:
parent
c74ad399e6
commit
6958ba1627
@ -26,7 +26,7 @@ return (new PhpCsFixer\Config())
|
||||
'phpdoc_trim_consecutive_blank_line_separation' => true,
|
||||
'phpdoc_trim' => true,
|
||||
|
||||
'@PHP74Migration' => true,
|
||||
'@PHP74Migration:risky' => true,
|
||||
'@PHP81Migration' => true,
|
||||
'@PHP80Migration:risky' => true,
|
||||
]
|
||||
);
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
<arg name="extensions" value="php"/>
|
||||
<arg name="basepath" value=".."/>
|
||||
<arg name="report" value="emacs"/>
|
||||
<arg name="report" value="diff"/>
|
||||
<arg value="s"/>
|
||||
<arg value="n"/>
|
||||
<arg value="p"/>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -57,7 +57,7 @@
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=7.3",
|
||||
"php": ">=8.1",
|
||||
"paragonie/constant_time_encoding": "^2"
|
||||
},
|
||||
"require-dev": {
|
||||
|
@ -15,9 +15,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace phpseclib3\Crypt\Common;
|
||||
|
||||
use phpseclib3\Crypt\DSA;
|
||||
use phpseclib3\Crypt\Hash;
|
||||
use phpseclib3\Crypt\RSA;
|
||||
use phpseclib3\Exception\NoKeyLoadedException;
|
||||
use phpseclib3\Exception\UnsupportedFormatException;
|
||||
use phpseclib3\Math\BigInteger;
|
||||
@ -152,7 +150,7 @@ abstract class AsymmetricKey
|
||||
}
|
||||
|
||||
$components['format'] = $format;
|
||||
$components['secret'] = $components['secret'] ?? '';
|
||||
$components['secret'] ??= '';
|
||||
$comment = $components['comment'] ?? null;
|
||||
$new = static::onLoad($components);
|
||||
$new->format = $format;
|
||||
@ -226,7 +224,7 @@ abstract class AsymmetricKey
|
||||
}
|
||||
|
||||
$components['format'] = $format;
|
||||
$components['secret'] = $components['secret'] ?? '';
|
||||
$components['secret'] ??= '';
|
||||
|
||||
$new = static::onLoad($components);
|
||||
$new->format = $format;
|
||||
|
@ -67,7 +67,7 @@ abstract class OpenSSH
|
||||
// key format is described here:
|
||||
// https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/PROTOCOL.key?annotate=HEAD
|
||||
|
||||
if (strpos($key, 'BEGIN OPENSSH PRIVATE KEY') !== false) {
|
||||
if (str_contains($key, 'BEGIN OPENSSH PRIVATE KEY')) {
|
||||
$key = preg_replace('#(?:^-.*?-[\r\n]*$)|\s#ms', '', $key);
|
||||
$key = Base64::decode($key);
|
||||
$magic = Strings::shift($key, 15);
|
||||
|
@ -122,7 +122,7 @@ abstract class PuTTY
|
||||
throw new \UnexpectedValueException('Key should be a string - not a ' . gettype($key));
|
||||
}
|
||||
|
||||
if (strpos($key, 'BEGIN SSH2 PUBLIC KEY') !== false) {
|
||||
if (str_contains($key, 'BEGIN SSH2 PUBLIC KEY')) {
|
||||
$lines = preg_split('#[\r\n]+#', $key);
|
||||
switch (true) {
|
||||
case $lines[0] != '---- BEGIN SSH2 PUBLIC KEY ----':
|
||||
|
@ -66,7 +66,7 @@ abstract class PKCS8 extends Progenitor
|
||||
throw new \UnexpectedValueException('Key should be a string - not a ' . gettype($key));
|
||||
}
|
||||
|
||||
$isPublic = strpos($key, 'PUBLIC') !== false;
|
||||
$isPublic = str_contains($key, 'PUBLIC');
|
||||
|
||||
$key = parent::load($key, $password);
|
||||
|
||||
|
@ -70,7 +70,7 @@ abstract class PKCS8 extends Progenitor
|
||||
throw new \UnexpectedValueException('Key should be a string - not a ' . gettype($key));
|
||||
}
|
||||
|
||||
$isPublic = strpos($key, 'PUBLIC') !== false;
|
||||
$isPublic = str_contains($key, 'PUBLIC');
|
||||
|
||||
$key = parent::load($key, $password);
|
||||
|
||||
|
@ -18,7 +18,6 @@ use phpseclib3\Crypt\EC\BaseCurves\TwistedEdwards;
|
||||
use phpseclib3\Crypt\Hash;
|
||||
use phpseclib3\Crypt\Random;
|
||||
use phpseclib3\Math\BigInteger;
|
||||
use phpseclib3\Math\PrimeField\Integer;
|
||||
|
||||
class Ed25519 extends TwistedEdwards
|
||||
{
|
||||
@ -182,7 +181,7 @@ class Ed25519 extends TwistedEdwards
|
||||
|
||||
return [
|
||||
'dA' => $dA,
|
||||
'secret' => $str
|
||||
'secret' => $str,
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -123,7 +123,7 @@ class Ed448 extends TwistedEdwards
|
||||
|
||||
return [
|
||||
'dA' => $dA,
|
||||
'secret' => $str
|
||||
'secret' => $str,
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,7 @@ abstract class PKCS8 extends Progenitor
|
||||
throw new \UnexpectedValueException('Key should be a string - not a ' . gettype($key));
|
||||
}
|
||||
|
||||
$isPublic = strpos($key, 'PUBLIC') !== false;
|
||||
$isPublic = str_contains($key, 'PUBLIC');
|
||||
|
||||
$key = parent::load($key, $password);
|
||||
|
||||
|
@ -49,9 +49,9 @@ abstract class PKCS1 extends Progenitor
|
||||
throw new \UnexpectedValueException('Key should be a string - not a ' . gettype($key));
|
||||
}
|
||||
|
||||
if (strpos($key, 'PUBLIC') !== false) {
|
||||
if (str_contains($key, 'PUBLIC')) {
|
||||
$components = ['isPublicKey' => true];
|
||||
} elseif (strpos($key, 'PRIVATE') !== false) {
|
||||
} elseif (str_contains($key, 'PRIVATE')) {
|
||||
$components = ['isPublicKey' => false];
|
||||
} else {
|
||||
$components = [];
|
||||
|
@ -71,9 +71,9 @@ abstract class PKCS8 extends Progenitor
|
||||
throw new \UnexpectedValueException('Key should be a string - not a ' . gettype($key));
|
||||
}
|
||||
|
||||
if (strpos($key, 'PUBLIC') !== false) {
|
||||
if (str_contains($key, 'PUBLIC')) {
|
||||
$components = ['isPublicKey' => true];
|
||||
} elseif (strpos($key, 'PRIVATE') !== false) {
|
||||
} elseif (str_contains($key, 'PRIVATE')) {
|
||||
$components = ['isPublicKey' => false];
|
||||
} else {
|
||||
$components = [];
|
||||
|
@ -103,7 +103,7 @@ abstract class PSS extends Progenitor
|
||||
throw new \UnexpectedValueException('Key should be a string - not a ' . gettype($key));
|
||||
}
|
||||
|
||||
$components = ['isPublicKey' => strpos($key, 'PUBLIC') !== false];
|
||||
$components = ['isPublicKey' => str_contains($key, 'PUBLIC')];
|
||||
|
||||
$key = parent::load($key, $password);
|
||||
|
||||
|
@ -23,7 +23,6 @@ declare(strict_types=1);
|
||||
|
||||
namespace phpseclib3\File;
|
||||
|
||||
use DateTime;
|
||||
use ParagonIE\ConstantTime\Base64;
|
||||
use phpseclib3\Common\Functions\Strings;
|
||||
use phpseclib3\File\ASN1\Element;
|
||||
@ -1253,7 +1252,7 @@ abstract class ASN1
|
||||
}
|
||||
$prefix = substr($content, 0, 2) >= 50 ? '19' : '20';
|
||||
$content = $prefix . $content;
|
||||
} elseif (strpos($content, '.') !== false) {
|
||||
} elseif (str_contains($content, '.')) {
|
||||
$format .= '.u';
|
||||
}
|
||||
|
||||
@ -1261,7 +1260,7 @@ abstract class ASN1
|
||||
$content = substr($content, 0, -1) . '+0000';
|
||||
}
|
||||
|
||||
if (strpos($content, '-') !== false || strpos($content, '+') !== false) {
|
||||
if (str_contains($content, '-') || str_contains($content, '+')) {
|
||||
$format .= 'O';
|
||||
}
|
||||
|
||||
|
@ -57,7 +57,7 @@ abstract class OpenSSL
|
||||
throw new \UnexpectedValueException(openssl_error_string());
|
||||
}
|
||||
|
||||
$class = get_class($x);
|
||||
$class = $x::class;
|
||||
return new $class($result, 256);
|
||||
}
|
||||
}
|
||||
|
@ -550,7 +550,7 @@ abstract class PHP extends Engine
|
||||
$lhs = new static();
|
||||
$rhs = new static();
|
||||
}
|
||||
if (static::class != get_class($temp)) {
|
||||
if (static::class != $temp::class) {
|
||||
$temp = new static();
|
||||
$lhs = new static();
|
||||
$rhs = new static();
|
||||
|
@ -1027,8 +1027,8 @@ class SFTP extends SSH2
|
||||
}
|
||||
break;
|
||||
case 'mode':
|
||||
$a[$sort] &= 07777;
|
||||
$b[$sort] &= 07777;
|
||||
$a[$sort] &= 0o7777;
|
||||
$b[$sort] &= 0o7777;
|
||||
// fall-through
|
||||
default:
|
||||
if ($a[$sort] === $b[$sort]) {
|
||||
@ -1450,7 +1450,7 @@ class SFTP extends SSH2
|
||||
$filename = $temp;
|
||||
}
|
||||
|
||||
$attr = pack('N2', Attribute::PERMISSIONS, $mode & 07777);
|
||||
$attr = pack('N2', Attribute::PERMISSIONS, $mode & 0o7777);
|
||||
if (!$this->setstat($filename, $attr, $recursive)) {
|
||||
return false;
|
||||
}
|
||||
@ -2825,26 +2825,26 @@ class SFTP extends SSH2
|
||||
{
|
||||
// values come from http://lxr.free-electrons.com/source/include/uapi/linux/stat.h#L12
|
||||
// see, also, http://linux.die.net/man/2/stat
|
||||
switch ($mode & 0170000) {// ie. 1111 0000 0000 0000
|
||||
case 0000000: // no file type specified - figure out the file type using alternative means
|
||||
switch ($mode & 0o170000) {// ie. 1111 0000 0000 0000
|
||||
case 0: // no file type specified - figure out the file type using alternative means
|
||||
return false;
|
||||
case 0040000:
|
||||
case 0o040000:
|
||||
return FileType::DIRECTORY;
|
||||
case 0100000:
|
||||
case 0o100000:
|
||||
return FileType::REGULAR;
|
||||
case 0120000:
|
||||
case 0o120000:
|
||||
return FileType::SYMLINK;
|
||||
// new types introduced in SFTPv5+
|
||||
// http://tools.ietf.org/html/draft-ietf-secsh-filexfer-05#section-5.2
|
||||
case 0010000: // named pipe (fifo)
|
||||
case 0o010000: // named pipe (fifo)
|
||||
return FileType::FIFO;
|
||||
case 0020000: // character special
|
||||
case 0o020000: // character special
|
||||
return FileType::CHAR_DEVICE;
|
||||
case 0060000: // block special
|
||||
case 0o060000: // block special
|
||||
return FileType::BLOCK_DEVICE;
|
||||
case 0140000: // socket
|
||||
case 0o140000: // socket
|
||||
return FileType::SOCKET;
|
||||
case 0160000: // whiteout
|
||||
case 0o160000: // whiteout
|
||||
// "SPECIAL should be used for files that are of
|
||||
// a known type which cannot be expressed in the protocol"
|
||||
return FileType::SPECIAL;
|
||||
|
@ -1500,8 +1500,8 @@ class SSH2
|
||||
|
||||
$exchange_hash_rfc4419 = '';
|
||||
|
||||
if (strpos($this->kex_algorithm, 'curve25519-sha256') === 0 || strpos($this->kex_algorithm, 'ecdh-sha2-nistp') === 0) {
|
||||
$curve = strpos($this->kex_algorithm, 'curve25519-sha256') === 0 ?
|
||||
if (str_starts_with($this->kex_algorithm, 'curve25519-sha256') || str_starts_with($this->kex_algorithm, 'ecdh-sha2-nistp')) {
|
||||
$curve = str_starts_with($this->kex_algorithm, 'curve25519-sha256') ?
|
||||
'Curve25519' :
|
||||
substr($this->kex_algorithm, 10);
|
||||
$ourPrivate = EC::createKey($curve);
|
||||
@ -1509,7 +1509,7 @@ class SSH2
|
||||
$clientKexInitMessage = MessageTypeExtra::KEX_ECDH_INIT;
|
||||
$serverKexReplyMessage = MessageTypeExtra::KEX_ECDH_REPLY;
|
||||
} else {
|
||||
if (strpos($this->kex_algorithm, 'diffie-hellman-group-exchange') === 0) {
|
||||
if (str_starts_with($this->kex_algorithm, 'diffie-hellman-group-exchange')) {
|
||||
$dh_group_sizes_packed = pack(
|
||||
'NNN',
|
||||
$this->kex_dh_group_size_min,
|
||||
|
@ -268,7 +268,7 @@ class SFTPUserStoryTest extends PhpseclibFunctionalTestCase
|
||||
public function testChModOnFile($sftp)
|
||||
{
|
||||
$this->assertNotFalse(
|
||||
$sftp->chmod(0755, 'file1.txt'),
|
||||
$sftp->chmod(0o755, 'file1.txt'),
|
||||
'Failed asserting that chmod() was successful.'
|
||||
);
|
||||
|
||||
@ -717,12 +717,12 @@ class SFTPUserStoryTest extends PhpseclibFunctionalTestCase
|
||||
*/
|
||||
public function testReadableWritable($sftp)
|
||||
{
|
||||
$sftp->chmod(0000, 'offset.txt');
|
||||
$sftp->chmod(0, 'offset.txt');
|
||||
$this->assertFalse($sftp->is_writable('offset.txt'));
|
||||
$this->assertFalse($sftp->is_writeable('offset.txt'));
|
||||
$this->assertFalse($sftp->is_readable('offset.txt'));
|
||||
|
||||
$sftp->chmod(0777, 'offset.txt');
|
||||
$sftp->chmod(0o777, 'offset.txt');
|
||||
$this->assertTrue($sftp->is_writable('offset.txt'));
|
||||
$this->assertTrue($sftp->is_writeable('offset.txt'));
|
||||
$this->assertTrue($sftp->is_readable('offset.txt'));
|
||||
|
@ -82,7 +82,7 @@ abstract class PhpseclibTestCase extends TestCase
|
||||
|
||||
protected static function getVar($obj, $var)
|
||||
{
|
||||
$reflection = new \ReflectionClass(get_class($obj));
|
||||
$reflection = new \ReflectionClass($obj::class);
|
||||
$prop = $reflection->getProperty($var);
|
||||
$prop->setAccessible(true);
|
||||
return $prop->getValue($obj);
|
||||
@ -90,7 +90,7 @@ abstract class PhpseclibTestCase extends TestCase
|
||||
|
||||
public static function callFunc($obj, $func, $params = [])
|
||||
{
|
||||
$reflection = new \ReflectionClass(get_class($obj));
|
||||
$reflection = new \ReflectionClass($obj::class);
|
||||
$method = $reflection->getMethod($func);
|
||||
$method->setAccessible(true);
|
||||
return $method->invokeArgs($obj, $params);
|
||||
|
@ -100,7 +100,7 @@ class ChaCha20Test extends PhpseclibTestCase
|
||||
|
||||
$c = new ChaCha20();
|
||||
$c->setPoly1305Key($key);
|
||||
$r = new \ReflectionClass(get_class($c));
|
||||
$r = new \ReflectionClass($c::class);
|
||||
// this unit test is testing Poly1305 independent of ChaCha20, which phpseclib doesn't
|
||||
// really support, hence this hackish approach
|
||||
$m = $r->getMethod('poly1305');
|
||||
@ -128,7 +128,7 @@ class ChaCha20Test extends PhpseclibTestCase
|
||||
$c->setKey($key);
|
||||
$c->setNonce($nonce);
|
||||
|
||||
$r = new \ReflectionClass(get_class($c));
|
||||
$r = new \ReflectionClass($c::class);
|
||||
$m = $r->getMethod('createPoly1305Key');
|
||||
$m->setAccessible(true);
|
||||
$result = $m->invoke($c);
|
||||
|
Loading…
Reference in New Issue
Block a user