From 114807b9d1caeffad1f245982baa2c07e88ee470 Mon Sep 17 00:00:00 2001 From: MW Date: Sat, 11 Aug 2007 11:59:51 +0000 Subject: Made account Authentication optional in "sandbox/standalone" mode. Just change "standalone_authenticate = false" to be true in OpenSim.ini. Then as per grid mode, you can use the "create user" command to create new accounts. --- .../Communications/Local/LocalUserServices.cs | 23 ++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/Communications/Local/LocalUserServices.cs') diff --git a/OpenSim/Region/Communications/Local/LocalUserServices.cs b/OpenSim/Region/Communications/Local/LocalUserServices.cs index cc80c81..223c157 100644 --- a/OpenSim/Region/Communications/Local/LocalUserServices.cs +++ b/OpenSim/Region/Communications/Local/LocalUserServices.cs @@ -15,13 +15,15 @@ namespace OpenSim.Region.Communications.Local private NetworkServersInfo serversInfo; private uint defaultHomeX ; private uint defaultHomeY; + private bool authUsers = false; - public LocalUserServices(CommunicationsLocal parent, NetworkServersInfo serversInfo) + public LocalUserServices(CommunicationsLocal parent, NetworkServersInfo serversInfo, bool authenticate) { m_Parent = parent; this.serversInfo = serversInfo; defaultHomeX = this.serversInfo.DefaultHomeLocX; defaultHomeY = this.serversInfo.DefaultHomeLocY; + this.authUsers = authenticate; } public UserProfileData GetUserProfile(string firstName, string lastName) @@ -68,9 +70,22 @@ namespace OpenSim.Region.Communications.Local public override bool AuthenticateUser(UserProfileData profile, string password) { - //for now we will accept any password in sandbox mode - Console.WriteLine("authorising user"); - return true; + if (!authUsers) + { + //for now we will accept any password in sandbox mode + Console.WriteLine("authorising user"); + return true; + } + else + { + Console.WriteLine( "Authenticating " + profile.username + " " + profile.surname); + + password = password.Remove(0, 3); //remove $1$ + + string s = Util.Md5Hash(password + ":" + profile.passwordSalt); + + return profile.passwordHash.Equals(s.ToString(), StringComparison.InvariantCultureIgnoreCase); + } } public override void CustomiseResponse(LoginResponse response, UserProfileData theUser) -- cgit v1.1