Merge pull request #388 from bantu/php5-drop-phpseclib_resolve_include_path

[php5] Drop phpseclib_resolve_include_path

* bantu/php5-drop-phpseclib_resolve_include_path:
  Depend on PHP 5.3.2 accordingly.
  Replace phpseclib_resolve_include_path with stream_resolve_include_path.
This commit is contained in:
Andreas Fischer 2014-06-19 16:58:55 +02:00
commit 67802608b6
4 changed files with 16 additions and 53 deletions

View File

@ -46,7 +46,7 @@
} }
], ],
"require": { "require": {
"php": ">=5.3.0" "php": ">=5.3.2"
}, },
"require-dev": { "require-dev": {
"phing/phing": "2.7.*", "phing/phing": "2.7.*",

7
composer.lock generated
View File

@ -1,9 +1,10 @@
{ {
"_readme": [ "_readme": [
"This file locks the dependencies of your project to a known state", "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 http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
], ],
"hash": "1c5f986d03274ed0b7d509768d1bf277", "hash": "c798aae793e5a1293ee41fbf9c9bdbfa",
"packages": [ "packages": [
], ],
@ -769,7 +770,7 @@
], ],
"platform": { "platform": {
"php": ">=5.3.0" "php": ">=5.3.2"
}, },
"platform-dev": [ "platform-dev": [

View File

@ -194,37 +194,37 @@ if (!function_exists('crypt_random_string')) {
// //
// http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator#Designs_based_on_cryptographic_primitives // http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator#Designs_based_on_cryptographic_primitives
switch (true) { switch (true) {
case phpseclib_resolve_include_path('Crypt/AES.php'): case stream_resolve_include_path('Crypt/AES.php'):
if (!class_exists('Crypt_AES')) { if (!class_exists('Crypt_AES')) {
include_once 'AES.php'; include_once 'AES.php';
} }
$crypto = new Crypt_AES(CRYPT_AES_MODE_CTR); $crypto = new Crypt_AES(CRYPT_AES_MODE_CTR);
break; break;
case phpseclib_resolve_include_path('Crypt/Twofish.php'): case stream_resolve_include_path('Crypt/Twofish.php'):
if (!class_exists('Crypt_Twofish')) { if (!class_exists('Crypt_Twofish')) {
include_once 'Twofish.php'; include_once 'Twofish.php';
} }
$crypto = new Crypt_Twofish(CRYPT_TWOFISH_MODE_CTR); $crypto = new Crypt_Twofish(CRYPT_TWOFISH_MODE_CTR);
break; break;
case phpseclib_resolve_include_path('Crypt/Blowfish.php'): case stream_resolve_include_path('Crypt/Blowfish.php'):
if (!class_exists('Crypt_Blowfish')) { if (!class_exists('Crypt_Blowfish')) {
include_once 'Blowfish.php'; include_once 'Blowfish.php';
} }
$crypto = new Crypt_Blowfish(CRYPT_BLOWFISH_MODE_CTR); $crypto = new Crypt_Blowfish(CRYPT_BLOWFISH_MODE_CTR);
break; break;
case phpseclib_resolve_include_path('Crypt/TripleDES.php'): case stream_resolve_include_path('Crypt/TripleDES.php'):
if (!class_exists('Crypt_TripleDES')) { if (!class_exists('Crypt_TripleDES')) {
include_once 'TripleDES.php'; include_once 'TripleDES.php';
} }
$crypto = new Crypt_TripleDES(CRYPT_DES_MODE_CTR); $crypto = new Crypt_TripleDES(CRYPT_DES_MODE_CTR);
break; break;
case phpseclib_resolve_include_path('Crypt/DES.php'): case stream_resolve_include_path('Crypt/DES.php'):
if (!class_exists('Crypt_DES')) { if (!class_exists('Crypt_DES')) {
include_once 'DES.php'; include_once 'DES.php';
} }
$crypto = new Crypt_DES(CRYPT_DES_MODE_CTR); $crypto = new Crypt_DES(CRYPT_DES_MODE_CTR);
break; break;
case phpseclib_resolve_include_path('Crypt/RC4.php'): case stream_resolve_include_path('Crypt/RC4.php'):
if (!class_exists('Crypt_RC4')) { if (!class_exists('Crypt_RC4')) {
include_once 'RC4.php'; include_once 'RC4.php';
} }
@ -260,41 +260,3 @@ if (!function_exists('crypt_random_string')) {
return substr($result, 0, $length); return substr($result, 0, $length);
} }
} }
if (!function_exists('phpseclib_resolve_include_path')) {
/**
* Resolve filename against the include path.
*
* Wrapper around stream_resolve_include_path() (which was introduced in
* PHP 5.3.2) with fallback implementation for earlier PHP versions.
*
* @param string $filename
* @return mixed Filename (string) on success, false otherwise.
* @access public
*/
function phpseclib_resolve_include_path($filename)
{
if (function_exists('stream_resolve_include_path')) {
return stream_resolve_include_path($filename);
}
// handle non-relative paths
if (file_exists($filename)) {
return realpath($filename);
}
$paths = PATH_SEPARATOR == ':' ?
preg_split('#(?<!phar):#', get_include_path()) :
explode(PATH_SEPARATOR, get_include_path());
foreach ($paths as $prefix) {
// path's specified in include_path don't always end in /
$ds = substr($prefix, -1) == DIRECTORY_SEPARATOR ? '' : DIRECTORY_SEPARATOR;
$file = $prefix . $ds . $filename;
if (file_exists($file)) {
return realpath($file);
}
}
return false;
}
}

View File

@ -1104,31 +1104,31 @@ class Net_SSH2
'none' // OPTIONAL no encryption; NOT RECOMMENDED 'none' // OPTIONAL no encryption; NOT RECOMMENDED
); );
if (phpseclib_resolve_include_path('Crypt/RC4.php') === false) { if (stream_resolve_include_path('Crypt/RC4.php') === false) {
$encryption_algorithms = array_diff( $encryption_algorithms = array_diff(
$encryption_algorithms, $encryption_algorithms,
array('arcfour256', 'arcfour128', 'arcfour') array('arcfour256', 'arcfour128', 'arcfour')
); );
} }
if (phpseclib_resolve_include_path('Crypt/Rijndael.php') === false) { if (stream_resolve_include_path('Crypt/Rijndael.php') === false) {
$encryption_algorithms = array_diff( $encryption_algorithms = array_diff(
$encryption_algorithms, $encryption_algorithms,
array('aes128-ctr', 'aes192-ctr', 'aes256-ctr', 'aes128-cbc', 'aes192-cbc', 'aes256-cbc') array('aes128-ctr', 'aes192-ctr', 'aes256-ctr', 'aes128-cbc', 'aes192-cbc', 'aes256-cbc')
); );
} }
if (phpseclib_resolve_include_path('Crypt/Twofish.php') === false) { if (stream_resolve_include_path('Crypt/Twofish.php') === false) {
$encryption_algorithms = array_diff( $encryption_algorithms = array_diff(
$encryption_algorithms, $encryption_algorithms,
array('twofish128-ctr', 'twofish192-ctr', 'twofish256-ctr', 'twofish128-cbc', 'twofish192-cbc', 'twofish256-cbc', 'twofish-cbc') array('twofish128-ctr', 'twofish192-ctr', 'twofish256-ctr', 'twofish128-cbc', 'twofish192-cbc', 'twofish256-cbc', 'twofish-cbc')
); );
} }
if (phpseclib_resolve_include_path('Crypt/Blowfish.php') === false) { if (stream_resolve_include_path('Crypt/Blowfish.php') === false) {
$encryption_algorithms = array_diff( $encryption_algorithms = array_diff(
$encryption_algorithms, $encryption_algorithms,
array('blowfish-ctr', 'blowfish-cbc') array('blowfish-ctr', 'blowfish-cbc')
); );
} }
if (phpseclib_resolve_include_path('Crypt/TripleDES.php') === false) { if (stream_resolve_include_path('Crypt/TripleDES.php') === false) {
$encryption_algorithms = array_diff( $encryption_algorithms = array_diff(
$encryption_algorithms, $encryption_algorithms,
array('3des-ctr', '3des-cbc') array('3des-ctr', '3des-cbc')