|
|
|
@ -17,40 +17,11 @@ namespace Volo.Abp.Cli.Utils
|
|
|
|
|
"LPT2"
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
private static readonly char[] IllegalChars = new[]
|
|
|
|
|
{
|
|
|
|
|
'/',
|
|
|
|
|
'?',
|
|
|
|
|
':',
|
|
|
|
|
'&',
|
|
|
|
|
'\\',
|
|
|
|
|
'*',
|
|
|
|
|
'\'',
|
|
|
|
|
'<',
|
|
|
|
|
'>',
|
|
|
|
|
'|',
|
|
|
|
|
'#',
|
|
|
|
|
'%',
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
private static bool HasParentDirectoryString(string projectName)
|
|
|
|
|
{
|
|
|
|
|
return projectName.Contains("..");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static bool HasIllegalChar(string projectName)
|
|
|
|
|
{
|
|
|
|
|
foreach (var illegalChar in IllegalChars)
|
|
|
|
|
{
|
|
|
|
|
if (projectName.Contains(illegalChar))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static bool HasSurrogateOrControlChar(string projectName)
|
|
|
|
|
{
|
|
|
|
|
return projectName.Any(chr => char.IsControl(chr) || char.IsSurrogate(chr));
|
|
|
|
@ -76,11 +47,6 @@ namespace Volo.Abp.Cli.Utils
|
|
|
|
|
throw new CliUsageException("Project name cannot be empty!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (HasIllegalChar(projectName))
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (HasSurrogateOrControlChar(projectName))
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|