1
0
Fork 0

for AliasPackages check that the aliased package is white listed so that version constraints of AliasPackages are taken into account when computing package provisions

pull/2805/head
Christian Flothmann 2014-03-12 16:30:09 +01:00
parent 2241328934
commit 0e9325da79
1 changed files with 10 additions and 1 deletions

View File

@ -268,9 +268,18 @@ class Pool
$nameMatch = false; $nameMatch = false;
foreach ($candidates as $candidate) { foreach ($candidates as $candidate) {
$aliasOfCandidate = null;
// alias packages are not white listed, make sure that the package
// being aliased is white listed
if ($candidate instanceof AliasPackage) {
$aliasOfCandidate = $candidate->getAliasOf();
}
if ($this->whitelist !== null && ( if ($this->whitelist !== null && (
(is_array($candidate) && isset($candidate['id']) && !isset($this->whitelist[$candidate['id']])) || (is_array($candidate) && isset($candidate['id']) && !isset($this->whitelist[$candidate['id']])) ||
(is_object($candidate) && !isset($this->whitelist[$candidate->getId()])) (is_object($candidate) && !($candidate instanceof AliasPackage) && !isset($this->whitelist[$candidate->getId()])) ||
(is_object($candidate) && $candidate instanceof AliasPackage && !isset($this->whitelist[$aliasOfCandidate->getId()]))
)) { )) {
continue; continue;
} }