Merge branch '2.0-travis-exp' into 2.0

This commit is contained in:
terrafrost 2017-12-03 23:00:31 -06:00
commit 595af92154
9 changed files with 2680 additions and 240 deletions

View File

@ -55,7 +55,7 @@
}, },
"require-dev": { "require-dev": {
"phing/phing": "~2.7", "phing/phing": "~2.7",
"phpunit/phpunit": "~4.0", "phpunit/phpunit": "~6.0",
"sami/sami": "~2.0", "sami/sami": "~2.0",
"squizlabs/php_codesniffer": "~2.0" "squizlabs/php_codesniffer": "~2.0"
}, },

991
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -45,6 +45,10 @@ class Random
*/ */
static function string($length) static function string($length)
{ {
if (!$length) {
return '';
}
if (version_compare(PHP_VERSION, '7.0.0', '>=')) { if (version_compare(PHP_VERSION, '7.0.0', '>=')) {
try { try {
return \random_bytes($length); return \random_bytes($length);

View File

@ -2719,7 +2719,9 @@ class X509
$value = array_pop($value); // Always strip data type. $value = array_pop($value); // Always strip data type.
} }
} elseif (is_object($value) && $value instanceof Element) { } elseif (is_object($value) && $value instanceof Element) {
$callback = create_function('$x', 'return "\x" . bin2hex($x[0]);'); $callback = function ($x) {
return "\x" . bin2hex($x[0]);
};
$value = strtoupper(preg_replace_callback('#[^\x20-\x7E]#', $callback, $value->element)); $value = strtoupper(preg_replace_callback('#[^\x20-\x7E]#', $callback, $value->element));
} }
$output.= $desc . '=' . $value; $output.= $desc . '=' . $value;

View File

@ -0,0 +1,16 @@
<?php
/**
* @author Jim Wigginton <terrafrost@php.net>
* @copyright 2017 Jim Wigginton
* @license http://www.opensource.org/licenses/mit-license.html MIT License
*/
use PHPUnit\Framework\TestCase;
abstract class PHPUnit_Framework_TestCase extends PHPUnit\Framework\TestCase
{
public function getMock($className, $methodName)
{
return $this->getMockBuilder($className)->setMethods($methodName)->getMock();
}
}

View File

@ -5,6 +5,8 @@
* @license http://www.opensource.org/licenses/mit-license.html MIT License * @license http://www.opensource.org/licenses/mit-license.html MIT License
*/ */
include(__DIR__ . '/PHPUnit_Framework_TestCase.php');
abstract class PhpseclibTestCase extends PHPUnit_Framework_TestCase abstract class PhpseclibTestCase extends PHPUnit_Framework_TestCase
{ {
protected $tempFilesToUnlinkOnTearDown = array(); protected $tempFilesToUnlinkOnTearDown = array();

View File

@ -0,0 +1,76 @@
{
"name": "phpseclib/phpseclib",
"type": "library",
"description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
"keywords": [
"security",
"crypto",
"cryptography",
"encryption",
"signature",
"signing",
"rsa",
"aes",
"blowfish",
"twofish",
"ssh",
"sftp",
"x509",
"x.509",
"asn1",
"asn.1",
"BigInteger"
],
"homepage": "http://phpseclib.sourceforge.net",
"license": "MIT",
"authors": [
{
"name": "Jim Wigginton",
"email": "terrafrost@php.net",
"role": "Lead Developer"
},
{
"name": "Patrick Monnerat",
"email": "pm@datasphere.ch",
"role": "Developer"
},
{
"name": "Andreas Fischer",
"email": "bantu@phpbb.com",
"role": "Developer"
},
{
"name": "Hans-Jürgen Petrich",
"email": "petrich@tronic-media.com",
"role": "Developer"
},
{
"name": "Graham Campbell",
"email": "graham@alt-three.com",
"role": "Developer"
}
],
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phing/phing": "~2.7",
"phpunit/phpunit": "~4.0",
"sami/sami": "~2.0",
"squizlabs/php_codesniffer": "~2.0"
},
"suggest": {
"ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
"ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations.",
"ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
"ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations."
},
"autoload": {
"files": [
"phpseclib/bootstrap.php"
],
"psr-4": {
"phpseclib\\": "phpseclib/"
}
}
}

1819
travis/composer.legacy.lock Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,9 @@
#!/bin/sh #!/bin/sh
if [ `php -r "echo (int) version_compare(PHP_VERSION, '7.0', '<');"` = "1" ]
then
cp travis/composer.legacy.json composer.json
cp travis/composer.legacy.lock composer.lock
sed -i "s/include(__DIR__ . '\/PHPUnit_Framework_TestCase.php');//g" tests/PhpseclibTestCase.php
fi
composer self-update --no-interaction composer self-update --no-interaction
composer install --no-interaction composer install --no-interaction