Replace phpseclib_resolve_include_path with stream_resolve_include_path.

This commit is contained in:
Andreas Fischer 2014-06-19 16:14:15 +02:00
parent f85d333912
commit b50ef2dc64
2 changed files with 11 additions and 49 deletions

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')