From cb704ecde19c512bfa4fc0b317d37fec63e76713 Mon Sep 17 00:00:00 2001 From: diva Date: Mon, 25 May 2009 20:30:24 +0000 Subject: Beginning of refactoring RESTComms/LocalComms in the new style of services and connectors. This commit has the beginning of the In connector, not the Out. Nothing of this is finished yet, and it doesn't run. But it should compile ok. --- OpenSim/Services/Interfaces/ISimulationService.cs | 81 +++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 OpenSim/Services/Interfaces/ISimulationService.cs (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs new file mode 100644 index 0000000..da5410b --- /dev/null +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -0,0 +1,81 @@ +using System; +using OpenSim.Framework; +using OpenMetaverse; + +namespace OpenSim.Services.Interfaces +{ + public interface ISimulationService + { + #region Agents + + bool CreateAgent(ulong regionHandle, AgentCircuitData aCircuit, out string reason); + + /// + /// Full child agent update. + /// + /// + /// + /// + bool UpdateAgent(ulong regionHandle, AgentData data); + + /// + /// Short child agent update, mostly for position. + /// + /// + /// + /// + bool UpdateAgent(ulong regionHandle, AgentPosition data); + + bool RetrieveAgent(ulong regionHandle, UUID id, out IAgentData agent); + + /// + /// Message from receiving region to departing region, telling it got contacted by the client. + /// When sent over REST, it invokes the opaque uri. + /// + /// + /// + /// + /// + bool ReleaseAgent(ulong regionHandle, UUID id, string uri); + + /// + /// Close agent. + /// + /// + /// + /// + bool CloseAgent(ulong regionHandle, UUID id); + + #endregion Agents + + #region Objects + + /// + /// Create an object in the destination region. This message is used primarily for prim crossing. + /// + /// + /// + /// + /// + bool CreateObject(ulong regionHandle, ISceneObject sog, bool isLocalCall); + + /// + /// Create an object from the user's inventory in the destination region. + /// This message is used primarily by clients. + /// + /// + /// + /// + /// + bool CreateObject(ulong regionHandle, UUID userID, UUID itemID); + + #endregion Objects + + #region Regions + + bool HelloNeighbour(ulong regionHandle, RegionInfo thisRegion); + + #endregion Regions + + } +} -- cgit v1.1 From 35b450d41d2695aa6a82a6d8e6bda5e327f431e1 Mon Sep 17 00:00:00 2001 From: Jeff Ames Date: Sun, 31 May 2009 18:35:00 +0000 Subject: Add copyright headers, formatting cleanup, ignore some generated files. --- OpenSim/Services/Interfaces/ISimulationService.cs | 29 ++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index da5410b..a169ab7 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -1,4 +1,31 @@ -using System; +/* + * 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 OpenSim.Framework; using OpenMetaverse; -- cgit v1.1 From a8901a40f4526720f68049706cabd34cf9717172 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 31 Dec 2009 09:25:16 -0800 Subject: Simulation handlers (agents & objects) completed. --- OpenSim/Services/Interfaces/ISimulationService.cs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index a169ab7..7ba3e66 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -33,9 +33,11 @@ namespace OpenSim.Services.Interfaces { public interface ISimulationService { + IScene GetScene(ulong regionHandle); + #region Agents - bool CreateAgent(ulong regionHandle, AgentCircuitData aCircuit, out string reason); + bool CreateAgent(ulong regionHandle, AgentCircuitData aCircuit, uint flags, out string reason); /// /// Full child agent update. @@ -98,11 +100,5 @@ namespace OpenSim.Services.Interfaces #endregion Objects - #region Regions - - bool HelloNeighbour(ulong regionHandle, RegionInfo thisRegion); - - #endregion Regions - } } -- cgit v1.1 From c268e342d19b6cc5969b1c1d94f20a3f4eb844ef Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 3 Jan 2010 09:35:12 -0800 Subject: * Changed ISimulation interface to take a GridRegion as input arg instead of a regionHandle. * Added the RemoteSimulationConnectorModule, which is the replacement for RESTComms. Scenes is not using this yet, only (standalone) Login uses these region modules for now. * Completed SimulationServiceConnector and corresponding handlers. --- OpenSim/Services/Interfaces/ISimulationService.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 7ba3e66..14f462c 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -29,6 +29,8 @@ using System; using OpenSim.Framework; using OpenMetaverse; +using GridRegion = OpenSim.Services.Interfaces.GridRegion; + namespace OpenSim.Services.Interfaces { public interface ISimulationService @@ -37,7 +39,7 @@ namespace OpenSim.Services.Interfaces #region Agents - bool CreateAgent(ulong regionHandle, AgentCircuitData aCircuit, uint flags, out string reason); + bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason); /// /// Full child agent update. @@ -45,7 +47,7 @@ namespace OpenSim.Services.Interfaces /// /// /// - bool UpdateAgent(ulong regionHandle, AgentData data); + bool UpdateAgent(GridRegion destination, AgentData data); /// /// Short child agent update, mostly for position. @@ -53,9 +55,9 @@ namespace OpenSim.Services.Interfaces /// /// /// - bool UpdateAgent(ulong regionHandle, AgentPosition data); + bool UpdateAgent(GridRegion destination, AgentPosition data); - bool RetrieveAgent(ulong regionHandle, UUID id, out IAgentData agent); + bool RetrieveAgent(GridRegion destination, UUID id, out IAgentData agent); /// /// Message from receiving region to departing region, telling it got contacted by the client. @@ -65,7 +67,7 @@ namespace OpenSim.Services.Interfaces /// /// /// - bool ReleaseAgent(ulong regionHandle, UUID id, string uri); + bool ReleaseAgent(GridRegion destination, UUID id, string uri); /// /// Close agent. @@ -73,7 +75,7 @@ namespace OpenSim.Services.Interfaces /// /// /// - bool CloseAgent(ulong regionHandle, UUID id); + bool CloseAgent(GridRegion destination, UUID id); #endregion Agents @@ -86,7 +88,7 @@ namespace OpenSim.Services.Interfaces /// /// /// - bool CreateObject(ulong regionHandle, ISceneObject sog, bool isLocalCall); + bool CreateObject(GridRegion destination, ISceneObject sog, bool isLocalCall); /// /// Create an object from the user's inventory in the destination region. @@ -96,7 +98,7 @@ namespace OpenSim.Services.Interfaces /// /// /// - bool CreateObject(ulong regionHandle, UUID userID, UUID itemID); + bool CreateObject(GridRegion destination, UUID userID, UUID itemID); #endregion Objects -- cgit v1.1 From f11a97f12d328af8bb39b92fec5cb5780983b66a Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 7 Jan 2010 15:53:55 -0800 Subject: * Finished SimulationServiceConnector * Started rerouting calls to UserService. * Compiles. May run. --- OpenSim/Services/Interfaces/ISimulationService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 14f462c..ec24d90 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -67,7 +67,7 @@ namespace OpenSim.Services.Interfaces /// /// /// - bool ReleaseAgent(GridRegion destination, UUID id, string uri); + bool ReleaseAgent(UUID originRegion, UUID id, string uri); /// /// Close agent. -- cgit v1.1 From 45ef3e9987def8385174c332fc56c90b0ba3fef8 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 15 Mar 2010 20:32:36 -0700 Subject: Get the local inner simulation service object to the handler so that there is no possibility of cascading requests when failures happen. --- OpenSim/Services/Interfaces/ISimulationService.cs | 1 + 1 file changed, 1 insertion(+) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index ec24d90..67d7cbe 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -36,6 +36,7 @@ namespace OpenSim.Services.Interfaces public interface ISimulationService { IScene GetScene(ulong regionHandle); + ISimulationService GetInnerService(); #region Agents -- cgit v1.1 From 4df1d25d23d76ee3ae8c7da155462b57735f6418 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 9 Dec 2010 01:55:32 +0000 Subject: Plumb a code path for the entity transfer module to ask a destination scene whether or not an agent is allowed there as a root agent. --- OpenSim/Services/Interfaces/ISimulationService.cs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 67d7cbe..12e8982 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -60,6 +60,8 @@ namespace OpenSim.Services.Interfaces bool RetrieveAgent(GridRegion destination, UUID id, out IAgentData agent); + bool QueryAccess(GridRegion destination, UUID id); + /// /// Message from receiving region to departing region, telling it got contacted by the client. /// When sent over REST, it invokes the opaque uri. -- cgit v1.1 From 188d86998d14d23a59e345568add8ece7f5a0641 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 28 Jan 2011 04:09:04 +0000 Subject: Fix up QueryAccess to also check parcels --- OpenSim/Services/Interfaces/ISimulationService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 12e8982..48a2185 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -60,7 +60,7 @@ namespace OpenSim.Services.Interfaces bool RetrieveAgent(GridRegion destination, UUID id, out IAgentData agent); - bool QueryAccess(GridRegion destination, UUID id); + bool QueryAccess(GridRegion destination, UUID id, Vector3 position); /// /// Message from receiving region to departing region, telling it got contacted by the client. -- cgit v1.1 From 918c12c965e822457807563acd4e16638a6bd3cc Mon Sep 17 00:00:00 2001 From: Melanie Date: Wed, 16 Feb 2011 08:06:11 +0000 Subject: Change the QUERYACCESS method to eliminate spurious access denied messages --- OpenSim/Services/Interfaces/ISimulationService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 48a2185..b796757 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -60,7 +60,7 @@ namespace OpenSim.Services.Interfaces bool RetrieveAgent(GridRegion destination, UUID id, out IAgentData agent); - bool QueryAccess(GridRegion destination, UUID id, Vector3 position); + bool QueryAccess(GridRegion destination, UUID id, Vector3 position, out string reason); /// /// Message from receiving region to departing region, telling it got contacted by the client. -- cgit v1.1 From 20aeace8d75fa5a1a3d0ba1d3d9ab6cdad2cf088 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 9 Mar 2011 22:03:12 +0000 Subject: Add log messages on teleport failure to better pin down the cause. --- OpenSim/Services/Interfaces/ISimulationService.cs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index b796757..55c9cc5 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -40,6 +40,13 @@ namespace OpenSim.Services.Interfaces #region Agents + /// + /// Ask the simulator hosting the destination to create an agent on that region. + /// + /// + /// + /// + /// Reason message in the event of a failure. bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason); /// -- cgit v1.1 From 9892e115ccdcc8567087041917fb5c7694aa8836 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 28 Apr 2011 20:19:54 -0700 Subject: Fatpack message on agent transfers: 1 message only (UpdateAgent) containing the agent and all attachments. Preserves backwards compatibility -- older sims get passed attachments one by one. Meaning that I finally introduced versioning in the simulation service. --- OpenSim/Services/Interfaces/ISimulationService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 55c9cc5..5f9ce6d 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -67,7 +67,7 @@ namespace OpenSim.Services.Interfaces bool RetrieveAgent(GridRegion destination, UUID id, out IAgentData agent); - bool QueryAccess(GridRegion destination, UUID id, Vector3 position, out string reason); + bool QueryAccess(GridRegion destination, UUID id, Vector3 position, out string version, out string reason); /// /// Message from receiving region to departing region, telling it got contacted by the client. -- cgit v1.1 From 1dfc9902649bfb4f02340644a0589fe139a3322a Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 23 Feb 2012 01:40:30 +0000 Subject: Add a position parameter to region crossing of objects. This avoids the potential bad update that places an object at the opposite side of the origin sim for a moment before actually crossing it. Especially important in grids like OSG where lag between sims is high. --- OpenSim/Services/Interfaces/ISimulationService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 5f9ce6d..36fd6fc 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -98,7 +98,7 @@ namespace OpenSim.Services.Interfaces /// /// /// - bool CreateObject(GridRegion destination, ISceneObject sog, bool isLocalCall); + bool CreateObject(GridRegion destination, Vector3 newPosition, ISceneObject sog, bool isLocalCall); /// /// Create an object from the user's inventory in the destination region. -- cgit v1.1 From 38ce9d45a523db277d3eb4d3ed310b7cd9ca6b43 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 24 May 2012 01:00:18 +0100 Subject: Make ISimulationScene.GetScene() used the more efficient region id for lookup rather than the region handle. --- OpenSim/Services/Interfaces/ISimulationService.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 36fd6fc..4e52532 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -35,7 +35,17 @@ namespace OpenSim.Services.Interfaces { public interface ISimulationService { - IScene GetScene(ulong regionHandle); + /// + /// Retrieve the scene with the given region ID. + /// + /// + /// Region identifier. + /// + /// + /// The scene. + /// + IScene GetScene(UUID regionId); + ISimulationService GetInnerService(); #region Agents -- cgit v1.1 From a4551b027bc3f9dfcf79f74210a1156abfb7bb2f Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 30 Jun 2012 01:14:49 +0100 Subject: Removing unused handling of incoming create object by userID and itemID only. It appears this was never actually used since attachments were rezzed in other code. This was never available on remote simulator comms, only local. --- OpenSim/Services/Interfaces/ISimulationService.cs | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 4e52532..b10a85c 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -110,16 +110,6 @@ namespace OpenSim.Services.Interfaces /// bool CreateObject(GridRegion destination, Vector3 newPosition, ISceneObject sog, bool isLocalCall); - /// - /// Create an object from the user's inventory in the destination region. - /// This message is used primarily by clients. - /// - /// - /// - /// - /// - bool CreateObject(GridRegion destination, UUID userID, UUID itemID); - #endregion Objects } -- cgit v1.1 From 931eb892d92bcd61194655ec02def6264d8b182e Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 13 Jul 2013 17:56:42 -0700 Subject: Deleted GET agent all around. Not used. --- OpenSim/Services/Interfaces/ISimulationService.cs | 2 -- 1 file changed, 2 deletions(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index b10a85c..c9cbd1a 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -75,8 +75,6 @@ namespace OpenSim.Services.Interfaces /// bool UpdateAgent(GridRegion destination, AgentPosition data); - bool RetrieveAgent(GridRegion destination, UUID id, out IAgentData agent); - bool QueryAccess(GridRegion destination, UUID id, Vector3 position, out string version, out string reason); /// -- cgit v1.1 From b4f1b9acf65f9e782d56602e60c58be6145c5cca Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 13 Jul 2013 21:28:46 -0700 Subject: Guard against unauthorized agent deletes. --- OpenSim/Services/Interfaces/ISimulationService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index c9cbd1a..1c82b3e 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -93,7 +93,7 @@ namespace OpenSim.Services.Interfaces /// /// /// - bool CloseAgent(GridRegion destination, UUID id); + bool CloseAgent(GridRegion destination, UUID id, string auth_token); #endregion Agents -- cgit v1.1 From 85d51e57a905ac8f823f345f525837926f4ed2ce Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Mon, 7 Apr 2014 09:25:18 +0300 Subject: When sending QueryAccess to a region, also send the user's Home URI --- OpenSim/Services/Interfaces/ISimulationService.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 1c82b3e..d359056 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -75,7 +75,17 @@ namespace OpenSim.Services.Interfaces /// bool UpdateAgent(GridRegion destination, AgentPosition data); - bool QueryAccess(GridRegion destination, UUID id, Vector3 position, out string version, out string reason); + /// + /// Returns whether a propspective user is allowed to visit the region. + /// + /// Desired destination + /// The visitor's User ID + /// The visitor's Home URI. Will be missing (null) in older OpenSims. + /// Position in the region + /// + /// [out] Optional error message + /// True: ok; False: not allowed + bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, Vector3 position, out string version, out string reason); /// /// Message from receiving region to departing region, telling it got contacted by the client. -- cgit v1.1 From 06e0528d0b9929cbd8d2b360b0baa00288340d13 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Wed, 9 Apr 2014 08:03:25 +0300 Subject: In teleports, pass the source region to the destination (similar to an HTTP referrer) --- OpenSim/Services/Interfaces/ISimulationService.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index d359056..375a35c 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -53,11 +53,13 @@ namespace OpenSim.Services.Interfaces /// /// Ask the simulator hosting the destination to create an agent on that region. /// + /// The region that the user is coming from. Will be null if the user + /// logged-in directly, or arrived from a simulator that doesn't send this parameter. /// /// /// /// Reason message in the event of a failure. - bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason); + bool CreateAgent(GridRegion source, GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason); /// /// Full child agent update. -- cgit v1.1 From 47b84875fd2b9f01140288a2695c33f5ef4466c0 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Sun, 18 May 2014 19:45:27 +0300 Subject: Tell QueryAccess explicitly whether the user is coming in via Teleport or Cross, because the permission checks are different. Previously we used a heuristic of checking if the entry position is 0 to differentiate between Teleport and Cross, but that doesn't work anymore since we've started providing the precise entry position for cross, too. That's required in order to ensure that the user is allowed to enter the parcel that he's walking into. --- OpenSim/Services/Interfaces/ISimulationService.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 375a35c..8b87ac0 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -83,11 +83,12 @@ namespace OpenSim.Services.Interfaces /// Desired destination /// The visitor's User ID /// The visitor's Home URI. Will be missing (null) in older OpenSims. + /// True: via teleport; False: via cross (walking) /// Position in the region /// /// [out] Optional error message /// True: ok; False: not allowed - bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, Vector3 position, out string version, out string reason); + bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, out string version, out string reason); /// /// Message from receiving region to departing region, telling it got contacted by the client. -- cgit v1.1 From fe779128b0c50f44cf479444444754298d829910 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 6 Jun 2014 11:04:53 -0700 Subject: Added simulation version compatibility check so that agents coming from 0.7.6 to a varregion running in 0.8 and above will be denied teleport, rather than be allowed and crash the viewer. --- OpenSim/Services/Interfaces/ISimulationService.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 8b87ac0..12ab478 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -85,10 +85,11 @@ namespace OpenSim.Services.Interfaces /// The visitor's Home URI. Will be missing (null) in older OpenSims. /// True: via teleport; False: via cross (walking) /// Position in the region - /// + /// version that the requesting simulator is runing + /// version that the target simulator is running /// [out] Optional error message /// True: ok; False: not allowed - bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, out string version, out string reason); + bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string sversion, out string version, out string reason); /// /// Message from receiving region to departing region, telling it got contacted by the client. -- cgit v1.1 From 3c6becd52495360b24b3760a30fb0e007f5a16a3 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 21 Jul 2014 23:53:33 +0100 Subject: On login and first HG entrance to a foreign grid, perform query access checks before proceeding. --- OpenSim/Services/Interfaces/ISimulationService.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 12ab478..ef014f9 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -85,8 +85,10 @@ namespace OpenSim.Services.Interfaces /// The visitor's Home URI. Will be missing (null) in older OpenSims. /// True: via teleport; False: via cross (walking) /// Position in the region - /// version that the requesting simulator is runing - /// version that the target simulator is running + /// + /// Version that the requesting simulator is runing. If null then no version check is carried out. + /// + /// Version that the target simulator is running /// [out] Optional error message /// True: ok; False: not allowed bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string sversion, out string version, out string reason); -- cgit v1.1 From 028506cf3cecb3666b0c185d9c25e21bab968c93 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Thu, 20 Aug 2015 00:18:45 +0200 Subject: Partial plumbing for the agent stateful module features negotiation --- OpenSim/Services/Interfaces/ISimulationService.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces/ISimulationService.cs') diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index ef014f9..42c414d 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs @@ -26,6 +26,7 @@ */ using System; +using System.Collections.Generic; using OpenSim.Framework; using OpenMetaverse; @@ -91,7 +92,7 @@ namespace OpenSim.Services.Interfaces /// Version that the target simulator is running /// [out] Optional error message /// True: ok; False: not allowed - bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string sversion, out string version, out string reason); + bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string sversion, List features, out string version, out string reason); /// /// Message from receiving region to departing region, telling it got contacted by the client. -- cgit v1.1