This commit is contained in:
2025-11-20 16:34:30 +01:00
parent 15d1a30e88
commit 4e4351e833
631 changed files with 130125 additions and 36318 deletions

View File

@@ -1,12 +1,15 @@
<?php
if (PHP_VERSION_ID >= 70100 && function_exists('ioncube_loader_version')) {
require_once dirname(__FILE__) . "/autoload_.php";
if (file_exists(dirname(__DIR__) . "/deps/autoload.php")) {
require_once dirname(__DIR__) . "/deps/autoload.php";
}
require_once __DIR__ . "/autoload_.php";
return;
}
require_once dirname(__FILE__) . "/functions.php";
require_once dirname(__FILE__) . "/classes.php";
require_once __DIR__ . "/functions.php";
require_once __DIR__ . "/classes.php";
spl_autoload_register(function ($classFullName) {
if (class_exists($classFullName, false)) {

View File

@@ -1,12 +1,11 @@
<?php
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
if (!headers_sent()) {
header('HTTP/1.1 500 Internal Server Error');
}
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running ' . PHP_VERSION . ', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.' . PHP_EOL;
if (!ini_get('display_errors')) {
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
fwrite(STDERR, $err);
@@ -17,6 +16,9 @@ if (PHP_VERSION_ID < 50600) {
throw new RuntimeException($err);
}
require_once __DIR__ . '/composer/autoload_real.php';
if (file_exists(__DIR__ . '/../deps/autoload.php')) {
require_once __DIR__ . '/../deps/autoload.php';
}
return ComposerAutoloaderInit1fe0ff0d67b43eae12bae30ad0ff3129::getLoader();
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitc0ed3f98dd7049a39f692ffc2529a248::getLoader();

View File

@@ -9,10 +9,12 @@
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer;
use Composer\Autoload\ClassLoader;
use Composer\Semver\VersionParser;
/**
* This class is copied in every Composer installed project and available to all
*
@@ -29,24 +31,29 @@ class InstalledVersions
* @internal
*/
private static $selfDir = null;
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
/**
* @var bool
*/
private static $installedIsLocalDir;
/**
* @var bool|null
*/
private static $canGetVendors;
/**
* @var array[]
* @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
/**
* Returns a list of all package names which are present, either by being installed, replaced or provided
*
@@ -59,11 +66,14 @@ class InstalledVersions
foreach (self::getInstalled() as $installed) {
$packages[] = array_keys($installed['versions']);
}
if (1 === \count($packages)) {
return $packages[0];
}
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
}
/**
* Returns a list of all package names with a specific type e.g. 'library'
*
@@ -74,6 +84,7 @@ class InstalledVersions
public static function getInstalledPackagesByType($type)
{
$packagesByType = array();
foreach (self::getInstalled() as $installed) {
foreach ($installed['versions'] as $name => $package) {
if (isset($package['type']) && $package['type'] === $type) {
@@ -81,8 +92,10 @@ class InstalledVersions
}
}
}
return $packagesByType;
}
/**
* Checks whether the given package is installed
*
@@ -92,15 +105,17 @@ class InstalledVersions
* @param bool $includeDevRequirements
* @return bool
*/
public static function isInstalled($packageName, $includeDevRequirements = \true)
public static function isInstalled($packageName, $includeDevRequirements = true)
{
foreach (self::getInstalled() as $installed) {
if (isset($installed['versions'][$packageName])) {
return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === \false;
return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
}
}
return \false;
return false;
}
/**
* Checks whether the given package satisfies a version constraint
*
@@ -117,8 +132,10 @@ class InstalledVersions
{
$constraint = $parser->parseConstraints((string) $constraint);
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
return $provided->matches($constraint);
}
/**
* Returns a version constraint representing all the range(s) which are installed for a given package
*
@@ -134,6 +151,7 @@ class InstalledVersions
if (!isset($installed['versions'][$packageName])) {
continue;
}
$ranges = array();
if (isset($installed['versions'][$packageName]['pretty_version'])) {
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
@@ -147,10 +165,13 @@ class InstalledVersions
if (array_key_exists('provided', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
}
return implode(' || ', $ranges);
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
@@ -161,13 +182,17 @@ class InstalledVersions
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['version'])) {
return null;
}
return $installed['versions'][$packageName]['version'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
@@ -178,13 +203,17 @@ class InstalledVersions
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
return null;
}
return $installed['versions'][$packageName]['pretty_version'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
@@ -195,13 +224,17 @@ class InstalledVersions
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['reference'])) {
return null;
}
return $installed['versions'][$packageName]['reference'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
@@ -212,10 +245,13 @@ class InstalledVersions
if (!isset($installed['versions'][$packageName])) {
continue;
}
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @return array
* @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
@@ -223,8 +259,10 @@ class InstalledVersions
public static function getRootPackage()
{
$installed = self::getInstalled();
return $installed[0]['root'];
}
/**
* Returns the raw installed.php data for custom implementations
*
@@ -234,7 +272,8 @@ class InstalledVersions
*/
public static function getRawData()
{
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', \E_USER_DEPRECATED);
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
if (null === self::$installed) {
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
@@ -244,8 +283,10 @@ class InstalledVersions
self::$installed = array();
}
}
return self::$installed;
}
/**
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
@@ -256,6 +297,7 @@ class InstalledVersions
{
return self::getInstalled();
}
/**
* Lets you reload the static array from another file
*
@@ -278,12 +320,14 @@ class InstalledVersions
{
self::$installed = $data;
self::$installedByVendor = array();
// when using reload, we disable the duplicate protection to ensure that self::$installed data is
// always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
// so we have to assume it does not, and that may result in duplicate data being returned when listing
// all installed packages for example
self::$installedIsLocalDir = \false;
self::$installedIsLocalDir = false;
}
/**
* @return string
*/
@@ -292,8 +336,10 @@ class InstalledVersions
if (self::$selfDir === null) {
self::$selfDir = strtr(__DIR__, '\\', '/');
}
return self::$selfDir;
}
/**
* @return array[]
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
@@ -303,29 +349,32 @@ class InstalledVersions
if (null === self::$canGetVendors) {
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
}
$installed = array();
$copiedLocalDir = \false;
$copiedLocalDir = false;
if (self::$canGetVendors) {
$selfDir = self::getSelfDir();
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
$vendorDir = strtr($vendorDir, '\\', '/');
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir . '/composer/installed.php')) {
} elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require $vendorDir . '/composer/installed.php';
$required = require $vendorDir.'/composer/installed.php';
self::$installedByVendor[$vendorDir] = $required;
$installed[] = $required;
if (self::$installed === null && $vendorDir . '/composer' === $selfDir) {
if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
self::$installed = $required;
self::$installedIsLocalDir = \true;
self::$installedIsLocalDir = true;
}
}
if (self::$installedIsLocalDir && $vendorDir . '/composer' === $selfDir) {
$copiedLocalDir = \true;
if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
$copiedLocalDir = true;
}
}
}
if (null === self::$installed) {
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
@@ -337,9 +386,11 @@ class InstalledVersions
self::$installed = array();
}
}
if (self::$installed !== array() && !$copiedLocalDir) {
$installed[] = self::$installed;
}
return $installed;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -36,289 +36,4 @@ return array(
'Prestashow\\PShowSSO\\Service\\ConfigurationService' => $baseDir . '/src/Service/ConfigurationService.php',
'Prestashow\\PShowSSO\\Service\\CustomerService' => $baseDir . '/src/Service/CustomerService.php',
'Prestashow\\PShowSSO\\Service\\EncryptionService' => $baseDir . '/src/Service/EncryptionService.php',
'Prestashow\\PrestaBaseV1\\Model\\FrameworkBundleAdminController' => $vendorDir . '/prestashow/presta-base-v1/Model/FrameworkBundleAdminController.php',
'Prestashow\\PrestaCore\\Adapter\\UpdateService' => $vendorDir . '/prestashow/presta-core/Adapter/UpdateService.php',
'Prestashow\\PrestaCore\\Adapter\\UpdateServiceAdapter' => $vendorDir . '/prestashow/presta-core/Adapter/UpdateServiceAdapter.php',
'Prestashow\\PrestaCore\\Controller\\BackupController' => $vendorDir . '/prestashow/presta-core/Controller/BackupController.php',
'Prestashow\\PrestaCore\\Controller\\HookController' => $vendorDir . '/prestashow/presta-core/Controller/HookController.php',
'Prestashow\\PrestaCore\\Controller\\SettingsController' => $vendorDir . '/prestashow/presta-core/Controller/SettingsController.php',
'Prestashow\\PrestaCore\\Controller\\UpdateController' => $vendorDir . '/prestashow/presta-core/Controller/UpdateController.php',
'Prestashow\\PrestaCore\\Database\\Migrations\\AbstractMigration' => $vendorDir . '/prestashow/presta-core/Database/Migrations/AbstractMigration.php',
'Prestashow\\PrestaCore\\Database\\Migrations\\MigrationCoreTool' => $vendorDir . '/prestashow/presta-core/Database/Migrations/MigrationCoreTool.php',
'Prestashow\\PrestaCore\\Database\\Migrations\\MigrationTool' => $vendorDir . '/prestashow/presta-core/Database/Migrations/MigrationTool.php',
'Prestashow\\PrestaCore\\Database\\Migrations\\Version0' => $vendorDir . '/prestashow/presta-core/Database/Migrations/Version0.php',
'Prestashow\\PrestaCore\\Database\\Migrations\\Version1' => $vendorDir . '/prestashow/presta-core/Database/Migrations/Version1.php',
'Prestashow\\PrestaCore\\Entity\\Hook' => $vendorDir . '/prestashow/presta-core/Entity/Hook.php',
'Prestashow\\PrestaCore\\Entity\\Notification' => $vendorDir . '/prestashow/presta-core/Entity/Notification.php',
'Prestashow\\PrestaCore\\Entity\\NotificationRead' => $vendorDir . '/prestashow/presta-core/Entity/NotificationRead.php',
'Prestashow\\PrestaCore\\Exception\\PrestashowException' => $vendorDir . '/prestashow/presta-core/Exception/PrestashowException.php',
'Prestashow\\PrestaCore\\Exception\\UpdateException' => $vendorDir . '/prestashow/presta-core/Exception/UpdateException.php',
'Prestashow\\PrestaCore\\Model\\AbstractAdminController' => $vendorDir . '/prestashow/presta-core/Model/AbstractAdminController.php',
'Prestashow\\PrestaCore\\Model\\AbstractDemoContent' => $vendorDir . '/prestashow/presta-core/Model/AbstractDemoContent.php',
'Prestashow\\PrestaCore\\Model\\AbstractEntity' => $vendorDir . '/prestashow/presta-core/Model/AbstractEntity.php',
'Prestashow\\PrestaCore\\Model\\AbstractModule' => $vendorDir . '/prestashow/presta-core/Model/AbstractModule.php',
'Prestashow\\PrestaCore\\Model\\AbstractRepository' => $vendorDir . '/prestashow/presta-core/Model/AbstractRepository.php',
'Prestashow\\PrestaCore\\Model\\AbstractService' => $vendorDir . '/prestashow/presta-core/Model/AbstractService.php',
'Prestashow\\PrestaCore\\Model\\DemoObjectModel' => $vendorDir . '/prestashow/presta-core/Model/DemoObjectModel.php',
'Prestashow\\PrestaCore\\Model\\ModuleSettings' => $vendorDir . '/prestashow/presta-core/Model/ModuleSettings.php',
'Prestashow\\PrestaCore\\Service\\DatabaseService' => $vendorDir . '/prestashow/presta-core/Service/DatabaseService.php',
'Prestashow\\PrestaCore\\Service\\DemoContentService' => $vendorDir . '/prestashow/presta-core/Service/DemoContentService.php',
'Prestashow\\PrestaCore\\Service\\IniService' => $vendorDir . '/prestashow/presta-core/Service/IniService.php',
'Prestashow\\PrestaCore\\Service\\RecommendationService' => $vendorDir . '/prestashow/presta-core/Service/RecommendationService.php',
'Prestashow\\PrestaCore\\Service\\ToolsService' => $vendorDir . '/prestashow/presta-core/Service/ToolsService.php',
'Prestashow\\PrestaCore\\Service\\TranslationService' => $vendorDir . '/prestashow/presta-core/Service/TranslationService.php',
'Prestashow\\PrestaCore\\Util\\HookOverrideFix' => $vendorDir . '/prestashow/presta-core/Util/HookOverrideFix.php',
'Prestashow\\PrestaUpdate\\Model\\License' => $vendorDir . '/prestashow/presta-update/src/Model/License.php',
'Prestashow\\PrestaUpdate\\Service\\MultistoreService' => $vendorDir . '/prestashow/presta-update/src/Service/MultistoreService.php',
'Prestashow\\PrestaUpdate\\Service\\UpdateService' => $vendorDir . '/prestashow/presta-update/src/Service/UpdateService.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\BeforeValidException' => $vendorDir . '/firebase/php-jwt/src/BeforeValidException.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\CachedKeySet' => $vendorDir . '/firebase/php-jwt/src/CachedKeySet.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\ExpiredException' => $vendorDir . '/firebase/php-jwt/src/ExpiredException.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\JWK' => $vendorDir . '/firebase/php-jwt/src/JWK.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\JWT' => $vendorDir . '/firebase/php-jwt/src/JWT.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\Key' => $vendorDir . '/firebase/php-jwt/src/Key.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\SignatureInvalidException' => $vendorDir . '/firebase/php-jwt/src/SignatureInvalidException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\BodySummarizer' => $vendorDir . '/guzzlehttp/guzzle/src/BodySummarizer.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\BodySummarizerInterface' => $vendorDir . '/guzzlehttp/guzzle/src/BodySummarizerInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Client' => $vendorDir . '/guzzlehttp/guzzle/src/Client.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\ClientInterface' => $vendorDir . '/guzzlehttp/guzzle/src/ClientInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\ClientTrait' => $vendorDir . '/guzzlehttp/guzzle/src/ClientTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Cookie\\CookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Cookie\\CookieJarInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Cookie\\FileCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Cookie\\SessionCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Cookie\\SetCookie' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/SetCookie.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\BadResponseException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/BadResponseException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\ClientException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ClientException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\ConnectException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ConnectException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\GuzzleException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/GuzzleException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\InvalidArgumentException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\RequestException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/RequestException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\ServerException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ServerException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\TooManyRedirectsException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\TransferException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/TransferException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\HandlerStack' => $vendorDir . '/guzzlehttp/guzzle/src/HandlerStack.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\CurlFactory' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlFactory.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\CurlFactoryInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\CurlHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\CurlMultiHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\EasyHandle' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\HeaderProcessor' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\MockHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/MockHandler.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\Proxy' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/Proxy.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\StreamHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\MessageFormatter' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatter.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\MessageFormatterInterface' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatterInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Middleware' => $vendorDir . '/guzzlehttp/guzzle/src/Middleware.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Pool' => $vendorDir . '/guzzlehttp/guzzle/src/Pool.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\PrepareBodyMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\AggregateException' => $vendorDir . '/guzzlehttp/promises/src/AggregateException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\CancellationException' => $vendorDir . '/guzzlehttp/promises/src/CancellationException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Coroutine' => $vendorDir . '/guzzlehttp/promises/src/Coroutine.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Create' => $vendorDir . '/guzzlehttp/promises/src/Create.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Each' => $vendorDir . '/guzzlehttp/promises/src/Each.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\EachPromise' => $vendorDir . '/guzzlehttp/promises/src/EachPromise.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\FulfilledPromise' => $vendorDir . '/guzzlehttp/promises/src/FulfilledPromise.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Is' => $vendorDir . '/guzzlehttp/promises/src/Is.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Promise' => $vendorDir . '/guzzlehttp/promises/src/Promise.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\PromiseInterface' => $vendorDir . '/guzzlehttp/promises/src/PromiseInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\PromisorInterface' => $vendorDir . '/guzzlehttp/promises/src/PromisorInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\RejectedPromise' => $vendorDir . '/guzzlehttp/promises/src/RejectedPromise.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\RejectionException' => $vendorDir . '/guzzlehttp/promises/src/RejectionException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\TaskQueue' => $vendorDir . '/guzzlehttp/promises/src/TaskQueue.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\TaskQueueInterface' => $vendorDir . '/guzzlehttp/promises/src/TaskQueueInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Utils' => $vendorDir . '/guzzlehttp/promises/src/Utils.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\AppendStream' => $vendorDir . '/guzzlehttp/psr7/src/AppendStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\BufferStream' => $vendorDir . '/guzzlehttp/psr7/src/BufferStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\CachingStream' => $vendorDir . '/guzzlehttp/psr7/src/CachingStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\DroppingStream' => $vendorDir . '/guzzlehttp/psr7/src/DroppingStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => $vendorDir . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\FnStream' => $vendorDir . '/guzzlehttp/psr7/src/FnStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Header' => $vendorDir . '/guzzlehttp/psr7/src/Header.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\HttpFactory' => $vendorDir . '/guzzlehttp/psr7/src/HttpFactory.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\InflateStream' => $vendorDir . '/guzzlehttp/psr7/src/InflateStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\LazyOpenStream' => $vendorDir . '/guzzlehttp/psr7/src/LazyOpenStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\LimitStream' => $vendorDir . '/guzzlehttp/psr7/src/LimitStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Message' => $vendorDir . '/guzzlehttp/psr7/src/Message.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\MessageTrait' => $vendorDir . '/guzzlehttp/psr7/src/MessageTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\MimeType' => $vendorDir . '/guzzlehttp/psr7/src/MimeType.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\MultipartStream' => $vendorDir . '/guzzlehttp/psr7/src/MultipartStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\NoSeekStream' => $vendorDir . '/guzzlehttp/psr7/src/NoSeekStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\PumpStream' => $vendorDir . '/guzzlehttp/psr7/src/PumpStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Query' => $vendorDir . '/guzzlehttp/psr7/src/Query.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Request' => $vendorDir . '/guzzlehttp/psr7/src/Request.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Response' => $vendorDir . '/guzzlehttp/psr7/src/Response.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Rfc7230' => $vendorDir . '/guzzlehttp/psr7/src/Rfc7230.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\ServerRequest' => $vendorDir . '/guzzlehttp/psr7/src/ServerRequest.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Stream' => $vendorDir . '/guzzlehttp/psr7/src/Stream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\StreamDecoratorTrait' => $vendorDir . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\StreamWrapper' => $vendorDir . '/guzzlehttp/psr7/src/StreamWrapper.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\UploadedFile' => $vendorDir . '/guzzlehttp/psr7/src/UploadedFile.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Uri' => $vendorDir . '/guzzlehttp/psr7/src/Uri.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\UriComparator' => $vendorDir . '/guzzlehttp/psr7/src/UriComparator.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\UriNormalizer' => $vendorDir . '/guzzlehttp/psr7/src/UriNormalizer.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\UriResolver' => $vendorDir . '/guzzlehttp/psr7/src/UriResolver.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Utils' => $vendorDir . '/guzzlehttp/psr7/src/Utils.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\RedirectMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/RedirectMiddleware.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\RequestOptions' => $vendorDir . '/guzzlehttp/guzzle/src/RequestOptions.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\RetryMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/RetryMiddleware.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\TransferStats' => $vendorDir . '/guzzlehttp/guzzle/src/TransferStats.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Utils' => $vendorDir . '/guzzlehttp/guzzle/src/Utils.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Builder' => $vendorDir . '/lcobucci/jwt/src/Builder.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim' => $vendorDir . '/lcobucci/jwt/src/Claim.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim\\Basic' => $vendorDir . '/lcobucci/jwt/src/Claim/Basic.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim\\EqualsTo' => $vendorDir . '/lcobucci/jwt/src/Claim/EqualsTo.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim\\Factory' => $vendorDir . '/lcobucci/jwt/src/Claim/Factory.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim\\GreaterOrEqualsTo' => $vendorDir . '/lcobucci/jwt/src/Claim/GreaterOrEqualsTo.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim\\LesserOrEqualsTo' => $vendorDir . '/lcobucci/jwt/src/Claim/LesserOrEqualsTo.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim\\Validatable' => $vendorDir . '/lcobucci/jwt/src/Claim/Validatable.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Configuration' => $vendorDir . '/lcobucci/jwt/src/Configuration.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Encoding\\CannotDecodeContent' => $vendorDir . '/lcobucci/jwt/src/Encoding/CannotDecodeContent.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Encoding\\CannotEncodeContent' => $vendorDir . '/lcobucci/jwt/src/Encoding/CannotEncodeContent.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Exception' => $vendorDir . '/lcobucci/jwt/src/Exception.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Parser' => $vendorDir . '/lcobucci/jwt/src/Parser.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Parsing\\Decoder' => $vendorDir . '/lcobucci/jwt/src/Parsing/Decoder.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Parsing\\Encoder' => $vendorDir . '/lcobucci/jwt/src/Parsing/Encoder.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signature' => $vendorDir . '/lcobucci/jwt/src/Signature.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer' => $vendorDir . '/lcobucci/jwt/src/Signer.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\BaseSigner' => $vendorDir . '/lcobucci/jwt/src/Signer/BaseSigner.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\CannotSignPayload' => $vendorDir . '/lcobucci/jwt/src/Signer/CannotSignPayload.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa\\ConversionFailed' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/ConversionFailed.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa\\MultibyteStringConverter' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/MultibyteStringConverter.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa\\Sha256' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/Sha256.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa\\Sha384' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/Sha384.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa\\Sha512' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/Sha512.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa\\SignatureConverter' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/SignatureConverter.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Hmac' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Hmac\\Sha256' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac/Sha256.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Hmac\\Sha384' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac/Sha384.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Hmac\\Sha512' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac/Sha512.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\InvalidKeyProvided' => $vendorDir . '/lcobucci/jwt/src/Signer/InvalidKeyProvided.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Key' => $vendorDir . '/lcobucci/jwt/src/Signer/Key.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Key\\FileCouldNotBeRead' => $vendorDir . '/lcobucci/jwt/src/Signer/Key/FileCouldNotBeRead.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Key\\InMemory' => $vendorDir . '/lcobucci/jwt/src/Signer/Key/InMemory.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Key\\LocalFileReference' => $vendorDir . '/lcobucci/jwt/src/Signer/Key/LocalFileReference.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Keychain' => $vendorDir . '/lcobucci/jwt/src/Signer/Keychain.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\None' => $vendorDir . '/lcobucci/jwt/src/Signer/None.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\OpenSSL' => $vendorDir . '/lcobucci/jwt/src/Signer/OpenSSL.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Rsa' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Rsa\\Sha256' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa/Sha256.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Rsa\\Sha384' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa/Sha384.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Rsa\\Sha512' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa/Sha512.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Token' => $vendorDir . '/lcobucci/jwt/src/Token.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Token\\DataSet' => $vendorDir . '/lcobucci/jwt/src/Token/DataSet.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Token\\InvalidTokenStructure' => $vendorDir . '/lcobucci/jwt/src/Token/InvalidTokenStructure.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Token\\RegisteredClaimGiven' => $vendorDir . '/lcobucci/jwt/src/Token/RegisteredClaimGiven.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Token\\RegisteredClaims' => $vendorDir . '/lcobucci/jwt/src/Token/RegisteredClaims.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Token\\UnsupportedHeaderFound' => $vendorDir . '/lcobucci/jwt/src/Token/UnsupportedHeaderFound.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\ValidationData' => $vendorDir . '/lcobucci/jwt/src/ValidationData.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\ConstraintViolation' => $vendorDir . '/lcobucci/jwt/src/Validation/ConstraintViolation.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\IdentifiedBy' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/IdentifiedBy.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\IssuedBy' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/IssuedBy.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\LeewayCannotBeNegative' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/LeewayCannotBeNegative.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\PermittedFor' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/PermittedFor.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\RelatedTo' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/RelatedTo.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\SignedWith' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/SignedWith.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\ValidAt' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/ValidAt.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\NoConstraintsGiven' => $vendorDir . '/lcobucci/jwt/src/Validation/NoConstraintsGiven.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\RequiredConstraintsViolated' => $vendorDir . '/lcobucci/jwt/src/Validation/RequiredConstraintsViolated.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Validator' => $vendorDir . '/lcobucci/jwt/src/Validation/Validator.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validator' => $vendorDir . '/lcobucci/jwt/src/Validator.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Exception\\HostedDomainException' => $vendorDir . '/league/oauth2-google/src/Exception/HostedDomainException.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\AbstractGrant' => $vendorDir . '/league/oauth2-client/src/Grant/AbstractGrant.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\AuthorizationCode' => $vendorDir . '/league/oauth2-client/src/Grant/AuthorizationCode.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\ClientCredentials' => $vendorDir . '/league/oauth2-client/src/Grant/ClientCredentials.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\Exception\\InvalidGrantException' => $vendorDir . '/league/oauth2-client/src/Grant/Exception/InvalidGrantException.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\FbExchangeToken' => $vendorDir . '/league/oauth2-facebook/src/Grant/FbExchangeToken.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\GrantFactory' => $vendorDir . '/league/oauth2-client/src/Grant/GrantFactory.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\Password' => $vendorDir . '/league/oauth2-client/src/Grant/Password.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\RefreshToken' => $vendorDir . '/league/oauth2-client/src/Grant/RefreshToken.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\OptionProvider\\HttpBasicAuthOptionProvider' => $vendorDir . '/league/oauth2-client/src/OptionProvider/HttpBasicAuthOptionProvider.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\OptionProvider\\OptionProviderInterface' => $vendorDir . '/league/oauth2-client/src/OptionProvider/OptionProviderInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\OptionProvider\\PostAuthOptionProvider' => $vendorDir . '/league/oauth2-client/src/OptionProvider/PostAuthOptionProvider.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\AbstractProvider' => $vendorDir . '/league/oauth2-client/src/Provider/AbstractProvider.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\AppSecretProof' => $vendorDir . '/league/oauth2-facebook/src/Provider/AppSecretProof.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Apple' => $vendorDir . '/patrickbussmann/oauth2-apple/src/Provider/Apple.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\AppleResourceOwner' => $vendorDir . '/patrickbussmann/oauth2-apple/src/Provider/AppleResourceOwner.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Exception\\AppleAccessDeniedException' => $vendorDir . '/patrickbussmann/oauth2-apple/src/Provider/Exception/AppleAccessDeniedException.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Exception\\FacebookProviderException' => $vendorDir . '/league/oauth2-facebook/src/Provider/Exception/FacebookProviderException.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Exception\\GithubIdentityProviderException' => $vendorDir . '/league/oauth2-github/src/Provider/Exception/GithubIdentityProviderException.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Exception\\IdentityProviderException' => $vendorDir . '/league/oauth2-client/src/Provider/Exception/IdentityProviderException.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Facebook' => $vendorDir . '/league/oauth2-facebook/src/Provider/Facebook.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\FacebookUser' => $vendorDir . '/league/oauth2-facebook/src/Provider/FacebookUser.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\GenericProvider' => $vendorDir . '/league/oauth2-client/src/Provider/GenericProvider.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\GenericResourceOwner' => $vendorDir . '/league/oauth2-client/src/Provider/GenericResourceOwner.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Github' => $vendorDir . '/league/oauth2-github/src/Provider/Github.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\GithubResourceOwner' => $vendorDir . '/league/oauth2-github/src/Provider/GithubResourceOwner.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Google' => $vendorDir . '/league/oauth2-google/src/Provider/Google.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\GoogleUser' => $vendorDir . '/league/oauth2-google/src/Provider/GoogleUser.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\ResourceOwnerInterface' => $vendorDir . '/league/oauth2-client/src/Provider/ResourceOwnerInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Token\\AccessToken' => $vendorDir . '/league/oauth2-client/src/Token/AccessToken.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Token\\AccessTokenInterface' => $vendorDir . '/league/oauth2-client/src/Token/AccessTokenInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Token\\AppleAccessToken' => $vendorDir . '/patrickbussmann/oauth2-apple/src/Token/AppleAccessToken.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Token\\ResourceOwnerAccessTokenInterface' => $vendorDir . '/league/oauth2-client/src/Token/ResourceOwnerAccessTokenInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\ArrayAccessorTrait' => $vendorDir . '/league/oauth2-client/src/Tool/ArrayAccessorTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\BearerAuthorizationTrait' => $vendorDir . '/league/oauth2-client/src/Tool/BearerAuthorizationTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\GuardedPropertyTrait' => $vendorDir . '/league/oauth2-client/src/Tool/GuardedPropertyTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\MacAuthorizationTrait' => $vendorDir . '/league/oauth2-client/src/Tool/MacAuthorizationTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\ProviderRedirectTrait' => $vendorDir . '/league/oauth2-client/src/Tool/ProviderRedirectTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\QueryBuilderTrait' => $vendorDir . '/league/oauth2-client/src/Tool/QueryBuilderTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\RequestFactory' => $vendorDir . '/league/oauth2-client/src/Tool/RequestFactory.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\RequiredParameterTrait' => $vendorDir . '/league/oauth2-client/src/Tool/RequiredParameterTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Client\\ClientExceptionInterface' => $vendorDir . '/psr/http-client/src/ClientExceptionInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Client\\ClientInterface' => $vendorDir . '/psr/http-client/src/ClientInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Client\\NetworkExceptionInterface' => $vendorDir . '/psr/http-client/src/NetworkExceptionInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Client\\RequestExceptionInterface' => $vendorDir . '/psr/http-client/src/RequestExceptionInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\MessageInterface' => $vendorDir . '/psr/http-message/src/MessageInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\RequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/RequestFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\RequestInterface' => $vendorDir . '/psr/http-message/src/RequestInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\ResponseFactoryInterface' => $vendorDir . '/psr/http-factory/src/ResponseFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\ResponseInterface' => $vendorDir . '/psr/http-message/src/ResponseInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\ServerRequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/ServerRequestFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\ServerRequestInterface' => $vendorDir . '/psr/http-message/src/ServerRequestInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\StreamFactoryInterface' => $vendorDir . '/psr/http-factory/src/StreamFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\StreamInterface' => $vendorDir . '/psr/http-message/src/StreamInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\UploadedFileFactoryInterface' => $vendorDir . '/psr/http-factory/src/UploadedFileFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\UploadedFileInterface' => $vendorDir . '/psr/http-message/src/UploadedFileInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\UriFactoryInterface' => $vendorDir . '/psr/http-factory/src/UriFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\UriInterface' => $vendorDir . '/psr/http-message/src/UriInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Smolblog\\OAuth2\\Client\\Provider\\Twitter' => $vendorDir . '/smolblog/oauth2-twitter/src/Twitter.php',
'Pshowsso\\Scope68f5e85e9608b\\Smolblog\\OAuth2\\Client\\Provider\\TwitterUser' => $vendorDir . '/smolblog/oauth2-twitter/src/TwitterUser.php',
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\Provider\\Exception\\EncryptionConfigurationException' => $vendorDir . '/stevenmaguire/oauth2-keycloak/src/Provider/Exception/EncryptionConfigurationException.php',
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\Provider\\Keycloak' => $vendorDir . '/stevenmaguire/oauth2-keycloak/src/Provider/Keycloak.php',
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\Provider\\KeycloakResourceOwner' => $vendorDir . '/stevenmaguire/oauth2-keycloak/src/Provider/KeycloakResourceOwner.php',
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\Provider\\Microsoft' => $vendorDir . '/stevenmaguire/oauth2-microsoft/src/Provider/Microsoft.php',
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\Provider\\MicrosoftResourceOwner' => $vendorDir . '/stevenmaguire/oauth2-microsoft/src/Provider/MicrosoftResourceOwner.php',
'RandomLib\\AbstractMcryptMixer' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/AbstractMcryptMixer.php',
'RandomLib\\AbstractMixer' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/AbstractMixer.php',
'RandomLib\\AbstractSource' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/AbstractSource.php',
'RandomLib\\Factory' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Factory.php',
'RandomLib\\Generator' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Generator.php',
'RandomLib\\Mixer' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Mixer.php',
'RandomLib\\Mixer\\Hash' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Mixer/Hash.php',
'RandomLib\\Mixer\\McryptRijndael128' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Mixer/McryptRijndael128.php',
'RandomLib\\Mixer\\SodiumMixer' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Mixer/SodiumMixer.php',
'RandomLib\\Mixer\\XorMixer' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Mixer/XorMixer.php',
'RandomLib\\Source' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Source.php',
'RandomLib\\Source\\CAPICOM' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Source/CAPICOM.php',
'RandomLib\\Source\\MTRand' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Source/MTRand.php',
'RandomLib\\Source\\MicroTime' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Source/MicroTime.php',
'RandomLib\\Source\\OpenSSL' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Source/OpenSSL.php',
'RandomLib\\Source\\Rand' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Source/Rand.php',
'RandomLib\\Source\\RandomBytes' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Source/RandomBytes.php',
'RandomLib\\Source\\Sodium' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Source/Sodium.php',
'RandomLib\\Source\\URandom' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Source/URandom.php',
'RandomLib\\Source\\UniqID' => $vendorDir . '/paragonie/random-lib/lib/RandomLib/Source/UniqID.php',
'SecurityLib\\AbstractFactory' => $vendorDir . '/ircmaxell/security-lib/lib/SecurityLib/AbstractFactory.php',
'SecurityLib\\BaseConverter' => $vendorDir . '/ircmaxell/security-lib/lib/SecurityLib/BaseConverter.php',
'SecurityLib\\BigMath' => $vendorDir . '/ircmaxell/security-lib/lib/SecurityLib/BigMath.php',
'SecurityLib\\BigMath\\BCMath' => $vendorDir . '/ircmaxell/security-lib/lib/SecurityLib/BigMath/BCMath.php',
'SecurityLib\\BigMath\\GMP' => $vendorDir . '/ircmaxell/security-lib/lib/SecurityLib/BigMath/GMP.php',
'SecurityLib\\BigMath\\PHPMath' => $vendorDir . '/ircmaxell/security-lib/lib/SecurityLib/BigMath/PHPMath.php',
'SecurityLib\\Enum' => $vendorDir . '/ircmaxell/security-lib/lib/SecurityLib/Enum.php',
'SecurityLib\\Hash' => $vendorDir . '/ircmaxell/security-lib/lib/SecurityLib/Hash.php',
'SecurityLib\\Strength' => $vendorDir . '/ircmaxell/security-lib/lib/SecurityLib/Strength.php',
'SecurityLib\\Util' => $vendorDir . '/ircmaxell/security-lib/lib/SecurityLib/Util.php',
);

View File

@@ -6,21 +6,7 @@ $vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
return array(
'SecurityLib\\' => array($vendorDir . '/ircmaxell/security-lib/lib/SecurityLib'),
'RandomLib\\' => array($vendorDir . '/paragonie/random-lib/lib/RandomLib'),
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\' => array($vendorDir . '/stevenmaguire/oauth2-microsoft/src', $vendorDir . '/stevenmaguire/oauth2-keycloak/src'),
'Pshowsso\\Scope68f5e85e9608b\\Smolblog\\OAuth2\\Client\\Provider\\' => array($vendorDir . '/smolblog/oauth2-twitter/src'),
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'),
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\' => array($vendorDir . '/patrickbussmann/oauth2-apple/src', $vendorDir . '/league/oauth2-google/src', $vendorDir . '/league/oauth2-github/src', $vendorDir . '/league/oauth2-facebook/src', $vendorDir . '/league/oauth2-client/src'),
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\' => array($vendorDir . '/lcobucci/jwt/src'),
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'),
'Prestashow\\PrestaUpdate\\' => array($vendorDir . '/prestashow/presta-update/src'),
'Prestashow\\PrestaCore\\' => array($vendorDir . '/prestashow/presta-core'),
'Prestashow\\PrestaBaseV1\\' => array($vendorDir . '/prestashow/presta-base-v1'),
'Prestashow\\PShowSSO\\Link\\' => array($baseDir . '/src_link'),
'Prestashow\\PShowSSO\\' => array($baseDir . '/src'),
'PShowSsoScoped\\' => array($baseDir . '/deps'),
);

View File

@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit1fe0ff0d67b43eae12bae30ad0ff3129
class ComposerAutoloaderInitc0ed3f98dd7049a39f692ffc2529a248
{
private static $loader;
@@ -24,28 +24,16 @@ class ComposerAutoloaderInit1fe0ff0d67b43eae12bae30ad0ff3129
require __DIR__ . '/platform_check.php';
spl_autoload_register(array('ComposerAutoloaderInit1fe0ff0d67b43eae12bae30ad0ff3129', 'loadClassLoader'), true, false);
spl_autoload_register(array('ComposerAutoloaderInitc0ed3f98dd7049a39f692ffc2529a248', 'loadClassLoader'), true, false);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInit1fe0ff0d67b43eae12bae30ad0ff3129', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInitc0ed3f98dd7049a39f692ffc2529a248', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit1fe0ff0d67b43eae12bae30ad0ff3129::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInitc0ed3f98dd7049a39f692ffc2529a248::getInitializer($loader));
$loader->setClassMapAuthoritative(true);
$loader->register(false);
$filesToLoad = \Composer\Autoload\ComposerStaticInit1fe0ff0d67b43eae12bae30ad0ff3129::$files;
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
require $file;
}
}, null, null);
foreach ($filesToLoad as $fileIdentifier => $file) {
$requireFile($fileIdentifier, $file);
}
return $loader;
}
}

View File

@@ -4,123 +4,30 @@
namespace Composer\Autoload;
class ComposerStaticInit1fe0ff0d67b43eae12bae30ad0ff3129
class ComposerStaticInitc0ed3f98dd7049a39f692ffc2529a248
{
public static $files = array (
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
'3109cb1a231dcd04bee1f9f620d46975' => __DIR__ . '/..' . '/paragonie/sodium_compat/autoload.php',
'256c1545158fc915c75e51a931bdba60' => __DIR__ . '/..' . '/lcobucci/jwt/compat/class-aliases.php',
'0d273777b2b0d96e49fb3d800c6b0e81' => __DIR__ . '/..' . '/lcobucci/jwt/compat/json-exception-polyfill.php',
'd6b246ac924292702635bb2349f4a64b' => __DIR__ . '/..' . '/lcobucci/jwt/compat/lcobucci-clock-polyfill.php',
'ab61278cdcb3146ba97a98fca5e65a0d' => __DIR__ . '/..' . '/prestashow/presta-core/autoload.php',
);
public static $prefixLengthsPsr4 = array (
'S' =>
'P' =>
array (
'SecurityLib\\' => 12,
),
'R' =>
array (
'RandomLib\\' => 10,
),
'P' =>
array (
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\' => 56,
'Pshowsso\\Scope68f5e85e9608b\\Smolblog\\OAuth2\\Client\\Provider\\' => 60,
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\' => 45,
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Client\\' => 44,
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\' => 49,
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\' => 41,
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\' => 44,
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\' => 47,
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\' => 39,
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\' => 41,
'Prestashow\\PrestaUpdate\\' => 24,
'Prestashow\\PrestaCore\\' => 22,
'Prestashow\\PrestaBaseV1\\' => 24,
'Prestashow\\PShowSSO\\Link\\' => 25,
'Prestashow\\PShowSSO\\' => 20,
'PShowSsoScoped\\' => 15,
),
);
public static $prefixDirsPsr4 = array (
'SecurityLib\\' =>
array (
0 => __DIR__ . '/..' . '/ircmaxell/security-lib/lib/SecurityLib',
),
'RandomLib\\' =>
array (
0 => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib',
),
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\' =>
array (
0 => __DIR__ . '/..' . '/stevenmaguire/oauth2-microsoft/src',
1 => __DIR__ . '/..' . '/stevenmaguire/oauth2-keycloak/src',
),
'Pshowsso\\Scope68f5e85e9608b\\Smolblog\\OAuth2\\Client\\Provider\\' =>
array (
0 => __DIR__ . '/..' . '/smolblog/oauth2-twitter/src',
),
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\' =>
array (
0 => __DIR__ . '/..' . '/psr/http-factory/src',
1 => __DIR__ . '/..' . '/psr/http-message/src',
),
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Client\\' =>
array (
0 => __DIR__ . '/..' . '/psr/http-client/src',
),
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\' =>
array (
0 => __DIR__ . '/..' . '/patrickbussmann/oauth2-apple/src',
1 => __DIR__ . '/..' . '/league/oauth2-google/src',
2 => __DIR__ . '/..' . '/league/oauth2-github/src',
3 => __DIR__ . '/..' . '/league/oauth2-facebook/src',
4 => __DIR__ . '/..' . '/league/oauth2-client/src',
),
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\' =>
array (
0 => __DIR__ . '/..' . '/lcobucci/jwt/src',
),
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\' =>
array (
0 => __DIR__ . '/..' . '/guzzlehttp/psr7/src',
),
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\' =>
array (
0 => __DIR__ . '/..' . '/guzzlehttp/promises/src',
),
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\' =>
array (
0 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src',
),
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\' =>
array (
0 => __DIR__ . '/..' . '/firebase/php-jwt/src',
),
'Prestashow\\PrestaUpdate\\' =>
array (
0 => __DIR__ . '/..' . '/prestashow/presta-update/src',
),
'Prestashow\\PrestaCore\\' =>
array (
0 => __DIR__ . '/..' . '/prestashow/presta-core',
),
'Prestashow\\PrestaBaseV1\\' =>
array (
0 => __DIR__ . '/..' . '/prestashow/presta-base-v1',
),
'Prestashow\\PShowSSO\\Link\\' =>
'Prestashow\\PShowSSO\\Link\\' =>
array (
0 => __DIR__ . '/../..' . '/src_link',
),
'Prestashow\\PShowSSO\\' =>
'Prestashow\\PShowSSO\\' =>
array (
0 => __DIR__ . '/../..' . '/src',
),
'PShowSsoScoped\\' =>
array (
0 => __DIR__ . '/../..' . '/deps',
),
);
public static $classMap = array (
@@ -154,299 +61,14 @@ class ComposerStaticInit1fe0ff0d67b43eae12bae30ad0ff3129
'Prestashow\\PShowSSO\\Service\\ConfigurationService' => __DIR__ . '/../..' . '/src/Service/ConfigurationService.php',
'Prestashow\\PShowSSO\\Service\\CustomerService' => __DIR__ . '/../..' . '/src/Service/CustomerService.php',
'Prestashow\\PShowSSO\\Service\\EncryptionService' => __DIR__ . '/../..' . '/src/Service/EncryptionService.php',
'Prestashow\\PrestaBaseV1\\Model\\FrameworkBundleAdminController' => __DIR__ . '/..' . '/prestashow/presta-base-v1/Model/FrameworkBundleAdminController.php',
'Prestashow\\PrestaCore\\Adapter\\UpdateService' => __DIR__ . '/..' . '/prestashow/presta-core/Adapter/UpdateService.php',
'Prestashow\\PrestaCore\\Adapter\\UpdateServiceAdapter' => __DIR__ . '/..' . '/prestashow/presta-core/Adapter/UpdateServiceAdapter.php',
'Prestashow\\PrestaCore\\Controller\\BackupController' => __DIR__ . '/..' . '/prestashow/presta-core/Controller/BackupController.php',
'Prestashow\\PrestaCore\\Controller\\HookController' => __DIR__ . '/..' . '/prestashow/presta-core/Controller/HookController.php',
'Prestashow\\PrestaCore\\Controller\\SettingsController' => __DIR__ . '/..' . '/prestashow/presta-core/Controller/SettingsController.php',
'Prestashow\\PrestaCore\\Controller\\UpdateController' => __DIR__ . '/..' . '/prestashow/presta-core/Controller/UpdateController.php',
'Prestashow\\PrestaCore\\Database\\Migrations\\AbstractMigration' => __DIR__ . '/..' . '/prestashow/presta-core/Database/Migrations/AbstractMigration.php',
'Prestashow\\PrestaCore\\Database\\Migrations\\MigrationCoreTool' => __DIR__ . '/..' . '/prestashow/presta-core/Database/Migrations/MigrationCoreTool.php',
'Prestashow\\PrestaCore\\Database\\Migrations\\MigrationTool' => __DIR__ . '/..' . '/prestashow/presta-core/Database/Migrations/MigrationTool.php',
'Prestashow\\PrestaCore\\Database\\Migrations\\Version0' => __DIR__ . '/..' . '/prestashow/presta-core/Database/Migrations/Version0.php',
'Prestashow\\PrestaCore\\Database\\Migrations\\Version1' => __DIR__ . '/..' . '/prestashow/presta-core/Database/Migrations/Version1.php',
'Prestashow\\PrestaCore\\Entity\\Hook' => __DIR__ . '/..' . '/prestashow/presta-core/Entity/Hook.php',
'Prestashow\\PrestaCore\\Entity\\Notification' => __DIR__ . '/..' . '/prestashow/presta-core/Entity/Notification.php',
'Prestashow\\PrestaCore\\Entity\\NotificationRead' => __DIR__ . '/..' . '/prestashow/presta-core/Entity/NotificationRead.php',
'Prestashow\\PrestaCore\\Exception\\PrestashowException' => __DIR__ . '/..' . '/prestashow/presta-core/Exception/PrestashowException.php',
'Prestashow\\PrestaCore\\Exception\\UpdateException' => __DIR__ . '/..' . '/prestashow/presta-core/Exception/UpdateException.php',
'Prestashow\\PrestaCore\\Model\\AbstractAdminController' => __DIR__ . '/..' . '/prestashow/presta-core/Model/AbstractAdminController.php',
'Prestashow\\PrestaCore\\Model\\AbstractDemoContent' => __DIR__ . '/..' . '/prestashow/presta-core/Model/AbstractDemoContent.php',
'Prestashow\\PrestaCore\\Model\\AbstractEntity' => __DIR__ . '/..' . '/prestashow/presta-core/Model/AbstractEntity.php',
'Prestashow\\PrestaCore\\Model\\AbstractModule' => __DIR__ . '/..' . '/prestashow/presta-core/Model/AbstractModule.php',
'Prestashow\\PrestaCore\\Model\\AbstractRepository' => __DIR__ . '/..' . '/prestashow/presta-core/Model/AbstractRepository.php',
'Prestashow\\PrestaCore\\Model\\AbstractService' => __DIR__ . '/..' . '/prestashow/presta-core/Model/AbstractService.php',
'Prestashow\\PrestaCore\\Model\\DemoObjectModel' => __DIR__ . '/..' . '/prestashow/presta-core/Model/DemoObjectModel.php',
'Prestashow\\PrestaCore\\Model\\ModuleSettings' => __DIR__ . '/..' . '/prestashow/presta-core/Model/ModuleSettings.php',
'Prestashow\\PrestaCore\\Service\\DatabaseService' => __DIR__ . '/..' . '/prestashow/presta-core/Service/DatabaseService.php',
'Prestashow\\PrestaCore\\Service\\DemoContentService' => __DIR__ . '/..' . '/prestashow/presta-core/Service/DemoContentService.php',
'Prestashow\\PrestaCore\\Service\\IniService' => __DIR__ . '/..' . '/prestashow/presta-core/Service/IniService.php',
'Prestashow\\PrestaCore\\Service\\RecommendationService' => __DIR__ . '/..' . '/prestashow/presta-core/Service/RecommendationService.php',
'Prestashow\\PrestaCore\\Service\\ToolsService' => __DIR__ . '/..' . '/prestashow/presta-core/Service/ToolsService.php',
'Prestashow\\PrestaCore\\Service\\TranslationService' => __DIR__ . '/..' . '/prestashow/presta-core/Service/TranslationService.php',
'Prestashow\\PrestaCore\\Util\\HookOverrideFix' => __DIR__ . '/..' . '/prestashow/presta-core/Util/HookOverrideFix.php',
'Prestashow\\PrestaUpdate\\Model\\License' => __DIR__ . '/..' . '/prestashow/presta-update/src/Model/License.php',
'Prestashow\\PrestaUpdate\\Service\\MultistoreService' => __DIR__ . '/..' . '/prestashow/presta-update/src/Service/MultistoreService.php',
'Prestashow\\PrestaUpdate\\Service\\UpdateService' => __DIR__ . '/..' . '/prestashow/presta-update/src/Service/UpdateService.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\BeforeValidException' => __DIR__ . '/..' . '/firebase/php-jwt/src/BeforeValidException.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\CachedKeySet' => __DIR__ . '/..' . '/firebase/php-jwt/src/CachedKeySet.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\ExpiredException' => __DIR__ . '/..' . '/firebase/php-jwt/src/ExpiredException.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\JWK' => __DIR__ . '/..' . '/firebase/php-jwt/src/JWK.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\JWT' => __DIR__ . '/..' . '/firebase/php-jwt/src/JWT.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\Key' => __DIR__ . '/..' . '/firebase/php-jwt/src/Key.php',
'Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\SignatureInvalidException' => __DIR__ . '/..' . '/firebase/php-jwt/src/SignatureInvalidException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\BodySummarizer' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BodySummarizer.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\BodySummarizerInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BodySummarizerInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Client' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Client.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\ClientInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\ClientTrait' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Cookie\\CookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Cookie\\CookieJarInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Cookie\\FileCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Cookie\\SessionCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Cookie\\SetCookie' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/SetCookie.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\BadResponseException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/BadResponseException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\ClientException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ClientException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\ConnectException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ConnectException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\GuzzleException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/GuzzleException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\RequestException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/RequestException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\ServerException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ServerException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\TooManyRedirectsException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Exception\\TransferException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/TransferException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\HandlerStack' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/HandlerStack.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\CurlFactory' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlFactory.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\CurlFactoryInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\CurlHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\CurlMultiHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\EasyHandle' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\HeaderProcessor' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\MockHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/MockHandler.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\Proxy' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/Proxy.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Handler\\StreamHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\MessageFormatter' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatter.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\MessageFormatterInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatterInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Middleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Middleware.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Pool' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Pool.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\PrepareBodyMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\AggregateException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/AggregateException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\CancellationException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/CancellationException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Coroutine' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Coroutine.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Create' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Create.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Each' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Each.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\EachPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/EachPromise.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\FulfilledPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/FulfilledPromise.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Is' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Is.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Promise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Promise.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\PromiseInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/PromiseInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\PromisorInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/PromisorInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\RejectedPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/RejectedPromise.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\RejectionException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/RejectionException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\TaskQueue' => __DIR__ . '/..' . '/guzzlehttp/promises/src/TaskQueue.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\TaskQueueInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/TaskQueueInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Utils' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Utils.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\AppendStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/AppendStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\BufferStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/BufferStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\CachingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/CachingStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\DroppingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/DroppingStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\FnStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/FnStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Header' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Header.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\HttpFactory' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/HttpFactory.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\InflateStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/InflateStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\LazyOpenStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LazyOpenStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\LimitStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LimitStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Message' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Message.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\MessageTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MessageTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\MimeType' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MimeType.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\MultipartStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MultipartStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\NoSeekStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/NoSeekStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\PumpStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/PumpStream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Query' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Query.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Request' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Request.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Response' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Response.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Rfc7230' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Rfc7230.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\ServerRequest' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/ServerRequest.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Stream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Stream.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\StreamDecoratorTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\StreamWrapper' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamWrapper.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\UploadedFile' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UploadedFile.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Uri' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Uri.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\UriComparator' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriComparator.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\UriNormalizer' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriNormalizer.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\UriResolver' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriResolver.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\Utils' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Utils.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\RedirectMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RedirectMiddleware.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\RequestOptions' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RequestOptions.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\RetryMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RetryMiddleware.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\TransferStats' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/TransferStats.php',
'Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Utils' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Utils.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Builder' => __DIR__ . '/..' . '/lcobucci/jwt/src/Builder.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim\\Basic' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim/Basic.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim\\EqualsTo' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim/EqualsTo.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim\\Factory' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim/Factory.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim\\GreaterOrEqualsTo' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim/GreaterOrEqualsTo.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim\\LesserOrEqualsTo' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim/LesserOrEqualsTo.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Claim\\Validatable' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim/Validatable.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Configuration' => __DIR__ . '/..' . '/lcobucci/jwt/src/Configuration.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Encoding\\CannotDecodeContent' => __DIR__ . '/..' . '/lcobucci/jwt/src/Encoding/CannotDecodeContent.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Encoding\\CannotEncodeContent' => __DIR__ . '/..' . '/lcobucci/jwt/src/Encoding/CannotEncodeContent.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Exception' => __DIR__ . '/..' . '/lcobucci/jwt/src/Exception.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Parser' => __DIR__ . '/..' . '/lcobucci/jwt/src/Parser.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Parsing\\Decoder' => __DIR__ . '/..' . '/lcobucci/jwt/src/Parsing/Decoder.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Parsing\\Encoder' => __DIR__ . '/..' . '/lcobucci/jwt/src/Parsing/Encoder.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signature' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signature.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\BaseSigner' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/BaseSigner.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\CannotSignPayload' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/CannotSignPayload.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa\\ConversionFailed' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/ConversionFailed.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa\\MultibyteStringConverter' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/MultibyteStringConverter.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa\\Sha256' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/Sha256.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa\\Sha384' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/Sha384.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa\\Sha512' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/Sha512.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Ecdsa\\SignatureConverter' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/SignatureConverter.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Hmac' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Hmac\\Sha256' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac/Sha256.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Hmac\\Sha384' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac/Sha384.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Hmac\\Sha512' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac/Sha512.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\InvalidKeyProvided' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/InvalidKeyProvided.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Key' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Key.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Key\\FileCouldNotBeRead' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Key/FileCouldNotBeRead.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Key\\InMemory' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Key/InMemory.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Key\\LocalFileReference' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Key/LocalFileReference.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Keychain' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Keychain.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\None' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/None.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\OpenSSL' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/OpenSSL.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Rsa' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Rsa\\Sha256' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa/Sha256.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Rsa\\Sha384' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa/Sha384.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Signer\\Rsa\\Sha512' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa/Sha512.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Token' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Token\\DataSet' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token/DataSet.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Token\\InvalidTokenStructure' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token/InvalidTokenStructure.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Token\\RegisteredClaimGiven' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token/RegisteredClaimGiven.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Token\\RegisteredClaims' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token/RegisteredClaims.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Token\\UnsupportedHeaderFound' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token/UnsupportedHeaderFound.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\ValidationData' => __DIR__ . '/..' . '/lcobucci/jwt/src/ValidationData.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\ConstraintViolation' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/ConstraintViolation.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\IdentifiedBy' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/IdentifiedBy.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\IssuedBy' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/IssuedBy.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\LeewayCannotBeNegative' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/LeewayCannotBeNegative.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\PermittedFor' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/PermittedFor.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\RelatedTo' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/RelatedTo.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\SignedWith' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/SignedWith.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Constraint\\ValidAt' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/ValidAt.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\NoConstraintsGiven' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/NoConstraintsGiven.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\RequiredConstraintsViolated' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/RequiredConstraintsViolated.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validation\\Validator' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Validator.php',
'Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\Validator' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validator.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Exception\\HostedDomainException' => __DIR__ . '/..' . '/league/oauth2-google/src/Exception/HostedDomainException.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\AbstractGrant' => __DIR__ . '/..' . '/league/oauth2-client/src/Grant/AbstractGrant.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\AuthorizationCode' => __DIR__ . '/..' . '/league/oauth2-client/src/Grant/AuthorizationCode.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\ClientCredentials' => __DIR__ . '/..' . '/league/oauth2-client/src/Grant/ClientCredentials.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\Exception\\InvalidGrantException' => __DIR__ . '/..' . '/league/oauth2-client/src/Grant/Exception/InvalidGrantException.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\FbExchangeToken' => __DIR__ . '/..' . '/league/oauth2-facebook/src/Grant/FbExchangeToken.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\GrantFactory' => __DIR__ . '/..' . '/league/oauth2-client/src/Grant/GrantFactory.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\Password' => __DIR__ . '/..' . '/league/oauth2-client/src/Grant/Password.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Grant\\RefreshToken' => __DIR__ . '/..' . '/league/oauth2-client/src/Grant/RefreshToken.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\OptionProvider\\HttpBasicAuthOptionProvider' => __DIR__ . '/..' . '/league/oauth2-client/src/OptionProvider/HttpBasicAuthOptionProvider.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\OptionProvider\\OptionProviderInterface' => __DIR__ . '/..' . '/league/oauth2-client/src/OptionProvider/OptionProviderInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\OptionProvider\\PostAuthOptionProvider' => __DIR__ . '/..' . '/league/oauth2-client/src/OptionProvider/PostAuthOptionProvider.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\AbstractProvider' => __DIR__ . '/..' . '/league/oauth2-client/src/Provider/AbstractProvider.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\AppSecretProof' => __DIR__ . '/..' . '/league/oauth2-facebook/src/Provider/AppSecretProof.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Apple' => __DIR__ . '/..' . '/patrickbussmann/oauth2-apple/src/Provider/Apple.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\AppleResourceOwner' => __DIR__ . '/..' . '/patrickbussmann/oauth2-apple/src/Provider/AppleResourceOwner.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Exception\\AppleAccessDeniedException' => __DIR__ . '/..' . '/patrickbussmann/oauth2-apple/src/Provider/Exception/AppleAccessDeniedException.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Exception\\FacebookProviderException' => __DIR__ . '/..' . '/league/oauth2-facebook/src/Provider/Exception/FacebookProviderException.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Exception\\GithubIdentityProviderException' => __DIR__ . '/..' . '/league/oauth2-github/src/Provider/Exception/GithubIdentityProviderException.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Exception\\IdentityProviderException' => __DIR__ . '/..' . '/league/oauth2-client/src/Provider/Exception/IdentityProviderException.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Facebook' => __DIR__ . '/..' . '/league/oauth2-facebook/src/Provider/Facebook.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\FacebookUser' => __DIR__ . '/..' . '/league/oauth2-facebook/src/Provider/FacebookUser.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\GenericProvider' => __DIR__ . '/..' . '/league/oauth2-client/src/Provider/GenericProvider.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\GenericResourceOwner' => __DIR__ . '/..' . '/league/oauth2-client/src/Provider/GenericResourceOwner.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Github' => __DIR__ . '/..' . '/league/oauth2-github/src/Provider/Github.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\GithubResourceOwner' => __DIR__ . '/..' . '/league/oauth2-github/src/Provider/GithubResourceOwner.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\Google' => __DIR__ . '/..' . '/league/oauth2-google/src/Provider/Google.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\GoogleUser' => __DIR__ . '/..' . '/league/oauth2-google/src/Provider/GoogleUser.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Provider\\ResourceOwnerInterface' => __DIR__ . '/..' . '/league/oauth2-client/src/Provider/ResourceOwnerInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Token\\AccessToken' => __DIR__ . '/..' . '/league/oauth2-client/src/Token/AccessToken.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Token\\AccessTokenInterface' => __DIR__ . '/..' . '/league/oauth2-client/src/Token/AccessTokenInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Token\\AppleAccessToken' => __DIR__ . '/..' . '/patrickbussmann/oauth2-apple/src/Token/AppleAccessToken.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Token\\ResourceOwnerAccessTokenInterface' => __DIR__ . '/..' . '/league/oauth2-client/src/Token/ResourceOwnerAccessTokenInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\ArrayAccessorTrait' => __DIR__ . '/..' . '/league/oauth2-client/src/Tool/ArrayAccessorTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\BearerAuthorizationTrait' => __DIR__ . '/..' . '/league/oauth2-client/src/Tool/BearerAuthorizationTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\GuardedPropertyTrait' => __DIR__ . '/..' . '/league/oauth2-client/src/Tool/GuardedPropertyTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\MacAuthorizationTrait' => __DIR__ . '/..' . '/league/oauth2-client/src/Tool/MacAuthorizationTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\ProviderRedirectTrait' => __DIR__ . '/..' . '/league/oauth2-client/src/Tool/ProviderRedirectTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\QueryBuilderTrait' => __DIR__ . '/..' . '/league/oauth2-client/src/Tool/QueryBuilderTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\RequestFactory' => __DIR__ . '/..' . '/league/oauth2-client/src/Tool/RequestFactory.php',
'Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Tool\\RequiredParameterTrait' => __DIR__ . '/..' . '/league/oauth2-client/src/Tool/RequiredParameterTrait.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Client\\ClientExceptionInterface' => __DIR__ . '/..' . '/psr/http-client/src/ClientExceptionInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Client\\ClientInterface' => __DIR__ . '/..' . '/psr/http-client/src/ClientInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Client\\NetworkExceptionInterface' => __DIR__ . '/..' . '/psr/http-client/src/NetworkExceptionInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Client\\RequestExceptionInterface' => __DIR__ . '/..' . '/psr/http-client/src/RequestExceptionInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\MessageInterface' => __DIR__ . '/..' . '/psr/http-message/src/MessageInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\RequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/RequestFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\RequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/RequestInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\ResponseFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ResponseFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\ResponseInterface' => __DIR__ . '/..' . '/psr/http-message/src/ResponseInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\ServerRequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ServerRequestFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\ServerRequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/ServerRequestInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\StreamFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/StreamFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\StreamInterface' => __DIR__ . '/..' . '/psr/http-message/src/StreamInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\UploadedFileFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UploadedFileFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\UploadedFileInterface' => __DIR__ . '/..' . '/psr/http-message/src/UploadedFileInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\UriFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UriFactoryInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Psr\\Http\\Message\\UriInterface' => __DIR__ . '/..' . '/psr/http-message/src/UriInterface.php',
'Pshowsso\\Scope68f5e85e9608b\\Smolblog\\OAuth2\\Client\\Provider\\Twitter' => __DIR__ . '/..' . '/smolblog/oauth2-twitter/src/Twitter.php',
'Pshowsso\\Scope68f5e85e9608b\\Smolblog\\OAuth2\\Client\\Provider\\TwitterUser' => __DIR__ . '/..' . '/smolblog/oauth2-twitter/src/TwitterUser.php',
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\Provider\\Exception\\EncryptionConfigurationException' => __DIR__ . '/..' . '/stevenmaguire/oauth2-keycloak/src/Provider/Exception/EncryptionConfigurationException.php',
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\Provider\\Keycloak' => __DIR__ . '/..' . '/stevenmaguire/oauth2-keycloak/src/Provider/Keycloak.php',
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\Provider\\KeycloakResourceOwner' => __DIR__ . '/..' . '/stevenmaguire/oauth2-keycloak/src/Provider/KeycloakResourceOwner.php',
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\Provider\\Microsoft' => __DIR__ . '/..' . '/stevenmaguire/oauth2-microsoft/src/Provider/Microsoft.php',
'Pshowsso\\Scope68f5e85e9608b\\Stevenmaguire\\OAuth2\\Client\\Provider\\MicrosoftResourceOwner' => __DIR__ . '/..' . '/stevenmaguire/oauth2-microsoft/src/Provider/MicrosoftResourceOwner.php',
'RandomLib\\AbstractMcryptMixer' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/AbstractMcryptMixer.php',
'RandomLib\\AbstractMixer' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/AbstractMixer.php',
'RandomLib\\AbstractSource' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/AbstractSource.php',
'RandomLib\\Factory' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Factory.php',
'RandomLib\\Generator' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Generator.php',
'RandomLib\\Mixer' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Mixer.php',
'RandomLib\\Mixer\\Hash' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Mixer/Hash.php',
'RandomLib\\Mixer\\McryptRijndael128' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Mixer/McryptRijndael128.php',
'RandomLib\\Mixer\\SodiumMixer' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Mixer/SodiumMixer.php',
'RandomLib\\Mixer\\XorMixer' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Mixer/XorMixer.php',
'RandomLib\\Source' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Source.php',
'RandomLib\\Source\\CAPICOM' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Source/CAPICOM.php',
'RandomLib\\Source\\MTRand' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Source/MTRand.php',
'RandomLib\\Source\\MicroTime' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Source/MicroTime.php',
'RandomLib\\Source\\OpenSSL' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Source/OpenSSL.php',
'RandomLib\\Source\\Rand' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Source/Rand.php',
'RandomLib\\Source\\RandomBytes' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Source/RandomBytes.php',
'RandomLib\\Source\\Sodium' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Source/Sodium.php',
'RandomLib\\Source\\URandom' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Source/URandom.php',
'RandomLib\\Source\\UniqID' => __DIR__ . '/..' . '/paragonie/random-lib/lib/RandomLib/Source/UniqID.php',
'SecurityLib\\AbstractFactory' => __DIR__ . '/..' . '/ircmaxell/security-lib/lib/SecurityLib/AbstractFactory.php',
'SecurityLib\\BaseConverter' => __DIR__ . '/..' . '/ircmaxell/security-lib/lib/SecurityLib/BaseConverter.php',
'SecurityLib\\BigMath' => __DIR__ . '/..' . '/ircmaxell/security-lib/lib/SecurityLib/BigMath.php',
'SecurityLib\\BigMath\\BCMath' => __DIR__ . '/..' . '/ircmaxell/security-lib/lib/SecurityLib/BigMath/BCMath.php',
'SecurityLib\\BigMath\\GMP' => __DIR__ . '/..' . '/ircmaxell/security-lib/lib/SecurityLib/BigMath/GMP.php',
'SecurityLib\\BigMath\\PHPMath' => __DIR__ . '/..' . '/ircmaxell/security-lib/lib/SecurityLib/BigMath/PHPMath.php',
'SecurityLib\\Enum' => __DIR__ . '/..' . '/ircmaxell/security-lib/lib/SecurityLib/Enum.php',
'SecurityLib\\Hash' => __DIR__ . '/..' . '/ircmaxell/security-lib/lib/SecurityLib/Hash.php',
'SecurityLib\\Strength' => __DIR__ . '/..' . '/ircmaxell/security-lib/lib/SecurityLib/Strength.php',
'SecurityLib\\Util' => __DIR__ . '/..' . '/ircmaxell/security-lib/lib/SecurityLib/Util.php',
);
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit1fe0ff0d67b43eae12bae30ad0ff3129::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit1fe0ff0d67b43eae12bae30ad0ff3129::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit1fe0ff0d67b43eae12bae30ad0ff3129::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInitc0ed3f98dd7049a39f692ffc2529a248::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitc0ed3f98dd7049a39f692ffc2529a248::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitc0ed3f98dd7049a39f692ffc2529a248::$classMap;
}, null, ClassLoader::class);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
{
"name": "firebase\/php-jwt",
"name": "firebase/php-jwt",
"description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
"homepage": "https:\/\/github.com\/firebase\/php-jwt",
"homepage": "https://github.com/firebase/php-jwt",
"keywords": [
"php",
"jwt"
@@ -23,20 +23,20 @@
"php": "^7.1||^8.0"
},
"suggest": {
"paragonie\/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present",
"paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present",
"ext-sodium": "Support EdDSA (Ed25519) signatures"
},
"autoload": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\Firebase\\JWT\\": "src"
"Firebase\\JWT\\": "src"
}
},
"require-dev": {
"guzzlehttp\/guzzle": "^6.5||^7.4",
"phpspec\/prophecy-phpunit": "^1.1",
"phpunit\/phpunit": "^7.5||^9.5",
"psr\/cache": "^1.0||^2.0",
"psr\/http-client": "^1.0",
"psr\/http-factory": "^1.0"
"guzzlehttp/guzzle": "^6.5||^7.4",
"phpspec/prophecy-phpunit": "^1.1",
"phpunit/phpunit": "^7.5||^9.5",
"psr/cache": "^1.0||^2.0",
"psr/http-client": "^1.0",
"psr/http-factory": "^1.0"
}
}
}

View File

@@ -2,6 +2,25 @@
Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version.
## 7.10.0 - 2025-08-23
### Added
- Support for PHP 8.5
### Changed
- Adjusted `guzzlehttp/promises` version constraint to `^2.3`
- Adjusted `guzzlehttp/psr7` version constraint to `^2.8`
## 7.9.3 - 2025-03-27
### Changed
- Remove explicit content-length header for GET requests
- Improve compatibility with bad servers for boolean cookie values
## 7.9.2 - 2024-07-24

View File

@@ -1,5 +1,5 @@
{
"name": "guzzlehttp\/guzzle",
"name": "guzzlehttp/guzzle",
"description": "Guzzle is a PHP HTTP client library",
"keywords": [
"framework",
@@ -17,63 +17,63 @@
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https:\/\/github.com\/GrahamCampbell"
"homepage": "https://github.com/GrahamCampbell"
},
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https:\/\/github.com\/mtdowling"
"homepage": "https://github.com/mtdowling"
},
{
"name": "Jeremy Lindblom",
"email": "jeremeamia@gmail.com",
"homepage": "https:\/\/github.com\/jeremeamia"
"homepage": "https://github.com/jeremeamia"
},
{
"name": "George Mponos",
"email": "gmponos@gmail.com",
"homepage": "https:\/\/github.com\/gmponos"
"homepage": "https://github.com/gmponos"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https:\/\/github.com\/Nyholm"
"homepage": "https://github.com/Nyholm"
},
{
"name": "M\u00e1rk S\u00e1gi-Kaz\u00e1r",
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https:\/\/github.com\/sagikazarmark"
"homepage": "https://github.com/sagikazarmark"
},
{
"name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https:\/\/github.com\/Tobion"
"homepage": "https://github.com/Tobion"
}
],
"repositories": [
{
"type": "package",
"package": {
"name": "guzzle\/client-integration-tests",
"name": "guzzle/client-integration-tests",
"version": "v3.0.2",
"dist": {
"url": "https:\/\/codeload.github.com\/guzzle\/client-integration-tests\/zip\/2c025848417c1135031fdf9c728ee53d0a7ceaee",
"url": "https://codeload.github.com/guzzle/client-integration-tests/zip/2c025848417c1135031fdf9c728ee53d0a7ceaee",
"type": "zip"
},
"require": {
"php": "^7.2.5 || ^8.0",
"phpunit\/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.11",
"php-http\/message": "^1.0 || ^2.0",
"guzzlehttp\/psr7": "^1.7 || ^2.0",
"th3n3rd\/cartesian-product": "^0.3"
"phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.11",
"php-http/message": "^1.0 || ^2.0",
"guzzlehttp/psr7": "^1.7 || ^2.0",
"th3n3rd/cartesian-product": "^0.3"
},
"autoload": {
"psr-4": {
"Http\\Client\\Tests\\": "src\/"
"Http\\Client\\Tests\\": "src/"
}
},
"bin": [
"bin\/http_test_server"
"bin/http_test_server"
]
}
}
@@ -81,30 +81,30 @@
"require": {
"php": "^7.2.5 || ^8.0",
"ext-json": "*",
"guzzlehttp\/promises": "^1.5.3 || ^2.0.3",
"guzzlehttp\/psr7": "^2.7.0",
"psr\/http-client": "^1.0",
"symfony\/deprecation-contracts": "^2.2 || ^3.0"
"guzzlehttp/promises": "^2.3",
"guzzlehttp/psr7": "^2.8",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
},
"provide": {
"psr\/http-client-implementation": "1.0"
"psr/http-client-implementation": "1.0"
},
"require-dev": {
"ext-curl": "*",
"bamarni\/composer-bin-plugin": "^1.8.2",
"guzzle\/client-integration-tests": "3.0.2",
"php-http\/message-factory": "^1.1",
"phpunit\/phpunit": "^8.5.39 || ^9.6.20",
"psr\/log": "^1.1 || ^2.0 || ^3.0"
"bamarni/composer-bin-plugin": "^1.8.2",
"guzzle/client-integration-tests": "3.0.2",
"php-http/message-factory": "^1.1",
"phpunit/phpunit": "^8.5.39 || ^9.6.20",
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
"suggest": {
"ext-curl": "Required for CURL handler support",
"ext-intl": "Required for Internationalized Domain Name (IDN) support",
"psr\/log": "Required for using the Log middleware"
"psr/log": "Required for using the Log middleware"
},
"config": {
"allow-plugins": {
"bamarni\/composer-bin-plugin": true
"bamarni/composer-bin-plugin": true
},
"preferred-install": "dist",
"sort-packages": true
@@ -117,15 +117,15 @@
},
"autoload": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\": "src\/"
"GuzzleHttp\\": "src/"
},
"files": [
"src\/functions_include.php"
"src/functions_include.php"
]
},
"autoload-dev": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Tests\\": "tests\/"
"GuzzleHttp\\Tests\\": "tests/"
}
}
}
}

View File

@@ -0,0 +1,6 @@
{
"name": "guzzle",
"lockfileVersion": 3,
"requires": true,
"packages": {}
}

View File

@@ -1,6 +1,27 @@
# CHANGELOG
## 2.3.0 - 2025-08-22
### Added
- PHP 8.5 support
## 2.2.0 - 2025-03-27
### Fixed
- Revert "Allow an empty EachPromise to be resolved by running the queue"
## 2.1.0 - 2025-03-27
### Added
- Allow an empty EachPromise to be resolved by running the queue
## 2.0.4 - 2024-10-17
### Fixed

View File

@@ -41,7 +41,7 @@ composer require guzzlehttp/promises
| Version | Status | PHP Version |
|---------|---------------------|--------------|
| 1.x | Security fixes only | >=5.5,<8.3 |
| 2.x | Latest | >=7.2.5,<8.5 |
| 2.x | Latest | >=7.2.5,<8.6 |
## Quick Start

View File

@@ -1,47 +1,45 @@
{
"name": "guzzlehttp\/promises",
"name": "guzzlehttp/promises",
"description": "Guzzle promises library",
"keywords": [
"promise"
],
"keywords": ["promise"],
"license": "MIT",
"authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https:\/\/github.com\/GrahamCampbell"
"homepage": "https://github.com/GrahamCampbell"
},
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https:\/\/github.com\/mtdowling"
"homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https:\/\/github.com\/Nyholm"
"homepage": "https://github.com/Nyholm"
},
{
"name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https:\/\/github.com\/Tobion"
"homepage": "https://github.com/Tobion"
}
],
"require": {
"php": "^7.2.5 || ^8.0"
},
"require-dev": {
"bamarni\/composer-bin-plugin": "^1.8.2",
"phpunit\/phpunit": "^8.5.39 || ^9.6.20"
"bamarni/composer-bin-plugin": "^1.8.2",
"phpunit/phpunit": "^8.5.44 || ^9.6.25"
},
"autoload": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\": "src\/"
"GuzzleHttp\\Promise\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Promise\\Tests\\": "tests\/"
"GuzzleHttp\\Promise\\Tests\\": "tests/"
}
},
"extra": {
@@ -52,9 +50,9 @@
},
"config": {
"allow-plugins": {
"bamarni\/composer-bin-plugin": true
"bamarni/composer-bin-plugin": true
},
"preferred-install": "dist",
"sort-packages": true
}
}
}

View File

@@ -5,6 +5,26 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 2.8.0 - 2025-08-23
### Added
- Allow empty lists as header values
### Changed
- PHP 8.5 support
## 2.7.1 - 2025-03-27
### Fixed
- Fixed uppercase IPv6 addresses in URI
### Changed
- Improve uploaded file error message
## 2.7.0 - 2024-07-18
### Added

View File

@@ -25,7 +25,7 @@ composer require guzzlehttp/psr7
| Version | Status | PHP Version |
|---------|---------------------|--------------|
| 1.x | EOL (2024-06-30) | >=5.4,<8.2 |
| 2.x | Latest | >=7.2.5,<8.5 |
| 2.x | Latest | >=7.2.5,<8.6 |
## AppendStream

View File

@@ -1,5 +1,5 @@
{
"name": "guzzlehttp\/psr7",
"name": "guzzlehttp/psr7",
"description": "PSR-7 message implementation that also provides common utility methods",
"keywords": [
"request",
@@ -16,65 +16,65 @@
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https:\/\/github.com\/GrahamCampbell"
"homepage": "https://github.com/GrahamCampbell"
},
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https:\/\/github.com\/mtdowling"
"homepage": "https://github.com/mtdowling"
},
{
"name": "George Mponos",
"email": "gmponos@gmail.com",
"homepage": "https:\/\/github.com\/gmponos"
"homepage": "https://github.com/gmponos"
},
{
"name": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https:\/\/github.com\/Nyholm"
"homepage": "https://github.com/Nyholm"
},
{
"name": "M\u00e1rk S\u00e1gi-Kaz\u00e1r",
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https:\/\/github.com\/sagikazarmark"
"homepage": "https://github.com/sagikazarmark"
},
{
"name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https:\/\/github.com\/Tobion"
"homepage": "https://github.com/Tobion"
},
{
"name": "M\u00e1rk S\u00e1gi-Kaz\u00e1r",
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https:\/\/sagikazarmark.hu"
"homepage": "https://sagikazarmark.hu"
}
],
"require": {
"php": "^7.2.5 || ^8.0",
"psr\/http-factory": "^1.0",
"psr\/http-message": "^1.1 || ^2.0",
"ralouphie\/getallheaders": "^3.0"
"psr/http-factory": "^1.0",
"psr/http-message": "^1.1 || ^2.0",
"ralouphie/getallheaders": "^3.0"
},
"provide": {
"psr\/http-factory-implementation": "1.0",
"psr\/http-message-implementation": "1.0"
"psr/http-factory-implementation": "1.0",
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"bamarni\/composer-bin-plugin": "^1.8.2",
"http-interop\/http-factory-tests": "0.9.0",
"phpunit\/phpunit": "^8.5.39 || ^9.6.20"
"bamarni/composer-bin-plugin": "^1.8.2",
"http-interop/http-factory-tests": "0.9.0",
"phpunit/phpunit": "^8.5.44 || ^9.6.25"
},
"suggest": {
"laminas\/laminas-httphandlerrunner": "Emit PSR-7 responses"
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
},
"autoload": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Psr7\\": "src\/"
"GuzzleHttp\\Psr7\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\GuzzleHttp\\Tests\\Psr7\\": "tests\/"
"GuzzleHttp\\Tests\\Psr7\\": "tests/"
}
},
"extra": {
@@ -85,9 +85,9 @@
},
"config": {
"allow-plugins": {
"bamarni\/composer-bin-plugin": true
"bamarni/composer-bin-plugin": true
},
"preferred-install": "dist",
"sort-packages": true
}
}
}

View File

@@ -1,26 +1,26 @@
{
"name": "ircmaxell\/security-lib",
"name": "ircmaxell/security-lib",
"type": "library",
"description": "A Base Security Library",
"keywords": [],
"homepage": "https:\/\/github.com\/ircmaxell\/SecurityLib",
"homepage": "https://github.com/ircmaxell/SecurityLib",
"license": "MIT",
"authors": [
{
"name": "Anthony Ferrara",
"email": "ircmaxell@ircmaxell.com",
"homepage": "http:\/\/blog.ircmaxell.com"
"homepage": "http://blog.ircmaxell.com"
}
],
"require-dev": {
"mikey179\/vfsStream": "1.1.*"
"mikey179/vfsstream": "1.1.*"
},
"require": {
"php": ">=5.3.2"
},
"autoload": {
"psr-4": {
"SecurityLib\\": "lib\/SecurityLib\/"
"psr-0": {
"SecurityLib": "lib"
}
},
"extra": {
@@ -28,4 +28,4 @@
"dev-master": "1.0.x-dev"
}
}
}
}

View File

@@ -0,0 +1,31 @@
{
"name": "ircmaxell/security-lib",
"type": "library",
"description": "A Base Security Library",
"keywords": [],
"homepage": "https://github.com/ircmaxell/SecurityLib",
"license": "MIT",
"authors": [
{
"name": "Anthony Ferrara",
"email": "ircmaxell@ircmaxell.com",
"homepage": "http://blog.ircmaxell.com"
}
],
"require-dev": {
"mikey179/vfsstream": "1.1.*"
},
"require": {
"php": ">=5.3.2"
},
"autoload": {
"psr-0": {
"SecurityLib": "lib"
}
},
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
}
}

View File

@@ -1,5 +1,4 @@
<?php
/**
* The interface that all hash implementations must implement
*
@@ -12,6 +11,7 @@
* @license http://opensource.org/licenses/bsd-license.php New BSD License
* @license http://www.gnu.org/licenses/lgpl-2.1.html LGPL v 2.1
*/
namespace PasswordLibTest\Mocks;
/**
@@ -21,21 +21,21 @@ namespace PasswordLibTest\Mocks;
* @package Hash
* @author Anthony Ferrara <ircmaxell@ircmaxell.com>
*/
class AbstractMock
{
class AbstractMock {
protected $callbacks = array();
public static function init()
{
}
public function __construct(array $callbacks = array())
{
public static function init() {}
public function __construct(array $callbacks = array()) {
$this->callbacks = $callbacks;
}
public function __call($name, array $args = array())
{
public function __call($name, array $args = array()) {
if (isset($this->callbacks[$name])) {
return call_user_func_array($this->callbacks[$name], $args);
}
return null;
}
}

View File

@@ -1,5 +1,4 @@
<?php
/**
* The interface that all hash implementations must implement
*
@@ -12,6 +11,7 @@
* @license http://opensource.org/licenses/bsd-license.php New BSD License
* @license http://www.gnu.org/licenses/lgpl-2.1.html LGPL v 2.1
*/
namespace SecurityLibTest\Mocks;
/**
@@ -21,10 +21,11 @@ namespace SecurityLibTest\Mocks;
* @package Hash
* @author Anthony Ferrara <ircmaxell@ircmaxell.com>
*/
class Enum extends \SecurityLib\Enum
{
class Enum extends \SecurityLib\Enum {
const Value1 = 1;
const Value2 = 2;
const Value3 = 3;
const Value4 = 4;
}

View File

@@ -1,5 +1,4 @@
<?php
/**
* The interface that all hash implementations must implement
*
@@ -12,6 +11,7 @@
* @license http://opensource.org/licenses/bsd-license.php New BSD License
* @license http://www.gnu.org/licenses/lgpl-2.1.html LGPL v 2.1
*/
namespace SecurityLibTest\Mocks;
/**
@@ -21,29 +21,29 @@ namespace SecurityLibTest\Mocks;
* @package Hash
* @author Anthony Ferrara <ircmaxell@ircmaxell.com>
*/
class Factory extends \SecurityLib\AbstractFactory
{
class Factory extends \SecurityLib\AbstractFactory {
protected $callbacks = array();
public static function init()
{
}
public function __construct(array $callbacks = array())
{
public static function init() {}
public function __construct(array $callbacks = array()) {
$this->callbacks = $callbacks;
}
public function __call($name, array $args = array())
{
public function __call($name, array $args = array()) {
if (isset($this->callbacks[$name])) {
return call_user_func_array($this->callbacks[$name], $args);
}
return null;
}
public function registerType($a1, $a2, $a3, $a4, $a5 = \false)
{
public function registerType($a1, $a2, $a3, $a4, $a5 = false) {
return parent::registerType($a1, $a2, $a3, $a4, $a5);
}
public function loadFiles($dir, $name, $method)
{
public function loadFiles($dir, $name, $method) {
return parent::loadFiles($dir, $name, $method);
}
}

View File

@@ -1,5 +1,4 @@
<?php
/**
* The interface that all hash implementations must implement
*
@@ -12,6 +11,7 @@
* @license http://opensource.org/licenses/bsd-license.php New BSD License
* @license http://www.gnu.org/licenses/lgpl-2.1.html LGPL v 2.1
*/
namespace SecurityLibTest\Mocks;
/**
@@ -21,8 +21,9 @@ namespace SecurityLibTest\Mocks;
* @package Hash
* @author Anthony Ferrara <ircmaxell@ircmaxell.com>
*/
class Strength extends \SecurityLib\Strength
{
class Strength extends \SecurityLib\Strength {
const MEDIUMLOW = 4;
const SUPERHIGH = 999;
}

View File

@@ -1,58 +1,67 @@
<?php
use SecurityLibTest\Mocks\Factory;
use SecurityLibTest\Mocks\Factory;
use org\bovigo\vfs\vfsStream;
class Unit_Core_AbstractFactoryTest extends \PHPUnit_Framework_TestCase
{
protected function setUp()
{
$root = vfsStream::setup('SecurityLibTest');
//Setup Folders
$core = vfsStream::newDirectory('Core')->at($root);
$af = vfsStream::newDirectory('AbstractFactory')->at($core);
// Create Files
vfsStream::newFile('test.php')->at($af);
vfsStream::newFile('Some234Foo234Bar98Name.php')->at($af);
vfsStream::newFile('Invalid.csv')->at($af);
vfsStream::newFile('badlocation.php')->at($core);
}
/**
* @covers SecurityLib\AbstractFactory::registerType
*/
public function testRegisterType()
{
$factory = new Factory();
$factory->registerType('test', 'iteratoraggregate', 'foo', 'ArrayObject', \false);
}
/**
* @covers SecurityLib\AbstractFactory::registerType
* @expectedException InvalidArgumentException
*/
public function testRegisterTypeFail()
{
$factory = new Factory();
$factory->registerType('test', 'iterator', 'foo', 'ArrayObject', \false);
}
/**
* @covers SecurityLib\AbstractFactory::registerType
*/
public function testRegisterTypeInstantiate()
{
$factory = new Factory();
$factory->registerType('test', 'iteratoraggregate', 'foo', 'ArrayObject', \true);
}
public function testLoadFiles()
{
$dir = vfsStream::url('SecurityLibTest/Core/AbstractFactory');
$result = array();
$callback = function ($name, $class) use (&$result) {
$result[$name] = $class;
};
$factory = new Factory();
$factory->loadFiles($dir, 'foo\\', $callback);
$expect = array('test' => 'foo\test', 'Some234Foo234Bar98Name' => 'foo\Some234Foo234Bar98Name');
$this->assertEquals($expect, $result);
}
use org\bovigo\vfs\vfsStream;
class Unit_Core_AbstractFactoryTest extends PHPUnit_Framework_TestCase {
protected function setUp() {
$root = vfsStream::setup('SecurityLibTest');
//Setup Folders
$core = vfsStream::newDirectory('Core')->at($root);
$af = vfsStream::newDirectory('AbstractFactory')->at($core);
// Create Files
vfsStream::newFile('test.php')->at($af);
vfsStream::newFile('Some234Foo234Bar98Name.php')->at($af);
vfsStream::newFile('Invalid.csv')->at($af);
vfsStream::newFile('badlocation.php')->at($core);
}
/**
* @covers SecurityLib\AbstractFactory::registerType
*/
public function testRegisterType() {
$factory = new Factory;
$factory->registerType('test', 'iteratoraggregate', 'foo', 'ArrayObject', false);
}
/**
* @covers SecurityLib\AbstractFactory::registerType
* @expectedException InvalidArgumentException
*/
public function testRegisterTypeFail() {
$factory = new Factory;
$factory->registerType('test', 'iterator', 'foo', 'ArrayObject', false);
}
/**
* @covers SecurityLib\AbstractFactory::registerType
*/
public function testRegisterTypeInstantiate() {
$factory = new Factory;
$factory->registerType('test', 'iteratoraggregate', 'foo', 'ArrayObject', true);
}
public function testLoadFiles() {
$dir = vfsStream::url('SecurityLibTest/Core/AbstractFactory');
$result = array();
$callback = function($name, $class) use (&$result) {
$result[$name] = $class;
};
$factory = new Factory();
$factory->loadFiles($dir, 'foo\\', $callback);
$expect = array(
'test' => 'foo\\test',
'Some234Foo234Bar98Name' => 'foo\\Some234Foo234Bar98Name'
);
$this->assertEquals($expect, $result);
}
}

View File

@@ -1,66 +1,69 @@
<?php
use SecurityLib\BaseConverter;
use SecurityLib\BaseConverter;
class Unit_Core_BaseConverterTest extends \PHPUnit_Framework_TestCase
{
public static function provideConvertFromBinary()
{
$return = array(array('', '', ''), array(\chr(0), '012', '0'), array(\chr(9), '01', '1001'), array(\chr(1) . \chr(2) . \chr(3), '0123456789', '66051'));
return $return;
}
public static function provideConvertToFromBinary()
{
$return = array();
$str = \chr(1) . \chr(0);
for ($i = 2; $i < 256; $i++) {
$str .= \chr($i);
$return[] = array($str, \strrev($str));
}
return $return;
}
/**
* @covers SecurityLib\BaseConverter::convertFromBinary
* @covers SecurityLib\BaseConverter::baseConvert
* @dataProvider provideConvertFromBinary
*/
public function testConvertFromBinary($from, $to, $expect)
{
$result = BaseConverter::convertFromBinary($from, $to);
$this->assertEquals($expect, $result);
}
/**
* @covers SecurityLib\BaseConverter::convertToBinary
* @covers SecurityLib\BaseConverter::baseConvert
* @dataProvider provideConvertFromBinary
*/
public function testConvertToBinary($expect, $from, $str)
{
$result = BaseConverter::convertToBinary($str, $from);
$result = \ltrim($result, \chr(0));
$expect = \ltrim($expect, \chr(0));
$this->assertEquals($expect, $result);
}
/**
* @covers SecurityLib\BaseConverter::convertToBinary
* @covers SecurityLib\BaseConverter::convertFromBinary
* @covers SecurityLib\BaseConverter::baseConvert
* @dataProvider provideConvertToFromBinary
*/
public function testConvertToAndFromBinary($str, $from)
{
return \false;
$result1 = BaseConverter::convertFromBinary($str, $from);
$result = BaseConverter::convertToBinary($result1, $from);
$this->assertEquals($str, $result);
}
/**
* @covers SecurityLib\BaseConverter::baseConvert
* @expectedException InvalidArgumentException
*/
public function testBaseConvertFailure()
{
BaseConverter::baseConvert(array(1), 1, 1);
}
class Unit_Core_BaseConverterTest extends PHPUnit_Framework_TestCase {
public static function provideConvertFromBinary() {
$return = array(
array('', '', ''),
array(chr(0), '012', '0'),
array(chr(9), '01', '1001'),
array(chr(1) . chr(2) . chr(3), '0123456789', '66051'),
);
return $return;
}
public static function provideConvertToFromBinary() {
$return = array();
$str = chr(1) . chr(0);
for ($i = 2; $i < 256; $i++) {
$str .= chr($i);
$return[] = array($str, strrev($str));
}
return $return;
}
/**
* @covers SecurityLib\BaseConverter::convertFromBinary
* @covers SecurityLib\BaseConverter::baseConvert
* @dataProvider provideConvertFromBinary
*/
public function testConvertFromBinary($from, $to, $expect) {
$result = BaseConverter::convertFromBinary($from, $to);
$this->assertEquals($expect, $result);
}
/**
* @covers SecurityLib\BaseConverter::convertToBinary
* @covers SecurityLib\BaseConverter::baseConvert
* @dataProvider provideConvertFromBinary
*/
public function testConvertToBinary($expect, $from, $str) {
$result = BaseConverter::convertToBinary($str, $from);
$result = ltrim($result, chr(0));
$expect = ltrim($expect, chr(0));
$this->assertEquals($expect, $result);
}
/**
* @covers SecurityLib\BaseConverter::convertToBinary
* @covers SecurityLib\BaseConverter::convertFromBinary
* @covers SecurityLib\BaseConverter::baseConvert
* @dataProvider provideConvertToFromBinary
*/
public function testConvertToAndFromBinary($str, $from) {
return false;
$result1 = BaseConverter::convertFromBinary($str, $from);
$result = BaseConverter::convertToBinary($result1, $from);
$this->assertEquals($str, $result);
}
/**
* @covers SecurityLib\BaseConverter::baseConvert
* @expectedException InvalidArgumentException
*/
public function testBaseConvertFailure() {
BaseConverter::baseConvert(array(1), 1, 1);
}
}

View File

@@ -1,31 +1,30 @@
<?php
require_once __DIR__ . '/../BigMathTest.php';
require_once __DIR__ . '/../BigMathTest.php';
class Unit_Core_BigMath_BCMathTest extends \Unit_Core_BigMathTest
{
protected static $mathImplementations = array();
protected function setUp()
{
if (!\extension_loaded('bcmath')) {
$this->markTestSkipped('BCMath is not loaded');
}
}
/**
* @dataProvider provideAddTest
*/
public function testAdd($left, $right, $expected)
{
$obj = new \SecurityLib\BigMath\BCMath();
$this->assertEquals($expected, $obj->add($left, $right));
}
/**
* @dataProvider provideSubtractTest
*/
public function testSubtract($left, $right, $expected)
{
$obj = new \SecurityLib\BigMath\BCMath();
$this->assertEquals($expected, $obj->subtract($left, $right));
class Unit_Core_BigMath_BCMathTest extends Unit_Core_BigMathTest {
protected static $mathImplementations = array();
protected function setUp() {
if (!extension_loaded('bcmath')) {
$this->markTestSkipped('BCMath is not loaded');
}
}
/**
* @dataProvider provideAddTest
*/
public function testAdd($left, $right, $expected) {
$obj = new \SecurityLib\BigMath\BCMath;
$this->assertEquals($expected, $obj->add($left, $right));
}
/**
* @dataProvider provideSubtractTest
*/
public function testSubtract($left, $right, $expected) {
$obj = new \SecurityLib\BigMath\BCMath;
$this->assertEquals($expected, $obj->subtract($left, $right));
}
}

View File

@@ -1,31 +1,30 @@
<?php
require_once __DIR__ . '/../BigMathTest.php';
require_once __DIR__ . '/../BigMathTest.php';
class Unit_Core_BigMath_GMPTest extends \Unit_Core_BigMathTest
{
protected static $mathImplementations = array();
protected function setUp()
{
if (!\extension_loaded('gmp')) {
$this->markTestSkipped('BCMath is not loaded');
}
}
/**
* @dataProvider provideAddTest
*/
public function testAdd($left, $right, $expected)
{
$obj = new \SecurityLib\BigMath\GMP();
$this->assertEquals($expected, $obj->add($left, $right));
}
/**
* @dataProvider provideSubtractTest
*/
public function testSubtract($left, $right, $expected)
{
$obj = new \SecurityLib\BigMath\GMP();
$this->assertEquals($expected, $obj->subtract($left, $right));
class Unit_Core_BigMath_GMPTest extends Unit_Core_BigMathTest {
protected static $mathImplementations = array();
protected function setUp() {
if (!extension_loaded('gmp')) {
$this->markTestSkipped('BCMath is not loaded');
}
}
/**
* @dataProvider provideAddTest
*/
public function testAdd($left, $right, $expected) {
$obj = new \SecurityLib\BigMath\GMP;
$this->assertEquals($expected, $obj->add($left, $right));
}
/**
* @dataProvider provideSubtractTest
*/
public function testSubtract($left, $right, $expected) {
$obj = new \SecurityLib\BigMath\GMP;
$this->assertEquals($expected, $obj->subtract($left, $right));
}
}

View File

@@ -1,25 +1,24 @@
<?php
require_once __DIR__ . '/../BigMathTest.php';
require_once __DIR__ . '/../BigMathTest.php';
class Unit_Core_BigMath_PHPMathTest extends \Unit_Core_BigMathTest
{
protected static $mathImplementations = array();
/**
* @dataProvider provideAddTest
*/
public function testAdd($left, $right, $expected)
{
$obj = new \SecurityLib\BigMath\PHPMath();
$this->assertEquals($expected, $obj->add($left, $right));
}
/**
* @dataProvider provideSubtractTest
*/
public function testSubtract($left, $right, $expected)
{
$obj = new \SecurityLib\BigMath\PHPMath();
$this->assertEquals($expected, $obj->subtract($left, $right));
}
class Unit_Core_BigMath_PHPMathTest extends Unit_Core_BigMathTest {
protected static $mathImplementations = array();
/**
* @dataProvider provideAddTest
*/
public function testAdd($left, $right, $expected) {
$obj = new \SecurityLib\BigMath\PHPMath;
$this->assertEquals($expected, $obj->add($left, $right));
}
/**
* @dataProvider provideSubtractTest
*/
public function testSubtract($left, $right, $expected) {
$obj = new \SecurityLib\BigMath\PHPMath;
$this->assertEquals($expected, $obj->subtract($left, $right));
}
}

View File

@@ -1,28 +1,46 @@
<?php
class Unit_Core_BigMathTest extends PHPUnit_Framework_TestCase {
class Unit_Core_BigMathTest extends \PHPUnit_Framework_TestCase
{
protected static $mathImplementations = array();
public static function provideAddTest()
{
$ret = array(array('1', '1', '2'), array('11', '11', '22'), array('1111111111', '1111111111', '2222222222'), array('555', '555', '1110'), array('-10', '10', '0'), array('10', '-10', '0'), array('-10', '-10', '-20'), array('0', '0', '0'), array('5', '0', '5'));
return $ret;
}
public static function provideSubtractTest()
{
return array(array('1', '1', '0'), array('6', '3', '3'), array('200', '250', '-50'), array('10', '300', '-290'), array('-1', '-1', '0'), array('-5', '5', '-10'), array('5', '-5', '10'), array('0', '0', '0'), array('5', '0', '5'));
}
public function testCreateFromServerConfiguration()
{
$instance = \SecurityLib\BigMath::createFromServerConfiguration();
if (\extension_loaded('bcmath')) {
$this->assertEquals('SecurityLib\BigMath\BCMath', \get_class($instance));
} elseif (\extension_loaded('gmp')) {
$this->assertEquals('SecurityLib\BigMath\GMP', \get_class($instance));
} else {
$this->assertEquals('SecurityLib\BigMath\PHPMath', \get_class($instance));
}
protected static $mathImplementations = array();
public static function provideAddTest() {
$ret = array(
array('1', '1', '2'),
array('11', '11', '22'),
array('1111111111', '1111111111', '2222222222'),
array('555', '555', '1110'),
array('-10', '10', '0'),
array('10', '-10', '0'),
array('-10', '-10', '-20'),
array('0', '0', '0'),
array('5', '0', '5'),
);
return $ret;
}
public static function provideSubtractTest() {
return array(
array('1', '1', '0'),
array('6', '3', '3'),
array('200', '250', '-50'),
array('10', '300', '-290'),
array('-1', '-1', '0'),
array('-5', '5', '-10'),
array('5', '-5', '10'),
array('0', '0', '0'),
array('5', '0', '5'),
);
}
public function testCreateFromServerConfiguration() {
$instance = \SecurityLib\BigMath::createFromServerConfiguration();
if (extension_loaded('bcmath')) {
$this->assertEquals('SecurityLib\\BigMath\\BCMath', get_class($instance));
} elseif (extension_loaded('gmp')) {
$this->assertEquals('SecurityLib\\BigMath\\GMP', get_class($instance));
} else {
$this->assertEquals('SecurityLib\\BigMath\\PHPMath', get_class($instance));
}
}
}

View File

@@ -1,49 +1,61 @@
<?php
use SecurityLibTest\Mocks\Enum;
use SecurityLibTest\Mocks\Enum;
class Unit_Core_EnumTest extends \PHPUnit_Framework_TestCase
{
public static function provideTestCompare()
{
return array(array(new Enum(Enum::Value1), new Enum(Enum::Value1), 0), array(new Enum(Enum::Value2), new Enum(Enum::Value1), -1), array(new Enum(Enum::Value1), new Enum(Enum::Value2), 1));
}
/**
* @expectedException UnexpectedValueException
*/
public function testConstructFail()
{
$obj = new Enum();
}
public function testConstruct()
{
$obj = new Enum(Enum::Value3);
$this->assertTrue($obj instanceof \SecurityLib\Enum);
}
public function testToString()
{
$obj = new Enum(Enum::Value3);
$this->assertEquals('3', (string) $obj);
}
/**
* @covers SecurityLib\Core\Enum::compare
* @dataProvider provideTestCompare
*/
public function testCompare(Enum $from, Enum $to, $expected)
{
$this->assertEquals($expected, $from->compare($to));
}
public function testGetConstList()
{
$obj = new Enum(Enum::Value3);
$const = $obj->getConstList();
$this->assertEquals(array('Value1' => 1, 'Value2' => 2, 'Value3' => 3, 'Value4' => 4), $const);
}
public function testGetConstListWithDefault()
{
$obj = new Enum(Enum::Value3);
$const = $obj->getConstList(\true);
$this->assertEquals(array('__DEFAULT' => null, 'Value1' => 1, 'Value2' => 2, 'Value3' => 3, 'Value4' => 4), $const);
}
class Unit_Core_EnumTest extends PHPUnit_Framework_TestCase {
public static function provideTestCompare() {
return array(
array(new Enum(Enum::Value1), new Enum(Enum::Value1), 0),
array(new Enum(Enum::Value2), new Enum(Enum::Value1), -1),
array(new Enum(Enum::Value1), new Enum(Enum::Value2), 1),
);
}
/**
* @expectedException UnexpectedValueException
*/
public function testConstructFail() {
$obj = new Enum();
}
public function testConstruct() {
$obj = new Enum(Enum::Value3);
$this->assertTrue($obj instanceof \SecurityLib\Enum);
}
public function testToString() {
$obj = new Enum(Enum::Value3);
$this->assertEquals('3', (string) $obj);
}
/**
* @covers SecurityLib\Core\Enum::compare
* @dataProvider provideTestCompare
*/
public function testCompare(Enum $from, Enum $to, $expected) {
$this->assertEquals($expected, $from->compare($to));
}
public function testGetConstList() {
$obj = new Enum(Enum::Value3);
$const = $obj->getConstList();
$this->assertEquals(array(
'Value1' => 1,
'Value2' => 2,
'Value3' => 3,
'Value4' => 4,
), $const);
}
public function testGetConstListWithDefault() {
$obj = new Enum(Enum::Value3);
$const = $obj->getConstList(true);
$this->assertEquals(array(
'__DEFAULT' => null,
'Value1' => 1,
'Value2' => 2,
'Value3' => 3,
'Value4' => 4,
), $const);
}
}

View File

@@ -1,26 +1,35 @@
<?php
use SecurityLib\Strength;
use SecurityLib\Strength;
class Unit_Core_StrengthTest extends \PHPUnit_Framework_TestCase
{
public function testConstruct()
{
$obj = new Strength(Strength::LOW);
$this->assertTrue($obj instanceof \SecurityLib\Strength);
$this->assertTrue($obj instanceof \SecurityLib\Enum);
}
public function testGetConstList()
{
$obj = new Strength();
$const = $obj->getConstList();
$this->assertEquals(array('VERYLOW' => 1, 'LOW' => 3, 'MEDIUM' => 5, 'HIGH' => 7), $const);
}
public function testGetConstListWithDefault()
{
$obj = new Strength();
$const = $obj->getConstList(\true);
$this->assertEquals(array('__DEFAULT' => 1, 'VERYLOW' => 1, 'LOW' => 3, 'MEDIUM' => 5, 'HIGH' => 7), $const);
}
class Unit_Core_StrengthTest extends PHPUnit_Framework_TestCase {
public function testConstruct() {
$obj = new Strength(Strength::LOW);
$this->assertTrue($obj instanceof \SecurityLib\Strength);
$this->assertTrue($obj instanceof \SecurityLib\Enum);
}
public function testGetConstList() {
$obj = new Strength();
$const = $obj->getConstList();
$this->assertEquals(array(
'VERYLOW' => 1,
'LOW' => 3,
'MEDIUM' => 5,
'HIGH' => 7,
), $const);
}
public function testGetConstListWithDefault() {
$obj = new Strength();
$const = $obj->getConstList(true);
$this->assertEquals(array(
'__DEFAULT' => 1,
'VERYLOW' => 1,
'LOW' => 3,
'MEDIUM' => 5,
'HIGH' => 7,
), $const);
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace SecurityLib;
/**
@@ -7,16 +6,15 @@ namespace SecurityLib;
* mbstring.func_overload = 7
* in your php.ini file to verify its correctness.
*/
class UtilTest extends \PHPUnit_Framework_TestCase
{
public function testSafeStrlen()
{
$this->assertEquals(\SecurityLib\Util::safeStrlen("\x03?"), 2);
class UtilTest extends \PHPUnit_Framework_TestCase {
public function testSafeStrlen() {
$this->assertEquals(Util::safeStrlen("\x03\x3f"), 2);
}
public function testSafeSubstr()
{
$a = "abcdefg\x03?hijk";
$b = "\x03?";
$this->assertEquals(\SecurityLib\Util::safeSubstr($a, 7, 2), $b);
public function testSafeSubstr() {
$a = "abcdefg\x03\x3fhijk";
$b = "\x03\x3f";
$this->assertEquals(Util::safeSubstr($a, 7, 2), $b);
}
}

View File

@@ -1,5 +1,4 @@
<?php
/**
* Bootstrap the library. This registers a simple autoloader for autoloading
* classes
@@ -16,9 +15,11 @@
* @license http://opensource.org/licenses/bsd-license.php New BSD License
* @license http://www.gnu.org/licenses/lgpl-2.1.html LGPL v 2.1
*/
namespace SecurityLibTest;
ini_set('memory_limit', '1G');
/**
* The simple autoloader for the PasswordLibTest libraries.
*
@@ -41,5 +42,8 @@ spl_autoload_register(function ($class) {
require $path;
}
});
define('PATH_ROOT', dirname(__DIR__));
require_once dirname(__DIR__) . '/vendor/autoload.php';

View File

@@ -1,10 +1,10 @@
{
"name": "lcobucci\/jwt",
"name": "lcobucci/jwt",
"description": "A simple library to work with JSON Web Token and JSON Web Signature",
"type": "library",
"authors": [
{
"name": "Lu\u00eds Ot\u00e1vio Cobucci Oblonczyk",
"name": "Luís Otávio Cobucci Oblonczyk",
"email": "lcobucci@gmail.com",
"role": "Developer"
}
@@ -22,36 +22,36 @@
"ext-openssl": "*"
},
"require-dev": {
"phpunit\/phpunit": "^5.7 || ^7.3",
"squizlabs\/php_codesniffer": "~2.3",
"phpmd\/phpmd": "~2.2",
"phpunit\/php-invoker": "~1.1",
"mikey179\/vfsstream": "~1.5"
"phpunit/phpunit": "^5.7 || ^7.3",
"squizlabs/php_codesniffer": "~2.3",
"phpmd/phpmd": "~2.2",
"phpunit/php-invoker": "~1.1",
"mikey179/vfsstream": "~1.5"
},
"autoload": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\": "src"
"Lcobucci\\JWT\\": "src"
},
"files": [
"compat\/class-aliases.php",
"compat\/json-exception-polyfill.php",
"compat\/lcobucci-clock-polyfill.php"
"compat/class-aliases.php",
"compat/json-exception-polyfill.php",
"compat/lcobucci-clock-polyfill.php"
]
},
"autoload-dev": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\Lcobucci\\JWT\\": [
"test\/unit",
"test\/functional"
"Lcobucci\\JWT\\": [
"test/unit",
"test/functional"
]
}
},
"suggest": {
"lcobucci\/clock": "*"
"lcobucci/clock": "*"
},
"extra": {
"branch-alias": {
"dev-master": "3.1-dev"
}
}
}
}

View File

@@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2013-2020 Alex Bilbie <hello@alexbilbie.com>
Copyright (c) 2013-2023 Alex Bilbie <hello@alexbilbie.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -24,14 +24,15 @@ This package is compliant with [PSR-1][], [PSR-2][], [PSR-4][], and [PSR-7][]. I
We support the following versions of PHP:
* PHP 8.4
* PHP 8.3
* PHP 8.2
* PHP 8.1
* PHP 8.0
* PHP 7.4
* PHP 7.3
* PHP 7.2
* PHP 7.1
* PHP 7.0
* PHP 5.6
## Provider Clients

View File

@@ -1,20 +1,20 @@
{
"name": "league\/oauth2-client",
"name": "league/oauth2-client",
"description": "OAuth 2.0 Client Library",
"license": "MIT",
"config": {
"sort-packages": true
},
"require": {
"php": "^5.6 || ^7.0 || ^8.0",
"guzzlehttp\/guzzle": "^6.0 || ^7.0",
"paragonie\/random_compat": "^1 || ^2 || ^9.99"
"php": "^7.1 || >=8.0.0 <8.5.0",
"ext-json": "*",
"guzzlehttp/guzzle": "^6.5.8 || ^7.4.5"
},
"require-dev": {
"mockery\/mockery": "^1.3.5",
"php-parallel-lint\/php-parallel-lint": "^1.3.1",
"phpunit\/phpunit": "^5.7 || ^6.0 || ^9.5",
"squizlabs\/php_codesniffer": "^2.3 || ^3.0"
"mockery/mockery": "^1.3.5",
"php-parallel-lint/php-parallel-lint": "^1.4",
"phpunit/phpunit": "^7 || ^8 || ^9 || ^10 || ^11",
"squizlabs/php_codesniffer": "^3.11"
},
"keywords": [
"oauth",
@@ -30,28 +30,24 @@
{
"name": "Alex Bilbie",
"email": "hello@alexbilbie.com",
"homepage": "http:\/\/www.alexbilbie.com",
"homepage": "http://www.alexbilbie.com",
"role": "Developer"
},
{
"name": "Woody Gilk",
"homepage": "https:\/\/github.com\/shadowhand",
"homepage": "https://github.com/shadowhand",
"role": "Contributor"
}
],
"autoload": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\": "src\/"
"League\\OAuth2\\Client\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Test\\": "test\/src\/"
}
},
"extra": {
"branch-alias": {
"dev-2.x": "2.0.x-dev"
"League\\OAuth2\\Client\\Test\\": "test/src/"
}
}
}
}

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
bootstrap="./vendor/autoload.php"
colors="true"
cacheDirectory="build/phpunit">
<coverage>
<report>
<clover outputFile="build/logs/clover.xml"/>
<html outputDirectory="build/coverage"/>
<text outputFile="php://stdout"/>
</report>
</coverage>
<testsuites>
<testsuite name="all">
<directory>test</directory>
</testsuite>
</testsuites>
<logging>
<junit outputFile="build/report.junit.xml"/>
</logging>
<source>
<include>
<directory suffix=".php">src</directory>
</include>
</source>
<php>
<env name="XDEBUG_MODE" value="coverage"/>
</php>
</phpunit>

View File

@@ -1,12 +1,12 @@
{
"name": "league\/oauth2-facebook",
"name": "league/oauth2-facebook",
"description": "Facebook OAuth 2.0 Client Provider for The PHP League OAuth2-Client",
"license": "MIT",
"authors": [
{
"name": "Sammy Kaye Powers",
"email": "me@sammyk.me",
"homepage": "http:\/\/www.sammyk.me"
"homepage": "http://www.sammyk.me"
}
],
"keywords": [
@@ -19,22 +19,22 @@
],
"require": {
"php": ">=7.3",
"league\/oauth2-client": "^2.0"
"league/oauth2-client": "^2.0"
},
"require-dev": {
"ext-json": "*",
"phpunit\/phpunit": "^9.4",
"mockery\/mockery": "~1.3.0",
"squizlabs\/php_codesniffer": "~3.0"
"phpunit/phpunit": "^9.4",
"mockery/mockery": "~1.3.0",
"squizlabs/php_codesniffer": "~3.0"
},
"autoload": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\": "src\/"
"League\\OAuth2\\Client\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Test\\": "tests\/src\/"
"League\\OAuth2\\Client\\Test\\": "tests/src/"
}
}
}
}

View File

@@ -1,12 +1,12 @@
{
"name": "league\/oauth2-github",
"name": "league/oauth2-github",
"description": "Github OAuth 2.0 Client Provider for The PHP League OAuth2-Client",
"license": "MIT",
"authors": [
{
"name": "Steven Maguire",
"email": "stevenmaguire@gmail.com",
"homepage": "https:\/\/github.com\/stevenmaguire"
"homepage": "https://github.com/stevenmaguire"
}
],
"keywords": [
@@ -18,21 +18,21 @@
"github"
],
"require": {
"league\/oauth2-client": "^2.0"
"league/oauth2-client": "^2.0"
},
"require-dev": {
"phpunit\/phpunit": "~4.0",
"mockery\/mockery": "~0.9",
"squizlabs\/php_codesniffer": "~2.0"
"phpunit/phpunit": "~4.0",
"mockery/mockery": "~0.9",
"squizlabs/php_codesniffer": "~2.0"
},
"autoload": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\": "src\/"
"League\\OAuth2\\Client\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Test\\": "test\/src\/"
"League\\OAuth2\\Client\\Test\\": "test/src/"
}
},
"extra": {
@@ -40,4 +40,4 @@
"dev-master": "1.0.x-dev"
}
}
}
}

View File

@@ -1,29 +1,36 @@
<?php
namespace Pshowsso\Scope68f5e85e9608b\League\OAuth2\Client\Test\Provider;
<?php namespace League\OAuth2\Client\Test\Provider;
use Mockery as m;
class GithubResourceOwnerTest extends \PHPUnit_Framework_TestCase
{
public function testUrlIsNullWithoutDomainOrNickname()
{
$user = new \Pshowsso\Scope68f5e85e9608b\League\OAuth2\Client\Provider\GithubResourceOwner();
$user = new \League\OAuth2\Client\Provider\GithubResourceOwner;
$url = $user->getUrl();
$this->assertNull($url);
}
public function testUrlIsDomainWithoutNickname()
{
$domain = uniqid();
$user = new \Pshowsso\Scope68f5e85e9608b\League\OAuth2\Client\Provider\GithubResourceOwner();
$user = new \League\OAuth2\Client\Provider\GithubResourceOwner;
$user->setDomain($domain);
$url = $user->getUrl();
$this->assertEquals($domain, $url);
}
public function testUrlIsNicknameWithoutDomain()
{
$nickname = uniqid();
$user = new \Pshowsso\Scope68f5e85e9608b\League\OAuth2\Client\Provider\GithubResourceOwner(['login' => $nickname]);
$user = new \League\OAuth2\Client\Provider\GithubResourceOwner(['login' => $nickname]);
$url = $user->getUrl();
$this->assertEquals($nickname, $url);
}
}

View File

@@ -1,25 +1,32 @@
<?php
namespace Pshowsso\Scope68f5e85e9608b\League\OAuth2\Client\Test\Provider;
<?php namespace League\OAuth2\Client\Test\Provider;
use Mockery as m;
class GithubTest extends \PHPUnit_Framework_TestCase
{
protected $provider;
protected function setUp()
{
$this->provider = new \Pshowsso\Scope68f5e85e9608b\League\OAuth2\Client\Provider\Github(['clientId' => 'mock_client_id', 'clientSecret' => 'mock_secret', 'redirectUri' => 'none']);
$this->provider = new \League\OAuth2\Client\Provider\Github([
'clientId' => 'mock_client_id',
'clientSecret' => 'mock_secret',
'redirectUri' => 'none',
]);
}
public function tearDown()
{
m::close();
parent::tearDown();
}
public function testAuthorizationUrl()
{
$url = $this->provider->getAuthorizationUrl();
$uri = parse_url($url);
parse_str($uri['query'], $query);
$this->assertArrayHasKey('client_id', $query);
$this->assertArrayHasKey('redirect_uri', $query);
$this->assertArrayHasKey('state', $query);
@@ -28,75 +35,102 @@ class GithubTest extends \PHPUnit_Framework_TestCase
$this->assertArrayHasKey('approval_prompt', $query);
$this->assertNotNull($this->provider->getState());
}
public function testScopes()
{
$options = ['scope' => [uniqid(), uniqid()]];
$options = ['scope' => [uniqid(),uniqid()]];
$url = $this->provider->getAuthorizationUrl($options);
$this->assertContains(urlencode(implode(',', $options['scope'])), $url);
}
public function testGetAuthorizationUrl()
{
$url = $this->provider->getAuthorizationUrl();
$uri = parse_url($url);
$this->assertEquals('/login/oauth/authorize', $uri['path']);
}
public function testGetBaseAccessTokenUrl()
{
$params = [];
$url = $this->provider->getBaseAccessTokenUrl($params);
$uri = parse_url($url);
$this->assertEquals('/login/oauth/access_token', $uri['path']);
}
public function testGetAccessToken()
{
$response = m::mock('Pshowsso\Scope68f5e85e9608b\Psr\Http\Message\ResponseInterface');
$response = m::mock('Psr\Http\Message\ResponseInterface');
$response->shouldReceive('getBody')->andReturn('{"access_token":"mock_access_token", "scope":"repo,gist", "token_type":"bearer"}');
$response->shouldReceive('getHeader')->andReturn(['content-type' => 'json']);
$response->shouldReceive('getStatusCode')->andReturn(200);
$client = m::mock('Pshowsso\Scope68f5e85e9608b\GuzzleHttp\ClientInterface');
$client = m::mock('GuzzleHttp\ClientInterface');
$client->shouldReceive('send')->times(1)->andReturn($response);
$this->provider->setHttpClient($client);
$token = $this->provider->getAccessToken('authorization_code', ['code' => 'mock_authorization_code']);
$this->assertEquals('mock_access_token', $token->getToken());
$this->assertNull($token->getExpires());
$this->assertNull($token->getRefreshToken());
$this->assertNull($token->getResourceOwnerId());
}
public function testGithubEnterpriseDomainUrls()
{
$this->provider->domain = 'https://github.company.com';
$response = m::mock('Pshowsso\Scope68f5e85e9608b\Psr\Http\Message\ResponseInterface');
$response = m::mock('Psr\Http\Message\ResponseInterface');
$response->shouldReceive('getBody')->times(1)->andReturn('access_token=mock_access_token&expires=3600&refresh_token=mock_refresh_token&otherKey={1234}');
$response->shouldReceive('getHeader')->andReturn(['content-type' => 'application/x-www-form-urlencoded']);
$response->shouldReceive('getStatusCode')->andReturn(200);
$client = m::mock('Pshowsso\Scope68f5e85e9608b\GuzzleHttp\ClientInterface');
$client = m::mock('GuzzleHttp\ClientInterface');
$client->shouldReceive('send')->times(1)->andReturn($response);
$this->provider->setHttpClient($client);
$token = $this->provider->getAccessToken('authorization_code', ['code' => 'mock_authorization_code']);
$this->assertEquals($this->provider->domain . '/login/oauth/authorize', $this->provider->getBaseAuthorizationUrl());
$this->assertEquals($this->provider->domain . '/login/oauth/access_token', $this->provider->getBaseAccessTokenUrl([]));
$this->assertEquals($this->provider->domain . '/api/v3/user', $this->provider->getResourceOwnerDetailsUrl($token));
$this->assertEquals($this->provider->domain.'/login/oauth/authorize', $this->provider->getBaseAuthorizationUrl());
$this->assertEquals($this->provider->domain.'/login/oauth/access_token', $this->provider->getBaseAccessTokenUrl([]));
$this->assertEquals($this->provider->domain.'/api/v3/user', $this->provider->getResourceOwnerDetailsUrl($token));
//$this->assertEquals($this->provider->domain.'/api/v3/user/emails', $this->provider->urlUserEmails($token));
}
public function testUserData()
{
$userId = rand(1000, 9999);
$userId = rand(1000,9999);
$name = uniqid();
$nickname = uniqid();
$email = uniqid();
$postResponse = m::mock('Pshowsso\Scope68f5e85e9608b\Psr\Http\Message\ResponseInterface');
$postResponse = m::mock('Psr\Http\Message\ResponseInterface');
$postResponse->shouldReceive('getBody')->andReturn('access_token=mock_access_token&expires=3600&refresh_token=mock_refresh_token&otherKey={1234}');
$postResponse->shouldReceive('getHeader')->andReturn(['content-type' => 'application/x-www-form-urlencoded']);
$postResponse->shouldReceive('getStatusCode')->andReturn(200);
$userResponse = m::mock('Pshowsso\Scope68f5e85e9608b\Psr\Http\Message\ResponseInterface');
$userResponse->shouldReceive('getBody')->andReturn('{"id": ' . $userId . ', "login": "' . $nickname . '", "name": "' . $name . '", "email": "' . $email . '"}');
$userResponse = m::mock('Psr\Http\Message\ResponseInterface');
$userResponse->shouldReceive('getBody')->andReturn('{"id": '.$userId.', "login": "'.$nickname.'", "name": "'.$name.'", "email": "'.$email.'"}');
$userResponse->shouldReceive('getHeader')->andReturn(['content-type' => 'json']);
$userResponse->shouldReceive('getStatusCode')->andReturn(200);
$client = m::mock('Pshowsso\Scope68f5e85e9608b\GuzzleHttp\ClientInterface');
$client->shouldReceive('send')->times(2)->andReturn($postResponse, $userResponse);
$client = m::mock('GuzzleHttp\ClientInterface');
$client->shouldReceive('send')
->times(2)
->andReturn($postResponse, $userResponse);
$this->provider->setHttpClient($client);
$token = $this->provider->getAccessToken('authorization_code', ['code' => 'mock_authorization_code']);
$user = $this->provider->getResourceOwner($token);
$this->assertEquals($userId, $user->getId());
$this->assertEquals($userId, $user->toArray()['id']);
$this->assertEquals($name, $user->getName());
@@ -107,6 +141,7 @@ class GithubTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($email, $user->toArray()['email']);
$this->assertContains($nickname, $user->getUrl());
}
public function testUserEmails()
{
/*
@@ -114,24 +149,24 @@ class GithubTest extends \PHPUnit_Framework_TestCase
$name = uniqid();
$nickname = uniqid();
$email = uniqid();
$postResponse = m::mock('Psr\Http\Message\ResponseInterface');
$postResponse->shouldReceive('getBody')->andReturn('access_token=mock_access_token&expires=3600&refresh_token=mock_refresh_token&otherKey={1234}');
$postResponse->shouldReceive('getHeader')->andReturn(['content-type' => 'application/x-www-form-urlencoded']);
$userResponse = m::mock('Psr\Http\Message\ResponseInterface');
$userResponse->shouldReceive('getBody')->andReturn('[{"email":"mock_email_1","primary":false,"verified":true},{"email":"mock_email_2","primary":false,"verified":true},{"email":"mock_email_3","primary":true,"verified":true}]');
$userResponse->shouldReceive('getHeader')->andReturn(['content-type' => 'json']);
$client = m::mock('GuzzleHttp\ClientInterface');
$client->shouldReceive('send')
->times(2)
->andReturn($postResponse, $userResponse);
$this->provider->setHttpClient($client);
$token = $this->provider->getAccessToken('authorization_code', ['code' => 'mock_authorization_code']);
$emails = $this->provider->getUserEmails($token);
$this->assertEquals($userId, $user->getUserId());
$this->assertEquals($name, $user->getName());
$this->assertEquals($nickname, $user->getNickname());
@@ -139,33 +174,41 @@ class GithubTest extends \PHPUnit_Framework_TestCase
$this->assertContains($nickname, $user->getUrl());
*/
}
/**
* @expectedException League\OAuth2\Client\Provider\Exception\IdentityProviderException
**/
public function testExceptionThrownWhenErrorObjectReceived()
{
$status = rand(400, 600);
$postResponse = m::mock('Pshowsso\Scope68f5e85e9608b\Psr\Http\Message\ResponseInterface');
$status = rand(400,600);
$postResponse = m::mock('Psr\Http\Message\ResponseInterface');
$postResponse->shouldReceive('getBody')->andReturn('{"message": "Validation Failed","errors": [{"resource": "Issue","field": "title","code": "missing_field"}]}');
$postResponse->shouldReceive('getHeader')->andReturn(['content-type' => 'json']);
$postResponse->shouldReceive('getStatusCode')->andReturn($status);
$client = m::mock('Pshowsso\Scope68f5e85e9608b\GuzzleHttp\ClientInterface');
$client->shouldReceive('send')->times(1)->andReturn($postResponse);
$client = m::mock('GuzzleHttp\ClientInterface');
$client->shouldReceive('send')
->times(1)
->andReturn($postResponse);
$this->provider->setHttpClient($client);
$token = $this->provider->getAccessToken('authorization_code', ['code' => 'mock_authorization_code']);
}
/**
* @expectedException League\OAuth2\Client\Provider\Exception\IdentityProviderException
**/
public function testExceptionThrownWhenOAuthErrorReceived()
{
$status = 200;
$postResponse = m::mock('Pshowsso\Scope68f5e85e9608b\Psr\Http\Message\ResponseInterface');
$postResponse = m::mock('Psr\Http\Message\ResponseInterface');
$postResponse->shouldReceive('getBody')->andReturn('{"error": "bad_verification_code","error_description": "The code passed is incorrect or expired.","error_uri": "https://developer.github.com/v3/oauth/#bad-verification-code"}');
$postResponse->shouldReceive('getHeader')->andReturn(['content-type' => 'json']);
$postResponse->shouldReceive('getStatusCode')->andReturn($status);
$client = m::mock('Pshowsso\Scope68f5e85e9608b\GuzzleHttp\ClientInterface');
$client->shouldReceive('send')->times(1)->andReturn($postResponse);
$client = m::mock('GuzzleHttp\ClientInterface');
$client->shouldReceive('send')
->times(1)
->andReturn($postResponse);
$this->provider->setHttpClient($client);
$token = $this->provider->getAccessToken('authorization_code', ['code' => 'mock_authorization_code']);
}

View File

@@ -1,12 +1,12 @@
{
"name": "league\/oauth2-google",
"name": "league/oauth2-google",
"description": "Google OAuth 2.0 Client Provider for The PHP League OAuth2-Client",
"license": "MIT",
"authors": [
{
"name": "Woody Gilk",
"email": "hello@shadowhand.com",
"homepage": "https:\/\/shadowhand.com"
"homepage": "https://shadowhand.com"
}
],
"keywords": [
@@ -20,24 +20,24 @@
"minimum-stability": "stable",
"require": {
"php": "^7.3 || ^8.0",
"league\/oauth2-client": "^2.0"
"league/oauth2-client": "^2.0"
},
"require-dev": {
"eloquent\/phony-phpunit": "^6.0 || ^7.1",
"phpunit\/phpunit": "^8.0 || ^9.0",
"squizlabs\/php_codesniffer": "^3.0"
"eloquent/phony-phpunit": "^6.0 || ^7.1",
"phpunit/phpunit": "^8.0 || ^9.0",
"squizlabs/php_codesniffer": "^3.0"
},
"autoload": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\": "src\/"
"League\\OAuth2\\Client\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Pshowsso\\Scope68f5e85e9608b\\League\\OAuth2\\Client\\Test\\": "test\/src\/"
"League\\OAuth2\\Client\\Test\\": "test/src/"
}
},
"scripts": {
"check": "phpcs src test --standard=PSR12 -sp"
}
}
}

View File

@@ -1,46 +1,41 @@
{
"name": "paragonie\/random-lib",
"name": "paragonie/random-lib",
"type": "library",
"description": "A Library For Generating Secure Random Numbers",
"keywords": [
"random",
"random-numbers",
"random-strings",
"cryptography"
],
"homepage": "https:\/\/github.com\/ircmaxell\/RandomLib",
"keywords": ["random", "random-numbers", "random-strings", "cryptography"],
"homepage": "https://github.com/ircmaxell/RandomLib",
"license": "MIT",
"authors": [
{
"name": "Paragon Initiative Enterprises",
"email": "security@paragonie.com",
"homepage": "https:\/\/paragonie.com"
"homepage": "https://paragonie.com"
},
{
"name": "Anthony Ferrara",
"email": "ircmaxell@ircmaxell.com",
"homepage": "http:\/\/blog.ircmaxell.com"
"homepage": "http://blog.ircmaxell.com"
}
],
"require-dev": {
"mikey179\/vfsstream": "^1.6",
"friendsofphp\/php-cs-fixer": "^1.11",
"phpunit\/phpunit": "^4.8 || >=5.0.0 <5.4"
"mikey179/vfsstream": "^1.6",
"friendsofphp/php-cs-fixer": "^1.11",
"phpunit/phpunit": "^4.8 || >=5.0.0 <5.4"
},
"require": {
"ircmaxell\/security-lib": "^1.1",
"paragonie\/random_compat": "^2|~9.99",
"paragonie\/sodium_compat": "^1|^2",
"ircmaxell/security-lib": "^1.1",
"paragonie/random_compat": "^2|~9.99",
"paragonie/sodium_compat": "^1|^2",
"php": ">=5.3.2"
},
"autoload": {
"psr-4": {
"RandomLib\\": "lib\/RandomLib\/"
"psr-0": {
"RandomLib": "lib"
}
},
"extra": {
"branch-alias": {
"dev-master": "2.1.x-dev"
"dev-master": "2.1.x-dev"
}
}
}
}

View File

@@ -8,6 +8,7 @@
* @license http://www.opensource.org/licenses/mit-license.html MIT License
* @version Build @@version@@
*/
/**
* The interface that all hash implementations must implement
*
@@ -34,18 +35,22 @@ namespace RandomLibtest\Mocks;
class AbstractMock
{
protected $callbacks = array();
public static function init()
{
}
public function __construct(array $callbacks = array())
{
$this->callbacks = $callbacks;
}
public function __call($name, array $args = array())
{
if (isset($this->callbacks[$name])) {
return call_user_func_array($this->callbacks[$name], $args);
}
return null;
}
}

View File

@@ -8,6 +8,7 @@
* @license http://www.opensource.org/licenses/mit-license.html MIT License
* @version Build @@version@@
*/
/**
* The Mixer strategy interface.
*
@@ -38,32 +39,40 @@ namespace RandomLibtest\Mocks\Random;
class Generator extends \RandomLib\Generator
{
protected $callbacks = array();
public static function init()
{
}
public function __construct(array $callbacks = array())
{
$this->callbacks = $callbacks;
}
public function __call($name, array $args = array())
{
if (isset($this->callbacks[$name])) {
return call_user_func_array($this->callbacks[$name], $args);
}
return null;
}
public function addSource(\PasswordLib\Random\Source $source)
{
return $this->__call('addSource', array($source));
}
public function generate($size)
{
return $this->__call('generate', array($size));
}
public function generateInt($min = 0, $max = \PHP_INT_MAX)
{
return $this->__call('generateInt', array($min, $max));
}
public function generateString($length, $chars = '')
{
return $this->__call('generateString', array($length, $chars));

View File

@@ -8,6 +8,7 @@
* @license http://www.opensource.org/licenses/mit-license.html MIT License
* @version Build @@version@@
*/
/**
* The Mixer strategy interface.
*
@@ -26,6 +27,7 @@
namespace RandomLibtest\Mocks\Random;
use SecurityLib\Strength;
/**
* The Mixer strategy interface.
*
@@ -39,12 +41,15 @@ use SecurityLib\Strength;
class Mixer extends \RandomLibTest\Mocks\AbstractMock implements \RandomLib\Mixer
{
public static $strength = null;
public static $test = \true;
public static $test = true;
public static function init()
{
static::$strength = new Strength(Strength::HIGH);
static::$test = \true;
static::$test = true;
}
/**
* Return an instance of Strength indicating the strength of the mixer
*
@@ -54,6 +59,7 @@ class Mixer extends \RandomLibTest\Mocks\AbstractMock implements \RandomLib\Mixe
{
return static::$strength;
}
/**
* Test to see if the mixer is available
*
@@ -63,6 +69,7 @@ class Mixer extends \RandomLibTest\Mocks\AbstractMock implements \RandomLib\Mixe
{
return static::$test;
}
/**
* Mix the provided array of strings into a single output of the same size
*

View File

@@ -8,6 +8,7 @@
* @license http://www.opensource.org/licenses/mit-license.html MIT License
* @version Build @@version@@
*/
/**
* The Random Number Source interface.
*
@@ -26,6 +27,7 @@
namespace RandomLibtest\Mocks\Random;
use SecurityLib\Strength;
/**
* The Random Number Source interface.
*
@@ -39,10 +41,12 @@ use SecurityLib\Strength;
class Source extends \RandomLibTest\Mocks\AbstractMock implements \RandomLib\Source
{
public static $strength = null;
public static function init()
{
static::$strength = new Strength(Strength::VERYLOW);
}
/**
* Return an instance of Strength indicating the strength of the source
*
@@ -52,6 +56,7 @@ class Source extends \RandomLibTest\Mocks\AbstractMock implements \RandomLib\Sou
{
return static::$strength;
}
/**
* If the source is currently available.
* Reasons might be because the library is not installed
@@ -60,8 +65,9 @@ class Source extends \RandomLibTest\Mocks\AbstractMock implements \RandomLib\Sou
*/
public static function isSupported()
{
return \true;
return true;
}
/**
* Generate a random string of the specified size
*

View File

@@ -11,20 +11,26 @@
namespace RandomLib;
use SecurityLib\Strength;
class FactoryTest extends \PHPUnit_Framework_TestCase
{
public function testConstruct()
{
$factory = new \RandomLib\Factory();
$this->assertTrue($factory instanceof \RandomLib\Factory);
$factory = new Factory();
$this->assertTrue($factory instanceof Factory);
}
public function testGetGeneratorFallback()
{
$factory = new \RandomLib\Factory();
$factory = new Factory();
$generator = $factory->getGenerator(new Strength(Strength::VERYLOW));
$mixer = call_user_func(array(get_class($generator->getMixer()), 'getStrength'));
$mixer = call_user_func(array(
get_class($generator->getMixer()),
'getStrength',
));
$this->assertTrue($mixer->compare(new Strength(Strength::VERYLOW)) <= 0);
}
/**
* @covers RandomLib\Factory::getMediumStrengthGenerator
* @covers RandomLib\Factory::getGenerator
@@ -33,25 +39,29 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
*/
public function testGetMediumStrengthGenerator()
{
$factory = new \RandomLib\Factory();
$factory = new Factory();
$generator = $factory->getMediumStrengthGenerator();
$this->assertTrue($generator instanceof \RandomLib\Generator);
$mixer = call_user_func(array(get_class($generator->getMixer()), 'getStrength'));
$this->assertTrue($generator instanceof Generator);
$mixer = call_user_func(array(
get_class($generator->getMixer()),
'getStrength',
));
$this->assertTrue($mixer->compare(new Strength(Strength::MEDIUM)) <= 0);
foreach ($generator->getSources() as $source) {
$strength = call_user_func(array(get_class($source), 'getStrength'));
$this->assertTrue($strength->compare(new Strength(Strength::MEDIUM)) >= 0);
}
}
/**
* @expectedException RuntimeException
* @expectedExceptionMessage Could not find sources
*/
public function testNoAvailableSource()
{
$factory = new \RandomLib\Factory();
$factory = new Factory();
$sources = new \ReflectionProperty($factory, 'sources');
$sources->setAccessible(\true);
$sources->setAccessible(true);
$sources->setValue($factory, array());
$factory->getMediumStrengthGenerator();
}

View File

@@ -24,42 +24,78 @@ class GeneratorStringTest extends \PHPUnit_Framework_TestCase
* @var array<int, Source>
*/
protected $sources = array();
public static function provideCharCombinations()
{
return array(array("CHAR_LOWER", implode("", range("a", "z"))), array("CHAR_UPPER", implode("", range("A", "Z"))), array("CHAR_DIGITS", implode("", range(0, 9))), array("CHAR_UPPER_HEX", "0123456789ABCDEF"), array("CHAR_LOWER_HEX", "0123456789abcdef"), array("CHAR_BASE64", "+/0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"), array("EASY_TO_READ", "3479ACEFHJKLMNPRTUVWXYabcdefghijkmnopqrstuvwxyz"), array("CHAR_BRACKETS", "()<>[]{}"), array("CHAR_SYMBOLS", " !\"#\$%&'()*+,-./:;<=>?@[\\]^_`{|}~"), array("CHAR_PUNCT", ",.:;"), array("CHAR_ALPHA", implode("", array_merge(range("A", "Z"), range("a", "z")))), array("CHAR_ALNUM", implode("", array_merge(range(0, 9), range("A", "Z"), range("a", "z")))), array("CHAR_ALPHA | PUNCT", ",.:;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", \RandomLib\Generator::CHAR_ALPHA | \RandomLib\Generator::CHAR_PUNCT), array("CHAR_LOWER | EASY_TO_READ", "abcdefghijkmnopqrstuvwxyz", \RandomLib\Generator::CHAR_LOWER | \RandomLib\Generator::EASY_TO_READ), array("CHAR_DIGITS | EASY_TO_READ", "3479", \RandomLib\Generator::CHAR_DIGITS | \RandomLib\Generator::EASY_TO_READ));
return array(
array("CHAR_LOWER", implode("", range("a", "z"))),
array("CHAR_UPPER", implode("", range("A", "Z"))),
array("CHAR_DIGITS", implode("", range(0, 9))),
array("CHAR_UPPER_HEX", "0123456789ABCDEF"),
array("CHAR_LOWER_HEX", "0123456789abcdef"),
array("CHAR_BASE64", "+/0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"),
array("EASY_TO_READ", "3479ACEFHJKLMNPRTUVWXYabcdefghijkmnopqrstuvwxyz"),
array("CHAR_BRACKETS", "()<>[]{}"),
array("CHAR_SYMBOLS", " !\"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"),
array("CHAR_PUNCT", ",.:;"),
array("CHAR_ALPHA", implode("", array_merge(range("A", "Z"), range("a", "z")))),
array("CHAR_ALNUM", implode("", array_merge(range(0, 9), range("A", "Z"), range("a", "z")))),
array("CHAR_ALPHA | PUNCT", ",.:;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", Generator::CHAR_ALPHA | Generator::CHAR_PUNCT),
array("CHAR_LOWER | EASY_TO_READ", "abcdefghijkmnopqrstuvwxyz", Generator::CHAR_LOWER | Generator::EASY_TO_READ),
array("CHAR_DIGITS | EASY_TO_READ", "3479", Generator::CHAR_DIGITS | Generator::EASY_TO_READ),
);
}
public function setUp()
{
$source1 = $this->getMock('RandomLib\Source');
$source1->expects($this->any())->method('generate')->will($this->returnCallback(function ($size) {
$r = '';
for ($i = 0; $i < $size; $i++) {
$r .= chr($i % 256);
$source1->expects($this->any())
->method('generate')
->will($this->returnCallback(function ($size) {
$r = '';
for ($i = 0; $i < $size; $i++) {
$r .= chr($i % 256);
}
return $r;
}
return $r;
}));
));
$source2 = $this->getMock('RandomLib\Source');
$source2->expects($this->any())->method('generate')->will($this->returnCallback(function ($size) {
$r = '';
for ($i = 0; $i < $size; $i++) {
$r .= chr(0);
$source2->expects($this->any())
->method('generate')
->will($this->returnCallback(function ($size) {
$r = '';
for ($i = 0; $i < $size; $i++) {
$r .= chr(0);
}
return $r;
}
return $r;
}));
));
$this->mixer = $this->getMock('RandomLib\Mixer');
$this->mixer->expects($this->any())->method('mix')->will($this->returnCallback(function (array $sources) {
if (empty($sources)) {
return '';
}
$start = array_pop($sources);
// throw new \Exception('test');
return array_reduce($sources, function ($el1, $el2) {
return $el1 ^ $el2;
}, $start);
}));
$this->mixer->expects($this->any())
->method('mix')
->will($this->returnCallback(function (array $sources) {
if (empty($sources)) {
return '';
}
$start = array_pop($sources);
// throw new \Exception('test');
return array_reduce(
$sources,
function ($el1, $el2) {
return $el1 ^ $el2;
},
$start
);
}));
$this->sources = array($source1, $source2);
$this->generator = new \RandomLib\Generator($this->sources, $this->mixer);
$this->generator = new Generator($this->sources, $this->mixer);
}
/**
* @dataProvider provideCharCombinations
*/
@@ -67,7 +103,7 @@ class GeneratorStringTest extends \PHPUnit_Framework_TestCase
{
// test for overspecification by doubling the expected amount
if (!$scheme) {
$scheme = constant("RandomLib\\Generator::{$schemeName}");
$scheme = constant("RandomLib\Generator::$schemeName");
}
$chars = $this->generator->generateString(strlen($expected) * 2, $scheme);
$this->assertEquals($expected . $expected, $chars, sprintf("Testing Generator::%s failed", $schemeName));

View File

@@ -15,65 +15,122 @@ class GeneratorTest extends \PHPUnit_Framework_TestCase
protected $generator = null;
protected $mixer = null;
protected $sources = array();
public static function provideGenerate()
{
return array(array(0, ''), array(1, chr(0)), array(2, chr(1) . chr(1)), array(3, chr(2) . chr(0) . chr(2)), array(4, chr(3) . chr(3) . chr(3) . chr(3)));
return array(
array(0, ''),
array(1, chr(0)),
array(2, chr(1) . chr(1)),
array(3, chr(2) . chr(0) . chr(2)),
array(4, chr(3) . chr(3) . chr(3) . chr(3)),
);
}
public static function provideGenerateInt()
{
return array(array(1, 1, 1), array(0, 1, 0), array(0, 255, 0), array(400, 655, 400), array(0, 65535, 257), array(65535, 131070, 65792), array(0, 16777215, (2 << 16) + 2), array(-10, 0, -10), array(-655, -400, -655), array(-131070, -65535, -130813));
return array(
array(1, 1, 1),
array(0, 1, 0),
array(0, 255, 0),
array(400, 655, 400),
array(0, 65535, 257),
array(65535, 131070, 65792),
array(0, 16777215, (2<<16) + 2),
array(-10, 0, -10),
array(-655, -400, -655),
array(-131070, -65535, -130813),
);
}
public static function provideGenerateIntRangeTest()
{
return array(array(0, 0), array(0, 1), array(1, 10000), array(100000, \PHP_INT_MAX));
return array(
array(0, 0),
array(0, 1),
array(1, 10000),
array(100000, \PHP_INT_MAX),
);
}
public static function provideGenerateStringTest()
{
return array(array(0, 'ab', ''), array(1, 'ab', 'a'), array(1, 'a', ''), array(2, 'ab', 'bb'), array(3, 'abc', 'cac'), array(8, '0123456789abcdef', '77777777'), array(16, '0123456789abcdef', 'ffffffffffffffff'), array(16, '', 'DDDDDDDDDDDDDDDD'));
return array(
array(0, 'ab', ''),
array(1, 'ab', 'a'),
array(1, 'a', ''),
array(2, 'ab', 'bb'),
array(3, 'abc', 'cac'),
array(8, '0123456789abcdef', '77777777'),
array(16, '0123456789abcdef', 'ffffffffffffffff'),
array(16, '', 'DDDDDDDDDDDDDDDD'),
);
}
public function setUp()
{
$source1 = $this->getMock('RandomLib\Source');
$source1->expects($this->any())->method('generate')->will($this->returnCallback(function ($size) {
$r = '';
for ($i = 0; $i < $size; $i++) {
$r .= chr($i);
$source1->expects($this->any())
->method('generate')
->will($this->returnCallback(function ($size) {
$r = '';
for ($i = 0; $i < $size; $i++) {
$r .= chr($i);
}
return $r;
}
return $r;
}));
));
$source2 = $this->getMock('RandomLib\Source');
$source2->expects($this->any())->method('generate')->will($this->returnCallback(function ($size) {
$r = '';
for ($i = $size - 1; $i >= 0; $i--) {
$r .= chr($i);
$source2->expects($this->any())
->method('generate')
->will($this->returnCallback(function ($size) {
$r = '';
for ($i = $size - 1; $i >= 0; $i--) {
$r .= chr($i);
}
return $r;
}
return $r;
}));
));
$this->mixer = $this->getMock('RandomLib\Mixer');
$this->mixer->expects($this->any())->method('mix')->will($this->returnCallback(function (array $sources) {
if (empty($sources)) {
return '';
}
$start = array_pop($sources);
return array_reduce($sources, function ($el1, $el2) {
return $el1 ^ $el2;
}, $start);
}));
$this->mixer->expects($this->any())
->method('mix')
->will($this->returnCallback(function (array $sources) {
if (empty($sources)) {
return '';
}
$start = array_pop($sources);
return array_reduce(
$sources,
function ($el1, $el2) {
return $el1 ^ $el2;
},
$start
);
}));
$this->sources = array($source1, $source2);
$this->generator = new \RandomLib\Generator($this->sources, $this->mixer);
$this->generator = new Generator($this->sources, $this->mixer);
}
public function testConstruct()
{
$this->assertTrue($this->generator instanceof \RandomLib\Generator);
$this->assertTrue($this->generator instanceof Generator);
}
public function testGetMixer()
{
$this->assertSame($this->mixer, $this->generator->getMixer());
}
public function testGetSources()
{
$this->assertSame($this->sources, $this->generator->getSources());
}
/**
* @dataProvider provideGenerate
*/
@@ -81,6 +138,7 @@ class GeneratorTest extends \PHPUnit_Framework_TestCase
{
$this->assertEquals($expect, $this->generator->generate($size));
}
/**
* @dataProvider provideGenerateInt
*/
@@ -88,6 +146,7 @@ class GeneratorTest extends \PHPUnit_Framework_TestCase
{
$this->assertEquals($expect, $this->generator->generateInt($min, $max));
}
/**
* @dataProvider provideGenerateIntRangeTest
*/
@@ -97,24 +156,28 @@ class GeneratorTest extends \PHPUnit_Framework_TestCase
$this->assertTrue($min <= $n);
$this->assertTrue($max >= $n);
}
/**
* @expectedException RangeException
*/
public function testGenerateIntFail()
{
$n = $this->generator->generateInt(-1, \PHP_INT_MAX);
$n = $this->generator->generateInt(-1, PHP_INT_MAX);
}
public function testGenerateIntLargeTest()
{
$bits = 30;
$expected = 50529027;
if (\PHP_INT_MAX > 4000000000) {
if (PHP_INT_MAX > 4000000000) {
$bits = 55;
$expected = 1693273676973062;
}
$n = $this->generator->generateInt(0, (int) pow(2, $bits));
$this->assertEquals($expected, $n);
}
/**
* @dataProvider provideGenerateStringTest
*/
@@ -123,6 +186,7 @@ class GeneratorTest extends \PHPUnit_Framework_TestCase
$n = $this->generator->generateString($length, $chars);
$this->assertEquals($expected, $n);
}
/**
* This test checks for issue #22:
*
@@ -130,9 +194,9 @@ class GeneratorTest extends \PHPUnit_Framework_TestCase
*/
public function testGenerateLargeRange()
{
if (\PHP_INT_MAX < pow(2, 32)) {
if (PHP_INT_MAX < pow(2, 32)) {
$this->markTestSkipped("Only test on 64 bit platforms");
}
$this->assertEquals(506381209866536711, $this->generator->generateInt(0, \PHP_INT_MAX));
$this->assertEquals(506381209866536711, $this->generator->generateInt(0, PHP_INT_MAX));
}
}

View File

@@ -11,6 +11,7 @@
namespace RandomLib\Mixer;
use SecurityLib\Strength;
class HashTest extends \PHPUnit_Framework_TestCase
{
public static function provideMix()
@@ -27,30 +28,35 @@ class HashTest extends \PHPUnit_Framework_TestCase
array(array('aa', 'bb', 'cc'), 'a14c'),
array(array('aabbcc', 'bbccdd', 'ccddee'), 'a8aff3939934'),
);
return $data;
}
public function testConstructWithoutArgument()
{
$hash = new \RandomLib\Mixer\Hash();
$hash = new Hash();
$this->assertTrue($hash instanceof \RandomLib\Mixer);
}
public function testGetStrength()
{
$strength = new Strength(Strength::MEDIUM);
$actual = \RandomLib\Mixer\Hash::getStrength();
$actual = Hash::getStrength();
$this->assertEquals($actual, $strength);
}
public function testTest()
{
$actual = \RandomLib\Mixer\Hash::test();
$actual = Hash::test();
$this->assertTrue($actual);
}
/**
* @dataProvider provideMix
*/
public function testMix($parts, $result)
{
$mixer = new \RandomLib\Mixer\Hash('md5');
$mixer = new Hash('md5');
$actual = $mixer->mix($parts);
$this->assertEquals($result, bin2hex($actual));
}

View File

@@ -11,41 +11,58 @@
namespace RandomLib\Mixer;
use SecurityLib\Strength;
class McryptRijndael128Test extends \PHPUnit_Framework_TestCase
{
public static function provideMix()
{
$data = array(array(array(), ''), array(array('', ''), ''), array(array('a'), '61'), array(array('a', 'b'), '6a'), array(array('aa', 'ba'), '688d'), array(array('ab', 'bb'), 'f8bc'), array(array('aa', 'bb'), 'a0f3'), array(array('aa', 'bb', 'cc'), '87c3'), array(array('aabbcc', 'bbccdd', 'ccddee'), '7cf2273e46c7'));
$data = array(
array(array(), ''),
array(array('', ''), ''),
array(array('a'), '61'),
array(array('a', 'b'), '6a'),
array(array('aa', 'ba'), '688d'),
array(array('ab', 'bb'), 'f8bc'),
array(array('aa', 'bb'), 'a0f3'),
array(array('aa', 'bb', 'cc'), '87c3'),
array(array('aabbcc', 'bbccdd', 'ccddee'), '7cf2273e46c7'),
);
return $data;
}
protected function setUp()
{
if (!\extension_loaded('mcrypt') || \PHP_VERSION_ID >= 70100) {
if (!\extension_loaded('mcrypt') || PHP_VERSION_ID >= 70100) {
$this->markTestSkipped('mcrypt extension is not available');
}
}
public function testConstructWithoutArgument()
{
$hash = new \RandomLib\Mixer\McryptRijndael128();
$hash = new McryptRijndael128();
$this->assertTrue($hash instanceof \RandomLib\Mixer);
}
public function testGetStrength()
{
$strength = new Strength(Strength::HIGH);
$actual = \RandomLib\Mixer\McryptRijndael128::getStrength();
$actual = McryptRijndael128::getStrength();
$this->assertEquals($actual, $strength);
}
public function testTest()
{
$actual = \RandomLib\Mixer\McryptRijndael128::test();
$actual = McryptRijndael128::test();
$this->assertTrue($actual);
}
/**
* @dataProvider provideMix
*/
public function testMix($parts, $result)
{
$mixer = new \RandomLib\Mixer\McryptRijndael128();
$mixer = new McryptRijndael128();
$actual = $mixer->mix($parts);
$this->assertEquals($result, bin2hex($actual));
}

View File

@@ -11,41 +11,58 @@
namespace RandomLib\Mixer;
use SecurityLib\Strength;
class SodiumTest extends \PHPUnit_Framework_TestCase
{
public static function provideMix()
{
$data = array(array(array(), ''), array(array('', ''), ''), array(array('a'), '61'), array(array('a', 'b'), '44'), array(array('aa', 'ba'), '6967'), array(array('ab', 'bb'), '73a6'), array(array('aa', 'bb'), 'bc7b'), array(array('aa', 'bb', 'cc'), '0cbd'), array(array('aabbcc', 'bbccdd', 'ccddee'), '5f0005cacd7c'));
$data = array(
array(array(), ''),
array(array('', ''), ''),
array(array('a'), '61'),
array(array('a', 'b'), '44'),
array(array('aa', 'ba'), '6967'),
array(array('ab', 'bb'), '73a6'),
array(array('aa', 'bb'), 'bc7b'),
array(array('aa', 'bb', 'cc'), '0cbd'),
array(array('aabbcc', 'bbccdd', 'ccddee'), '5f0005cacd7c'),
);
return $data;
}
protected function setUp()
{
if (!\is_callable('sodium_crypto_generichash') || defined('HHVM_VERSION')) {
$this->markTestSkipped('sodium extension is not available');
}
}
public function testConstructWithoutArgument()
{
$hash = new \RandomLib\Mixer\SodiumMixer();
$hash = new SodiumMixer();
$this->assertTrue($hash instanceof \RandomLib\Mixer);
}
public function testGetStrength()
{
$strength = new Strength(Strength::HIGH);
$actual = \RandomLib\Mixer\SodiumMixer::getStrength();
$actual = SodiumMixer::getStrength();
$this->assertEquals($actual, $strength);
}
public function testTest()
{
$actual = \RandomLib\Mixer\SodiumMixer::test();
$actual = SodiumMixer::test();
$this->assertTrue($actual);
}
/**
* @dataProvider provideMix
*/
public function testMix($parts, $result)
{
$mixer = new \RandomLib\Mixer\SodiumMixer();
$mixer = new SodiumMixer();
$actual = $mixer->mix($parts);
$this->assertEquals($result, bin2hex($actual));
}

View File

@@ -11,23 +11,28 @@
namespace RandomLib\Source;
use SecurityLib\Strength;
abstract class AbstractSourceTest extends \PHPUnit_Framework_TestCase
{
public function setUp()
{
$class = static::getTestedClass();
if (!$class::isSupported()) {
$this->markTestSkipped();
}
}
protected static function getTestedClass()
{
return preg_replace('/Test$/', '', get_called_class());
}
protected static function getExpectedStrength()
{
return new Strength(Strength::VERYLOW);
}
public static function provideGenerate()
{
$data = array();
@@ -35,8 +40,10 @@ abstract class AbstractSourceTest extends \PHPUnit_Framework_TestCase
$not = $i > 0 ? str_repeat(chr(0), $i) : chr(0);
$data[] = array($i, $not);
}
return $data;
}
public function testGetStrength()
{
$class = static::getTestedClass();
@@ -44,6 +51,7 @@ abstract class AbstractSourceTest extends \PHPUnit_Framework_TestCase
$actual = $class::getStrength();
$this->assertEquals($actual, $strength);
}
/**
* @dataProvider provideGenerate
* @group slow

View File

@@ -11,7 +11,8 @@
namespace RandomLib\Source;
use SecurityLib\Strength;
class CAPICOMTest extends \RandomLib\Source\AbstractSourceTest
class CAPICOMTest extends AbstractSourceTest
{
protected static function getExpectedStrength()
{

View File

@@ -11,7 +11,8 @@
namespace RandomLib\Source;
use SecurityLib\Strength;
class MTRandTest extends \RandomLib\Source\AbstractSourceTest
class MTRandTest extends AbstractSourceTest
{
protected static function getExpectedStrength()
{

View File

@@ -11,12 +11,14 @@
namespace RandomLib\Source;
use SecurityLib\Strength;
class MicroTimeTest extends \RandomLib\Source\AbstractSourceTest
class MicroTimeTest extends AbstractSourceTest
{
protected static function getExpectedStrength()
{
return new Strength(Strength::VERYLOW);
}
/**
* Test the initialization of the static counter (!== 0)
*/

View File

@@ -11,7 +11,8 @@
namespace RandomLib\Source;
use SecurityLib\Strength;
class RandTest extends \RandomLib\Source\AbstractSourceTest
class RandTest extends AbstractSourceTest
{
protected static function getExpectedStrength()
{

View File

@@ -11,6 +11,7 @@
namespace RandomLib\Source;
use SecurityLib\Strength;
class SodiumTest extends \PHPUnit_Framework_TestCase
{
public function setUp()
@@ -19,6 +20,7 @@ class SodiumTest extends \PHPUnit_Framework_TestCase
$this->markTestSkipped('The libsodium extension is not loaded');
}
}
public static function provideGenerate()
{
$data = array();
@@ -26,14 +28,18 @@ class SodiumTest extends \PHPUnit_Framework_TestCase
$not = str_repeat(chr(0), $i);
$data[] = array($i, $not);
}
return $data;
}
public function testGetStrength()
{
$strength = new Strength(Strength::HIGH);
$actual = \RandomLib\Source\Sodium::getStrength();
$actual = Sodium::getStrength();
$this->assertEquals($actual, $strength);
}
/**
* @dataProvider provideGenerate
*/
@@ -42,34 +48,39 @@ class SodiumTest extends \PHPUnit_Framework_TestCase
if (!extension_loaded('libsodium')) {
$this->markTestSkipped('The libsodium extension is not loaded');
}
$rand = new \RandomLib\Source\Sodium();
$rand = new Sodium();
$stub = $rand->generate($length);
$this->assertEquals($length, strlen($stub));
$this->assertNotEquals($not, $stub);
}
/**
* @dataProvider provideGenerate
*/
public function testGenerateWithoutLibsodium($length, $not)
{
$rand = new \RandomLib\Source\Sodium(\false);
$rand = new Sodium(false);
$stub = $rand->generate($length);
$this->assertEquals($length, strlen($stub));
$this->assertEquals($not, $stub);
}
public function testGenerateWithZeroLength()
{
if (!extension_loaded('libsodium')) {
$this->markTestSkipped('The libsodium extension is not loaded');
}
$rand = new \RandomLib\Source\Sodium();
$rand = new Sodium();
$stub = $rand->generate(0);
$this->assertEquals(0, strlen($stub));
$this->assertEquals('', $stub);
}
public function testGenerateWithZeroLengthWithoutLibsodium()
{
$rand = new \RandomLib\Source\Sodium(\false);
$rand = new Sodium(false);
$stub = $rand->generate(0);
$this->assertEquals(0, strlen($stub));
$this->assertEquals('', $stub);

View File

@@ -11,7 +11,8 @@
namespace RandomLib\Source;
use SecurityLib\Strength;
class URandomTest extends \RandomLib\Source\AbstractSourceTest
class URandomTest extends AbstractSourceTest
{
protected static function getExpectedStrength()
{

View File

@@ -11,7 +11,8 @@
namespace RandomLib\Source;
use SecurityLib\Strength;
class UniqIDTest extends \RandomLib\Source\AbstractSourceTest
class UniqIDTest extends AbstractSourceTest
{
protected static function getExpectedStrength()
{

View File

@@ -1,147 +1,168 @@
<?php
/*
* The RandomLib library for securely generating random numbers and strings in PHP
*
* @author Anthony Ferrara <ircmaxell@ircmaxell.com>
* @copyright 2011 The Authors
* @license http://www.opensource.org/licenses/mit-license.html MIT License
* @version Build @@version@@
*/
/*
* The RandomLib library for securely generating random numbers and strings in PHP
*
* @author Anthony Ferrara <ircmaxell@ircmaxell.com>
* @copyright 2011 The Authors
* @license http://www.opensource.org/licenses/mit-license.html MIT License
* @version Build @@version@@
*/
use RandomLib\Generator;
use RandomLibTest\Mocks\Random\Mixer;
use RandomLibTest\Mocks\Random\Source;
class Vectors_Random_GeneratorTest extends \PHPUnit_Framework_TestCase
use RandomLib\Generator;
use RandomLibTest\Mocks\Random\Mixer;
use RandomLibTest\Mocks\Random\Source;
class Vectors_Random_GeneratorTest extends PHPUnit_Framework_TestCase
{
public static function provideGenerateInt()
{
public static function provideGenerateInt()
{
return array(
// First, lets test each offset based range
array(0, 7),
array(0, 15),
array(0, 31),
array(0, 63),
array(0, 127),
array(0, 255),
array(0, 511),
array(0, 1023),
// Let's try a range not starting at 0
array(8, 15),
// Let's try a range with a negative number
array(-18, -11),
// Let's try a non-power-of-2 range
array(10, 100),
// Finally, let's try two large numbers
array(100000, 100007),
array(100000000, 100002047),
// Now, let's force a few loops by setting a valid offset
array(0, 5, 2),
array(0, 9, 5),
array(0, 27, 4),
);
return array(
// First, lets test each offset based range
array(0, 7),
array(0, 15),
array(0, 31),
array(0, 63),
array(0, 127),
array(0, 255),
array(0, 511),
array(0, 1023),
// Let's try a range not starting at 0
array(8, 15),
// Let's try a range with a negative number
array(-18, -11),
// Let's try a non-power-of-2 range
array(10, 100),
// Finally, let's try two large numbers
array(100000, 100007),
array(100000000, 100002047),
// Now, let's force a few loops by setting a valid offset
array(0, 5, 2),
array(0, 9, 5),
array(0, 27, 4),
);
}
public static function provideGenerators()
{
$factory = new \RandomLib\Factory();
$generator = $factory->getLowStrengthGenerator();
$sources = $generator->getSources();
$ret = array();
$ret[] = array(new Generator($sources, new \RandomLib\Mixer\Hash()), 10000, 'hash');
return $ret;
}
/**
* This test asserts that the algorithm that generates the integers does not
* actually introduce any bias into the generated numbers. If this test
* passes, the generated integers from the generator will be as unbiased as
* the sources that provide the data.
*
* @dataProvider provideGenerateInt
*/
public function testGenerateInt($min, $max, $offset = 0)
{
$generator = $this->getGenerator($max - $min + $offset);
for ($i = $max; $i >= $min; $i--) {
$this->assertEquals($i, $generator->generateInt($min, $max));
}
public static function provideGenerators()
{
$factory = new \RandomLib\Factory();
$generator = $factory->getLowStrengthGenerator();
$sources = $generator->getSources();
$ret = array();
$ret[] = array(new Generator($sources, new \RandomLib\Mixer\Hash()), 10000, 'hash');
return $ret;
}
/**
* This test asserts that the algorithm that generates the integers does not
* actually introduce any bias into the generated numbers. If this test
* passes, the generated integers from the generator will be as unbiased as
* the sources that provide the data.
*
* @dataProvider provideGenerateInt
*/
public function testGenerateInt($min, $max, $offset = 0)
{
$generator = $this->getGenerator($max - $min + $offset);
for ($i = $max; $i >= $min; $i--) {
$this->assertEquals($i, $generator->generateInt($min, $max));
}
/**
* This generator generates two bytes at a time, and uses each 8 bit segment of
* the generated byte as a coordinate on a grid (so 01011010 would be the
* coordinate (0101, 1010) or (5, 10). These are used as inputs to a MonteCarlo
* algorithm for the integral of y=x over a 15x15 grid. The expected answer is
* 1/2 * 15 * 15 (or 1/2 * base * height, since the result is a triangle).
* Therefore, if we get an answer close to that, we know the generator is good.
*
* Now, since the area under the line should be equal to the area above the line.
* Therefore, the ratio of the two areas should be equal. This way, we can avoid
* computing total to figure out the areas.
*
* I have set the bounds on the test to be 80% and 120%. Meaning that I will
* consider the test valid and unbiased if the number of random elements that
* fall under (inside) of the line and the number that fall outside of the line
* are at most 20% apart.
*
* Since testing randomness is not reliable or repeatable, I will only fail the
* test in two different scenarios. The first is if after the iterations the
* outside or the inside is 0. The chances of that happening are so low that
* if it happens, it's relatively safe to assume that something bad happened. The
* second scenario happens when the ratio is outside of the 20% tolerance. If
* that happens, I will re-run the entire test. If that test is outside of the 20%
* tolerance, then the test will fail
*
*
* @dataProvider provideGenerators
*/
public function testGenerate(\RandomLib\Generator $generator, $times)
{
$ratio = $this->doTestGenerate($generator, $times);
if ($ratio < 0.8 || $ratio > 1.2) {
$ratio2 = $this->doTestGenerate($generator, $times);
if ($ratio2 > 1.2 || $ratio2 < 0.8) {
$this->fail(
sprintf(
'The test failed multiple runs with final ratios %f and %f',
$ratio,
$ratio2
)
);
}
}
/**
* This generator generates two bytes at a time, and uses each 8 bit segment of
* the generated byte as a coordinate on a grid (so 01011010 would be the
* coordinate (0101, 1010) or (5, 10). These are used as inputs to a MonteCarlo
* algorithm for the integral of y=x over a 15x15 grid. The expected answer is
* 1/2 * 15 * 15 (or 1/2 * base * height, since the result is a triangle).
* Therefore, if we get an answer close to that, we know the generator is good.
*
* Now, since the area under the line should be equal to the area above the line.
* Therefore, the ratio of the two areas should be equal. This way, we can avoid
* computing total to figure out the areas.
*
* I have set the bounds on the test to be 80% and 120%. Meaning that I will
* consider the test valid and unbiased if the number of random elements that
* fall under (inside) of the line and the number that fall outside of the line
* are at most 20% apart.
*
* Since testing randomness is not reliable or repeatable, I will only fail the
* test in two different scenarios. The first is if after the iterations the
* outside or the inside is 0. The chances of that happening are so low that
* if it happens, it's relatively safe to assume that something bad happened. The
* second scenario happens when the ratio is outside of the 20% tolerance. If
* that happens, I will re-run the entire test. If that test is outside of the 20%
* tolerance, then the test will fail
*
*
* @dataProvider provideGenerators
*/
public function testGenerate(\RandomLib\Generator $generator, $times)
{
$ratio = $this->doTestGenerate($generator, $times);
if ($ratio < 0.8 || $ratio > 1.2) {
$ratio2 = $this->doTestGenerate($generator, $times);
if ($ratio2 > 1.2 || $ratio2 < 0.8) {
$this->fail(\sprintf('The test failed multiple runs with final ratios %f and %f', $ratio, $ratio2));
}
}
protected function doTestGenerate(\RandomLib\Generator $generator, $times)
{
$inside = 0;
$outside = 0;
$on = 0;
for ($i = 0; $i < $times; $i++) {
$byte = $generator->generate(2);
$byte = unpack('n', $byte);
$byte = array_shift($byte);
$xCoord = ($byte >> 8);
$yCoord = ($byte & 0xFF);
if ($xCoord < $yCoord) {
$outside++;
} elseif ($xCoord == $yCoord) {
$on++;
} else {
$inside++;
}
}
protected function doTestGenerate(\RandomLib\Generator $generator, $times)
{
$inside = 0;
$outside = 0;
$on = 0;
for ($i = 0; $i < $times; $i++) {
$byte = $generator->generate(2);
$byte = \unpack('n', $byte);
$byte = \array_shift($byte);
$xCoord = $byte >> 8;
$yCoord = $byte & 0xff;
if ($xCoord < $yCoord) {
$outside++;
} elseif ($xCoord == $yCoord) {
$on++;
} else {
$inside++;
}
}
$this->assertGreaterThan(0, $outside, 'Outside Is 0');
$this->assertGreaterThan(0, $inside, 'Inside Is 0');
$ratio = $inside / $outside;
return $ratio;
}
public function getGenerator($random)
{
$source1 = new Source(array('generate' => function ($size) use (&$random) {
$ret = \pack('N', $random);
$this->assertGreaterThan(0, $outside, 'Outside Is 0');
$this->assertGreaterThan(0, $inside, 'Inside Is 0');
$ratio = $inside / $outside;
return $ratio;
}
public function getGenerator($random)
{
$source1 = new Source(array(
'generate' => function ($size) use (&$random) {
$ret = pack('N', $random);
$random--;
return \substr($ret, -1 * $size);
}));
$sources = array($source1);
$mixer = new Mixer(array('mix' => function (array $sources) {
return substr($ret, -1 * $size);
},
));
$sources = array($source1);
$mixer = new Mixer(array(
'mix'=> function (array $sources) {
if (empty($sources)) {
return '';
}
return \array_pop($sources);
}));
return new Generator($sources, $mixer);
}
return array_pop($sources);
},
));
return new Generator($sources, $mixer);
}
}

View File

@@ -8,6 +8,7 @@
* @license http://www.opensource.org/licenses/mit-license.html MIT License
* @version Build @@version@@
*/
/**
* Bootstrap the library. This registers a simple autoloader for autoloading
* classes
@@ -28,6 +29,7 @@
namespace RandomLibTest;
ini_set('memory_limit', '1G');
/**
* The simple autoloader for the PasswordLibTest libraries.
*
@@ -50,5 +52,7 @@ spl_autoload_register(function ($class) {
require $path;
}
});
define('PATH_ROOT', dirname(__DIR__));
require_once dirname(__DIR__) . '/vendor/autoload.php';

View File

@@ -1,34 +1,34 @@
{
"name": "paragonie\/random_compat",
"description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
"keywords": [
"csprng",
"random",
"polyfill",
"pseudorandom"
],
"license": "MIT",
"type": "library",
"authors": [
{
"name": "Paragon Initiative Enterprises",
"email": "security@paragonie.com",
"homepage": "https:\/\/paragonie.com"
}
],
"support": {
"issues": "https:\/\/github.com\/paragonie\/random_compat\/issues",
"email": "info@paragonie.com",
"source": "https:\/\/github.com\/paragonie\/random_compat"
},
"require": {
"php": ">= 7"
},
"require-dev": {
"vimeo\/psalm": "^1",
"phpunit\/phpunit": "4.*|5.*"
},
"suggest": {
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
"name": "paragonie/random_compat",
"description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
"keywords": [
"csprng",
"random",
"polyfill",
"pseudorandom"
],
"license": "MIT",
"type": "library",
"authors": [
{
"name": "Paragon Initiative Enterprises",
"email": "security@paragonie.com",
"homepage": "https://paragonie.com"
}
}
],
"support": {
"issues": "https://github.com/paragonie/random_compat/issues",
"email": "info@paragonie.com",
"source": "https://github.com/paragonie/random_compat"
},
"require": {
"php": ">= 7"
},
"require-dev": {
"vimeo/psalm": "^1",
"phpunit/phpunit": "4.*|5.*"
},
"suggest": {
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
}
}

View File

@@ -1,33 +1,32 @@
<?php
/**
* Random_* Compatibility Library
* for using the new PHP 7 random_* API in PHP 5 projects
*
* @version 2.99.99
* @released 2018-06-06
*
* The MIT License (MIT)
*
* Copyright (c) 2015 - 2018 Paragon Initiative Enterprises
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
/**
* Random_* Compatibility Library
* for using the new PHP 7 random_* API in PHP 5 projects
*
* @version 2.99.99
* @released 2018-06-06
*
* The MIT License (MIT)
*
* Copyright (c) 2015 - 2018 Paragon Initiative Enterprises
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
// NOP
// NOP

View File

@@ -1,43 +1,57 @@
<?php
$dist = dirname(__DIR__).'/dist';
if (!is_dir($dist)) {
mkdir($dist, 0755);
}
if (file_exists($dist.'/random_compat.phar')) {
unlink($dist.'/random_compat.phar');
}
$phar = new Phar(
$dist.'/random_compat.phar',
FilesystemIterator::CURRENT_AS_FILEINFO | \FilesystemIterator::KEY_AS_FILENAME,
'random_compat.phar'
);
rename(
dirname(__DIR__).'/lib/random.php',
dirname(__DIR__).'/lib/index.php'
);
$phar->buildFromDirectory(dirname(__DIR__).'/lib');
rename(
dirname(__DIR__).'/lib/index.php',
dirname(__DIR__).'/lib/random.php'
);
$dist = \dirname(__DIR__) . '/dist';
if (!\is_dir($dist)) {
\mkdir($dist, 0755);
/**
* If we pass an (optional) path to a private key as a second argument, we will
* sign the Phar with OpenSSL.
*
* If you leave this out, it will produce an unsigned .phar!
*/
if ($argc > 1) {
if (!@is_readable($argv[1])) {
echo 'Could not read the private key file:', $argv[1], "\n";
exit(255);
}
if (\file_exists($dist . '/random_compat.phar')) {
\unlink($dist . '/random_compat.phar');
}
$phar = new \Phar($dist . '/random_compat.phar', \FilesystemIterator::CURRENT_AS_FILEINFO | \FilesystemIterator::KEY_AS_FILENAME, 'random_compat.phar');
\rename(\dirname(__DIR__) . '/lib/random.php', \dirname(__DIR__) . '/lib/index.php');
$phar->buildFromDirectory(\dirname(__DIR__) . '/lib');
\rename(\dirname(__DIR__) . '/lib/index.php', \dirname(__DIR__) . '/lib/random.php');
/**
* If we pass an (optional) path to a private key as a second argument, we will
* sign the Phar with OpenSSL.
*
* If you leave this out, it will produce an unsigned .phar!
*/
if ($argc > 1) {
if (!@\is_readable($argv[1])) {
echo 'Could not read the private key file:', $argv[1], "\n";
exit(255);
}
$pkeyFile = \file_get_contents($argv[1]);
$private = \openssl_get_privatekey($pkeyFile);
if ($private !== \false) {
$pkey = '';
\openssl_pkey_export($private, $pkey);
$phar->setSignatureAlgorithm(\Phar::OPENSSL, $pkey);
/**
* Save the corresponding public key to the file
*/
if (!@\is_readable($dist . '/random_compat.phar.pubkey')) {
$details = \openssl_pkey_get_details($private);
\file_put_contents($dist . '/random_compat.phar.pubkey', $details['key']);
}
} else {
echo 'An error occurred reading the private key from OpenSSL.', "\n";
exit(255);
$pkeyFile = file_get_contents($argv[1]);
$private = openssl_get_privatekey($pkeyFile);
if ($private !== false) {
$pkey = '';
openssl_pkey_export($private, $pkey);
$phar->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
/**
* Save the corresponding public key to the file
*/
if (!@is_readable($dist.'/random_compat.phar.pubkey')) {
$details = openssl_pkey_get_details($private);
file_put_contents(
$dist.'/random_compat.phar.pubkey',
$details['key']
);
}
} else {
echo 'An error occurred reading the private key from OpenSSL.', "\n";
exit(255);
}
}

View File

@@ -1,9 +1,9 @@
<?php
require_once 'lib/byte_safe_strings.php';
require_once 'lib/cast_to_int.php';
require_once 'lib/error_polyfill.php';
require_once 'other/ide_stubs/libsodium.php';
require_once 'lib/random.php';
require_once 'lib/byte_safe_strings.php';
require_once 'lib/cast_to_int.php';
require_once 'lib/error_polyfill.php';
require_once 'other/ide_stubs/libsodium.php';
require_once 'lib/random.php';
$int = \random_int(0, 65536);
$int = random_int(0, 65536);

View File

@@ -1,30 +1,31 @@
<?php
/*
This file should only ever be loaded on PHP 7+
*/
if (PHP_VERSION_ID < 70000) {
return;
}
/*
This file should only ever be loaded on PHP 7+
*/
if (\PHP_VERSION_ID < 70000) {
return;
spl_autoload_register(function ($class) {
$namespace = 'ParagonIE_Sodium_';
// Does the class use the namespace prefix?
$len = strlen($namespace);
if (strncmp($namespace, $class, $len) !== 0) {
// no, move to the next registered autoloader
return false;
}
\spl_autoload_register(function ($class) {
$namespace = 'ParagonIE_Sodium_';
// Does the class use the namespace prefix?
$len = \strlen($namespace);
if (\strncmp($namespace, $class, $len) !== 0) {
// no, move to the next registered autoloader
return \false;
}
// Get the relative class name
$relative_class = \substr($class, $len);
// Replace the namespace prefix with the base directory, replace namespace
// separators with directory separators in the relative class name, append
// with .php
$file = \dirname(__FILE__) . '/src/' . \str_replace('_', '/', $relative_class) . '.php';
// if the file exists, require it
if (\file_exists($file)) {
require_once $file;
return \true;
}
return \false;
});
// Get the relative class name
$relative_class = substr($class, $len);
// Replace the namespace prefix with the base directory, replace namespace
// separators with directory separators in the relative class name, append
// with .php
$file = dirname(__FILE__) . '/src/' . str_replace('_', '/', $relative_class) . '.php';
// if the file exists, require it
if (file_exists($file)) {
require_once $file;
return true;
}
return false;
});

View File

@@ -1,68 +1,66 @@
{
"name": "paragonie\/sodium_compat",
"description": "Pure PHP implementation of libsodium; uses the PHP extension if it exists",
"keywords": [
"PHP",
"cryptography",
"elliptic curve",
"elliptic curve cryptography",
"Pure-PHP cryptography",
"side-channel resistant",
"Curve25519",
"X25519",
"ECDH",
"Elliptic Curve Diffie-Hellman",
"Ed25519",
"RFC 7748",
"RFC 8032",
"EdDSA",
"Edwards-curve Digital Signature Algorithm",
"ChaCha20",
"Salsa20",
"Xchacha20",
"Xsalsa20",
"Poly1305",
"BLAKE2b",
"public-key cryptography",
"secret-key cryptography",
"AEAD",
"Chapoly",
"Salpoly",
"ChaCha20-Poly1305",
"XSalsa20-Poly1305",
"XChaCha20-Poly1305",
"encryption",
"authentication",
"libsodium"
],
"license": "ISC",
"authors": [
{
"name": "Paragon Initiative Enterprises",
"email": "security@paragonie.com"
},
{
"name": "Frank Denis",
"email": "jedisct1@pureftpd.org"
}
],
"autoload": {
"files": [
"autoload.php"
]
"name": "paragonie/sodium_compat",
"description": "Pure PHP implementation of libsodium; uses the PHP extension if it exists",
"keywords": [
"PHP",
"cryptography",
"elliptic curve",
"elliptic curve cryptography",
"Pure-PHP cryptography",
"side-channel resistant",
"Curve25519",
"X25519",
"ECDH",
"Elliptic Curve Diffie-Hellman",
"Ed25519",
"RFC 7748",
"RFC 8032",
"EdDSA",
"Edwards-curve Digital Signature Algorithm",
"ChaCha20",
"Salsa20",
"Xchacha20",
"Xsalsa20",
"Poly1305",
"BLAKE2b",
"public-key cryptography",
"secret-key cryptography",
"AEAD",
"Chapoly",
"Salpoly",
"ChaCha20-Poly1305",
"XSalsa20-Poly1305",
"XChaCha20-Poly1305",
"encryption",
"authentication",
"libsodium"
],
"license": "ISC",
"authors": [
{
"name": "Paragon Initiative Enterprises",
"email": "security@paragonie.com"
},
"require": {
"php": "^5.2.4|^5.3|^5.4|^5.5|^5.6|^7|^8",
"paragonie\/random_compat": ">=1"
},
"require-dev": {
"phpunit\/phpunit": "^3|^4|^5|^6|^7|^8|^9"
},
"scripts": {
"test": "phpunit"
},
"suggest": {
"ext-libsodium": "PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.",
"ext-sodium": "PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security."
{
"name": "Frank Denis",
"email": "jedisct1@pureftpd.org"
}
}
],
"autoload": {
"files": ["autoload.php"]
},
"require": {
"php": "^5.2.4|^5.3|^5.4|^5.5|^5.6|^7|^8",
"paragonie/random_compat": ">=1"
},
"require-dev": {
"phpunit/phpunit": "^3|^4|^5|^6|^7|^8|^9"
},
"scripts": {
"test": "phpunit"
},
"suggest": {
"ext-libsodium": "PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.",
"ext-sodium": "PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security."
}
}

View File

@@ -1,9 +1,10 @@
<?php
namespace Sodium;
require_once dirname(dirname(__FILE__)) . '/autoload.php';
use ParagonIE_Sodium_Compat;
const CRYPTO_AEAD_AES256GCM_KEYBYTES = ParagonIE_Sodium_Compat::CRYPTO_AEAD_AES256GCM_KEYBYTES;
const CRYPTO_AEAD_AES256GCM_NSECBYTES = ParagonIE_Sodium_Compat::CRYPTO_AEAD_AES256GCM_NSECBYTES;
const CRYPTO_AEAD_AES256GCM_NPUBBYTES = ParagonIE_Sodium_Compat::CRYPTO_AEAD_AES256GCM_NPUBBYTES;

View File

@@ -1,45 +1,48 @@
<?php
require_once dirname(dirname(__FILE__)) . '/autoload.php';
require_once \dirname(\dirname(__FILE__)) . '/autoload.php';
if (\PHP_VERSION_ID < 50300) {
return;
if (PHP_VERSION_ID < 50300) {
return;
}
/*
* This file is just for convenience, to allow developers to reduce verbosity when
* they add this project to their libraries.
*
* Replace this:
*
* $x = ParagonIE_Sodium_Compat::crypto_aead_xchacha20poly1305_encrypt(...$args);
*
* with this:
*
* use ParagonIE\Sodium\Compat;
*
* $x = Compat::crypto_aead_xchacha20poly1305_encrypt(...$args);
*/
spl_autoload_register(function ($class) {
if ($class[0] === '\\') {
$class = substr($class, 1);
}
/*
* This file is just for convenience, to allow developers to reduce verbosity when
* they add this project to their libraries.
*
* Replace this:
*
* $x = ParagonIE_Sodium_Compat::crypto_aead_xchacha20poly1305_encrypt(...$args);
*
* with this:
*
* use ParagonIE\Sodium\Compat;
*
* $x = Compat::crypto_aead_xchacha20poly1305_encrypt(...$args);
*/
\spl_autoload_register(function ($class) {
if ($class[0] === '\\') {
$class = \substr($class, 1);
}
$namespace = 'ParagonIE\Sodium';
// Does the class use the namespace prefix?
$len = \strlen($namespace);
if (\strncmp($namespace, $class, $len) !== 0) {
// no, move to the next registered autoloader
return \false;
}
// Get the relative class name
$relative_class = \substr($class, $len);
// Replace the namespace prefix with the base directory, replace namespace
// separators with directory separators in the relative class name, append
// with .php
$file = \dirname(\dirname(__FILE__)) . '/namespaced/' . \str_replace('\\', '/', $relative_class) . '.php';
// if the file exists, require it
if (\file_exists($file)) {
require_once $file;
return \true;
}
return \false;
});
$namespace = 'ParagonIE\\Sodium';
// Does the class use the namespace prefix?
$len = strlen($namespace);
if (strncmp($namespace, $class, $len) !== 0) {
// no, move to the next registered autoloader
return false;
}
// Get the relative class name
$relative_class = substr($class, $len);
// Replace the namespace prefix with the base directory, replace namespace
// separators with directory separators in the relative class name, append
// with .php
$file = dirname(dirname(__FILE__)) . '/namespaced/' . str_replace('\\', '/', $relative_class) . '.php';
// if the file exists, require it
if (file_exists($file)) {
require_once $file;
return true;
}
return false;
});

File diff suppressed because it is too large Load Diff

View File

@@ -1,92 +1,92 @@
<?php
const SODIUM_LIBRARY_MAJOR_VERSION = 9;
const SODIUM_LIBRARY_MINOR_VERSION = 1;
const SODIUM_LIBRARY_VERSION = '1.0.8';
const SODIUM_LIBRARY_MAJOR_VERSION = 9;
const SODIUM_LIBRARY_MINOR_VERSION = 1;
const SODIUM_LIBRARY_VERSION = '1.0.8';
const SODIUM_BASE64_VARIANT_ORIGINAL = 1;
const SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING = 3;
const SODIUM_BASE64_VARIANT_URLSAFE = 5;
const SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING = 7;
const SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES = 32;
const SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES = 0;
const SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES = 12;
const SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES = 16;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES = 32;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES = 0;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES = 8;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES = 16;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES = 32;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES = 0;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES = 12;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES = 16;
const SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_KEYBYTES = 32;
const SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NSECBYTES = 0;
const SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES = 24;
const SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_ABYTES = 16;
const SODIUM_CRYPTO_AUTH_BYTES = 32;
const SODIUM_CRYPTO_AUTH_KEYBYTES = 32;
const SODIUM_CRYPTO_BOX_SEALBYTES = 16;
const SODIUM_CRYPTO_BOX_SECRETKEYBYTES = 32;
const SODIUM_CRYPTO_BOX_PUBLICKEYBYTES = 32;
const SODIUM_CRYPTO_BOX_KEYPAIRBYTES = 64;
const SODIUM_CRYPTO_BOX_MACBYTES = 16;
const SODIUM_CRYPTO_BOX_NONCEBYTES = 24;
const SODIUM_CRYPTO_BOX_SEEDBYTES = 32;
const SODIUM_CRYPTO_KDF_BYTES_MIN = 16;
const SODIUM_CRYPTO_KDF_BYTES_MAX = 64;
const SODIUM_CRYPTO_KDF_CONTEXTBYTES = 8;
const SODIUM_CRYPTO_KDF_KEYBYTES = 32;
const SODIUM_CRYPTO_KX_BYTES = 32;
const SODIUM_CRYPTO_KX_PRIMITIVE = 'x25519blake2b';
const SODIUM_CRYPTO_KX_SEEDBYTES = 32;
const SODIUM_CRYPTO_KX_KEYPAIRBYTES = 64;
const SODIUM_CRYPTO_KX_PUBLICKEYBYTES = 32;
const SODIUM_CRYPTO_KX_SECRETKEYBYTES = 32;
const SODIUM_CRYPTO_KX_SESSIONKEYBYTES = 32;
const SODIUM_CRYPTO_GENERICHASH_BYTES = 32;
const SODIUM_CRYPTO_GENERICHASH_BYTES_MIN = 16;
const SODIUM_CRYPTO_GENERICHASH_BYTES_MAX = 64;
const SODIUM_CRYPTO_GENERICHASH_KEYBYTES = 32;
const SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN = 16;
const SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX = 64;
const SODIUM_CRYPTO_PWHASH_SALTBYTES = 16;
const SODIUM_CRYPTO_PWHASH_STRPREFIX = '$argon2id$';
const SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13 = 1;
const SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13 = 2;
const SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE = 33554432;
const SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE = 4;
const SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE = 134217728;
const SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE = 6;
const SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE = 536870912;
const SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE = 8;
const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES = 32;
const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX = '$7$';
const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE = 534288;
const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE = 16777216;
const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE = 33554432;
const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE = 1073741824;
const SODIUM_CRYPTO_SCALARMULT_BYTES = 32;
const SODIUM_CRYPTO_SCALARMULT_SCALARBYTES = 32;
const SODIUM_CRYPTO_SHORTHASH_BYTES = 8;
const SODIUM_CRYPTO_SHORTHASH_KEYBYTES = 16;
const SODIUM_CRYPTO_SECRETBOX_KEYBYTES = 32;
const SODIUM_CRYPTO_SECRETBOX_MACBYTES = 16;
const SODIUM_CRYPTO_SECRETBOX_NONCEBYTES = 24;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES = 17;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES = 24;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_KEYBYTES = 32;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH = 0;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PULL = 1;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY = 2;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL = 3;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_MESSAGEBYTES_MAX = 0x3fffffff80;
const SODIUM_CRYPTO_SIGN_BYTES = 64;
const SODIUM_CRYPTO_SIGN_SEEDBYTES = 32;
const SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES = 32;
const SODIUM_CRYPTO_SIGN_SECRETKEYBYTES = 64;
const SODIUM_CRYPTO_SIGN_KEYPAIRBYTES = 96;
const SODIUM_CRYPTO_STREAM_KEYBYTES = 32;
const SODIUM_CRYPTO_STREAM_NONCEBYTES = 24;
const SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES = 32;
const SODIUM_CRYPTO_STREAM_XCHACHA20_NONCEBYTES = 24;
const SODIUM_BASE64_VARIANT_ORIGINAL = 1;
const SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING = 3;
const SODIUM_BASE64_VARIANT_URLSAFE = 5;
const SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING = 7;
const SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES = 32;
const SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES = 0;
const SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES = 12;
const SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES = 16;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES = 32;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES = 0;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES = 8;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES = 16;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES = 32;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES = 0;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES = 12;
const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES = 16;
const SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_KEYBYTES = 32;
const SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NSECBYTES = 0;
const SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES = 24;
const SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_ABYTES = 16;
const SODIUM_CRYPTO_AUTH_BYTES = 32;
const SODIUM_CRYPTO_AUTH_KEYBYTES = 32;
const SODIUM_CRYPTO_BOX_SEALBYTES = 16;
const SODIUM_CRYPTO_BOX_SECRETKEYBYTES = 32;
const SODIUM_CRYPTO_BOX_PUBLICKEYBYTES = 32;
const SODIUM_CRYPTO_BOX_KEYPAIRBYTES = 64;
const SODIUM_CRYPTO_BOX_MACBYTES = 16;
const SODIUM_CRYPTO_BOX_NONCEBYTES = 24;
const SODIUM_CRYPTO_BOX_SEEDBYTES = 32;
const SODIUM_CRYPTO_KDF_BYTES_MIN = 16;
const SODIUM_CRYPTO_KDF_BYTES_MAX = 64;
const SODIUM_CRYPTO_KDF_CONTEXTBYTES = 8;
const SODIUM_CRYPTO_KDF_KEYBYTES = 32;
const SODIUM_CRYPTO_KX_BYTES = 32;
const SODIUM_CRYPTO_KX_PRIMITIVE = 'x25519blake2b';
const SODIUM_CRYPTO_KX_SEEDBYTES = 32;
const SODIUM_CRYPTO_KX_KEYPAIRBYTES = 64;
const SODIUM_CRYPTO_KX_PUBLICKEYBYTES = 32;
const SODIUM_CRYPTO_KX_SECRETKEYBYTES = 32;
const SODIUM_CRYPTO_KX_SESSIONKEYBYTES = 32;
const SODIUM_CRYPTO_GENERICHASH_BYTES = 32;
const SODIUM_CRYPTO_GENERICHASH_BYTES_MIN = 16;
const SODIUM_CRYPTO_GENERICHASH_BYTES_MAX = 64;
const SODIUM_CRYPTO_GENERICHASH_KEYBYTES = 32;
const SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN = 16;
const SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX = 64;
const SODIUM_CRYPTO_PWHASH_SALTBYTES = 16;
const SODIUM_CRYPTO_PWHASH_STRPREFIX = '$argon2id$';
const SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13 = 1;
const SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13 = 2;
const SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE = 33554432;
const SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE = 4;
const SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE = 134217728;
const SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE = 6;
const SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE = 536870912;
const SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE = 8;
const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES = 32;
const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX = '$7$';
const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE = 534288;
const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE = 16777216;
const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE = 33554432;
const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE = 1073741824;
const SODIUM_CRYPTO_SCALARMULT_BYTES = 32;
const SODIUM_CRYPTO_SCALARMULT_SCALARBYTES = 32;
const SODIUM_CRYPTO_SHORTHASH_BYTES = 8;
const SODIUM_CRYPTO_SHORTHASH_KEYBYTES = 16;
const SODIUM_CRYPTO_SECRETBOX_KEYBYTES = 32;
const SODIUM_CRYPTO_SECRETBOX_MACBYTES = 16;
const SODIUM_CRYPTO_SECRETBOX_NONCEBYTES = 24;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES = 17;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES = 24;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_KEYBYTES = 32;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH = 0;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PULL = 1;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY = 2;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL = 3;
const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_MESSAGEBYTES_MAX = 0x3fffffff80;
const SODIUM_CRYPTO_SIGN_BYTES = 64;
const SODIUM_CRYPTO_SIGN_SEEDBYTES = 32;
const SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES = 32;
const SODIUM_CRYPTO_SIGN_SECRETKEYBYTES = 64;
const SODIUM_CRYPTO_SIGN_KEYPAIRBYTES = 96;
const SODIUM_CRYPTO_STREAM_KEYBYTES = 32;
const SODIUM_CRYPTO_STREAM_NONCEBYTES = 24;
const SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES = 32;
const SODIUM_CRYPTO_STREAM_XCHACHA20_NONCEBYTES = 24;

View File

@@ -1,104 +1,130 @@
<?php
require_once dirname(dirname(__FILE__)) . '/autoload.php';
require_once \dirname(\dirname(__FILE__)) . '/autoload.php';
/**
* This file will monkey patch the pure-PHP implementation in place of the
* PECL functions and constants, but only if they do not already exist.
*
* Thus, the functions or constants just proxy to the appropriate
* ParagonIE_Sodium_Compat method or class constant, respectively.
*/
foreach (array(
'CRYPTO_AEAD_AESGIS128L_KEYBYTES',
'CRYPTO_AEAD_AESGIS128L_NSECBYTES',
'CRYPTO_AEAD_AESGIS128L_NPUBBYTES',
'CRYPTO_AEAD_AESGIS128L_ABYTES',
'CRYPTO_AEAD_AESGIS256_KEYBYTES',
'CRYPTO_AEAD_AESGIS256_NSECBYTES',
'CRYPTO_AEAD_AESGIS256_NPUBBYTES',
'CRYPTO_AEAD_AESGIS256_ABYTES',
) as $constant
) {
if (!defined("SODIUM_$constant") && defined("ParagonIE_Sodium_Compat::$constant")) {
define("SODIUM_$constant", constant("ParagonIE_Sodium_Compat::$constant"));
}
}
if (!is_callable('sodium_crypto_aead_aegis128l_decrypt')) {
/**
* This file will monkey patch the pure-PHP implementation in place of the
* PECL functions and constants, but only if they do not already exist.
*
* Thus, the functions or constants just proxy to the appropriate
* ParagonIE_Sodium_Compat method or class constant, respectively.
* @see ParagonIE_Sodium_Compat::crypto_aead_aegis128l_decrypt()
* @param string $ciphertext
* @param string $additional_data
* @param string $nonce
* @param string $key
* @return string
* @throws SodiumException
*/
foreach (array('CRYPTO_AEAD_AESGIS128L_KEYBYTES', 'CRYPTO_AEAD_AESGIS128L_NSECBYTES', 'CRYPTO_AEAD_AESGIS128L_NPUBBYTES', 'CRYPTO_AEAD_AESGIS128L_ABYTES', 'CRYPTO_AEAD_AESGIS256_KEYBYTES', 'CRYPTO_AEAD_AESGIS256_NSECBYTES', 'CRYPTO_AEAD_AESGIS256_NPUBBYTES', 'CRYPTO_AEAD_AESGIS256_ABYTES') as $constant) {
if (!\defined("SODIUM_{$constant}") && \defined("ParagonIE_Sodium_Compat::{$constant}")) {
\define("SODIUM_{$constant}", \constant("ParagonIE_Sodium_Compat::{$constant}"));
}
}
if (!\is_callable('sodium_crypto_aead_aegis128l_decrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_aegis128l_decrypt()
* @param string $ciphertext
* @param string $additional_data
* @param string $nonce
* @param string $key
* @return string
* @throws SodiumException
*/
function sodium_crypto_aead_aegis128l_decrypt(
function sodium_crypto_aead_aegis128l_decrypt(
$ciphertext,
$additional_data,
$nonce,
#[\SensitiveParameter]
$key
) {
return ParagonIE_Sodium_Compat::crypto_aead_aegis128l_decrypt(
$ciphertext,
$additional_data,
$nonce,
#[\SensitiveParameter]
$key
)
{
return \ParagonIE_Sodium_Compat::crypto_aead_aegis128l_decrypt($ciphertext, $additional_data, $nonce, $key);
}
);
}
if (!\is_callable('sodium_crypto_aead_aegis128l_encrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_aegis128l_encrypt()
* @param string $message
* @param string $additional_data
* @param string $nonce
* @param string $key
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_aead_aegis128l_encrypt(
#[\SensitiveParameter]
}
if (!is_callable('sodium_crypto_aead_aegis128l_encrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_aegis128l_encrypt()
* @param string $message
* @param string $additional_data
* @param string $nonce
* @param string $key
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_aead_aegis128l_encrypt(
#[\SensitiveParameter]
$message,
$additional_data,
$nonce,
#[\SensitiveParameter]
$key
) {
return ParagonIE_Sodium_Compat::crypto_aead_aegis128l_encrypt(
$message,
$additional_data,
$nonce,
#[\SensitiveParameter]
$key
)
{
return \ParagonIE_Sodium_Compat::crypto_aead_aegis128l_encrypt($message, $additional_data, $nonce, $key);
}
);
}
if (!\is_callable('sodium_crypto_aead_aegis256_decrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_aegis256_encrypt()
* @param string $ciphertext
* @param string $additional_data
* @param string $nonce
* @param string $key
* @return string
* @throws SodiumException
*/
function sodium_crypto_aead_aegis256_decrypt(
}
if (!is_callable('sodium_crypto_aead_aegis256_decrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_aegis256_encrypt()
* @param string $ciphertext
* @param string $additional_data
* @param string $nonce
* @param string $key
* @return string
* @throws SodiumException
*/
function sodium_crypto_aead_aegis256_decrypt(
$ciphertext,
$additional_data,
$nonce,
#[\SensitiveParameter]
$key
) {
return ParagonIE_Sodium_Compat::crypto_aead_aegis256_decrypt(
$ciphertext,
$additional_data,
$nonce,
#[\SensitiveParameter]
$key
)
{
return \ParagonIE_Sodium_Compat::crypto_aead_aegis256_decrypt($ciphertext, $additional_data, $nonce, $key);
}
);
}
if (!\is_callable('sodium_crypto_aead_aegis256_encrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_aegis256_encrypt()
* @param string $message
* @param string $additional_data
* @param string $nonce
* @param string $key
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_aead_aegis256_encrypt(
#[\SensitiveParameter]
}
if (!is_callable('sodium_crypto_aead_aegis256_encrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_aegis256_encrypt()
* @param string $message
* @param string $additional_data
* @param string $nonce
* @param string $key
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_aead_aegis256_encrypt(
#[\SensitiveParameter]
$message,
$additional_data,
$nonce,
#[\SensitiveParameter]
$key
) {
return ParagonIE_Sodium_Compat::crypto_aead_aegis256_encrypt(
$message,
$additional_data,
$nonce,
#[\SensitiveParameter]
$key
)
{
return \ParagonIE_Sodium_Compat::crypto_aead_aegis256_encrypt($message, $additional_data, $nonce, $key);
}
);
}
}

View File

@@ -1,11 +1,10 @@
<?php
const SODIUM_CRYPTO_AEAD_AEGIS128L_KEYBYTES = 16;
const SODIUM_CRYPTO_AEAD_AEGIS128L_NSECBYTES = 0;
const SODIUM_CRYPTO_AEAD_AEGIS128L_NPUBBYTES = 32;
const SODIUM_CRYPTO_AEAD_AEGIS128L_ABYTES = 32;
const SODIUM_CRYPTO_AEAD_AEGIS128L_KEYBYTES = 16;
const SODIUM_CRYPTO_AEAD_AEGIS128L_NSECBYTES = 0;
const SODIUM_CRYPTO_AEAD_AEGIS128L_NPUBBYTES = 32;
const SODIUM_CRYPTO_AEAD_AEGIS128L_ABYTES = 32;
const SODIUM_CRYPTO_AEAD_AEGIS256_KEYBYTES = 32;
const SODIUM_CRYPTO_AEAD_AEGIS256_NSECBYTES = 0;
const SODIUM_CRYPTO_AEAD_AEGIS256_NPUBBYTES = 32;
const SODIUM_CRYPTO_AEAD_AEGIS256_ABYTES = 32;
const SODIUM_CRYPTO_AEAD_AEGIS256_KEYBYTES = 32;
const SODIUM_CRYPTO_AEAD_AEGIS256_NSECBYTES = 0;
const SODIUM_CRYPTO_AEAD_AEGIS256_NPUBBYTES = 32;
const SODIUM_CRYPTO_AEAD_AEGIS256_ABYTES = 32;

View File

@@ -1,272 +1,277 @@
<?php
if (!defined('SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES')) {
define(
'SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES',
ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_BYTES
);
define('SODIUM_COMPAT_POLYFILLED_RISTRETTO255', true);
}
if (!defined('SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES')) {
define(
'SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES',
ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_HASHBYTES
);
}
if (!defined('SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES')) {
define(
'SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES',
ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_SCALARBYTES
);
}
if (!defined('SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES')) {
define(
'SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES',
ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES
);
}
if (!defined('SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES')) {
define(
'SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES',
ParagonIE_Sodium_Compat::CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES
);
}
if (!defined('SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES')) {
define(
'SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES',
ParagonIE_Sodium_Compat::CRYPTO_SCALARMULT_RISTRETTO255_BYTES
);
}
if (!\defined('SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES')) {
\define('SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES', \ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_BYTES);
\define('SODIUM_COMPAT_POLYFILLED_RISTRETTO255', \true);
if (!is_callable('sodium_crypto_core_ristretto255_add')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_add()
*
* @param string $p
* @param string $q
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_add(
#[\SensitiveParameter]
$p,
#[\SensitiveParameter]
$q
) {
return ParagonIE_Sodium_Compat::ristretto255_add($p, $q, true);
}
if (!\defined('SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES')) {
\define('SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES', \ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_HASHBYTES);
}
if (!is_callable('sodium_crypto_core_ristretto255_from_hash')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_from_hash()
*
* @param string $s
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_from_hash(
#[\SensitiveParameter]
$s
) {
return ParagonIE_Sodium_Compat::ristretto255_from_hash($s, true);
}
if (!\defined('SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES')) {
\define('SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES', \ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_SCALARBYTES);
}
if (!is_callable('sodium_crypto_core_ristretto255_is_valid_point')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_is_valid_point()
*
* @param string $s
* @return bool
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_is_valid_point(
#[\SensitiveParameter]
$s
) {
return ParagonIE_Sodium_Compat::ristretto255_is_valid_point($s, true);
}
if (!\defined('SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES')) {
\define('SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES', \ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES);
}
if (!is_callable('sodium_crypto_core_ristretto255_random')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_random()
*
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_random()
{
return ParagonIE_Sodium_Compat::ristretto255_random(true);
}
if (!\defined('SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES')) {
\define('SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES', \ParagonIE_Sodium_Compat::CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES);
}
if (!is_callable('sodium_crypto_core_ristretto255_scalar_add')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_add()
*
* @param string $x
* @param string $y
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_add(
#[\SensitiveParameter]
$x,
#[\SensitiveParameter]
$y
) {
return ParagonIE_Sodium_Compat::ristretto255_scalar_add($x, $y, true);
}
if (!\defined('SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES')) {
\define('SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES', \ParagonIE_Sodium_Compat::CRYPTO_SCALARMULT_RISTRETTO255_BYTES);
}
if (!is_callable('sodium_crypto_core_ristretto255_scalar_complement')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_complement()
*
* @param string $s
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_complement(
#[\SensitiveParameter]
$s
) {
return ParagonIE_Sodium_Compat::ristretto255_scalar_complement($s, true);
}
if (!\is_callable('sodium_crypto_core_ristretto255_add')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_add()
*
* @param string $p
* @param string $q
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_add(
#[\SensitiveParameter]
$p,
#[\SensitiveParameter]
$q
)
{
return \ParagonIE_Sodium_Compat::ristretto255_add($p, $q, \true);
}
}
if (!is_callable('sodium_crypto_core_ristretto255_scalar_invert')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_invert()
*
* @param string $p
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_invert(
#[\SensitiveParameter]
$p
) {
return ParagonIE_Sodium_Compat::ristretto255_scalar_invert($p, true);
}
if (!\is_callable('sodium_crypto_core_ristretto255_from_hash')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_from_hash()
*
* @param string $s
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_from_hash(
#[\SensitiveParameter]
$s
)
{
return \ParagonIE_Sodium_Compat::ristretto255_from_hash($s, \true);
}
}
if (!is_callable('sodium_crypto_core_ristretto255_scalar_mul')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_mul()
*
* @param string $x
* @param string $y
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_mul(
#[\SensitiveParameter]
$x,
#[\SensitiveParameter]
$y
) {
return ParagonIE_Sodium_Compat::ristretto255_scalar_mul($x, $y, true);
}
if (!\is_callable('sodium_crypto_core_ristretto255_is_valid_point')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_is_valid_point()
*
* @param string $s
* @return bool
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_is_valid_point(
#[\SensitiveParameter]
$s
)
{
return \ParagonIE_Sodium_Compat::ristretto255_is_valid_point($s, \true);
}
}
if (!is_callable('sodium_crypto_core_ristretto255_scalar_negate')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_negate()
*
* @param string $s
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_negate(
#[\SensitiveParameter]
$s
) {
return ParagonIE_Sodium_Compat::ristretto255_scalar_negate($s, true);
}
if (!\is_callable('sodium_crypto_core_ristretto255_random')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_random()
*
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_random()
{
return \ParagonIE_Sodium_Compat::ristretto255_random(\true);
}
}
if (!is_callable('sodium_crypto_core_ristretto255_scalar_random')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_random()
*
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_random()
{
return ParagonIE_Sodium_Compat::ristretto255_scalar_random(true);
}
if (!\is_callable('sodium_crypto_core_ristretto255_scalar_add')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_add()
*
* @param string $x
* @param string $y
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_add(
#[\SensitiveParameter]
$x,
#[\SensitiveParameter]
$y
)
{
return \ParagonIE_Sodium_Compat::ristretto255_scalar_add($x, $y, \true);
}
}
if (!is_callable('sodium_crypto_core_ristretto255_scalar_reduce')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_reduce()
*
* @param string $s
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_reduce(
#[\SensitiveParameter]
$s
) {
return ParagonIE_Sodium_Compat::ristretto255_scalar_reduce($s, true);
}
if (!\is_callable('sodium_crypto_core_ristretto255_scalar_complement')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_complement()
*
* @param string $s
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_complement(
#[\SensitiveParameter]
$s
)
{
return \ParagonIE_Sodium_Compat::ristretto255_scalar_complement($s, \true);
}
}
if (!is_callable('sodium_crypto_core_ristretto255_scalar_sub')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_sub()
*
* @param string $x
* @param string $y
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_sub(
#[\SensitiveParameter]
$x,
#[\SensitiveParameter]
$y
) {
return ParagonIE_Sodium_Compat::ristretto255_scalar_sub($x, $y, true);
}
if (!\is_callable('sodium_crypto_core_ristretto255_scalar_invert')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_invert()
*
* @param string $p
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_invert(
#[\SensitiveParameter]
$p
)
{
return \ParagonIE_Sodium_Compat::ristretto255_scalar_invert($p, \true);
}
}
if (!is_callable('sodium_crypto_core_ristretto255_sub')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_sub()
*
* @param string $p
* @param string $q
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_sub(
#[\SensitiveParameter]
$p,
#[\SensitiveParameter]
$q
) {
return ParagonIE_Sodium_Compat::ristretto255_sub($p, $q, true);
}
if (!\is_callable('sodium_crypto_core_ristretto255_scalar_mul')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_mul()
*
* @param string $x
* @param string $y
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_mul(
#[\SensitiveParameter]
$x,
#[\SensitiveParameter]
$y
)
{
return \ParagonIE_Sodium_Compat::ristretto255_scalar_mul($x, $y, \true);
}
}
if (!is_callable('sodium_crypto_scalarmult_ristretto255')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_scalarmult_ristretto255()
* @param string $n
* @param string $p
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_scalarmult_ristretto255(
#[\SensitiveParameter]
$n,
#[\SensitiveParameter]
$p
) {
return ParagonIE_Sodium_Compat::scalarmult_ristretto255($n, $p, true);
}
if (!\is_callable('sodium_crypto_core_ristretto255_scalar_negate')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_negate()
*
* @param string $s
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_negate(
#[\SensitiveParameter]
$s
)
{
return \ParagonIE_Sodium_Compat::ristretto255_scalar_negate($s, \true);
}
}
if (!\is_callable('sodium_crypto_core_ristretto255_scalar_random')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_random()
*
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_random()
{
return \ParagonIE_Sodium_Compat::ristretto255_scalar_random(\true);
}
}
if (!\is_callable('sodium_crypto_core_ristretto255_scalar_reduce')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_reduce()
*
* @param string $s
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_reduce(
#[\SensitiveParameter]
$s
)
{
return \ParagonIE_Sodium_Compat::ristretto255_scalar_reduce($s, \true);
}
}
if (!\is_callable('sodium_crypto_core_ristretto255_scalar_sub')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_sub()
*
* @param string $x
* @param string $y
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_scalar_sub(
#[\SensitiveParameter]
$x,
#[\SensitiveParameter]
$y
)
{
return \ParagonIE_Sodium_Compat::ristretto255_scalar_sub($x, $y, \true);
}
}
if (!\is_callable('sodium_crypto_core_ristretto255_sub')) {
/**
* @see ParagonIE_Sodium_Compat::ristretto255_sub()
*
* @param string $p
* @param string $q
* @return string
* @throws SodiumException
*/
function sodium_crypto_core_ristretto255_sub(
#[\SensitiveParameter]
$p,
#[\SensitiveParameter]
$q
)
{
return \ParagonIE_Sodium_Compat::ristretto255_sub($p, $q, \true);
}
}
if (!\is_callable('sodium_crypto_scalarmult_ristretto255')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_scalarmult_ristretto255()
* @param string $n
* @param string $p
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_scalarmult_ristretto255(
#[\SensitiveParameter]
$n,
#[\SensitiveParameter]
$p
)
{
return \ParagonIE_Sodium_Compat::scalarmult_ristretto255($n, $p, \true);
}
}
if (!\is_callable('sodium_crypto_scalarmult_ristretto255_base')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_scalarmult_ristretto255_base()
* @param string $n
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_scalarmult_ristretto255_base(
#[\SensitiveParameter]
$n
)
{
return \ParagonIE_Sodium_Compat::scalarmult_ristretto255_base($n, \true);
}
}
if (!is_callable('sodium_crypto_scalarmult_ristretto255_base')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_scalarmult_ristretto255_base()
* @param string $n
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_scalarmult_ristretto255_base(
#[\SensitiveParameter]
$n
) {
return ParagonIE_Sodium_Compat::scalarmult_ristretto255_base($n, true);
}
}

View File

@@ -1,9 +1,10 @@
<?php
namespace Sodium;
require_once dirname(dirname(__FILE__)) . '/autoload.php';
use ParagonIE_Sodium_Compat;
/**
* This file will monkey patch the pure-PHP implementation in place of the
* PECL functions, but only if they do not already exist.
@@ -11,7 +12,7 @@ use ParagonIE_Sodium_Compat;
* Thus, the functions just proxy to the appropriate ParagonIE_Sodium_Compat
* method.
*/
if (!is_callable('\Sodium\bin2hex')) {
if (!is_callable('\\Sodium\\bin2hex')) {
/**
* @see ParagonIE_Sodium_Compat::bin2hex()
* @param string $string
@@ -22,12 +23,11 @@ if (!is_callable('\Sodium\bin2hex')) {
function bin2hex(
#[\SensitiveParameter]
$string
)
{
) {
return ParagonIE_Sodium_Compat::bin2hex($string);
}
}
if (!is_callable('\Sodium\compare')) {
if (!is_callable('\\Sodium\\compare')) {
/**
* @see ParagonIE_Sodium_Compat::compare()
* @param string $a
@@ -41,12 +41,11 @@ if (!is_callable('\Sodium\compare')) {
$a,
#[\SensitiveParameter]
$b
)
{
) {
return ParagonIE_Sodium_Compat::compare($a, $b);
}
}
if (!is_callable('\Sodium\crypto_aead_aes256gcm_decrypt')) {
if (!is_callable('\\Sodium\\crypto_aead_aes256gcm_decrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_aes256gcm_decrypt()
* @param string $message
@@ -61,18 +60,17 @@ if (!is_callable('\Sodium\crypto_aead_aes256gcm_decrypt')) {
$nonce,
#[\SensitiveParameter]
$key
)
{
) {
try {
return ParagonIE_Sodium_Compat::crypto_aead_aes256gcm_decrypt($message, $assocData, $nonce, $key);
} catch (\TypeError $ex) {
return \false;
return false;
} catch (\SodiumException $ex) {
return \false;
return false;
}
}
}
if (!is_callable('\Sodium\crypto_aead_aes256gcm_encrypt')) {
if (!is_callable('\\Sodium\\crypto_aead_aes256gcm_encrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_aes256gcm_encrypt()
* @param string $message
@@ -90,12 +88,11 @@ if (!is_callable('\Sodium\crypto_aead_aes256gcm_encrypt')) {
$nonce,
#[\SensitiveParameter]
$key
)
{
) {
return ParagonIE_Sodium_Compat::crypto_aead_aes256gcm_encrypt($message, $assocData, $nonce, $key);
}
}
if (!is_callable('\Sodium\crypto_aead_aes256gcm_is_available')) {
if (!is_callable('\\Sodium\\crypto_aead_aes256gcm_is_available')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_aes256gcm_is_available()
* @return bool
@@ -105,7 +102,7 @@ if (!is_callable('\Sodium\crypto_aead_aes256gcm_is_available')) {
return ParagonIE_Sodium_Compat::crypto_aead_aes256gcm_is_available();
}
}
if (!is_callable('\Sodium\crypto_aead_chacha20poly1305_decrypt')) {
if (!is_callable('\\Sodium\\crypto_aead_chacha20poly1305_decrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_chacha20poly1305_decrypt()
* @param string $message
@@ -120,18 +117,17 @@ if (!is_callable('\Sodium\crypto_aead_chacha20poly1305_decrypt')) {
$nonce,
#[\SensitiveParameter]
$key
)
{
) {
try {
return ParagonIE_Sodium_Compat::crypto_aead_chacha20poly1305_decrypt($message, $assocData, $nonce, $key);
} catch (\TypeError $ex) {
return \false;
return false;
} catch (\SodiumException $ex) {
return \false;
return false;
}
}
}
if (!is_callable('\Sodium\crypto_aead_chacha20poly1305_encrypt')) {
if (!is_callable('\\Sodium\\crypto_aead_chacha20poly1305_encrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_chacha20poly1305_encrypt()
* @param string $message
@@ -149,12 +145,11 @@ if (!is_callable('\Sodium\crypto_aead_chacha20poly1305_encrypt')) {
$nonce,
#[\SensitiveParameter]
$key
)
{
) {
return ParagonIE_Sodium_Compat::crypto_aead_chacha20poly1305_encrypt($message, $assocData, $nonce, $key);
}
}
if (!is_callable('\Sodium\crypto_aead_chacha20poly1305_ietf_decrypt')) {
if (!is_callable('\\Sodium\\crypto_aead_chacha20poly1305_ietf_decrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_chacha20poly1305_ietf_decrypt()
* @param string $message
@@ -169,18 +164,17 @@ if (!is_callable('\Sodium\crypto_aead_chacha20poly1305_ietf_decrypt')) {
$nonce,
#[\SensitiveParameter]
$key
)
{
) {
try {
return ParagonIE_Sodium_Compat::crypto_aead_chacha20poly1305_ietf_decrypt($message, $assocData, $nonce, $key);
} catch (\TypeError $ex) {
return \false;
return false;
} catch (\SodiumException $ex) {
return \false;
return false;
}
}
}
if (!is_callable('\Sodium\crypto_aead_chacha20poly1305_ietf_encrypt')) {
if (!is_callable('\\Sodium\\crypto_aead_chacha20poly1305_ietf_encrypt')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_aead_chacha20poly1305_ietf_encrypt()
* @param string $message
@@ -198,12 +192,11 @@ if (!is_callable('\Sodium\crypto_aead_chacha20poly1305_ietf_encrypt')) {
$nonce,
#[\SensitiveParameter]
$key
)
{
) {
return ParagonIE_Sodium_Compat::crypto_aead_chacha20poly1305_ietf_encrypt($message, $assocData, $nonce, $key);
}
}
if (!is_callable('\Sodium\crypto_auth')) {
if (!is_callable('\\Sodium\\crypto_auth')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_auth()
* @param string $message
@@ -216,12 +209,11 @@ if (!is_callable('\Sodium\crypto_auth')) {
$message,
#[\SensitiveParameter]
$key
)
{
) {
return ParagonIE_Sodium_Compat::crypto_auth($message, $key);
}
}
if (!is_callable('\Sodium\crypto_auth_verify')) {
if (!is_callable('\\Sodium\\crypto_auth_verify')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_auth_verify()
* @param string $mac
@@ -236,12 +228,11 @@ if (!is_callable('\Sodium\crypto_auth_verify')) {
$message,
#[\SensitiveParameter]
$key
)
{
) {
return ParagonIE_Sodium_Compat::crypto_auth_verify($mac, $message, $key);
}
}
if (!is_callable('\Sodium\crypto_box')) {
if (!is_callable('\\Sodium\\crypto_box')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_box()
* @param string $message
@@ -257,12 +248,11 @@ if (!is_callable('\Sodium\crypto_box')) {
$nonce,
#[\SensitiveParameter]
$kp
)
{
) {
return ParagonIE_Sodium_Compat::crypto_box($message, $nonce, $kp);
}
}
if (!is_callable('\Sodium\crypto_box_keypair')) {
if (!is_callable('\\Sodium\\crypto_box_keypair')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_box_keypair()
* @return string
@@ -274,7 +264,7 @@ if (!is_callable('\Sodium\crypto_box_keypair')) {
return ParagonIE_Sodium_Compat::crypto_box_keypair();
}
}
if (!is_callable('\Sodium\crypto_box_keypair_from_secretkey_and_publickey')) {
if (!is_callable('\\Sodium\\crypto_box_keypair_from_secretkey_and_publickey')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_box_keypair_from_secretkey_and_publickey()
* @param string $sk
@@ -287,12 +277,11 @@ if (!is_callable('\Sodium\crypto_box_keypair_from_secretkey_and_publickey')) {
#[\SensitiveParameter]
$sk,
$pk
)
{
) {
return ParagonIE_Sodium_Compat::crypto_box_keypair_from_secretkey_and_publickey($sk, $pk);
}
}
if (!is_callable('\Sodium\crypto_box_open')) {
if (!is_callable('\\Sodium\\crypto_box_open')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_box_open()
* @param string $message
@@ -306,18 +295,17 @@ if (!is_callable('\Sodium\crypto_box_open')) {
$nonce,
#[\SensitiveParameter]
$kp
)
{
) {
try {
return ParagonIE_Sodium_Compat::crypto_box_open($message, $nonce, $kp);
} catch (\TypeError $ex) {
return \false;
return false;
} catch (\SodiumException $ex) {
return \false;
return false;
}
}
}
if (!is_callable('\Sodium\crypto_box_publickey')) {
if (!is_callable('\\Sodium\\crypto_box_publickey')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_box_publickey()
* @param string $keypair
@@ -328,12 +316,11 @@ if (!is_callable('\Sodium\crypto_box_publickey')) {
function crypto_box_publickey(
#[\SensitiveParameter]
$keypair
)
{
) {
return ParagonIE_Sodium_Compat::crypto_box_publickey($keypair);
}
}
if (!is_callable('\Sodium\crypto_box_publickey_from_secretkey')) {
if (!is_callable('\\Sodium\\crypto_box_publickey_from_secretkey')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_box_publickey_from_secretkey()
* @param string $sk
@@ -344,12 +331,11 @@ if (!is_callable('\Sodium\crypto_box_publickey_from_secretkey')) {
function crypto_box_publickey_from_secretkey(
#[\SensitiveParameter]
$sk
)
{
) {
return ParagonIE_Sodium_Compat::crypto_box_publickey_from_secretkey($sk);
}
}
if (!is_callable('\Sodium\crypto_box_seal')) {
if (!is_callable('\\Sodium\\crypto_box_seal')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_box_seal_open()
* @param string $message
@@ -362,12 +348,11 @@ if (!is_callable('\Sodium\crypto_box_seal')) {
#[\SensitiveParameter]
$message,
$publicKey
)
{
) {
return ParagonIE_Sodium_Compat::crypto_box_seal($message, $publicKey);
}
}
if (!is_callable('\Sodium\crypto_box_seal_open')) {
if (!is_callable('\\Sodium\\crypto_box_seal_open')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_box_seal_open()
* @param string $message
@@ -378,18 +363,17 @@ if (!is_callable('\Sodium\crypto_box_seal_open')) {
$message,
#[\SensitiveParameter]
$kp
)
{
) {
try {
return ParagonIE_Sodium_Compat::crypto_box_seal_open($message, $kp);
} catch (\TypeError $ex) {
return \false;
return false;
} catch (\SodiumException $ex) {
return \false;
return false;
}
}
}
if (!is_callable('\Sodium\crypto_box_secretkey')) {
if (!is_callable('\\Sodium\\crypto_box_secretkey')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_box_secretkey()
* @param string $keypair
@@ -400,12 +384,11 @@ if (!is_callable('\Sodium\crypto_box_secretkey')) {
function crypto_box_secretkey(
#[\SensitiveParameter]
$keypair
)
{
) {
return ParagonIE_Sodium_Compat::crypto_box_secretkey($keypair);
}
}
if (!is_callable('\Sodium\crypto_generichash')) {
if (!is_callable('\\Sodium\\crypto_generichash')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_generichash()
* @param string $message
@@ -420,12 +403,11 @@ if (!is_callable('\Sodium\crypto_generichash')) {
#[\SensitiveParameter]
$key = null,
$outLen = 32
)
{
) {
return ParagonIE_Sodium_Compat::crypto_generichash($message, $key, $outLen);
}
}
if (!is_callable('\Sodium\crypto_generichash_final')) {
if (!is_callable('\\Sodium\\crypto_generichash_final')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_generichash_final()
* @param string|null $ctx
@@ -438,12 +420,11 @@ if (!is_callable('\Sodium\crypto_generichash_final')) {
#[\SensitiveParameter]
&$ctx,
$outputLength = 32
)
{
) {
return ParagonIE_Sodium_Compat::crypto_generichash_final($ctx, $outputLength);
}
}
if (!is_callable('\Sodium\crypto_generichash_init')) {
if (!is_callable('\\Sodium\\crypto_generichash_init')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_generichash_init()
* @param string|null $key
@@ -456,12 +437,11 @@ if (!is_callable('\Sodium\crypto_generichash_init')) {
#[\SensitiveParameter]
$key = null,
$outLen = 32
)
{
) {
return ParagonIE_Sodium_Compat::crypto_generichash_init($key, $outLen);
}
}
if (!is_callable('\Sodium\crypto_generichash_update')) {
if (!is_callable('\\Sodium\\crypto_generichash_update')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_generichash_update()
* @param string|null $ctx
@@ -474,12 +454,11 @@ if (!is_callable('\Sodium\crypto_generichash_update')) {
#[\SensitiveParameter]
&$ctx,
$message = ''
)
{
) {
ParagonIE_Sodium_Compat::crypto_generichash_update($ctx, $message);
}
}
if (!is_callable('\Sodium\crypto_kx')) {
if (!is_callable('\\Sodium\\crypto_kx')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_kx()
* @param string $my_secret
@@ -496,12 +475,17 @@ if (!is_callable('\Sodium\crypto_kx')) {
$their_public,
$client_public,
$server_public
)
{
return ParagonIE_Sodium_Compat::crypto_kx($my_secret, $their_public, $client_public, $server_public, \true);
) {
return ParagonIE_Sodium_Compat::crypto_kx(
$my_secret,
$their_public,
$client_public,
$server_public,
true
);
}
}
if (!is_callable('\Sodium\crypto_pwhash')) {
if (!is_callable('\\Sodium\\crypto_pwhash')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_pwhash()
* @param int $outlen
@@ -520,12 +504,11 @@ if (!is_callable('\Sodium\crypto_pwhash')) {
$salt,
$opslimit,
$memlimit
)
{
) {
return ParagonIE_Sodium_Compat::crypto_pwhash($outlen, $passwd, $salt, $opslimit, $memlimit);
}
}
if (!is_callable('\Sodium\crypto_pwhash_str')) {
if (!is_callable('\\Sodium\\crypto_pwhash_str')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_pwhash_str()
* @param string $passwd
@@ -540,12 +523,11 @@ if (!is_callable('\Sodium\crypto_pwhash_str')) {
$passwd,
$opslimit,
$memlimit
)
{
) {
return ParagonIE_Sodium_Compat::crypto_pwhash_str($passwd, $opslimit, $memlimit);
}
}
if (!is_callable('\Sodium\crypto_pwhash_str_verify')) {
if (!is_callable('\\Sodium\\crypto_pwhash_str_verify')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_pwhash_str_verify()
* @param string $passwd
@@ -559,12 +541,11 @@ if (!is_callable('\Sodium\crypto_pwhash_str_verify')) {
$passwd,
#[\SensitiveParameter]
$hash
)
{
) {
return ParagonIE_Sodium_Compat::crypto_pwhash_str_verify($passwd, $hash);
}
}
if (!is_callable('\Sodium\crypto_pwhash_scryptsalsa208sha256')) {
if (!is_callable('\\Sodium\\crypto_pwhash_scryptsalsa208sha256')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_pwhash_scryptsalsa208sha256()
* @param int $outlen
@@ -584,12 +565,11 @@ if (!is_callable('\Sodium\crypto_pwhash_scryptsalsa208sha256')) {
$salt,
$opslimit,
$memlimit
)
{
) {
return ParagonIE_Sodium_Compat::crypto_pwhash_scryptsalsa208sha256($outlen, $passwd, $salt, $opslimit, $memlimit);
}
}
if (!is_callable('\Sodium\crypto_pwhash_scryptsalsa208sha256_str')) {
if (!is_callable('\\Sodium\\crypto_pwhash_scryptsalsa208sha256_str')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_pwhash_scryptsalsa208sha256_str()
* @param string $passwd
@@ -604,12 +584,11 @@ if (!is_callable('\Sodium\crypto_pwhash_scryptsalsa208sha256_str')) {
$passwd,
$opslimit,
$memlimit
)
{
) {
return ParagonIE_Sodium_Compat::crypto_pwhash_scryptsalsa208sha256_str($passwd, $opslimit, $memlimit);
}
}
if (!is_callable('\Sodium\crypto_pwhash_scryptsalsa208sha256_str_verify')) {
if (!is_callable('\\Sodium\\crypto_pwhash_scryptsalsa208sha256_str_verify')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_pwhash_scryptsalsa208sha256_str_verify()
* @param string $passwd
@@ -623,12 +602,11 @@ if (!is_callable('\Sodium\crypto_pwhash_scryptsalsa208sha256_str_verify')) {
$passwd,
#[\SensitiveParameter]
$hash
)
{
) {
return ParagonIE_Sodium_Compat::crypto_pwhash_scryptsalsa208sha256_str_verify($passwd, $hash);
}
}
if (!is_callable('\Sodium\crypto_scalarmult')) {
if (!is_callable('\\Sodium\\crypto_scalarmult')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_scalarmult()
* @param string $n
@@ -641,12 +619,11 @@ if (!is_callable('\Sodium\crypto_scalarmult')) {
#[\SensitiveParameter]
$n,
$p
)
{
) {
return ParagonIE_Sodium_Compat::crypto_scalarmult($n, $p);
}
}
if (!is_callable('\Sodium\crypto_scalarmult_base')) {
if (!is_callable('\\Sodium\\crypto_scalarmult_base')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_scalarmult_base()
* @param string $n
@@ -657,12 +634,11 @@ if (!is_callable('\Sodium\crypto_scalarmult_base')) {
function crypto_scalarmult_base(
#[\SensitiveParameter]
$n
)
{
) {
return ParagonIE_Sodium_Compat::crypto_scalarmult_base($n);
}
}
if (!is_callable('\Sodium\crypto_secretbox')) {
if (!is_callable('\\Sodium\\crypto_secretbox')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_secretbox()
* @param string $message
@@ -678,12 +654,11 @@ if (!is_callable('\Sodium\crypto_secretbox')) {
$nonce,
#[\SensitiveParameter]
$key
)
{
) {
return ParagonIE_Sodium_Compat::crypto_secretbox($message, $nonce, $key);
}
}
if (!is_callable('\Sodium\crypto_secretbox_open')) {
if (!is_callable('\\Sodium\\crypto_secretbox_open')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_secretbox_open()
* @param string $message
@@ -696,18 +671,17 @@ if (!is_callable('\Sodium\crypto_secretbox_open')) {
$nonce,
#[\SensitiveParameter]
$key
)
{
) {
try {
return ParagonIE_Sodium_Compat::crypto_secretbox_open($message, $nonce, $key);
} catch (\TypeError $ex) {
return \false;
return false;
} catch (\SodiumException $ex) {
return \false;
return false;
}
}
}
if (!is_callable('\Sodium\crypto_shorthash')) {
if (!is_callable('\\Sodium\\crypto_shorthash')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_shorthash()
* @param string $message
@@ -720,12 +694,11 @@ if (!is_callable('\Sodium\crypto_shorthash')) {
$message,
#[\SensitiveParameter]
$key = ''
)
{
) {
return ParagonIE_Sodium_Compat::crypto_shorthash($message, $key);
}
}
if (!is_callable('\Sodium\crypto_sign')) {
if (!is_callable('\\Sodium\\crypto_sign')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_sign()
* @param string $message
@@ -738,12 +711,11 @@ if (!is_callable('\Sodium\crypto_sign')) {
$message,
#[\SensitiveParameter]
$sk
)
{
) {
return ParagonIE_Sodium_Compat::crypto_sign($message, $sk);
}
}
if (!is_callable('\Sodium\crypto_sign_detached')) {
if (!is_callable('\\Sodium\\crypto_sign_detached')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_sign_detached()
* @param string $message
@@ -756,12 +728,11 @@ if (!is_callable('\Sodium\crypto_sign_detached')) {
$message,
#[\SensitiveParameter]
$sk
)
{
) {
return ParagonIE_Sodium_Compat::crypto_sign_detached($message, $sk);
}
}
if (!is_callable('\Sodium\crypto_sign_keypair')) {
if (!is_callable('\\Sodium\\crypto_sign_keypair')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_sign_keypair()
* @return string
@@ -773,7 +744,7 @@ if (!is_callable('\Sodium\crypto_sign_keypair')) {
return ParagonIE_Sodium_Compat::crypto_sign_keypair();
}
}
if (!is_callable('\Sodium\crypto_sign_open')) {
if (!is_callable('\\Sodium\\crypto_sign_open')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_sign_open()
* @param string $signedMessage
@@ -785,13 +756,13 @@ if (!is_callable('\Sodium\crypto_sign_open')) {
try {
return ParagonIE_Sodium_Compat::crypto_sign_open($signedMessage, $pk);
} catch (\TypeError $ex) {
return \false;
return false;
} catch (\SodiumException $ex) {
return \false;
return false;
}
}
}
if (!is_callable('\Sodium\crypto_sign_publickey')) {
if (!is_callable('\\Sodium\\crypto_sign_publickey')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_sign_publickey()
* @param string $keypair
@@ -802,12 +773,11 @@ if (!is_callable('\Sodium\crypto_sign_publickey')) {
function crypto_sign_publickey(
#[\SensitiveParameter]
$keypair
)
{
) {
return ParagonIE_Sodium_Compat::crypto_sign_publickey($keypair);
}
}
if (!is_callable('\Sodium\crypto_sign_publickey_from_secretkey')) {
if (!is_callable('\\Sodium\\crypto_sign_publickey_from_secretkey')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_sign_publickey_from_secretkey()
* @param string $sk
@@ -818,12 +788,11 @@ if (!is_callable('\Sodium\crypto_sign_publickey_from_secretkey')) {
function crypto_sign_publickey_from_secretkey(
#[\SensitiveParameter]
$sk
)
{
) {
return ParagonIE_Sodium_Compat::crypto_sign_publickey_from_secretkey($sk);
}
}
if (!is_callable('\Sodium\crypto_sign_secretkey')) {
if (!is_callable('\\Sodium\\crypto_sign_secretkey')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_sign_secretkey()
* @param string $keypair
@@ -834,12 +803,11 @@ if (!is_callable('\Sodium\crypto_sign_secretkey')) {
function crypto_sign_secretkey(
#[\SensitiveParameter]
$keypair
)
{
) {
return ParagonIE_Sodium_Compat::crypto_sign_secretkey($keypair);
}
}
if (!is_callable('\Sodium\crypto_sign_seed_keypair')) {
if (!is_callable('\\Sodium\\crypto_sign_seed_keypair')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_sign_seed_keypair()
* @param string $seed
@@ -850,12 +818,11 @@ if (!is_callable('\Sodium\crypto_sign_seed_keypair')) {
function crypto_sign_seed_keypair(
#[\SensitiveParameter]
$seed
)
{
) {
return ParagonIE_Sodium_Compat::crypto_sign_seed_keypair($seed);
}
}
if (!is_callable('\Sodium\crypto_sign_verify_detached')) {
if (!is_callable('\\Sodium\\crypto_sign_verify_detached')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_sign_verify_detached()
* @param string $signature
@@ -870,7 +837,7 @@ if (!is_callable('\Sodium\crypto_sign_verify_detached')) {
return ParagonIE_Sodium_Compat::crypto_sign_verify_detached($signature, $message, $pk);
}
}
if (!is_callable('\Sodium\crypto_sign_ed25519_pk_to_curve25519')) {
if (!is_callable('\\Sodium\\crypto_sign_ed25519_pk_to_curve25519')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_sign_ed25519_pk_to_curve25519()
* @param string $pk
@@ -883,7 +850,7 @@ if (!is_callable('\Sodium\crypto_sign_ed25519_pk_to_curve25519')) {
return ParagonIE_Sodium_Compat::crypto_sign_ed25519_pk_to_curve25519($pk);
}
}
if (!is_callable('\Sodium\crypto_sign_ed25519_sk_to_curve25519')) {
if (!is_callable('\\Sodium\\crypto_sign_ed25519_sk_to_curve25519')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_sign_ed25519_sk_to_curve25519()
* @param string $sk
@@ -894,12 +861,11 @@ if (!is_callable('\Sodium\crypto_sign_ed25519_sk_to_curve25519')) {
function crypto_sign_ed25519_sk_to_curve25519(
#[\SensitiveParameter]
$sk
)
{
) {
return ParagonIE_Sodium_Compat::crypto_sign_ed25519_sk_to_curve25519($sk);
}
}
if (!is_callable('\Sodium\crypto_stream')) {
if (!is_callable('\\Sodium\\crypto_stream')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_stream()
* @param int $len
@@ -914,12 +880,11 @@ if (!is_callable('\Sodium\crypto_stream')) {
$nonce,
#[\SensitiveParameter]
$key
)
{
) {
return ParagonIE_Sodium_Compat::crypto_stream($len, $nonce, $key);
}
}
if (!is_callable('\Sodium\crypto_stream_xor')) {
if (!is_callable('\\Sodium\\crypto_stream_xor')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_stream_xor()
* @param string $message
@@ -935,12 +900,11 @@ if (!is_callable('\Sodium\crypto_stream_xor')) {
$nonce,
#[\SensitiveParameter]
$key
)
{
) {
return ParagonIE_Sodium_Compat::crypto_stream_xor($message, $nonce, $key);
}
}
if (!is_callable('\Sodium\hex2bin')) {
if (!is_callable('\\Sodium\\hex2bin')) {
/**
* @see ParagonIE_Sodium_Compat::hex2bin()
* @param string $string
@@ -951,12 +915,11 @@ if (!is_callable('\Sodium\hex2bin')) {
function hex2bin(
#[\SensitiveParameter]
$string
)
{
) {
return ParagonIE_Sodium_Compat::hex2bin($string);
}
}
if (!is_callable('\Sodium\memcmp')) {
if (!is_callable('\\Sodium\\memcmp')) {
/**
* @see ParagonIE_Sodium_Compat::memcmp()
* @param string $a
@@ -970,12 +933,11 @@ if (!is_callable('\Sodium\memcmp')) {
$a,
#[\SensitiveParameter]
$b
)
{
) {
return ParagonIE_Sodium_Compat::memcmp($a, $b);
}
}
if (!is_callable('\Sodium\memzero')) {
if (!is_callable('\\Sodium\\memzero')) {
/**
* @see ParagonIE_Sodium_Compat::memzero()
* @param string $str
@@ -990,12 +952,11 @@ if (!is_callable('\Sodium\memzero')) {
function memzero(
#[\SensitiveParameter]
&$str
)
{
) {
ParagonIE_Sodium_Compat::memzero($str);
}
}
if (!is_callable('\Sodium\randombytes_buf')) {
if (!is_callable('\\Sodium\\randombytes_buf')) {
/**
* @see ParagonIE_Sodium_Compat::randombytes_buf()
* @param int $amount
@@ -1007,7 +968,8 @@ if (!is_callable('\Sodium\randombytes_buf')) {
return ParagonIE_Sodium_Compat::randombytes_buf($amount);
}
}
if (!is_callable('\Sodium\randombytes_uniform')) {
if (!is_callable('\\Sodium\\randombytes_uniform')) {
/**
* @see ParagonIE_Sodium_Compat::randombytes_uniform()
* @param int $upperLimit
@@ -1020,7 +982,8 @@ if (!is_callable('\Sodium\randombytes_uniform')) {
return ParagonIE_Sodium_Compat::randombytes_uniform($upperLimit);
}
}
if (!is_callable('\Sodium\randombytes_random16')) {
if (!is_callable('\\Sodium\\randombytes_random16')) {
/**
* @see ParagonIE_Sodium_Compat::randombytes_random16()
* @return int
@@ -1030,6 +993,7 @@ if (!is_callable('\Sodium\randombytes_random16')) {
return ParagonIE_Sodium_Compat::randombytes_random16();
}
}
if (!defined('\Sodium\CRYPTO_AUTH_BYTES')) {
if (!defined('\\Sodium\\CRYPTO_AUTH_BYTES')) {
require_once dirname(__FILE__) . '/constants.php';
}

View File

@@ -1,78 +1,74 @@
<?php
if (!\is_callable('sodium_crypto_stream_xchacha20')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_stream_xchacha20()
* @param int $len
* @param string $nonce
* @param string $key
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_stream_xchacha20(
$len,
$nonce,
#[\SensitiveParameter]
$key
)
{
return \ParagonIE_Sodium_Compat::crypto_stream_xchacha20($len, $nonce, $key, \true);
}
if (!is_callable('sodium_crypto_stream_xchacha20')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_stream_xchacha20()
* @param int $len
* @param string $nonce
* @param string $key
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_stream_xchacha20(
$len,
$nonce,
#[\SensitiveParameter]
$key
) {
return ParagonIE_Sodium_Compat::crypto_stream_xchacha20($len, $nonce, $key, true);
}
if (!\is_callable('sodium_crypto_stream_xchacha20_keygen')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_stream_xchacha20_keygen()
* @return string
* @throws Exception
*/
function sodium_crypto_stream_xchacha20_keygen()
{
return \ParagonIE_Sodium_Compat::crypto_stream_xchacha20_keygen();
}
}
if (!is_callable('sodium_crypto_stream_xchacha20_keygen')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_stream_xchacha20_keygen()
* @return string
* @throws Exception
*/
function sodium_crypto_stream_xchacha20_keygen()
{
return ParagonIE_Sodium_Compat::crypto_stream_xchacha20_keygen();
}
if (!\is_callable('sodium_crypto_stream_xchacha20_xor')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor()
* @param string $message
* @param string $nonce
* @param string $key
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_stream_xchacha20_xor(
#[\SensitiveParameter]
$message,
$nonce,
#[\SensitiveParameter]
$key
)
{
return \ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor($message, $nonce, $key, \true);
}
}
if (!is_callable('sodium_crypto_stream_xchacha20_xor')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor()
* @param string $message
* @param string $nonce
* @param string $key
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_stream_xchacha20_xor(
#[\SensitiveParameter]
$message,
$nonce,
#[\SensitiveParameter]
$key
) {
return ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor($message, $nonce, $key, true);
}
if (!\is_callable('sodium_crypto_stream_xchacha20_xor_ic')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor_ic()
* @param string $message
* @param string $nonce
* @param int $counter
* @param string $key
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_stream_xchacha20_xor_ic(
#[\SensitiveParameter]
$message,
$nonce,
$counter,
#[\SensitiveParameter]
$key
)
{
return \ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor_ic($message, $nonce, $counter, $key, \true);
}
}
if (!is_callable('sodium_crypto_stream_xchacha20_xor_ic')) {
/**
* @see ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor_ic()
* @param string $message
* @param string $nonce
* @param int $counter
* @param string $key
* @return string
* @throws SodiumException
* @throws TypeError
*/
function sodium_crypto_stream_xchacha20_xor_ic(
#[\SensitiveParameter]
$message,
$nonce,
$counter,
#[\SensitiveParameter]
$key
) {
return ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor_ic($message, $nonce, $counter, $key, true);
}
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium;
class Compat extends \ParagonIE_Sodium_Compat
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core;
class BLAKE2b extends \ParagonIE_Sodium_Core_BLAKE2b
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core;
class ChaCha20 extends \ParagonIE_Sodium_Core_ChaCha20
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core\ChaCha20;
class Ctx extends \ParagonIE_Sodium_Core_ChaCha20_Ctx
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core\ChaCha20;
class IetfCtx extends \ParagonIE_Sodium_Core_ChaCha20_IetfCtx
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core;
class Curve25519 extends \ParagonIE_Sodium_Core_Curve25519
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core\Curve25519;
class Fe extends \ParagonIE_Sodium_Core_Curve25519_Fe
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core\Curve25519\Ge;
class Cached extends \ParagonIE_Sodium_Core_Curve25519_Ge_Cached
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core\Curve25519\Ge;
class P1p1 extends \ParagonIE_Sodium_Core_Curve25519_Ge_P1p1
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core\Curve25519\Ge;
class P2 extends \ParagonIE_Sodium_Core_Curve25519_Ge_P2
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core\Curve25519\Ge;
class P3 extends \ParagonIE_Sodium_Core_Curve25519_Ge_P3
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core\Curve25519\Ge;
class Precomp extends \ParagonIE_Sodium_Core_Curve25519_Ge_Precomp
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core\Curve25519;
class H extends \ParagonIE_Sodium_Core_Curve25519_H
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core;
class Ed25519 extends \ParagonIE_Sodium_Core_Ed25519
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core;
class HChaCha20 extends \ParagonIE_Sodium_Core_HChaCha20
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core;
class HSalsa20 extends \ParagonIE_Sodium_Core_HSalsa20
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core;
class Poly1305 extends \ParagonIE_Sodium_Core_Poly1305
{
}

View File

@@ -1,7 +1,7 @@
<?php
namespace ParagonIE\Sodium\Core\Poly1305;
class State extends \ParagonIE_Sodium_Core_Poly1305_State
{
}

Some files were not shown because too many files have changed in this diff Show More