diff options
author | Melanie | 2010-12-09 02:01:41 +0100 |
---|---|---|
committer | Melanie | 2010-12-09 02:01:41 +0100 |
commit | f28dc77ab4f0abeac942b25d3547f43184d5cf2e (patch) | |
tree | 4820d18755c55fa6da7dde2ec4626cb4fc9ce870 /OpenSim/Server/Handlers | |
parent | Prevent sending of attachment data to any client if the attachment (diff) | |
download | opensim-SC-f28dc77ab4f0abeac942b25d3547f43184d5cf2e.zip opensim-SC-f28dc77ab4f0abeac942b25d3547f43184d5cf2e.tar.gz opensim-SC-f28dc77ab4f0abeac942b25d3547f43184d5cf2e.tar.bz2 opensim-SC-f28dc77ab4f0abeac942b25d3547f43184d5cf2e.tar.xz |
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.
Diffstat (limited to 'OpenSim/Server/Handlers')
-rw-r--r-- | OpenSim/Server/Handlers/Simulation/AgentHandlers.cs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs index 26516ab..8aa410b 100644 --- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs +++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs | |||
@@ -115,6 +115,11 @@ namespace OpenSim.Server.Handlers.Simulation | |||
115 | DoChildAgentDelete(request, responsedata, agentID, action, regionID); | 115 | DoChildAgentDelete(request, responsedata, agentID, action, regionID); |
116 | return responsedata; | 116 | return responsedata; |
117 | } | 117 | } |
118 | else if (method.Equals("QUERYACCESSS")) | ||
119 | { | ||
120 | DoQueryAccess(request, responsedata, agentID, regionID); | ||
121 | return responsedata; | ||
122 | } | ||
118 | else | 123 | else |
119 | { | 124 | { |
120 | m_log.InfoFormat("[AGENT HANDLER]: method {0} not supported in agent message", method); | 125 | m_log.InfoFormat("[AGENT HANDLER]: method {0} not supported in agent message", method); |
@@ -305,6 +310,27 @@ namespace OpenSim.Server.Handlers.Simulation | |||
305 | return m_SimulationService.UpdateAgent(destination, agent); | 310 | return m_SimulationService.UpdateAgent(destination, agent); |
306 | } | 311 | } |
307 | 312 | ||
313 | protected virtual void DoQueryAccess(Hashtable request, Hashtable responsedata, UUID id, UUID regionID) | ||
314 | { | ||
315 | if (m_SimulationService == null) | ||
316 | { | ||
317 | m_log.Debug("[AGENT HANDLER]: Agent QUERY called. Harmless but useless."); | ||
318 | responsedata["content_type"] = "application/json"; | ||
319 | responsedata["int_response_code"] = HttpStatusCode.NotImplemented; | ||
320 | responsedata["str_response_string"] = string.Empty; | ||
321 | |||
322 | return; | ||
323 | } | ||
324 | |||
325 | GridRegion destination = new GridRegion(); | ||
326 | destination.RegionID = regionID; | ||
327 | |||
328 | bool result = m_SimulationService.QueryAccess(destination, id); | ||
329 | |||
330 | responsedata["int_response_code"] = HttpStatusCode.OK; | ||
331 | responsedata["str_response_string"] = result.ToString(); | ||
332 | } | ||
333 | |||
308 | protected virtual void DoAgentGet(Hashtable request, Hashtable responsedata, UUID id, UUID regionID) | 334 | protected virtual void DoAgentGet(Hashtable request, Hashtable responsedata, UUID id, UUID regionID) |
309 | { | 335 | { |
310 | if (m_SimulationService == null) | 336 | if (m_SimulationService == null) |