From 328fd104e183d6c08148d9752ad7f61608244f5d Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 3 Sep 2009 21:03:04 +0100 Subject: [PATCH] Remove the distinction between password and login key in the authentication service. This will be done in the login service instead, it's out of scope for an authenticator --- ...ce.cs => PasswordAuthenticationService.cs} | 16 +--- .../WebkeyAuthenticationService.cs | 76 +++++++++++++++++++ .../Interfaces/IAuthenticationService.cs | 7 +- 3 files changed, 81 insertions(+), 18 deletions(-) rename OpenSim/Services/AuthenticationService/{AuthenticationService.cs => PasswordAuthenticationService.cs} (84%) create mode 100644 OpenSim/Services/AuthenticationService/WebkeyAuthenticationService.cs diff --git a/OpenSim/Services/AuthenticationService/AuthenticationService.cs b/OpenSim/Services/AuthenticationService/PasswordAuthenticationService.cs similarity index 84% rename from OpenSim/Services/AuthenticationService/AuthenticationService.cs rename to OpenSim/Services/AuthenticationService/PasswordAuthenticationService.cs index 803d90ccf4..d20edb3c33 100644 --- a/OpenSim/Services/AuthenticationService/AuthenticationService.cs +++ b/OpenSim/Services/AuthenticationService/PasswordAuthenticationService.cs @@ -36,29 +36,19 @@ namespace OpenSim.Services.AuthenticationService // or any other components that need // verifiable identification. // - public class AuthenticationService + public class PasswordAuthenticationService { public byte[] GetPublicKey() { return new byte[0]; } - public string AuthenticatePassword(UUID principalID, string password) + public string Authenticate(UUID principalID, string password) { return String.Empty; } - public byte[] AuthenticatePasswordEncrypted(byte[] cyphertext, byte[] key) - { - return new byte[0]; - } - - public string AuthenticateWebkey(UUID principalID, string webkey) - { - return String.Empty; - } - - public byte[] AuthenticateWebkeyEncrypted(byte[] cyphertext, byte[] key) + public byte[] AuthenticateEncrypted(byte[] cyphertext, byte[] key) { return new byte[0]; } diff --git a/OpenSim/Services/AuthenticationService/WebkeyAuthenticationService.cs b/OpenSim/Services/AuthenticationService/WebkeyAuthenticationService.cs new file mode 100644 index 0000000000..478d259a88 --- /dev/null +++ b/OpenSim/Services/AuthenticationService/WebkeyAuthenticationService.cs @@ -0,0 +1,76 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using OpenMetaverse; + +namespace OpenSim.Services.AuthenticationService +{ + // Generic Authentication service used for identifying + // and authenticating principals. + // Principals may be clients acting on users' behalf, + // or any other components that need + // verifiable identification. + // + public class WebkeyAuthenticationService + { + public byte[] GetPublicKey() + { + return new byte[0]; + } + + public string Authenticate(UUID principalID, string password) + { + return String.Empty; + } + + public byte[] AuthenticateEncrypted(byte[] cyphertext, byte[] key) + { + return new byte[0]; + } + + public bool Verify(UUID principalID, string token) + { + return false; + } + + public bool VerifyEncrypted(byte[] cyphertext, byte[] key) + { + return false; + } + + public bool Release(UUID principalID, string token) + { + return false; + } + + public bool ReleaseEncrypted(byte[] cyphertext, byte[] key) + { + return false; + } + } +} diff --git a/OpenSim/Services/Interfaces/IAuthenticationService.cs b/OpenSim/Services/Interfaces/IAuthenticationService.cs index d473cf8ac7..f042c93298 100644 --- a/OpenSim/Services/Interfaces/IAuthenticationService.cs +++ b/OpenSim/Services/Interfaces/IAuthenticationService.cs @@ -70,11 +70,8 @@ namespace OpenSim.Services.Interfaces // the public key of the peer, which the connector must have // obtained using a remote GetPublicKey call. // - string AuthenticatePassword(UUID principalID, string password); - byte[] AuthenticatePasswordEncrypted(byte[] cyphertext, byte[] key); - - string AuthenticateWebkey(UUID principalID, string webkey); - byte[] AuthenticateWebkeyEncrypted(byte[] cyphertext, byte[] key); + string Authenticate(UUID principalID, string password); + byte[] AuthenticateEncrypted(byte[] cyphertext, byte[] key); ////////////////////////////////////////////////////// // Verification