diff --git a/OpenSim/Grid/UserServer/Main.cs b/OpenSim/Grid/UserServer/Main.cs
index 0a64925bbe..55e681aaed 100644
--- a/OpenSim/Grid/UserServer/Main.cs
+++ b/OpenSim/Grid/UserServer/Main.cs
@@ -220,6 +220,55 @@ namespace OpenSim.Grid.UserServer
break;
}
}
+
+ ///
+ /// Execute switch for some of the reset commands
+ ///
+ ///
+ protected void Reset(string[] args)
+ {
+ if (args.Length == 0)
+ return;
+
+ switch (args[0])
+ {
+ case "user":
+
+ switch (args[1])
+ {
+ case "password":
+ ResetUserPassword(args);
+ break;
+ }
+
+ break;
+ }
+ }
+
+ ///
+ /// Reset a user password.
+ ///
+ ///
+ private void ResetUserPassword(string[] cmdparams)
+ {
+ string firstName;
+ string lastName;
+ string newPassword;
+
+ if (cmdparams.Length < 3)
+ firstName = MainConsole.Instance.CmdPrompt("First name");
+ else firstName = cmdparams[2];
+
+ if ( cmdparams.Length < 4 )
+ lastName = MainConsole.Instance.CmdPrompt("Last name");
+ else lastName = cmdparams[3];
+
+ if ( cmdparams.Length < 5 )
+ newPassword = MainConsole.Instance.PasswdPrompt("New password");
+ else newPassword = cmdparams[4];
+
+ m_userManager.ResetUserPassword(firstName, lastName, newPassword);
+ }
public override void RunCmd(string cmd, string[] cmdparams)
{
@@ -230,6 +279,10 @@ namespace OpenSim.Grid.UserServer
case "create":
do_create(cmdparams[0]);
break;
+
+ case "reset":
+ Reset(cmdparams);
+ break;
case "test-inventory":
// RestObjectPosterResponse> requester = new RestObjectPosterResponse>();
@@ -309,8 +362,8 @@ namespace OpenSim.Grid.UserServer
base.ShowHelp(helpArgs);
m_console.Notice("create user - create a new user");
- m_console.Notice(
- "logoff-user - logs off the specified user from the grid");
+ m_console.Notice("logoff-user - logs off the specified user from the grid");
+ m_console.Notice("reset user password - reset a user's password.");
}
public override void Shutdown()