aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server
diff options
context:
space:
mode:
authorMelanie2010-12-09 02:01:41 +0100
committerMelanie2010-12-09 02:01:41 +0100
commitf28dc77ab4f0abeac942b25d3547f43184d5cf2e (patch)
tree4820d18755c55fa6da7dde2ec4626cb4fc9ce870 /OpenSim/Server
parentPrevent sending of attachment data to any client if the attachment (diff)
downloadopensim-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')
-rw-r--r--OpenSim/Server/Handlers/Simulation/AgentHandlers.cs26
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)