From 00f17aa956781e67040b895beaabf2a494824112 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Wed, 8 Jul 2015 16:13:13 +0200 Subject: [PATCH 1/6] Update PHP Code Sniffer to 2.3.3 --- composer.json | 2 +- composer.lock | 27 +++++++++++++-------------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/composer.json b/composer.json index 08e25ef6..2f01622c 100644 --- a/composer.json +++ b/composer.json @@ -52,7 +52,7 @@ "phing/phing": "~2.7", "phpunit/phpunit": "~4.0", "sami/sami": "~2.0", - "squizlabs/php_codesniffer": "~1.5" + "squizlabs/php_codesniffer": "~2.0" }, "suggest": { "ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.", diff --git a/composer.lock b/composer.lock index 789eda30..093f4d6a 100644 --- a/composer.lock +++ b/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "c3ab2e2443c6993fa0d240a3db7f6545", + "hash": "a6903cc16470e835846865fb57ea29f9", "packages": [], "packages-dev": [ { @@ -1201,32 +1201,31 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "1.5.6", + "version": "2.3.3", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "6f3e42d311b882b25b4d409d23a289f4d3b803d5" + "reference": "c1a26c729508f73560c1a4f767f60b8ab6b4a666" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/6f3e42d311b882b25b4d409d23a289f4d3b803d5", - "reference": "6f3e42d311b882b25b4d409d23a289f4d3b803d5", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/c1a26c729508f73560c1a4f767f60b8ab6b4a666", + "reference": "c1a26c729508f73560c1a4f767f60b8ab6b4a666", "shasum": "" }, "require": { "ext-tokenizer": "*", + "ext-xmlwriter": "*", "php": ">=5.1.2" }, - "suggest": { - "phpunit/php-timer": "dev-master" - }, "bin": [ - "scripts/phpcs" + "scripts/phpcs", + "scripts/phpcbf" ], "type": "library", "extra": { "branch-alias": { - "dev-phpcs-fixer": "2.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -1235,12 +1234,12 @@ "CodeSniffer/CLI.php", "CodeSniffer/Exception.php", "CodeSniffer/File.php", + "CodeSniffer/Fixer.php", "CodeSniffer/Report.php", "CodeSniffer/Reporting.php", "CodeSniffer/Sniff.php", "CodeSniffer/Tokens.php", "CodeSniffer/Reports/", - "CodeSniffer/CommentParser/", "CodeSniffer/Tokenizers/", "CodeSniffer/DocGenerators/", "CodeSniffer/Standards/AbstractPatternSniff.php", @@ -1266,13 +1265,13 @@ "role": "lead" } ], - "description": "PHP_CodeSniffer tokenises PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", "homepage": "http://www.squizlabs.com/php-codesniffer", "keywords": [ "phpcs", "standards" ], - "time": "2014-12-04 22:32:15" + "time": "2015-06-24 03:16:23" }, { "name": "symfony/console", From 9283aaa36b53934e81f6ac5b80a29c88f8b9acbf Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Wed, 8 Jul 2015 16:48:57 +0200 Subject: [PATCH 2/6] Base code sniffer ruleset on PSR2 rather than PEAR. --- build/code-sniffer-ruleset-tests.xml | 10 ---- build/code-sniffer-ruleset.xml | 83 ++++++++-------------------- 2 files changed, 24 insertions(+), 69 deletions(-) diff --git a/build/code-sniffer-ruleset-tests.xml b/build/code-sniffer-ruleset-tests.xml index c3694258..cfdf7e80 100644 --- a/build/code-sniffer-ruleset-tests.xml +++ b/build/code-sniffer-ruleset-tests.xml @@ -6,16 +6,6 @@ - - - - - - - diff --git a/build/code-sniffer-ruleset.xml b/build/code-sniffer-ruleset.xml index a0a5fc8a..91171e5e 100644 --- a/build/code-sniffer-ruleset.xml +++ b/build/code-sniffer-ruleset.xml @@ -3,35 +3,30 @@ phpseclib coding standard - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -42,34 +37,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 6c76df46d4a6dfa5dc018b1403ac581476408ef6 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Wed, 15 Jul 2015 04:08:21 +0200 Subject: [PATCH 3/6] Ignore coding guidelines in ANSI switch block. --- phpseclib/File/ANSI.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/phpseclib/File/ANSI.php b/phpseclib/File/ANSI.php index c8496e1f..fa75195e 100644 --- a/phpseclib/File/ANSI.php +++ b/phpseclib/File/ANSI.php @@ -353,6 +353,7 @@ class File_ANSI //$back = $attr_cell->reverse ? &$attr_cell->foreground : &$attr_cell->background; $back = &$attr_cell->{ $attr_cell->reverse ? 'foreground' : 'background' }; switch ($mod) { + // @codingStandardsIgnoreStart case 30: $front = 'black'; break; case 31: $front = 'red'; break; case 32: $front = 'green'; break; @@ -370,6 +371,7 @@ class File_ANSI case 45: $back = 'magenta'; break; case 46: $back = 'cyan'; break; case 47: $back = 'white'; break; + // @codingStandardsIgnoreEnd default: //user_error('Unsupported attribute: ' . $mod); From 2013a31ecd70fc37c5413c4379b8a32922cbae26 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Wed, 15 Jul 2015 03:52:31 +0200 Subject: [PATCH 4/6] Use phpcbf to fix PHP code to ruleset. --- phpseclib/Crypt/AES.php | 2 +- phpseclib/Crypt/Base.php | 6 +- phpseclib/Crypt/DES.php | 1 - phpseclib/Crypt/Hash.php | 16 +- phpseclib/Crypt/RC2.php | 2 +- phpseclib/Crypt/RSA.php | 107 ++++-- phpseclib/Crypt/Random.php | 6 +- phpseclib/Crypt/Rijndael.php | 4 +- phpseclib/Crypt/Twofish.php | 4 +- phpseclib/File/ASN1.php | 8 +- phpseclib/File/X509.php | 47 +-- phpseclib/Math/BigInteger.php | 191 +++++----- phpseclib/Net/SCP.php | 6 +- phpseclib/Net/SFTP.php | 68 +++- phpseclib/Net/SSH1.php | 14 +- phpseclib/Net/SSH2.php | 356 +++++++++++++----- phpseclib/System/SSH/Agent.php | 10 +- tests/Functional/Net/SCPSSH2UserStoryTest.php | 2 +- tests/Functional/Net/SFTPLargeFileTest.php | 2 +- tests/Functional/Net/SFTPUserStoryTest.php | 22 +- tests/PhpseclibFunctionalTestCase.php | 2 +- tests/PhpseclibTestCase.php | 4 +- tests/Unit/Crypt/DESTest.php | 4 +- tests/Unit/Crypt/Hash/MD5Test.php | 4 +- tests/Unit/Crypt/Hash/SHA256Test.php | 4 +- tests/Unit/Crypt/Hash/SHA512Test.php | 4 +- tests/Unit/Crypt/Hash/TestCase.php | 2 +- tests/Unit/Crypt/RC2Test.php | 2 +- tests/Unit/Crypt/TwofishTest.php | 2 +- tests/Unit/Math/BigInteger/BCMathTest.php | 2 +- tests/Unit/Math/BigInteger/GMPTest.php | 2 +- .../Math/BigInteger/InternalOpenSSLTest.php | 2 +- tests/Unit/Math/BigInteger/InternalTest.php | 2 +- tests/Unit/Math/BigInteger/TestCase.php | 2 +- tests/Unit/Net/SSH2Test.php | 4 +- 35 files changed, 597 insertions(+), 319 deletions(-) diff --git a/phpseclib/Crypt/AES.php b/phpseclib/Crypt/AES.php index 308ad746..7adc5307 100644 --- a/phpseclib/Crypt/AES.php +++ b/phpseclib/Crypt/AES.php @@ -7,7 +7,7 @@ * * PHP versions 4 and 5 * - * NOTE: Since AES.php is (for compatibility and phpseclib-historical reasons) virtually + * NOTE: Since AES.php is (for compatibility and phpseclib-historical reasons) virtually * just a wrapper to Rijndael.php you may consider using Rijndael.php instead of * to save one include_once(). * diff --git a/phpseclib/Crypt/Base.php b/phpseclib/Crypt/Base.php index a686d6a8..9f324843 100644 --- a/phpseclib/Crypt/Base.php +++ b/phpseclib/Crypt/Base.php @@ -743,7 +743,7 @@ class Crypt_Base $iv = substr_replace($iv, $block, 0, $overflow); $ciphertext.= $block; $pos = $overflow; - } else if ($len) { + } elseif ($len) { $ciphertext = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); $iv = substr($ciphertext, -$this->block_size); } @@ -1050,7 +1050,7 @@ class Crypt_Base $plaintext.= $iv ^ substr($ciphertext, -$overflow); $iv = substr_replace($iv, substr($ciphertext, -$overflow), 0, $overflow); $pos = $overflow; - } else if ($len) { + } elseif ($len) { $plaintext.= openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); $iv = substr($ciphertext, -$this->block_size); } @@ -1326,7 +1326,7 @@ class Crypt_Base $buffer['ciphertext'] = substr($temp, $overflow); $encryptIV = $temp; } - } else if (!strlen($buffer['ciphertext'])) { + } elseif (!strlen($buffer['ciphertext'])) { $ciphertext.= openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); $temp = $this->_string_pop($ciphertext, $block_size); if ($this->continuousBuffer) { diff --git a/phpseclib/Crypt/DES.php b/phpseclib/Crypt/DES.php index 5db790c5..18e1ee82 100644 --- a/phpseclib/Crypt/DES.php +++ b/phpseclib/Crypt/DES.php @@ -1449,7 +1449,6 @@ class Crypt_DES extends Crypt_Base // Creating code for en- and decryption. $crypt_block = array(); foreach (array(CRYPT_DES_ENCRYPT, CRYPT_DES_DECRYPT) as $c) { - /* Do the initial IP permutation. */ $crypt_block[$c] = ' $in = unpack("N*", $in); diff --git a/phpseclib/Crypt/Hash.php b/phpseclib/Crypt/Hash.php index 4ab75b2d..2c7fb199 100644 --- a/phpseclib/Crypt/Hash.php +++ b/phpseclib/Crypt/Hash.php @@ -153,7 +153,7 @@ class Crypt_Hash */ function Crypt_Hash($hash = 'sha1') { - if ( !defined('CRYPT_HASH_MODE') ) { + if (!defined('CRYPT_HASH_MODE')) { switch (true) { case extension_loaded('hash'): define('CRYPT_HASH_MODE', CRYPT_HASH_MODE_HASH); @@ -242,7 +242,7 @@ class Crypt_Hash $mode = CRYPT_HASH_MODE; } - switch ( $mode ) { + switch ($mode) { case CRYPT_HASH_MODE_MHASH: switch ($hash) { case 'md5': @@ -278,20 +278,20 @@ class Crypt_Hash case 'md2': $this->b = 16; $this->hash = array($this, '_md2'); - break; + break; case 'md5': $this->b = 64; $this->hash = array($this, '_md5'); - break; + break; case 'sha256': $this->b = 64; $this->hash = array($this, '_sha256'); - break; + break; case 'sha384': case 'sha512': $this->b = 128; $this->hash = array($this, '_sha512'); - break; + break; case 'sha1': default: $this->b = 64; @@ -314,7 +314,7 @@ class Crypt_Hash $mode = is_array($this->hash) ? CRYPT_HASH_MODE_INTERNAL : CRYPT_HASH_MODE; if (!empty($this->key) || is_string($this->key)) { - switch ( $mode ) { + switch ($mode) { case CRYPT_HASH_MODE_MHASH: $output = mhash($this->hash, $text, $this->key); break; @@ -337,7 +337,7 @@ class Crypt_Hash $output = call_user_func($this->hash, $output); // step 7 } } else { - switch ( $mode ) { + switch ($mode) { case CRYPT_HASH_MODE_MHASH: $output = mhash($this->hash, $text); break; diff --git a/phpseclib/Crypt/RC2.php b/phpseclib/Crypt/RC2.php index 63c5effb..ddf8f2d6 100644 --- a/phpseclib/Crypt/RC2.php +++ b/phpseclib/Crypt/RC2.php @@ -415,7 +415,7 @@ class Crypt_RC2 extends Crypt_Base if ($t1 <= 0) { $t1 = $this->default_key_length; - } else if ($t1 > 1024) { + } elseif ($t1 > 1024) { $t1 = 1024; } $this->current_key_length = $t1; diff --git a/phpseclib/Crypt/RSA.php b/phpseclib/Crypt/RSA.php index 85477e89..dfec4b49 100644 --- a/phpseclib/Crypt/RSA.php +++ b/phpseclib/Crypt/RSA.php @@ -499,7 +499,7 @@ class Crypt_RSA $this->configFile = CRYPT_RSA_OPENSSL_CONFIG; - if ( !defined('CRYPT_RSA_MODE') ) { + if (!defined('CRYPT_RSA_MODE')) { switch (true) { // Math/BigInteger's openssl requirements are a little less stringent than Crypt/RSA's. in particular, // Math/BigInteger doesn't require an openssl.cfg file whereas Crypt/RSA does. so if Math/BigInteger @@ -592,7 +592,7 @@ class Crypt_RSA } // OpenSSL uses 65537 as the exponent and requires RSA keys be 384 bits minimum - if ( CRYPT_RSA_MODE == CRYPT_RSA_MODE_OPENSSL && $bits >= 384 && CRYPT_RSA_EXPONENT == 65537) { + if (CRYPT_RSA_MODE == CRYPT_RSA_MODE_OPENSSL && $bits >= 384 && CRYPT_RSA_EXPONENT == 65537) { $config = array(); if (isset($this->configFile)) { $config['config'] = $this->configFile; @@ -606,7 +606,8 @@ class Crypt_RSA $publickey = call_user_func_array(array($this, '_convertPublicKey'), array_values($this->_parseKey($publickey, CRYPT_RSA_PUBLIC_FORMAT_PKCS1))); // clear the buffer of error strings stemming from a minimalistic openssl.cnf - while (openssl_error_string() !== false); + while (openssl_error_string() !== false) { + } return array( 'privatekey' => $privatekey, @@ -796,19 +797,39 @@ class Crypt_RSA $encryption = (!empty($this->password) || is_string($this->password)) ? 'aes256-cbc' : 'none'; $key.= $encryption; $key.= "\r\nComment: " . $this->comment . "\r\n"; - $public = pack('Na*Na*Na*', - strlen('ssh-rsa'), 'ssh-rsa', strlen($raw['publicExponent']), $raw['publicExponent'], strlen($raw['modulus']), $raw['modulus'] + $public = pack( + 'Na*Na*Na*', + strlen('ssh-rsa'), + 'ssh-rsa', + strlen($raw['publicExponent']), + $raw['publicExponent'], + strlen($raw['modulus']), + $raw['modulus'] ); - $source = pack('Na*Na*Na*Na*', - strlen('ssh-rsa'), 'ssh-rsa', strlen($encryption), $encryption, - strlen($this->comment), $this->comment, strlen($public), $public + $source = pack( + 'Na*Na*Na*Na*', + strlen('ssh-rsa'), + 'ssh-rsa', + strlen($encryption), + $encryption, + strlen($this->comment), + $this->comment, + strlen($public), + $public ); $public = base64_encode($public); $key.= "Public-Lines: " . ((strlen($public) + 63) >> 6) . "\r\n"; $key.= chunk_split($public, 64); - $private = pack('Na*Na*Na*Na*', - strlen($raw['privateExponent']), $raw['privateExponent'], strlen($raw['prime1']), $raw['prime1'], - strlen($raw['prime2']), $raw['prime2'], strlen($raw['coefficient']), $raw['coefficient'] + $private = pack( + 'Na*Na*Na*Na*', + strlen($raw['privateExponent']), + $raw['privateExponent'], + strlen($raw['prime1']), + $raw['prime1'], + strlen($raw['prime2']), + $raw['prime2'], + strlen($raw['coefficient']), + $raw['coefficient'] ); if (empty($this->password) && !is_string($this->password)) { $source.= pack('Na*', strlen($private), $private); @@ -875,8 +896,14 @@ class Crypt_RSA if ($this->privateKeyFormat == CRYPT_RSA_PRIVATE_FORMAT_PKCS8) { $rsaOID = pack('H*', '300d06092a864886f70d0101010500'); // hex version of MA0GCSqGSIb3DQEBAQUA - $RSAPrivateKey = pack('Ca*a*Ca*a*', - CRYPT_RSA_ASN1_INTEGER, "\01\00", $rsaOID, 4, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey + $RSAPrivateKey = pack( + 'Ca*a*Ca*a*', + CRYPT_RSA_ASN1_INTEGER, + "\01\00", + $rsaOID, + 4, + $this->_encodeLength(strlen($RSAPrivateKey)), + $RSAPrivateKey ); $RSAPrivateKey = pack('Ca*a*', CRYPT_RSA_ASN1_SEQUENCE, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey); if (!empty($this->password) || is_string($this->password)) { @@ -890,20 +917,35 @@ class Crypt_RSA $crypto->setPassword($this->password, 'pbkdf1', 'md5', $salt, $iterationCount); $RSAPrivateKey = $crypto->encrypt($RSAPrivateKey); - $parameters = pack('Ca*a*Ca*N', - CRYPT_RSA_ASN1_OCTETSTRING, $this->_encodeLength(strlen($salt)), $salt, - CRYPT_RSA_ASN1_INTEGER, $this->_encodeLength(4), $iterationCount + $parameters = pack( + 'Ca*a*Ca*N', + CRYPT_RSA_ASN1_OCTETSTRING, + $this->_encodeLength(strlen($salt)), + $salt, + CRYPT_RSA_ASN1_INTEGER, + $this->_encodeLength(4), + $iterationCount ); $pbeWithMD5AndDES_CBC = "\x2a\x86\x48\x86\xf7\x0d\x01\x05\x03"; - $encryptionAlgorithm = pack('Ca*a*Ca*a*', - CRYPT_RSA_ASN1_OBJECT, $this->_encodeLength(strlen($pbeWithMD5AndDES_CBC)), $pbeWithMD5AndDES_CBC, - CRYPT_RSA_ASN1_SEQUENCE, $this->_encodeLength(strlen($parameters)), $parameters + $encryptionAlgorithm = pack( + 'Ca*a*Ca*a*', + CRYPT_RSA_ASN1_OBJECT, + $this->_encodeLength(strlen($pbeWithMD5AndDES_CBC)), + $pbeWithMD5AndDES_CBC, + CRYPT_RSA_ASN1_SEQUENCE, + $this->_encodeLength(strlen($parameters)), + $parameters ); - $RSAPrivateKey = pack('Ca*a*Ca*a*', - CRYPT_RSA_ASN1_SEQUENCE, $this->_encodeLength(strlen($encryptionAlgorithm)), $encryptionAlgorithm, - CRYPT_RSA_ASN1_OCTETSTRING, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey + $RSAPrivateKey = pack( + 'Ca*a*Ca*a*', + CRYPT_RSA_ASN1_SEQUENCE, + $this->_encodeLength(strlen($encryptionAlgorithm)), + $encryptionAlgorithm, + CRYPT_RSA_ASN1_OCTETSTRING, + $this->_encodeLength(strlen($RSAPrivateKey)), + $RSAPrivateKey ); $RSAPrivateKey = pack('Ca*a*', CRYPT_RSA_ASN1_SEQUENCE, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey); @@ -990,9 +1032,12 @@ class Crypt_RSA 'publicExponent' => pack('Ca*a*', CRYPT_RSA_ASN1_INTEGER, $this->_encodeLength(strlen($publicExponent)), $publicExponent) ); - $RSAPublicKey = pack('Ca*a*a*', - CRYPT_RSA_ASN1_SEQUENCE, $this->_encodeLength(strlen($components['modulus']) + strlen($components['publicExponent'])), - $components['modulus'], $components['publicExponent'] + $RSAPublicKey = pack( + 'Ca*a*a*', + CRYPT_RSA_ASN1_SEQUENCE, + $this->_encodeLength(strlen($components['modulus']) + strlen($components['publicExponent'])), + $components['modulus'], + $components['publicExponent'] ); if ($this->publicKeyFormat == CRYPT_RSA_PUBLIC_FORMAT_PKCS1_RAW) { @@ -1005,8 +1050,11 @@ class Crypt_RSA $RSAPublicKey = chr(0) . $RSAPublicKey; $RSAPublicKey = chr(3) . $this->_encodeLength(strlen($RSAPublicKey)) . $RSAPublicKey; - $RSAPublicKey = pack('Ca*a*', - CRYPT_RSA_ASN1_SEQUENCE, $this->_encodeLength(strlen($rsaOID . $RSAPublicKey)), $rsaOID . $RSAPublicKey + $RSAPublicKey = pack( + 'Ca*a*', + CRYPT_RSA_ASN1_SEQUENCE, + $this->_encodeLength(strlen($rsaOID . $RSAPublicKey)), + $rsaOID . $RSAPublicKey ); $RSAPublicKey = "-----BEGIN PUBLIC KEY-----\r\n" . @@ -1801,8 +1849,7 @@ class Crypt_RSA $RSAPublicKey = pack('Na*Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($publicExponent), $publicExponent, strlen($modulus), $modulus); - switch($algorithm) - { + switch ($algorithm) { case 'sha256': $hash = new Crypt_Hash('sha256'); $base = base64_encode($hash->hash($RSAPublicKey)); @@ -1928,7 +1975,7 @@ class Crypt_RSA function _decodeLength(&$string) { $length = ord($this->_string_shift($string)); - if ( $length & 0x80 ) { // definite length, long form + if ($length & 0x80) { // definite length, long form $length&= 0x7F; $temp = $this->_string_shift($string, $length); list(, $length) = unpack('N', substr(str_pad($temp, 4, chr(0), STR_PAD_LEFT), -4)); diff --git a/phpseclib/Crypt/Random.php b/phpseclib/Crypt/Random.php index 918b97bf..bb968374 100644 --- a/phpseclib/Crypt/Random.php +++ b/phpseclib/Crypt/Random.php @@ -171,9 +171,9 @@ if (!function_exists('crypt_random_string')) { ini_set('session.use_cookies', $old_use_cookies); session_cache_limiter($old_session_cache_limiter); } else { - if ($_OLD_SESSION !== false) { - $_SESSION = $_OLD_SESSION; - unset($_OLD_SESSION); + if ($_OLD_SESSION !== false) { + $_SESSION = $_OLD_SESSION; + unset($_OLD_SESSION); } else { unset($_SESSION); } diff --git a/phpseclib/Crypt/Rijndael.php b/phpseclib/Crypt/Rijndael.php index 9678efe0..dd5c75d3 100644 --- a/phpseclib/Crypt/Rijndael.php +++ b/phpseclib/Crypt/Rijndael.php @@ -387,7 +387,7 @@ class Crypt_Rijndael extends Crypt_Base $length >>= 5; if ($length > 8) { $length = 8; - } else if ($length < 4) { + } elseif ($length < 4) { $length = 4; } $this->Nb = $length; @@ -690,7 +690,7 @@ class Crypt_Rijndael extends Crypt_Base // with 0xFFFFFFFF (or 0xFFFFFF00) on a 32-bit machine is unnecessary, but on a 64-bit machine, it is. $temp = (($temp << 8) & 0xFFFFFF00) | (($temp >> 24) & 0x000000FF); // rotWord $temp = $this->_subWord($temp) ^ $rcon[$i / $this->Nk]; - } else if ($this->Nk > 6 && $i % $this->Nk == 4) { + } elseif ($this->Nk > 6 && $i % $this->Nk == 4) { $temp = $this->_subWord($temp); } $w[$i] = $w[$i - $this->Nk] ^ $temp; diff --git a/phpseclib/Crypt/Twofish.php b/phpseclib/Crypt/Twofish.php index 9ff79a53..191edae1 100644 --- a/phpseclib/Crypt/Twofish.php +++ b/phpseclib/Crypt/Twofish.php @@ -604,7 +604,9 @@ class Crypt_Twofish extends Crypt_Base $u^= 0x7fffffff & ($t >> 1); // Add the modular polynomial on underflow. - if ($t & 0x01) $u^= 0xa6 ; + if ($t & 0x01) { + $u^= 0xa6 ; + } // Remove t * (a + 1/a) * (x^3 + x). $B^= ($u << 24) | ($u << 8); diff --git a/phpseclib/File/ASN1.php b/phpseclib/File/ASN1.php index aab31f0f..3b8db023 100644 --- a/phpseclib/File/ASN1.php +++ b/phpseclib/File/ASN1.php @@ -306,17 +306,17 @@ class File_ASN1 $tag <<= 7; $tag |= ord($this->_string_shift($encoded)) & 0x7F; $start++; - } while ( $loop ); + } while ($loop); } // Length, as discussed in paragraph 8.1.3 of X.690-0207.pdf#page=13 $length = ord($this->_string_shift($encoded)); $start++; - if ( $length == 0x80 ) { // indefinite length + if ($length == 0x80) { // indefinite length // "[A sender shall] use the indefinite form (see 8.1.3.6) if the encoding is constructed and is not all // immediately available." -- paragraph 8.1.3.2.c $length = strlen($encoded); - } elseif ( $length & 0x80 ) { // definite length, long form + } elseif ($length & 0x80) { // definite length, long form // technically, the long form of the length can be represented by up to 126 octets (bytes), but we'll only // support it up to four. $length&= 0x7F; @@ -1088,7 +1088,7 @@ class File_ASN1 if ($outtype !== false) { return $this->_encode_der($source[$typename], array('type' => $outtype) + $mapping, null, $special); } - } + } $filters = $this->filters; foreach ($loc as $part) { diff --git a/phpseclib/File/X509.php b/phpseclib/File/X509.php index 6f8de788..0869deb6 100644 --- a/phpseclib/File/X509.php +++ b/phpseclib/File/X509.php @@ -2523,7 +2523,7 @@ class File_X509 $asn1->loadFilters($filters); $result = ''; foreach ($dn['rdnSequence'] as $rdn) { - foreach ($rdn as $i=>$attr) { + foreach ($rdn as $i => $attr) { $attr = &$rdn[$i]; if (is_array($attr['value'])) { foreach ($attr['value'] as $type => $v) { @@ -2590,7 +2590,7 @@ class File_X509 break; default: $delim = '/'; - $desc = preg_replace('#.+-([^-]+)$#', '$1', $prop) . '='; + $desc = preg_replace('#.+-([^-]+)$#', '$1', $prop) . '='; } if (!$start) { @@ -2747,7 +2747,7 @@ class File_X509 break; } } - foreach ($chain as $key=>$value) { + foreach ($chain as $key => $value) { $chain[$key] = new File_X509(); $chain[$key]->loadX509($value); } @@ -3212,9 +3212,9 @@ class File_X509 { $year = @gmdate("Y", @strtotime($date)); // the same way ASN1.php parses this if ($year < 2050) { - return array('utcTime' => $date); + return array('utcTime' => $date); } else { - return array('generalTime' => $date); + return array('generalTime' => $date); } } @@ -3268,7 +3268,7 @@ class File_X509 if (isset($subject->domains)) { $this->removeExtension('id-ce-subjectAltName'); } - } else if (isset($subject->currentCert) && is_array($subject->currentCert) && isset($subject->currentCert['tbsCertList'])) { + } elseif (isset($subject->currentCert) && is_array($subject->currentCert) && isset($subject->currentCert['tbsCertList'])) { return false; } else { if (!isset($subject->publicKey)) { @@ -3307,8 +3307,8 @@ class File_X509 'subject' => $subject->dn, 'subjectPublicKeyInfo' => $subjectPublicKey ), - 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), - 'signature' => false // this is going to be overwritten later + 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), + 'signature' => false // this is going to be overwritten later ); // Copy extensions from CSR. @@ -3329,8 +3329,7 @@ class File_X509 // ) //), 'keyIdentifier' => $issuer->currentKeyIdentifier - ) - ); + )); //$extensions = &$this->currentCert['tbsCertificate']['extensions']; //if (isset($issuer->serialNumber)) { // $extensions[count($extensions) - 1]['authorityCertSerialNumber'] = $issuer->serialNumber; @@ -3373,7 +3372,8 @@ class File_X509 $keyUsage = array(); } - $this->setExtension('id-ce-keyUsage', + $this->setExtension( + 'id-ce-keyUsage', array_values(array_unique(array_merge($keyUsage, array('cRLSign', 'keyCertSign')))) ); @@ -3382,8 +3382,11 @@ class File_X509 $basicConstraints = array(); } - $this->setExtension('id-ce-basicConstraints', - array_unique(array_merge(array('cA' => true), $basicConstraints)), true); + $this->setExtension( + 'id-ce-basicConstraints', + array_unique(array_merge(array('cA' => true), $basicConstraints)), + true + ); if (!isset($subject->currentKeyIdentifier)) { $this->setExtension('id-ce-subjectKeyIdentifier', base64_encode($this->computeKeyIdentifier($this->currentCert)), false, false); @@ -3443,8 +3446,8 @@ class File_X509 'subject' => $this->dn, 'subjectPKInfo' => $publicKey ), - 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), - 'signature' => false // this is going to be overwritten later + 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), + 'signature' => false // this is going to be overwritten later ); } @@ -3508,8 +3511,8 @@ class File_X509 // crypt_random_string(8) & str_repeat("\x7F", 8) 'challenge' => !empty($this->challenge) ? $this->challenge : '' ), - 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), - 'signature' => false // this is going to be overwritten later + 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), + 'signature' => false // this is going to be overwritten later ); } @@ -3561,8 +3564,8 @@ class File_X509 'issuer' => false, // this is going to be overwritten later 'thisUpdate' => $this->_timeField($thisUpdate) // $this->setStartDate() ), - 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), - 'signature' => false // this is going to be overwritten later + 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), + 'signature' => false // this is going to be overwritten later ); } @@ -3623,8 +3626,7 @@ class File_X509 // ) //), 'keyIdentifier' => $issuer->currentKeyIdentifier - ) - ); + )); //$extensions = &$tbsCertList['crlExtensions']; //if (isset($issuer->serialNumber)) { // $extensions[count($extensions) - 1]['authorityCertSerialNumber'] = $issuer->serialNumber; @@ -4415,7 +4417,6 @@ class File_X509 if (is_array($rclist = &$this->_subArray($this->currentCert, 'tbsCertList/revokedCertificates', true))) { if ($this->_revokedCertificate($rclist, $serial) === false) { // If not yet revoked if (($i = $this->_revokedCertificate($rclist, $serial, true)) !== false) { - if (!empty($date)) { $rclist[$i]['revocationDate'] = $this->_timeField($date); } @@ -4533,7 +4534,7 @@ class File_X509 if (is_array($rclist = $this->_subArray($crl, 'tbsCertList/revokedCertificates'))) { if (($i = $this->_revokedCertificate($rclist, $serial)) !== false) { - return $this->_getExtension($id, $crl, "tbsCertList/revokedCertificates/$i/crlEntryExtensions"); + return $this->_getExtension($id, $crl, "tbsCertList/revokedCertificates/$i/crlEntryExtensions"); } } diff --git a/phpseclib/Math/BigInteger.php b/phpseclib/Math/BigInteger.php index 8e54f741..94362a69 100644 --- a/phpseclib/Math/BigInteger.php +++ b/phpseclib/Math/BigInteger.php @@ -253,7 +253,7 @@ class Math_BigInteger */ function Math_BigInteger($x = 0, $base = 10) { - if ( !defined('MATH_BIGINTEGER_MODE') ) { + if (!defined('MATH_BIGINTEGER_MODE')) { switch (true) { case extension_loaded('gmp'): define('MATH_BIGINTEGER_MODE', MATH_BIGINTEGER_MODE_GMP); @@ -334,7 +334,7 @@ class Math_BigInteger } } - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: switch (true) { case is_resource($x) && get_resource_type($x) == 'GMP integer': @@ -364,8 +364,8 @@ class Math_BigInteger $x = ~$x; $this->is_negative = true; } - case 256: - switch ( MATH_BIGINTEGER_MODE ) { + case 256: + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $sign = $this->is_negative ? '-' : ''; $this->value = gmp_init($sign . '0x' . bin2hex($x)); @@ -401,7 +401,7 @@ class Math_BigInteger $this->value = $temp->value; } break; - case 16: + case 16: case -16: if ($base > 0 && $x[0] == '-') { $this->is_negative = true; @@ -416,7 +416,7 @@ class Math_BigInteger $x = bin2hex(~pack('H*', $x)); } - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = $this->is_negative ? '-0x' . $x : '0x' . $x; $this->value = gmp_init($temp); @@ -439,14 +439,14 @@ class Math_BigInteger $this->value = $temp->value; } break; - case 10: + case 10: case -10: // (?value = gmp_init($x); break; @@ -476,7 +476,7 @@ class Math_BigInteger $this->value = $temp->value; } break; - case 2: // base-2 support originally implemented by Lluis Pamies - thanks! + case 2: // base-2 support originally implemented by Lluis Pamies - thanks! case -2: if ($base > 0 && $x[0] == '-') { $this->is_negative = true; @@ -551,7 +551,7 @@ class Math_BigInteger return $comparison < 0 ? ~$bytes : $bytes; } - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: if (gmp_cmp($this->value, gmp_init(0)) == 0) { return $this->precision > 0 ? str_repeat(chr(0), ($this->precision + 1) >> 3) : ''; @@ -692,7 +692,7 @@ class Math_BigInteger */ function toString() { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: return gmp_strval($this->value); case MATH_BIGINTEGER_MODE_BCMATH: @@ -849,7 +849,7 @@ class Math_BigInteger */ function add($y) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_add($this->value, $y->value); @@ -891,7 +891,7 @@ class Math_BigInteger MATH_BIGINTEGER_VALUE => $y_value, MATH_BIGINTEGER_SIGN => $y_negative ); - } else if ($y_size == 0) { + } elseif ($y_size == 0) { return array( MATH_BIGINTEGER_VALUE => $x_value, MATH_BIGINTEGER_SIGN => $x_negative @@ -899,8 +899,8 @@ class Math_BigInteger } // subtract, if appropriate - if ( $x_negative != $y_negative ) { - if ( $x_value == $y_value ) { + if ($x_negative != $y_negative) { + if ($x_value == $y_value) { return array( MATH_BIGINTEGER_VALUE => array(), MATH_BIGINTEGER_SIGN => false @@ -980,7 +980,7 @@ class Math_BigInteger */ function subtract($y) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_sub($this->value, $y->value); @@ -1022,7 +1022,7 @@ class Math_BigInteger MATH_BIGINTEGER_VALUE => $y_value, MATH_BIGINTEGER_SIGN => !$y_negative ); - } else if ($y_size == 0) { + } elseif ($y_size == 0) { return array( MATH_BIGINTEGER_VALUE => $x_value, MATH_BIGINTEGER_SIGN => $x_negative @@ -1030,7 +1030,7 @@ class Math_BigInteger } // add, if appropriate (ie. -$x - +$y or +$x - -$y) - if ( $x_negative != $y_negative ) { + if ($x_negative != $y_negative) { $temp = $this->_add($x_value, false, $y_value, false); $temp[MATH_BIGINTEGER_SIGN] = $x_negative; @@ -1039,7 +1039,7 @@ class Math_BigInteger $diff = $this->_compare($x_value, $x_negative, $y_value, $y_negative); - if ( !$diff ) { + if (!$diff) { return array( MATH_BIGINTEGER_VALUE => array(), MATH_BIGINTEGER_SIGN => false @@ -1047,7 +1047,7 @@ class Math_BigInteger } // switch $x and $y around, if appropriate. - if ( (!$x_negative && $diff < 0) || ($x_negative && $diff > 0) ) { + if ((!$x_negative && $diff < 0) || ($x_negative && $diff > 0)) { $temp = $x_value; $x_value = $y_value; $y_value = $temp; @@ -1115,7 +1115,7 @@ class Math_BigInteger */ function multiply($x) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_mul($this->value, $x->value); @@ -1159,7 +1159,7 @@ class Math_BigInteger $x_length = count($x_value); $y_length = count($y_value); - if ( !$x_length || !$y_length ) { // a 0 is being multiplied + if (!$x_length || !$y_length) { // a 0 is being multiplied return array( MATH_BIGINTEGER_VALUE => array(), MATH_BIGINTEGER_SIGN => false @@ -1189,11 +1189,11 @@ class Math_BigInteger $x_length = count($x_value); $y_length = count($y_value); - if ( !$x_length || !$y_length ) { // a 0 is being multiplied + if (!$x_length || !$y_length) { // a 0 is being multiplied return array(); } - if ( $x_length < $y_length ) { + if ($x_length < $y_length) { $temp = $x_value; $x_value = $y_value; $y_value = $temp; @@ -1306,7 +1306,7 @@ class Math_BigInteger */ function _baseSquare($value) { - if ( empty($value) ) { + if (empty($value)) { return array(); } $square_value = $this->_array_repeat(0, 2 * count($value)); @@ -1402,7 +1402,7 @@ class Math_BigInteger */ function divide($y) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $quotient = new Math_BigInteger(); $remainder = new Math_BigInteger(); @@ -1439,7 +1439,7 @@ class Math_BigInteger } static $zero; - if ( !isset($zero) ) { + if (!isset($zero)) { $zero = new Math_BigInteger(); } @@ -1453,16 +1453,16 @@ class Math_BigInteger $diff = $x->compare($y); - if ( !$diff ) { + if (!$diff) { $temp = new Math_BigInteger(); $temp->value = array(1); $temp->is_negative = $x_sign != $y_sign; return array($this->_normalize($temp), $this->_normalize(new Math_BigInteger())); } - if ( $diff < 0 ) { + if ($diff < 0) { // if $x is negative, "add" $y. - if ( $x_sign ) { + if ($x_sign) { $x = $y->subtract($x); } return array($this->_normalize(new Math_BigInteger()), $this->_normalize($x)); @@ -1496,7 +1496,7 @@ class Math_BigInteger // $temp = $y << ($x_max - $y_max-1) in base 2**26 $temp_value = array_merge($this->_array_repeat(0, $x_max - $y_max), $y_value); - while ( $x->compare($temp) >= 0 ) { + while ($x->compare($temp) >= 0) { // calculate the "common residue" ++$quotient_value[$x_max - $y_max]; $x = $x->subtract($temp); @@ -1532,7 +1532,7 @@ class Math_BigInteger $rhs_value = array($x_window[2], $x_window[1], $x_window[0]); - while ( $lhs->compare($rhs) > 0 ) { + while ($lhs->compare($rhs) > 0) { --$quotient_value[$q_index]; $lhs->value = array($quotient_value[$q_index]); @@ -1563,7 +1563,7 @@ class Math_BigInteger $quotient->is_negative = $x_sign != $y_sign; // calculate the "common residue", if appropriate - if ( $x_sign ) { + if ($x_sign) { $y->_rshift($shift); $x = $y->subtract($x); } @@ -1652,7 +1652,7 @@ class Math_BigInteger return $this->_normalize($temp->modPow($e, $n)); } - if ( MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_GMP ) { + if (MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_GMP) { $temp = new Math_BigInteger(); $temp->value = gmp_powm($this->value, $e->value, $n->value); @@ -1675,17 +1675,23 @@ class Math_BigInteger 'publicExponent' => pack('Ca*a*', 2, $this->_encodeASN1Length(strlen($components['publicExponent'])), $components['publicExponent']) ); - $RSAPublicKey = pack('Ca*a*a*', - 48, $this->_encodeASN1Length(strlen($components['modulus']) + strlen($components['publicExponent'])), - $components['modulus'], $components['publicExponent'] + $RSAPublicKey = pack( + 'Ca*a*a*', + 48, + $this->_encodeASN1Length(strlen($components['modulus']) + strlen($components['publicExponent'])), + $components['modulus'], + $components['publicExponent'] ); $rsaOID = pack('H*', '300d06092a864886f70d0101010500'); // hex version of MA0GCSqGSIb3DQEBAQUA $RSAPublicKey = chr(0) . $RSAPublicKey; $RSAPublicKey = chr(3) . $this->_encodeASN1Length(strlen($RSAPublicKey)) . $RSAPublicKey; - $encapsulated = pack('Ca*a*', - 48, $this->_encodeASN1Length(strlen($rsaOID . $RSAPublicKey)), $rsaOID . $RSAPublicKey + $encapsulated = pack( + 'Ca*a*', + 48, + $this->_encodeASN1Length(strlen($rsaOID . $RSAPublicKey)), + $rsaOID . $RSAPublicKey ); $RSAPublicKey = "-----BEGIN PUBLIC KEY-----\r\n" . @@ -1699,25 +1705,25 @@ class Math_BigInteger } } - if ( MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_BCMATH ) { + if (MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_BCMATH) { $temp = new Math_BigInteger(); $temp->value = bcpowmod($this->value, $e->value, $n->value, 0); return $this->_normalize($temp); } - if ( empty($e->value) ) { + if (empty($e->value)) { $temp = new Math_BigInteger(); $temp->value = array(1); return $this->_normalize($temp); } - if ( $e->value == array(1) ) { + if ($e->value == array(1)) { list(, $temp) = $this->divide($n); return $this->_normalize($temp); } - if ( $e->value == array(2) ) { + if ($e->value == array(2)) { $temp = new Math_BigInteger(); $temp->value = $this->_square($this->value); list(, $temp) = $temp->divide($n); @@ -1732,14 +1738,14 @@ class Math_BigInteger // made uncallable // is the modulo odd? - if ( $n->value[0] & 1 ) { + if ($n->value[0] & 1) { return $this->_normalize($this->_slidingWindow($e, $n, MATH_BIGINTEGER_MONTGOMERY)); } // if it's not, it's even // find the lowest set bit (eg. the max pow of 2 that divides $n) for ($i = 0; $i < count($n->value); ++$i) { - if ( $n->value[$i] ) { + if ($n->value[$i]) { $temp = decbin($n->value[$i]); $j = strlen($temp) - strrpos($temp, '1') - 1; $j+= 26 * $i; @@ -1817,7 +1823,8 @@ class Math_BigInteger // calculate the appropriate window size. // $window_size == 3 if $window_ranges is between 25 and 81, for example. - for ($i = 0, $window_size = 1; $e_length > $window_ranges[$i] && $i < count($window_ranges); ++$window_size, ++$i); + for ($i = 0, $window_size = 1; $e_length > $window_ranges[$i] && $i < count($window_ranges); ++$window_size, ++$i) { + } $n_value = $n->value; @@ -1837,13 +1844,13 @@ class Math_BigInteger $result = array(1); $result = $this->_prepareReduce($result, $n_value, $mode); - for ($i = 0; $i < $e_length; ) { - if ( !$e_bits[$i] ) { + for ($i = 0; $i < $e_length;) { + if (!$e_bits[$i]) { $result = $this->_squareReduce($result, $n_value, $mode); ++$i; } else { for ($j = $window_size - 1; $j > 0; --$j) { - if ( !empty($e_bits[$i + $j]) ) { + if (!empty($e_bits[$i + $j])) { break; } } @@ -2027,7 +2034,7 @@ class Math_BigInteger // n = 2 * m.length - if ( ($key = array_search($m, $cache[MATH_BIGINTEGER_VARIABLE])) === false ) { + if (($key = array_search($m, $cache[MATH_BIGINTEGER_VARIABLE])) === false) { $key = count($cache[MATH_BIGINTEGER_VARIABLE]); $cache[MATH_BIGINTEGER_VARIABLE][] = $m; @@ -2116,7 +2123,7 @@ class Math_BigInteger return $temp->value; } - if ( ($key = array_search($n, $cache[MATH_BIGINTEGER_VARIABLE])) === false ) { + if (($key = array_search($n, $cache[MATH_BIGINTEGER_VARIABLE])) === false) { $key = count($cache[MATH_BIGINTEGER_VARIABLE]); $cache[MATH_BIGINTEGER_VARIABLE][] = $n; $lhs = new Math_BigInteger(); @@ -2177,14 +2184,14 @@ class Math_BigInteger $x_length = count($x_value); $y_length = count($y_value); - if ( !$x_length || !$y_length ) { // a 0 is being multiplied + if (!$x_length || !$y_length) { // a 0 is being multiplied return array( MATH_BIGINTEGER_VALUE => array(), MATH_BIGINTEGER_SIGN => false ); } - if ( $x_length < $y_length ) { + if ($x_length < $y_length) { $temp = $x_value; $x_value = $y_value; $y_value = $temp; @@ -2258,7 +2265,7 @@ class Math_BigInteger MATH_BIGINTEGER_DATA => array() ); - if ( ($key = array_search($n, $cache[MATH_BIGINTEGER_VARIABLE])) === false ) { + if (($key = array_search($n, $cache[MATH_BIGINTEGER_VARIABLE])) === false) { $key = count($cache[MATH_BIGINTEGER_VARIABLE]); $cache[MATH_BIGINTEGER_VARIABLE][] = $x; $cache[MATH_BIGINTEGER_DATA][] = $this->_modInverse67108864($n); @@ -2314,7 +2321,7 @@ class Math_BigInteger MATH_BIGINTEGER_DATA => array() ); - if ( ($key = array_search($m, $cache[MATH_BIGINTEGER_VARIABLE])) === false ) { + if (($key = array_search($m, $cache[MATH_BIGINTEGER_VARIABLE])) === false) { $key = count($cache[MATH_BIGINTEGER_VARIABLE]); $cache[MATH_BIGINTEGER_VARIABLE][] = $m; $cache[MATH_BIGINTEGER_DATA][] = $this->_modInverse67108864($m); @@ -2429,7 +2436,7 @@ class Math_BigInteger */ function modInverse($n) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_invert($this->value, $n->value); @@ -2495,7 +2502,7 @@ class Math_BigInteger */ function extendedGCD($n) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: extract(gmp_gcdext($this->value, $n->value)); @@ -2545,7 +2552,7 @@ class Math_BigInteger $g = new Math_BigInteger(); $g->value = array(1); - while ( !(($x->value[0] & 1)|| ($y->value[0] & 1)) ) { + while (!(($x->value[0] & 1)|| ($y->value[0] & 1))) { $x->_rshift(1); $y->_rshift(1); $g->_lshift(1); @@ -2562,10 +2569,10 @@ class Math_BigInteger $a->value = $d->value = $g->value = array(1); $b->value = $c->value = array(); - while ( !empty($u->value) ) { - while ( !($u->value[0] & 1) ) { + while (!empty($u->value)) { + while (!($u->value[0] & 1)) { $u->_rshift(1); - if ( (!empty($a->value) && ($a->value[0] & 1)) || (!empty($b->value) && ($b->value[0] & 1)) ) { + if ((!empty($a->value) && ($a->value[0] & 1)) || (!empty($b->value) && ($b->value[0] & 1))) { $a = $a->add($y); $b = $b->subtract($x); } @@ -2573,9 +2580,9 @@ class Math_BigInteger $b->_rshift(1); } - while ( !($v->value[0] & 1) ) { + while (!($v->value[0] & 1)) { $v->_rshift(1); - if ( (!empty($d->value) && ($d->value[0] & 1)) || (!empty($c->value) && ($c->value[0] & 1)) ) { + if ((!empty($d->value) && ($d->value[0] & 1)) || (!empty($c->value) && ($c->value[0] & 1))) { $c = $c->add($y); $d = $d->subtract($x); } @@ -2640,7 +2647,7 @@ class Math_BigInteger { $temp = new Math_BigInteger(); - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp->value = gmp_abs($this->value); break; @@ -2674,7 +2681,7 @@ class Math_BigInteger */ function compare($y) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: return gmp_cmp($this->value, $y->value); case MATH_BIGINTEGER_MODE_BCMATH: @@ -2697,13 +2704,13 @@ class Math_BigInteger */ function _compare($x_value, $x_negative, $y_value, $y_negative) { - if ( $x_negative != $y_negative ) { + if ($x_negative != $y_negative) { return ( !$x_negative && $y_negative ) ? 1 : -1; } $result = $x_negative ? -1 : 1; - if ( count($x_value) != count($y_value) ) { + if (count($x_value) != count($y_value)) { return ( count($x_value) > count($y_value) ) ? $result : -$result; } $size = max(count($x_value), count($y_value)); @@ -2732,7 +2739,7 @@ class Math_BigInteger */ function equals($x) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: return gmp_cmp($this->value, $x->value) == 0; default: @@ -2752,7 +2759,7 @@ class Math_BigInteger function setPrecision($bits) { $this->precision = $bits; - if ( MATH_BIGINTEGER_MODE != MATH_BIGINTEGER_MODE_BCMATH ) { + if (MATH_BIGINTEGER_MODE != MATH_BIGINTEGER_MODE_BCMATH) { $this->bitmask = new Math_BigInteger(chr((1 << ($bits & 0x7)) - 1) . str_repeat(chr(0xFF), $bits >> 3), 256); } else { $this->bitmask = new Math_BigInteger(bcpow('2', $bits, 0)); @@ -2772,7 +2779,7 @@ class Math_BigInteger */ function bitwise_and($x) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_and($this->value, $x->value); @@ -2813,7 +2820,7 @@ class Math_BigInteger */ function bitwise_or($x) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_or($this->value, $x->value); @@ -2853,7 +2860,7 @@ class Math_BigInteger */ function bitwise_xor($x) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_xor($this->value, $x->value); @@ -2933,7 +2940,7 @@ class Math_BigInteger { $temp = new Math_BigInteger(); - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: static $two; @@ -2971,7 +2978,7 @@ class Math_BigInteger { $temp = new Math_BigInteger(); - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: static $two; @@ -3010,7 +3017,7 @@ class Math_BigInteger if ($this->precision > 0) { $precision = $this->precision; - if ( MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_BCMATH ) { + if (MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_BCMATH) { $mask = $this->bitmask->subtract(new Math_BigInteger(1)); $mask = $mask->toBytes(); } else { @@ -3018,7 +3025,8 @@ class Math_BigInteger } } else { $temp = ord($bits[0]); - for ($i = 0; $temp >> $i; ++$i); + for ($i = 0; $temp >> $i; ++$i) { + } $precision = 8 * strlen($bits) - 8 + $i; $mask = chr((1 << ($precision & 0x7)) - 1) . str_repeat(chr(0xFF), $precision >> 3); } @@ -3129,7 +3137,7 @@ class Math_BigInteger if (!$compare) { return $this->_normalize($min); - } else if ($compare < 0) { + } elseif ($compare < 0) { // if $min is bigger then $max, swap $min and $max $temp = $max; $max = $min; @@ -3210,7 +3218,7 @@ class Math_BigInteger if (!$compare) { return $min->isPrime() ? $min : false; - } else if ($compare < 0) { + } elseif ($compare < 0) { // if $min is bigger then $max, swap $min and $max $temp = $max; $max = $min; @@ -3228,7 +3236,7 @@ class Math_BigInteger $x = $this->random($min, $max); // gmp_nextprime() requires PHP 5 >= 5.2.0 per . - if ( MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_GMP && function_exists('gmp_nextprime') ) { + if (MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_GMP && function_exists('gmp_nextprime')) { $p = new Math_BigInteger(); $p->value = gmp_nextprime($x->value); @@ -3294,7 +3302,7 @@ class Math_BigInteger */ function _make_odd() { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: gmp_setbit($this->value, 0); break; @@ -3346,7 +3354,7 @@ class Math_BigInteger // ie. gmp_testbit($this, 0) // ie. isEven() or !isOdd() - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: return gmp_prob_prime($this->value, $t) != 0; case MATH_BIGINTEGER_MODE_BCMATH: @@ -3383,7 +3391,7 @@ class Math_BigInteger 953, 967, 971, 977, 983, 991, 997 ); - if ( MATH_BIGINTEGER_MODE != MATH_BIGINTEGER_MODE_INTERNAL ) { + if (MATH_BIGINTEGER_MODE != MATH_BIGINTEGER_MODE_INTERNAL) { for ($i = 0; $i < count($primes); ++$i) { $primes[$i] = new Math_BigInteger($primes[$i]); } @@ -3399,7 +3407,7 @@ class Math_BigInteger } // see HAC 4.4.1 "Random search for probable primes" - if ( MATH_BIGINTEGER_MODE != MATH_BIGINTEGER_MODE_INTERNAL ) { + if (MATH_BIGINTEGER_MODE != MATH_BIGINTEGER_MODE_INTERNAL) { foreach ($primes as $prime) { list(, $r) = $this->divide($prime); if ($r->equals($zero)) { @@ -3423,7 +3431,7 @@ class Math_BigInteger $r = $n_1->copy(); $r_value = $r->value; // ie. $s = gmp_scan1($n, 0) and $r = gmp_div_q($n, gmp_pow(gmp_init('2'), $s)); - if ( MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_BCMATH ) { + if (MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_BCMATH) { $s = 0; // if $n was 1, $r would be 0 and this would be an infinite loop, hence our $this->equals($one) check earlier while ($r->value[strlen($r->value) - 1] % 2 == 0) { @@ -3433,7 +3441,8 @@ class Math_BigInteger } else { for ($i = 0, $r_length = count($r_value); $i < $r_length; ++$i) { $temp = ~$r_value[$i] & 0xFFFFFF; - for ($j = 1; ($temp >> $j) & 1; ++$j); + for ($j = 1; ($temp >> $j) & 1; ++$j) { + } if ($j != 25) { break; } @@ -3472,7 +3481,7 @@ class Math_BigInteger */ function _lshift($shift) { - if ( $shift == 0 ) { + if ($shift == 0) { return; } @@ -3488,7 +3497,7 @@ class Math_BigInteger $this->value[$i] = (int) ($temp - $carry * MATH_BIGINTEGER_BASE_FULL); } - if ( $carry ) { + if ($carry) { $this->value[count($this->value)] = $carry; } @@ -3516,7 +3525,7 @@ class Math_BigInteger $carry_shift = MATH_BIGINTEGER_BASE - $shift; $carry_mask = (1 << $shift) - 1; - if ( $num_digits ) { + if ($num_digits) { $this->value = array_slice($this->value, $num_digits); } @@ -3546,7 +3555,7 @@ class Math_BigInteger $result->precision = $this->precision; $result->bitmask = $this->bitmask; - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: if (!empty($result->bitmask->value)) { $result->value = gmp_and($result->value, $result->bitmask->value); @@ -3563,7 +3572,7 @@ class Math_BigInteger $value = &$result->value; - if ( !count($value) ) { + if (!count($value)) { return $result; } @@ -3593,7 +3602,7 @@ class Math_BigInteger function _trim($value) { for ($i = count($value) - 1; $i >= 0; --$i) { - if ( $value[$i] ) { + if ($value[$i]) { break; } unset($value[$i]); diff --git a/phpseclib/Net/SCP.php b/phpseclib/Net/SCP.php index b4ef4902..d73be75f 100644 --- a/phpseclib/Net/SCP.php +++ b/phpseclib/Net/SCP.php @@ -303,7 +303,7 @@ class Net_SCP case NET_SCP_SSH1: $data = pack('CNa*', NET_SSH1_CMSG_STDIN_DATA, strlen($data), $data); $this->ssh->_send_binary_packet($data); - } + } } /** @@ -339,7 +339,7 @@ class Net_SCP return false; } } - } + } } /** @@ -355,6 +355,6 @@ class Net_SCP break; case NET_SCP_SSH1: $this->ssh->disconnect(); - } + } } } diff --git a/phpseclib/Net/SFTP.php b/phpseclib/Net/SFTP.php index 6be9174a..5f79caf1 100644 --- a/phpseclib/Net/SFTP.php +++ b/phpseclib/Net/SFTP.php @@ -434,8 +434,15 @@ class Net_SFTP extends Net_SSH2 $this->window_size_server_to_client[NET_SFTP_CHANNEL] = $this->window_size; - $packet = pack('CNa*N3', - NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', NET_SFTP_CHANNEL, $this->window_size, 0x4000); + $packet = pack( + 'CNa*N3', + NET_SSH2_MSG_CHANNEL_OPEN, + strlen('session'), + 'session', + NET_SFTP_CHANNEL, + $this->window_size, + 0x4000 + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -448,8 +455,16 @@ class Net_SFTP extends Net_SSH2 return false; } - $packet = pack('CNNa*CNa*', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SFTP_CHANNEL], strlen('subsystem'), 'subsystem', 1, strlen('sftp'), 'sftp'); + $packet = pack( + 'CNNa*CNa*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SFTP_CHANNEL], + strlen('subsystem'), + 'subsystem', + 1, + strlen('sftp'), + 'sftp' + ); if (!$this->_send_binary_packet($packet)) { return false; } @@ -464,8 +479,16 @@ class Net_SFTP extends Net_SSH2 "exec sftp-server"; // we don't do $this->exec($command, false) because exec() operates on a different channel and plus the SSH_MSG_CHANNEL_OPEN that exec() does // is redundant - $packet = pack('CNNa*CNa*', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SFTP_CHANNEL], strlen('exec'), 'exec', 1, strlen($command), $command); + $packet = pack( + 'CNNa*CNa*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SFTP_CHANNEL], + strlen('exec'), + 'exec', + 1, + strlen($command), + $command + ); if (!$this->_send_binary_packet($packet)) { return false; } @@ -806,7 +829,7 @@ class Net_SFTP extends Net_SSH2 static $depth = 0; - foreach ($files as $key=>$value) { + foreach ($files as $key => $value) { if ($depth != 0 && $key == '..') { unset($files[$key]); continue; @@ -1071,7 +1094,7 @@ class Net_SFTP extends Net_SSH2 $temp = &$this->stat_cache; $max = count($dirs) - 1; - foreach ($dirs as $i=>$dir) { + foreach ($dirs as $i => $dir) { // if $temp is an object that means one of two things. // 1. a file was deleted and changed to a directory behind phpseclib's back // 2. it's a symlink. when lstat is done it's unclear what it's a symlink to @@ -1110,7 +1133,7 @@ class Net_SFTP extends Net_SSH2 $temp = &$this->stat_cache; $max = count($dirs) - 1; - foreach ($dirs as $i=>$dir) { + foreach ($dirs as $i => $dir) { if ($i === $max) { unset($temp[$dir]); return true; @@ -1540,7 +1563,7 @@ class Net_SFTP extends Net_SSH2 } unset($entries['.'], $entries['..']); - foreach ($entries as $filename=>$props) { + foreach ($entries as $filename => $props) { if (!isset($props['type'])) { return false; } @@ -2214,7 +2237,7 @@ class Net_SFTP extends Net_SSH2 } unset($entries['.'], $entries['..']); - foreach ($entries as $filename=>$props) { + foreach ($entries as $filename => $props) { if (!isset($props['type'])) { return false; } @@ -2416,13 +2439,20 @@ class Net_SFTP extends Net_SSH2 } switch ($type) { - case NET_SFTP_TYPE_BLOCK_DEVICE: return 'block'; - case NET_SFTP_TYPE_CHAR_DEVICE: return 'char'; - case NET_SFTP_TYPE_DIRECTORY: return 'dir'; - case NET_SFTP_TYPE_FIFO: return 'fifo'; - case NET_SFTP_TYPE_REGULAR: return 'file'; - case NET_SFTP_TYPE_SYMLINK: return 'link'; - default: return false; + case NET_SFTP_TYPE_BLOCK_DEVICE: + return 'block'; + case NET_SFTP_TYPE_CHAR_DEVICE: + return 'char'; + case NET_SFTP_TYPE_DIRECTORY: + return 'dir'; + case NET_SFTP_TYPE_FIFO: + return 'fifo'; + case NET_SFTP_TYPE_REGULAR: + return 'file'; + case NET_SFTP_TYPE_SYMLINK: + return 'link'; + default: + return false; } } @@ -2681,7 +2711,7 @@ class Net_SFTP extends Net_SSH2 { $packet = $this->request_id !== false ? pack('NCNa*', strlen($data) + 5, $type, $this->request_id, $data) : - pack('NCa*', strlen($data) + 1, $type, $data); + pack('NCa*', strlen($data) + 1, $type, $data); $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 $result = $this->_send_channel_packet(NET_SFTP_CHANNEL, $packet); diff --git a/phpseclib/Net/SSH1.php b/phpseclib/Net/SSH1.php index f1fae02b..3fa599af 100644 --- a/phpseclib/Net/SSH1.php +++ b/phpseclib/Net/SSH1.php @@ -621,7 +621,7 @@ class Net_SSH1 // get a list of the supported ciphers extract(unpack('Nsupported_ciphers_mask', $this->_string_shift($response[NET_SSH1_RESPONSE_DATA], 4))); - foreach ($this->supported_ciphers as $mask=>$name) { + foreach ($this->supported_ciphers as $mask => $name) { if (($supported_ciphers_mask & (1 << $mask)) == 0) { unset($this->supported_ciphers[$mask]); } @@ -629,7 +629,7 @@ class Net_SSH1 // get a list of the supported authentications extract(unpack('Nsupported_authentications_mask', $this->_string_shift($response[NET_SSH1_RESPONSE_DATA], 4))); - foreach ($this->supported_authentications as $mask=>$name) { + foreach ($this->supported_authentications as $mask => $name) { if (($supported_authentications_mask & (1 << $mask)) == 0) { unset($this->supported_authentications[$mask]); } @@ -691,7 +691,7 @@ class Net_SSH1 $this->crypto = new Crypt_DES(); $this->crypto->disablePadding(); $this->crypto->enableContinuousBuffer(); - $this->crypto->setKey(substr($session_key, 0, 8)); + $this->crypto->setKey(substr($session_key, 0, 8)); break; case NET_SSH1_CIPHER_3DES: if (!class_exists('Crypt_TripleDES')) { @@ -760,7 +760,7 @@ class Net_SSH1 if ($response[NET_SSH1_RESPONSE_TYPE] == NET_SSH1_SMSG_SUCCESS) { $this->bitmap |= NET_SSH1_MASK_LOGIN; return true; - } else if ($response[NET_SSH1_RESPONSE_TYPE] != NET_SSH1_SMSG_FAILURE) { + } elseif ($response[NET_SSH1_RESPONSE_TYPE] != NET_SSH1_SMSG_FAILURE) { user_error('Expected SSH_SMSG_SUCCESS or SSH_SMSG_FAILURE'); return false; } @@ -786,7 +786,7 @@ class Net_SSH1 if ($response[NET_SSH1_RESPONSE_TYPE] == NET_SSH1_SMSG_SUCCESS) { $this->bitmap |= NET_SSH1_MASK_LOGIN; return true; - } else if ($response[NET_SSH1_RESPONSE_TYPE] == NET_SSH1_SMSG_FAILURE) { + } elseif ($response[NET_SSH1_RESPONSE_TYPE] == NET_SSH1_SMSG_FAILURE) { return false; } else { user_error('Expected SSH_SMSG_SUCCESS or SSH_SMSG_FAILURE'); @@ -1299,7 +1299,7 @@ class Net_SSH1 $crc = 0x00000000; $length = strlen($data); - for ($i=0;$i<$length;$i++) { + for ($i=0; $i<$length; $i++) { // We AND $crc >> 8 with 0x00FFFFFF because we want the eight newly added bits to all // be zero. PHP, unfortunately, doesn't always do this. 0x80000000 >> 8, as an example, // yields 0xFF800000 - not 0x00800000. The following link elaborates: @@ -1398,7 +1398,7 @@ class Net_SSH1 { $args = func_get_args(); foreach ($args as $arg) { - foreach ($arg as $key=>$value) { + foreach ($arg as $key => $value) { if (!defined($value)) { define($value, $key); } else { diff --git a/phpseclib/Net/SSH2.php b/phpseclib/Net/SSH2.php index 48772f3f..28d7bfb9 100644 --- a/phpseclib/Net/SSH2.php +++ b/phpseclib/Net/SSH2.php @@ -1323,14 +1323,32 @@ class Net_SSH2 $first_kex_packet_follows = $first_kex_packet_follows != 0; // the sending of SSH2_MSG_KEXINIT could go in one of two places. this is the second place. - $kexinit_payload_client = pack('Ca*Na*Na*Na*Na*Na*Na*Na*Na*Na*Na*CN', - NET_SSH2_MSG_KEXINIT, $client_cookie, strlen($str_kex_algorithms), $str_kex_algorithms, - strlen($str_server_host_key_algorithms), $str_server_host_key_algorithms, strlen($encryption_algorithms_client_to_server), - $encryption_algorithms_client_to_server, strlen($encryption_algorithms_server_to_client), $encryption_algorithms_server_to_client, - strlen($mac_algorithms_client_to_server), $mac_algorithms_client_to_server, strlen($mac_algorithms_server_to_client), - $mac_algorithms_server_to_client, strlen($compression_algorithms_client_to_server), $compression_algorithms_client_to_server, - strlen($compression_algorithms_server_to_client), $compression_algorithms_server_to_client, 0, '', 0, '', - 0, 0 + $kexinit_payload_client = pack( + 'Ca*Na*Na*Na*Na*Na*Na*Na*Na*Na*Na*CN', + NET_SSH2_MSG_KEXINIT, + $client_cookie, + strlen($str_kex_algorithms), + $str_kex_algorithms, + strlen($str_server_host_key_algorithms), + $str_server_host_key_algorithms, + strlen($encryption_algorithms_client_to_server), + $encryption_algorithms_client_to_server, + strlen($encryption_algorithms_server_to_client), + $encryption_algorithms_server_to_client, + strlen($mac_algorithms_client_to_server), + $mac_algorithms_client_to_server, + strlen($mac_algorithms_server_to_client), + $mac_algorithms_server_to_client, + strlen($compression_algorithms_client_to_server), + $compression_algorithms_client_to_server, + strlen($compression_algorithms_server_to_client), + $compression_algorithms_server_to_client, + 0, + '', + 0, + '', + 0, + 0 ); if (!$this->_send_binary_packet($kexinit_payload_client)) { @@ -1339,7 +1357,8 @@ class Net_SSH2 // here ends the second place. // we need to decide upon the symmetric encryption algorithms before we do the diffie-hellman key exchange - for ($i = 0; $i < count($encryption_algorithms) && !in_array($encryption_algorithms[$i], $this->encryption_algorithms_server_to_client); $i++); + for ($i = 0; $i < count($encryption_algorithms) && !in_array($encryption_algorithms[$i], $this->encryption_algorithms_server_to_client); $i++) { + } if ($i == count($encryption_algorithms)) { user_error('No compatible server to client encryption algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); @@ -1385,7 +1404,8 @@ class Net_SSH2 $decryptKeyLength = 0; } - for ($i = 0; $i < count($encryption_algorithms) && !in_array($encryption_algorithms[$i], $this->encryption_algorithms_client_to_server); $i++); + for ($i = 0; $i < count($encryption_algorithms) && !in_array($encryption_algorithms[$i], $this->encryption_algorithms_client_to_server); $i++) { + } if ($i == count($encryption_algorithms)) { user_error('No compatible client to server encryption algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); @@ -1432,19 +1452,23 @@ class Net_SSH2 $keyLength = $decryptKeyLength > $encryptKeyLength ? $decryptKeyLength : $encryptKeyLength; // through diffie-hellman key exchange a symmetric key is obtained - for ($i = 0; $i < count($kex_algorithms) && !in_array($kex_algorithms[$i], $this->kex_algorithms); $i++); + for ($i = 0; $i < count($kex_algorithms) && !in_array($kex_algorithms[$i], $this->kex_algorithms); + $i++) { + } if ($i == count($kex_algorithms)) { user_error('No compatible key exchange algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } if (strpos($kex_algorithms[$i], 'diffie-hellman-group-exchange') === 0) { - $dh_group_sizes_packed = pack('NNN', + $dh_group_sizes_packed = pack( + 'NNN', $this->kex_dh_group_size_min, $this->kex_dh_group_size_preferred, $this->kex_dh_group_size_max ); - $packet = pack('Ca*', + $packet = pack( + 'Ca*', NET_SSH2_MSG_KEXDH_GEX_REQUEST, $dh_group_sizes_packed ); @@ -1471,10 +1495,13 @@ class Net_SSH2 $gBytes = $this->_string_shift($response, $gLength); $g = new Math_BigInteger($gBytes, -256); - $exchange_hash_rfc4419 = pack('a*Na*Na*', + $exchange_hash_rfc4419 = pack( + 'a*Na*Na*', $dh_group_sizes_packed, - $primeLength, $primeBytes, - $gLength, $gBytes + $primeLength, + $primeBytes, + $gLength, + $gBytes ); $clientKexInitMessage = NET_SSH2_MSG_KEXDH_GEX_INIT; @@ -1572,16 +1599,25 @@ class Net_SSH2 $key = $f->modPow($x, $prime); $keyBytes = $key->toBytes(true); - $this->exchange_hash = pack('Na*Na*Na*Na*Na*a*Na*Na*Na*', - strlen($this->identifier), $this->identifier, - strlen($this->server_identifier), $this->server_identifier, - strlen($kexinit_payload_client), $kexinit_payload_client, - strlen($kexinit_payload_server), $kexinit_payload_server, - strlen($this->server_public_host_key), $this->server_public_host_key, + $this->exchange_hash = pack( + 'Na*Na*Na*Na*Na*a*Na*Na*Na*', + strlen($this->identifier), + $this->identifier, + strlen($this->server_identifier), + $this->server_identifier, + strlen($kexinit_payload_client), + $kexinit_payload_client, + strlen($kexinit_payload_server), + $kexinit_payload_server, + strlen($this->server_public_host_key), + $this->server_public_host_key, $exchange_hash_rfc4419, - strlen($eBytes), $eBytes, - strlen($fBytes), $fBytes, - strlen($keyBytes), $keyBytes + strlen($eBytes), + $eBytes, + strlen($fBytes), + $fBytes, + strlen($keyBytes), + $keyBytes ); $this->exchange_hash = $kexHash->hash($this->exchange_hash); @@ -1590,7 +1626,8 @@ class Net_SSH2 $this->session_id = $this->exchange_hash; } - for ($i = 0; $i < count($server_host_key_algorithms) && !in_array($server_host_key_algorithms[$i], $this->server_host_key_algorithms); $i++); + for ($i = 0; $i < count($server_host_key_algorithms) && !in_array($server_host_key_algorithms[$i], $this->server_host_key_algorithms); $i++) { + } if ($i == count($server_host_key_algorithms)) { user_error('No compatible server host key algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); @@ -1601,7 +1638,8 @@ class Net_SSH2 return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } - $packet = pack('C', + $packet = pack( + 'C', NET_SSH2_MSG_NEWKEYS ); @@ -1833,7 +1871,8 @@ class Net_SSH2 $this->decrypt->decrypt(str_repeat("\0", 1536)); } - for ($i = 0; $i < count($mac_algorithms) && !in_array($mac_algorithms[$i], $this->mac_algorithms_client_to_server); $i++); + for ($i = 0; $i < count($mac_algorithms) && !in_array($mac_algorithms[$i], $this->mac_algorithms_client_to_server); $i++) { + } if ($i == count($mac_algorithms)) { user_error('No compatible client to server message authentication algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); @@ -1862,7 +1901,8 @@ class Net_SSH2 $createKeyLength = 16; } - for ($i = 0; $i < count($mac_algorithms) && !in_array($mac_algorithms[$i], $this->mac_algorithms_server_to_client); $i++); + for ($i = 0; $i < count($mac_algorithms) && !in_array($mac_algorithms[$i], $this->mac_algorithms_server_to_client); $i++) { + } if ($i == count($mac_algorithms)) { user_error('No compatible server to client message authentication algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); @@ -1909,14 +1949,16 @@ class Net_SSH2 } $this->hmac_check->setKey(substr($key, 0, $checkKeyLength)); - for ($i = 0; $i < count($compression_algorithms) && !in_array($compression_algorithms[$i], $this->compression_algorithms_server_to_client); $i++); + for ($i = 0; $i < count($compression_algorithms) && !in_array($compression_algorithms[$i], $this->compression_algorithms_server_to_client); $i++) { + } if ($i == count($compression_algorithms)) { user_error('No compatible server to client compression algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $this->decompress = $compression_algorithms[$i] == 'zlib'; - for ($i = 0; $i < count($compression_algorithms) && !in_array($compression_algorithms[$i], $this->compression_algorithms_client_to_server); $i++); + for ($i = 0; $i < count($compression_algorithms) && !in_array($compression_algorithms[$i], $this->compression_algorithms_client_to_server); $i++) { + } if ($i == count($compression_algorithms)) { user_error('No compatible client to server compression algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); @@ -1992,8 +2034,11 @@ class Net_SSH2 } if (!($this->bitmap & NET_SSH2_MASK_LOGIN_REQ)) { - $packet = pack('CNa*', - NET_SSH2_MSG_SERVICE_REQUEST, strlen('ssh-userauth'), 'ssh-userauth' + $packet = pack( + 'CNa*', + NET_SSH2_MSG_SERVICE_REQUEST, + strlen('ssh-userauth'), + 'ssh-userauth' ); if (!$this->_send_binary_packet($packet)) { @@ -2038,9 +2083,15 @@ class Net_SSH2 } if (!isset($password)) { - $packet = pack('CNa*Na*Na*', - NET_SSH2_MSG_USERAUTH_REQUEST, strlen($username), $username, strlen('ssh-connection'), 'ssh-connection', - strlen('none'), 'none' + $packet = pack( + 'CNa*Na*Na*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen($username), + $username, + strlen('ssh-connection'), + 'ssh-connection', + strlen('none'), + 'none' ); if (!$this->_send_binary_packet($packet)) { @@ -2065,18 +2116,36 @@ class Net_SSH2 } } - $packet = pack('CNa*Na*Na*CNa*', - NET_SSH2_MSG_USERAUTH_REQUEST, strlen($username), $username, strlen('ssh-connection'), 'ssh-connection', - strlen('password'), 'password', 0, strlen($password), $password + $packet = pack( + 'CNa*Na*Na*CNa*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen($username), + $username, + strlen('ssh-connection'), + 'ssh-connection', + strlen('password'), + 'password', + 0, + strlen($password), + $password ); // remove the username and password from the logged packet if (!defined('NET_SSH2_LOGGING')) { $logged = null; } else { - $logged = pack('CNa*Na*Na*CNa*', - NET_SSH2_MSG_USERAUTH_REQUEST, strlen('username'), 'username', strlen('ssh-connection'), 'ssh-connection', - strlen('password'), 'password', 0, strlen('password'), 'password' + $logged = pack( + 'CNa*Na*Na*CNa*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen('username'), + 'username', + strlen('ssh-connection'), + 'ssh-connection', + strlen('password'), + 'password', + 0, + strlen('password'), + 'password' ); } @@ -2136,9 +2205,19 @@ class Net_SSH2 */ function _keyboard_interactive_login($username, $password) { - $packet = pack('CNa*Na*Na*Na*Na*', - NET_SSH2_MSG_USERAUTH_REQUEST, strlen($username), $username, strlen('ssh-connection'), 'ssh-connection', - strlen('keyboard-interactive'), 'keyboard-interactive', 0, '', 0, '' + $packet = pack( + 'CNa*Na*Na*Na*Na*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen($username), + $username, + strlen('ssh-connection'), + 'ssh-connection', + strlen('keyboard-interactive'), + 'keyboard-interactive', + 0, + '', + 0, + '' ); if (!$this->_send_binary_packet($packet)) { @@ -2209,7 +2288,7 @@ class Net_SSH2 // see http://tools.ietf.org/html/rfc4256#section-3.2 if (strlen($this->last_interactive_response)) { $this->last_interactive_response = ''; - } else if (defined('NET_SSH2_LOGGING')) { + } elseif (defined('NET_SSH2_LOGGING')) { $this->message_number_log[count($this->message_number_log) - 1] = str_replace( 'UNKNOWN', 'NET_SSH2_MSG_USERAUTH_INFO_REQUEST', @@ -2305,13 +2384,25 @@ class Net_SSH2 'e' => $publickey['e']->toBytes(true), 'n' => $publickey['n']->toBytes(true) ); - $publickey = pack('Na*Na*Na*', - strlen('ssh-rsa'), 'ssh-rsa', strlen($publickey['e']), $publickey['e'], strlen($publickey['n']), $publickey['n'] + $publickey = pack( + 'Na*Na*Na*', + strlen('ssh-rsa'), + 'ssh-rsa', + strlen($publickey['e']), + $publickey['e'], + strlen($publickey['n']), + $publickey['n'] ); - $part1 = pack('CNa*Na*Na*', - NET_SSH2_MSG_USERAUTH_REQUEST, strlen($username), $username, strlen('ssh-connection'), 'ssh-connection', - strlen('publickey'), 'publickey' + $part1 = pack( + 'CNa*Na*Na*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen($username), + $username, + strlen('ssh-connection'), + 'ssh-connection', + strlen('publickey'), + 'publickey' ); $part2 = pack('Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($publickey), $publickey); @@ -2429,8 +2520,15 @@ class Net_SSH2 // uses 0x4000, that's what will be used here, as well. $packet_size = 0x4000; - $packet = pack('CNa*N3', - NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', NET_SSH2_CHANNEL_EXEC, $this->window_size_server_to_client[NET_SSH2_CHANNEL_EXEC], $packet_size); + $packet = pack( + 'CNa*N3', + NET_SSH2_MSG_CHANNEL_OPEN, + strlen('session'), + 'session', + NET_SSH2_CHANNEL_EXEC, + $this->window_size_server_to_client[NET_SSH2_CHANNEL_EXEC], + $packet_size + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -2445,9 +2543,22 @@ class Net_SSH2 if ($this->request_pty === true) { $terminal_modes = pack('C', NET_SSH2_TTY_OP_END); - $packet = pack('CNNa*CNa*N5a*', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SSH2_CHANNEL_EXEC], strlen('pty-req'), 'pty-req', 1, strlen('vt100'), 'vt100', - $this->windowColumns, $this->windowRows, 0, 0, strlen($terminal_modes), $terminal_modes); + $packet = pack( + 'CNNa*CNa*N5a*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SSH2_CHANNEL_EXEC], + strlen('pty-req'), + 'pty-req', + 1, + strlen('vt100'), + 'vt100', + $this->windowColumns, + $this->windowRows, + 0, + 0, + strlen($terminal_modes), + $terminal_modes + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -2481,8 +2592,16 @@ class Net_SSH2 // although, in theory, the size of SSH_MSG_CHANNEL_REQUEST could exceed the maximum packet size established by // SSH_MSG_CHANNEL_OPEN_CONFIRMATION, RFC4254#section-5.1 states that the "maximum packet size" refers to the // "maximum size of an individual data packet". ie. SSH_MSG_CHANNEL_DATA. RFC4254#section-5.2 corroborates. - $packet = pack('CNNa*CNa*', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SSH2_CHANNEL_EXEC], strlen('exec'), 'exec', 1, strlen($command), $command); + $packet = pack( + 'CNNa*CNa*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SSH2_CHANNEL_EXEC], + strlen('exec'), + 'exec', + 1, + strlen($command), + $command + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -2539,8 +2658,15 @@ class Net_SSH2 $this->window_size_server_to_client[NET_SSH2_CHANNEL_SHELL] = $this->window_size; $packet_size = 0x4000; - $packet = pack('CNa*N3', - NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', NET_SSH2_CHANNEL_SHELL, $this->window_size_server_to_client[NET_SSH2_CHANNEL_SHELL], $packet_size); + $packet = pack( + 'CNa*N3', + NET_SSH2_MSG_CHANNEL_OPEN, + strlen('session'), + 'session', + NET_SSH2_CHANNEL_SHELL, + $this->window_size_server_to_client[NET_SSH2_CHANNEL_SHELL], + $packet_size + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -2554,9 +2680,22 @@ class Net_SSH2 } $terminal_modes = pack('C', NET_SSH2_TTY_OP_END); - $packet = pack('CNNa*CNa*N5a*', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SSH2_CHANNEL_SHELL], strlen('pty-req'), 'pty-req', 1, strlen('vt100'), 'vt100', - $this->windowColumns, $this->windowRows, 0, 0, strlen($terminal_modes), $terminal_modes); + $packet = pack( + 'CNNa*CNa*N5a*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SSH2_CHANNEL_SHELL], + strlen('pty-req'), + 'pty-req', + 1, + strlen('vt100'), + 'vt100', + $this->windowColumns, + $this->windowRows, + 0, + 0, + strlen($terminal_modes), + $terminal_modes + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -2580,8 +2719,14 @@ class Net_SSH2 return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); } - $packet = pack('CNNa*C', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SSH2_CHANNEL_SHELL], strlen('shell'), 'shell', 1); + $packet = pack( + 'CNNa*C', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SSH2_CHANNEL_SHELL], + strlen('shell'), + 'shell', + 1 + ); if (!$this->_send_binary_packet($packet)) { return false; } @@ -2728,8 +2873,15 @@ class Net_SSH2 { $this->window_size_server_to_client[NET_SSH2_CHANNEL_SUBSYSTEM] = $this->window_size; - $packet = pack('CNa*N3', - NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', NET_SSH2_CHANNEL_SUBSYSTEM, $this->window_size, 0x4000); + $packet = pack( + 'CNa*N3', + NET_SSH2_MSG_CHANNEL_OPEN, + strlen('session'), + 'session', + NET_SSH2_CHANNEL_SUBSYSTEM, + $this->window_size, + 0x4000 + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -2742,8 +2894,16 @@ class Net_SSH2 return false; } - $packet = pack('CNNa*CNa*', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SSH2_CHANNEL_SUBSYSTEM], strlen('subsystem'), 'subsystem', 1, strlen($subsystem), $subsystem); + $packet = pack( + 'CNNa*CNa*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SSH2_CHANNEL_SUBSYSTEM], + strlen('subsystem'), + 'subsystem', + 1, + strlen($subsystem), + $subsystem + ); if (!$this->_send_binary_packet($packet)) { return false; } @@ -2753,7 +2913,7 @@ class Net_SSH2 $response = $this->_get_channel_packet(NET_SSH2_CHANNEL_SUBSYSTEM); if ($response === false) { - return false; + return false; } $this->channel_status[NET_SSH2_CHANNEL_SUBSYSTEM] = NET_SSH2_MSG_CHANNEL_DATA; @@ -2997,34 +3157,48 @@ class Net_SSH2 extract(unpack('Nlength', $this->_string_shift($payload, 4))); $data = $this->_string_shift($payload, $length); extract(unpack('Nserver_channel', $this->_string_shift($payload, 4))); - switch($data) { + switch ($data) { case 'auth-agent': case 'auth-agent@openssh.com': if (isset($this->agent)) { - $new_channel = NET_SSH2_CHANNEL_AGENT_FORWARD; + $new_channel = NET_SSH2_CHANNEL_AGENT_FORWARD; - extract(unpack('Nremote_window_size', $this->_string_shift($payload, 4))); - extract(unpack('Nremote_maximum_packet_size', $this->_string_shift($payload, 4))); + extract(unpack('Nremote_window_size', $this->_string_shift($payload, 4))); + extract(unpack('Nremote_maximum_packet_size', $this->_string_shift($payload, 4))); - $this->packet_size_client_to_server[$new_channel] = $remote_window_size; - $this->window_size_server_to_client[$new_channel] = $remote_maximum_packet_size; - $this->window_size_client_to_server[$new_channel] = $this->window_size; + $this->packet_size_client_to_server[$new_channel] = $remote_window_size; + $this->window_size_server_to_client[$new_channel] = $remote_maximum_packet_size; + $this->window_size_client_to_server[$new_channel] = $this->window_size; - $packet_size = 0x4000; + $packet_size = 0x4000; - $packet = pack('CN4', - NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION, $server_channel, $new_channel, $packet_size, $packet_size); + $packet = pack( + 'CN4', + NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION, + $server_channel, + $new_channel, + $packet_size, + $packet_size + ); - $this->server_channels[$new_channel] = $server_channel; - $this->channel_status[$new_channel] = NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION; - if (!$this->_send_binary_packet($packet)) { - return false; - } + $this->server_channels[$new_channel] = $server_channel; + $this->channel_status[$new_channel] = NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION; + if (!$this->_send_binary_packet($packet)) { + return false; + } } break; default: - $packet = pack('CN3a*Na*', - NET_SSH2_MSG_REQUEST_FAILURE, $server_channel, NET_SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED, 0, '', 0, ''); + $packet = pack( + 'CN3a*Na*', + NET_SSH2_MSG_REQUEST_FAILURE, + $server_channel, + NET_SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED, + 0, + '', + 0, + '' + ); if (!$this->_send_binary_packet($packet)) { return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); @@ -3500,7 +3674,8 @@ class Net_SSH2 ); $temp = $this->_string_shift($data, $max_size); - $packet = pack('CN2a*', + $packet = pack( + 'CN2a*', NET_SSH2_MSG_CHANNEL_DATA, $this->server_channels[$client_channel], strlen($temp), @@ -3541,7 +3716,8 @@ class Net_SSH2 $this->curTimeout = 0; - while (!is_bool($this->_get_channel_packet($client_channel))); + while (!is_bool($this->_get_channel_packet($client_channel))) { + } if ($want_reply) { $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_CLOSE, $this->server_channels[$client_channel])); @@ -3601,7 +3777,7 @@ class Net_SSH2 { $args = func_get_args(); foreach ($args as $arg) { - foreach ($arg as $key=>$value) { + foreach ($arg as $key => $value) { if (!defined($value)) { define($value, $key); } else { diff --git a/phpseclib/System/SSH/Agent.php b/phpseclib/System/SSH/Agent.php index da20697d..ea6d55bf 100644 --- a/phpseclib/System/SSH/Agent.php +++ b/phpseclib/System/SSH/Agent.php @@ -378,8 +378,14 @@ class System_SSH_Agent return false; } - $packet = pack('CNNa*C', - NET_SSH2_MSG_CHANNEL_REQUEST, $ssh->server_channels[$request_channel], strlen('auth-agent-req@openssh.com'), 'auth-agent-req@openssh.com', 1); + $packet = pack( + 'CNNa*C', + NET_SSH2_MSG_CHANNEL_REQUEST, + $ssh->server_channels[$request_channel], + strlen('auth-agent-req@openssh.com'), + 'auth-agent-req@openssh.com', + 1 + ); $ssh->channel_status[$request_channel] = NET_SSH2_MSG_CHANNEL_REQUEST; diff --git a/tests/Functional/Net/SCPSSH2UserStoryTest.php b/tests/Functional/Net/SCPSSH2UserStoryTest.php index 295e982f..4ba69f14 100644 --- a/tests/Functional/Net/SCPSSH2UserStoryTest.php +++ b/tests/Functional/Net/SCPSSH2UserStoryTest.php @@ -12,7 +12,7 @@ class Functional_Net_SCPSSH2UserStoryTest extends PhpseclibFunctionalTestCase static protected $exampleData; static protected $exampleDataLength; - static public function setUpBeforeClass() + public static function setUpBeforeClass() { parent::setUpBeforeClass(); self::$remoteFile = uniqid('phpseclib-scp-ssh2-') . '.txt'; diff --git a/tests/Functional/Net/SFTPLargeFileTest.php b/tests/Functional/Net/SFTPLargeFileTest.php index 1e85b1fa..0da85ab8 100644 --- a/tests/Functional/Net/SFTPLargeFileTest.php +++ b/tests/Functional/Net/SFTPLargeFileTest.php @@ -10,7 +10,7 @@ require_once 'Crypt/Base.php'; class Functional_Net_SFTPLargeFileTest extends Functional_Net_SFTPTestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { if (!extension_loaded('mcrypt') && !extension_loaded('openssl')) { self::markTestSkipped('This test depends on mcrypt or openssl for performance.'); diff --git a/tests/Functional/Net/SFTPUserStoryTest.php b/tests/Functional/Net/SFTPUserStoryTest.php index 0b93bd37..53cc548d 100644 --- a/tests/Functional/Net/SFTPUserStoryTest.php +++ b/tests/Functional/Net/SFTPUserStoryTest.php @@ -13,7 +13,7 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase static protected $exampleDataLength; static protected $buffer; - static public function setUpBeforeClass() + public static function setUpBeforeClass() { parent::setUpBeforeClass(); @@ -137,7 +137,9 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase { $r = substr(self::$buffer, 0, $length); self::$buffer = substr(self::$buffer, $length); - if (strlen($r)) return $r; + if (strlen($r)) { + return $r; + } return null; } @@ -335,7 +337,8 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase if ($sftp->is_file($file)) { $cur_size = $sftp->size($file); $this->assertLessThanOrEqual( - $last_size, $cur_size, + $last_size, + $cur_size, 'Failed asserting that nlist() is in descending order' ); $last_size = $cur_size; @@ -386,7 +389,8 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase $stat = $sftp->stat('symlink'); $lstat = $sftp->lstat('symlink'); $this->assertNotEquals( - $stat, $lstat, + $stat, + $lstat, 'Failed asserting that stat and lstat returned different output for a symlink' ); @@ -419,7 +423,9 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase */ public function testReadlink($sftp) { - $this->assertInternalType('string', $sftp->readlink('symlink'), + $this->assertInternalType( + 'string', + $sftp->readlink('symlink'), 'Failed asserting that a symlink\'s target could be read' ); @@ -434,12 +440,14 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase { $stat = $sftp->stat('.'); $this->assertInternalType( - 'array', $stat, + 'array', + $stat, 'Failed asserting that stat on . returns an array' ); $lstat = $sftp->lstat('.'); $this->assertInternalType( - 'array', $lstat, + 'array', + $lstat, 'Failed asserting that lstat on . returns an array' ); diff --git a/tests/PhpseclibFunctionalTestCase.php b/tests/PhpseclibFunctionalTestCase.php index c8143239..0fcdf8df 100644 --- a/tests/PhpseclibFunctionalTestCase.php +++ b/tests/PhpseclibFunctionalTestCase.php @@ -7,7 +7,7 @@ abstract class PhpseclibFunctionalTestCase extends PhpseclibTestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { if (extension_loaded('runkit')) { if (extension_loaded('gmp')) { diff --git a/tests/PhpseclibTestCase.php b/tests/PhpseclibTestCase.php index f7fce154..4dc28b9a 100644 --- a/tests/PhpseclibTestCase.php +++ b/tests/PhpseclibTestCase.php @@ -53,7 +53,7 @@ abstract class PhpseclibTestCase extends PHPUnit_Framework_TestCase * * @return null */ - static protected function ensureConstant($constant, $expected) + protected static function ensureConstant($constant, $expected) { if (defined($constant)) { $value = constant($constant); @@ -86,7 +86,7 @@ abstract class PhpseclibTestCase extends PHPUnit_Framework_TestCase * * @return null */ - static protected function reRequireFile($filename) + protected static function reRequireFile($filename) { if (function_exists('runkit_import')) { $result = runkit_import( diff --git a/tests/Unit/Crypt/DESTest.php b/tests/Unit/Crypt/DESTest.php index 20ebf0e3..2a51d6cf 100644 --- a/tests/Unit/Crypt/DESTest.php +++ b/tests/Unit/Crypt/DESTest.php @@ -35,7 +35,7 @@ class Unit_Crypt_DESTest extends PhpseclibTestCase $des->setPreferredEngine(CRYPT_ENGINE_OPENSSL); if ($des->getEngine() == CRYPT_ENGINE_OPENSSL) { $openssl = $des->encrypt('d'); - $this->assertEquals($result, $openssl, 'Failed asserting that the OpenSSL engine produced the correct result'); + $this->assertEquals($result, $openssl, 'Failed asserting that the OpenSSL engine produced the correct result'); } else { self::markTestSkipped('Unable to initialize OpenSSL engine'); } @@ -69,7 +69,7 @@ class Unit_Crypt_DESTest extends PhpseclibTestCase $des->setPreferredEngine(CRYPT_ENGINE_OPENSSL); if ($des->getEngine() == CRYPT_ENGINE_OPENSSL) { $openssl = $des->decrypt('d'); - $this->assertEquals($result, $openssl, 'Failed asserting that the OpenSSL engine produced the correct result'); + $this->assertEquals($result, $openssl, 'Failed asserting that the OpenSSL engine produced the correct result'); } else { self::markTestSkipped('Unable to initialize OpenSSL engine'); } diff --git a/tests/Unit/Crypt/Hash/MD5Test.php b/tests/Unit/Crypt/Hash/MD5Test.php index 598bfe2f..a2969598 100644 --- a/tests/Unit/Crypt/Hash/MD5Test.php +++ b/tests/Unit/Crypt/Hash/MD5Test.php @@ -20,7 +20,7 @@ class Unit_Crypt_Hash_MD5Test extends Unit_Crypt_Hash_TestCase $this->assertHashesTo($this->getInstance(), $message, $result); } - static public function hashData() + public static function hashData() { return array( array('', 'd41d8cd98f00b204e9800998ecf8427e'), @@ -37,7 +37,7 @@ class Unit_Crypt_Hash_MD5Test extends Unit_Crypt_Hash_TestCase $this->assertHMACsTo($this->getInstance(), $key, $message, $result); } - static public function hmacData() + public static function hmacData() { return array( array('', '', '74e6f7298a9c2d168935f58c001bad88'), diff --git a/tests/Unit/Crypt/Hash/SHA256Test.php b/tests/Unit/Crypt/Hash/SHA256Test.php index d006b18d..b4b1995a 100644 --- a/tests/Unit/Crypt/Hash/SHA256Test.php +++ b/tests/Unit/Crypt/Hash/SHA256Test.php @@ -20,7 +20,7 @@ class Unit_Crypt_Hash_SHA256Test extends Unit_Crypt_Hash_TestCase $this->assertHashesTo($this->getInstance(), $message, $result); } - static public function hashData() + public static function hashData() { return array( array( @@ -46,7 +46,7 @@ class Unit_Crypt_Hash_SHA256Test extends Unit_Crypt_Hash_TestCase $this->assertHMACsTo($this->getInstance(), $key, $message, $result); } - static public function hmacData() + public static function hmacData() { return array( // RFC 4231 diff --git a/tests/Unit/Crypt/Hash/SHA512Test.php b/tests/Unit/Crypt/Hash/SHA512Test.php index c3c4e933..0a0e5818 100644 --- a/tests/Unit/Crypt/Hash/SHA512Test.php +++ b/tests/Unit/Crypt/Hash/SHA512Test.php @@ -20,7 +20,7 @@ class Unit_Crypt_Hash_SHA512Test extends Unit_Crypt_Hash_TestCase $this->assertHashesTo($this->getInstance(), $message, $result); } - static public function hashData() + public static function hashData() { return array( array( @@ -46,7 +46,7 @@ class Unit_Crypt_Hash_SHA512Test extends Unit_Crypt_Hash_TestCase $this->assertHMACsTo($this->getInstance(), $key, $message, $result); } - static public function hmacData() + public static function hmacData() { return array( // RFC 4231 diff --git a/tests/Unit/Crypt/Hash/TestCase.php b/tests/Unit/Crypt/Hash/TestCase.php index d33d2d00..df64a5da 100644 --- a/tests/Unit/Crypt/Hash/TestCase.php +++ b/tests/Unit/Crypt/Hash/TestCase.php @@ -9,7 +9,7 @@ require_once 'Crypt/Hash.php'; abstract class Unit_Crypt_Hash_TestCase extends PhpseclibTestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { if (!defined('CRYPT_HASH_MODE')) { define('CRYPT_HASH_MODE', CRYPT_HASH_MODE_INTERNAL); diff --git a/tests/Unit/Crypt/RC2Test.php b/tests/Unit/Crypt/RC2Test.php index 17c2e729..8bf5ecd7 100644 --- a/tests/Unit/Crypt/RC2Test.php +++ b/tests/Unit/Crypt/RC2Test.php @@ -95,7 +95,7 @@ class Unit_Crypt_RC2Test extends PhpseclibTestCase $rc2->setPreferredEngine(CRYPT_ENGINE_OPENSSL); if ($rc2->getEngine() == CRYPT_ENGINE_OPENSSL) { $openssl = $rc2->encrypt('d'); - $this->assertEquals($result, $openssl, 'Failed asserting that the OpenSSL engine produced the correct result'); + $this->assertEquals($result, $openssl, 'Failed asserting that the OpenSSL engine produced the correct result'); } else { self::markTestSkipped('Unable to initialize OpenSSL engine'); } diff --git a/tests/Unit/Crypt/TwofishTest.php b/tests/Unit/Crypt/TwofishTest.php index 26cc0e28..53cfecd8 100644 --- a/tests/Unit/Crypt/TwofishTest.php +++ b/tests/Unit/Crypt/TwofishTest.php @@ -17,7 +17,7 @@ class Unit_Crypt_TwofishTest extends PhpseclibTestCase CRYPT_ENGINE_OPENSSL => 'OpenSSL', ); - foreach ($engines as $engine=>$name) { + foreach ($engines as $engine => $name) { $tf = new Crypt_Twofish(); $tf->disablePadding(); diff --git a/tests/Unit/Math/BigInteger/BCMathTest.php b/tests/Unit/Math/BigInteger/BCMathTest.php index ebb215f3..109f81d0 100644 --- a/tests/Unit/Math/BigInteger/BCMathTest.php +++ b/tests/Unit/Math/BigInteger/BCMathTest.php @@ -7,7 +7,7 @@ class Unit_Math_BigInteger_BCMathTest extends Unit_Math_BigInteger_TestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { if (!extension_loaded('bcmath')) { self::markTestSkipped('BCMath extension is not available.'); diff --git a/tests/Unit/Math/BigInteger/GMPTest.php b/tests/Unit/Math/BigInteger/GMPTest.php index 94328c87..2ec2042f 100644 --- a/tests/Unit/Math/BigInteger/GMPTest.php +++ b/tests/Unit/Math/BigInteger/GMPTest.php @@ -7,7 +7,7 @@ class Unit_Math_BigInteger_GMPTest extends Unit_Math_BigInteger_TestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { if (!extension_loaded('gmp')) { self::markTestSkipped('GNU Multiple Precision (GMP) extension is not available.'); diff --git a/tests/Unit/Math/BigInteger/InternalOpenSSLTest.php b/tests/Unit/Math/BigInteger/InternalOpenSSLTest.php index ba721795..7f86fd63 100644 --- a/tests/Unit/Math/BigInteger/InternalOpenSSLTest.php +++ b/tests/Unit/Math/BigInteger/InternalOpenSSLTest.php @@ -7,7 +7,7 @@ class Unit_Math_BigInteger_InternalOpenSSLTest extends Unit_Math_BigInteger_TestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { if (!function_exists('openssl_public_encrypt')) { self::markTestSkipped('openssl_public_encrypt() function is not available.'); diff --git a/tests/Unit/Math/BigInteger/InternalTest.php b/tests/Unit/Math/BigInteger/InternalTest.php index 76f68bd7..f1fcae51 100644 --- a/tests/Unit/Math/BigInteger/InternalTest.php +++ b/tests/Unit/Math/BigInteger/InternalTest.php @@ -7,7 +7,7 @@ class Unit_Math_BigInteger_InternalTest extends Unit_Math_BigInteger_TestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { parent::setUpBeforeClass(); diff --git a/tests/Unit/Math/BigInteger/TestCase.php b/tests/Unit/Math/BigInteger/TestCase.php index cce63bbd..9f3eb158 100644 --- a/tests/Unit/Math/BigInteger/TestCase.php +++ b/tests/Unit/Math/BigInteger/TestCase.php @@ -9,7 +9,7 @@ require_once 'Math/BigInteger.php'; abstract class Unit_Math_BigInteger_TestCase extends PhpseclibTestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { parent::setUpBeforeClass(); diff --git a/tests/Unit/Net/SSH2Test.php b/tests/Unit/Net/SSH2Test.php index 7c3ff2e2..95361625 100644 --- a/tests/Unit/Net/SSH2Test.php +++ b/tests/Unit/Net/SSH2Test.php @@ -44,7 +44,7 @@ class Unit_Net_SSH2Test extends PhpseclibTestCase if (extension_loaded('openssl')) { $this->assertContains('openssl', $identifier); $this->assertNotContains('mcrypt', $identifier); - } else if (extension_loaded('mcrypt')) { + } elseif (extension_loaded('mcrypt')) { $this->assertNotContains('openssl', $identifier); $this->assertContains('mcrypt', $identifier); } else { @@ -55,7 +55,7 @@ class Unit_Net_SSH2Test extends PhpseclibTestCase if (extension_loaded('gmp')) { $this->assertContains('gmp', $identifier); $this->assertNotContains('bcmath', $identifier); - } else if (extension_loaded('bcmath')) { + } elseif (extension_loaded('bcmath')) { $this->assertNotContains('gmp', $identifier); $this->assertContains('bcmath', $identifier); } else { From 5eb205b2372bfe5f4e744bc1f7c7501c62bc679f Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Wed, 15 Jul 2015 04:32:19 +0200 Subject: [PATCH 5/6] Remove PSR2.Methods.FunctionCallSignature.SpaceAfterOpenBracket exception. --- build/code-sniffer-ruleset.xml | 1 - phpseclib/Crypt/Hash.php | 2 ++ tests/Unit/Math/BigInteger/TestCase.php | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/build/code-sniffer-ruleset.xml b/build/code-sniffer-ruleset.xml index 91171e5e..cb582633 100644 --- a/build/code-sniffer-ruleset.xml +++ b/build/code-sniffer-ruleset.xml @@ -22,7 +22,6 @@ - diff --git a/phpseclib/Crypt/Hash.php b/phpseclib/Crypt/Hash.php index 2c7fb199..b8e23215 100644 --- a/phpseclib/Crypt/Hash.php +++ b/phpseclib/Crypt/Hash.php @@ -511,12 +511,14 @@ class Crypt_Hash // Extend the sixteen 32-bit words into sixty-four 32-bit words for ($i = 16; $i < 64; $i++) { + // @codingStandardsIgnoreStart $s0 = $this->_rightRotate($w[$i - 15], 7) ^ $this->_rightRotate($w[$i - 15], 18) ^ $this->_rightShift( $w[$i - 15], 3); $s1 = $this->_rightRotate($w[$i - 2], 17) ^ $this->_rightRotate($w[$i - 2], 19) ^ $this->_rightShift( $w[$i - 2], 10); + // @codingStandardsIgnoreEnd $w[$i] = $this->_add($w[$i - 16], $s0, $w[$i - 7], $s1); } diff --git a/tests/Unit/Math/BigInteger/TestCase.php b/tests/Unit/Math/BigInteger/TestCase.php index 9f3eb158..78a01d7f 100644 --- a/tests/Unit/Math/BigInteger/TestCase.php +++ b/tests/Unit/Math/BigInteger/TestCase.php @@ -63,7 +63,7 @@ abstract class Unit_Math_BigInteger_TestCase extends PhpseclibTestCase public function testAdd() { $x = $this->getInstance('18446744073709551615'); - $y = $this->getInstance( '100000000000'); + $y = $this->getInstance('100000000000'); $a = $x->add($y); $b = $y->add($x); @@ -78,7 +78,7 @@ abstract class Unit_Math_BigInteger_TestCase extends PhpseclibTestCase public function testSubtract() { $x = $this->getInstance('18446744073709551618'); - $y = $this->getInstance( '4000000000000'); + $y = $this->getInstance('4000000000000'); $this->assertSame('18446740073709551618', (string) $x->subtract($y)); } From 847082ac743ab3444bed9c1061ff8c7d3b9c7c1d Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Fri, 17 Jul 2015 00:38:17 +0200 Subject: [PATCH 6/6] Fix indentation phpcbf did not fix. --- phpseclib/Crypt/Hash.php | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/phpseclib/Crypt/Hash.php b/phpseclib/Crypt/Hash.php index b8e23215..ce440635 100644 --- a/phpseclib/Crypt/Hash.php +++ b/phpseclib/Crypt/Hash.php @@ -276,26 +276,26 @@ class Crypt_Hash switch ($hash) { case 'md2': - $this->b = 16; - $this->hash = array($this, '_md2'); + $this->b = 16; + $this->hash = array($this, '_md2'); break; case 'md5': - $this->b = 64; - $this->hash = array($this, '_md5'); + $this->b = 64; + $this->hash = array($this, '_md5'); break; case 'sha256': - $this->b = 64; - $this->hash = array($this, '_sha256'); + $this->b = 64; + $this->hash = array($this, '_sha256'); break; case 'sha384': case 'sha512': - $this->b = 128; - $this->hash = array($this, '_sha512'); + $this->b = 128; + $this->hash = array($this, '_sha512'); break; case 'sha1': default: - $this->b = 64; - $this->hash = array($this, '_sha1'); + $this->b = 64; + $this->hash = array($this, '_sha1'); } $this->ipad = str_repeat(chr(0x36), $this->b);