Crush when use composer 2.0.8
alberto-leon-crespo opened this issue · 1 comments
alberto-leon-crespo commented
When i try to use library with composer v2.0.8 get next error:
{
"message": "Call to undefined method Composer\\InstalledVersions::getAllRawData()",
"exception": "Error",
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/ocramius/proxy-manager/src/ProxyManager/Generator/Util/IdentifierSuffixer.php",
"line": 51,
"trace": [
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/ocramius/proxy-manager/src/ProxyManager/Generator/Util/IdentifierSuffixer.php",
"line": 39,
"function": "loadBaseHashSalt",
"class": "ProxyManager\\Generator\\Util\\IdentifierSuffixer",
"type": "::"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/ocramius/proxy-manager/src/ProxyManager/ProxyGenerator/RemoteObject/PropertyGenerator/AdapterProperty.php",
"line": 24,
"function": "getIdentifier",
"class": "ProxyManager\\Generator\\Util\\IdentifierSuffixer",
"type": "::"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/ocramius/proxy-manager/src/ProxyManager/ProxyGenerator/RemoteObjectGenerator.php",
"line": 57,
"function": "__construct",
"class": "ProxyManager\\ProxyGenerator\\RemoteObject\\PropertyGenerator\\AdapterProperty",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/ocramius/proxy-manager/src/ProxyManager/Factory/AbstractBaseFactory.php",
"line": 115,
"function": "generate",
"class": "ProxyManager\\ProxyGenerator\\RemoteObjectGenerator",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/ocramius/proxy-manager/src/ProxyManager/Factory/AbstractBaseFactory.php",
"line": 79,
"function": "generateProxyClass",
"class": "ProxyManager\\Factory\\AbstractBaseFactory",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/ocramius/proxy-manager/src/ProxyManager/Factory/RemoteObjectFactory.php",
"line": 60,
"function": "generateProxy",
"class": "ProxyManager\\Factory\\AbstractBaseFactory",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/app/Models/Proxies/Remotes/Antifraude/Repositories/AntifraudeRepository.php",
"line": 47,
"function": "createProxy",
"class": "ProxyManager\\Factory\\RemoteObjectFactory",
"type": "->"
},
{
"function": "__construct",
"class": "App\\Models\\Proxies\\Remotes\\Antifraude\\Repositories\\AntifraudeRepository",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 880,
"function": "newInstanceArgs",
"class": "ReflectionClass",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 283,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 832,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 717,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
"line": 841,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 655,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
"line": 826,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 990,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 910,
"function": "resolveClass",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 871,
"function": "resolveDependencies",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 717,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
"line": 841,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 655,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
"line": 826,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 268,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 1019,
"function": "getController",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 980,
"function": "controllerMiddleware",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 708,
"function": "gatherMiddleware",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 688,
"function": "gatherRouteMiddleware",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 672,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 636,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 625,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 166,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/fideloper/proxy/src/TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 141,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 110,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/public/index.php",
"line": 60,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/home/aleoncre/Projects/api-rc-360/src/server.php",
"line": 21,
"function": "require_once"
}
]
}
Problem is ProxyManager\Generator\Util\IdentifierSuffixer call to GetRawAllData() in loadBaseHashSalt() method.
private static function loadBaseHashSalt(): string
{
return sha1(serialize(InstalledVersions::getAllRawData()));
}
If u open Composer\InstalledVersions and find by this function name, getAllRawData() doesn't exits. To solve this problem for composer > 2.0 only need change getAllRawData() for getRawData()
I think best solution is make if control like this:
if (InstalledVersions::getVersion() >= 2) {
return sha1(serialize(InstalledVersions::getRawData()));
} else {
return sha1(serialize(InstalledVersions::getAllRawData()));
}
Ocramius commented
Duplicate of #704
See also #700 (comment)
Please do upgrade to composer/composer:2.0.14
or newer ASAP, as there is a high severity vulnerability affecting composer/composer:<2.0.13
( GHSA-h5h8-pc6h-jvvx )