Made it impossible to create a user with names containing spaces and prevented passwords from being echoed after enter is pressed.

This commit is contained in:
randomhuman
2010-09-05 21:44:46 +01:00
committed by Justin Clark-Casey (justincc)
parent 29708e47a5
commit 30306a775a
4 changed files with 61 additions and 6 deletions

View File

@@ -89,6 +89,57 @@ namespace OpenSim.Framework.Console
return ret;
}
public string CmdPrompt(string p, List<char> excludedCharacters)
{
bool itisdone = false;
string ret = String.Empty;
while (!itisdone)
{
itisdone = true;
ret = CmdPrompt(p);
foreach (char c in excludedCharacters)
{
if (ret.Contains(c.ToString()))
{
System.Console.WriteLine("The character \"" + c.ToString() + "\" is not permitted.");
itisdone = false;
}
}
}
return ret;
}
public string CmdPrompt(string p, string def, List<char> excludedCharacters)
{
bool itisdone = false;
string ret = String.Empty;
while (!itisdone)
{
itisdone = true;
ret = CmdPrompt(p, def);
if (ret == String.Empty)
{
ret = def;
}
else
{
foreach (char c in excludedCharacters)
{
if (ret.Contains(c.ToString()))
{
System.Console.WriteLine("The character \"" + c.ToString() + "\" is not permitted.");
itisdone = false;
}
}
}
}
return ret;
}
// Displays a command prompt and returns a default value, user may only enter 1 of 2 options
public string CmdPrompt(string prompt, string defaultresponse, List<string> options)

View File

@@ -461,7 +461,8 @@ namespace OpenSim.Framework.Console
SetCursorLeft(0);
y = SetCursorTop(y);
System.Console.WriteLine("{0}{1}", prompt, cmdline);
System.Console.WriteLine();
//Show();
lock (cmdline)
{
@@ -486,7 +487,7 @@ namespace OpenSim.Framework.Console
}
}
AddToHistory(cmdline.ToString());
//AddToHistory(cmdline.ToString());
return cmdline.ToString();
default:
break;