Add warning for invalid chars in package names
parent
2de2e953c0
commit
da5ee6e2d7
|
@ -95,6 +95,12 @@ class Problem
|
||||||
return "\n - The requested linked library ".$job['packageName'].$this->constraintToText($job['constraint']).' has the wrong version installed or is missing from your system, make sure to have the extension providing it.';
|
return "\n - The requested linked library ".$job['packageName'].$this->constraintToText($job['constraint']).' has the wrong version installed or is missing from your system, make sure to have the extension providing it.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!preg_match('{^[A-Za-z0-9_./-]+$}', $job['packageName'])) {
|
||||||
|
$illegalChars = preg_replace('{[A-Za-z0-9_./-]+}', '', $job['packageName']);
|
||||||
|
|
||||||
|
return "\n - The requested package ".$job['packageName'].' could not be found, it looks like its name is invalid, "'.$illegalChars.'" is not allowed in package names.';
|
||||||
|
}
|
||||||
|
|
||||||
if (!$this->pool->whatProvides($job['packageName'])) {
|
if (!$this->pool->whatProvides($job['packageName'])) {
|
||||||
return "\n - The requested package ".$job['packageName'].' could not be found in any version, there may be a typo in the package name.';
|
return "\n - The requested package ".$job['packageName'].' could not be found in any version, there may be a typo in the package name.';
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,6 +145,9 @@ class ValidatingArrayLoader implements LoaderInterface
|
||||||
foreach (array_keys(BasePackage::$supportedLinkTypes) as $linkType) {
|
foreach (array_keys(BasePackage::$supportedLinkTypes) as $linkType) {
|
||||||
if ($this->validateArray($linkType) && isset($this->config[$linkType])) {
|
if ($this->validateArray($linkType) && isset($this->config[$linkType])) {
|
||||||
foreach ($this->config[$linkType] as $package => $constraint) {
|
foreach ($this->config[$linkType] as $package => $constraint) {
|
||||||
|
if (!preg_match('{^[A-Za-z0-9_./-]+$}', $package)) {
|
||||||
|
$this->warnings[] = $linkType.'.'.$package.' : invalid key, package names must be strings containing only [A-Za-z0-9_./-]';
|
||||||
|
}
|
||||||
if (!is_string($constraint)) {
|
if (!is_string($constraint)) {
|
||||||
$this->errors[] = $linkType.'.'.$package.' : invalid value, must be a string containing a version constraint';
|
$this->errors[] = $linkType.'.'.$package.' : invalid value, must be a string containing a version constraint';
|
||||||
unset($this->config[$linkType][$package]);
|
unset($this->config[$linkType][$package]);
|
||||||
|
|
Loading…
Reference in New Issue