aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
authorMelanie2013-03-03 13:24:37 +0000
committerMelanie2013-03-03 13:24:37 +0000
commitf39e4abf0ed67e3101286651f7a5efdf7140e4e4 (patch)
treea5e30b220b66136ec3812db84d962d54193944a8 /OpenSim/Region/CoreModules
parentMerge branch 'master' into careminster (diff)
parentMake Keyframe motion cross regions again (diff)
downloadopensim-SC-f39e4abf0ed67e3101286651f7a5efdf7140e4e4.zip
opensim-SC-f39e4abf0ed67e3101286651f7a5efdf7140e4e4.tar.gz
opensim-SC-f39e4abf0ed67e3101286651f7a5efdf7140e4e4.tar.bz2
opensim-SC-f39e4abf0ed67e3101286651f7a5efdf7140e4e4.tar.xz
Merge branch 'avination' into careminster
Conflicts: OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r--OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs13
-rw-r--r--OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs41
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs6
-rw-r--r--OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs8
4 files changed, 42 insertions, 26 deletions
diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs
index 43b8b44..e13f479 100644
--- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs
+++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs
@@ -260,10 +260,10 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
260 { 260 {
261 CompleteTaskItemUpdate(m_updateTaskItemData); 261 CompleteTaskItemUpdate(m_updateTaskItemData);
262 } 262 }
263// else if (m_storeLocal) 263 else if (m_asset.Local)
264// { 264 {
265// m_Scene.AssetService.Store(m_asset); 265 m_Scene.AssetService.Store(m_asset);
266// } 266 }
267 } 267 }
268 268
269 m_log.DebugFormat( 269 m_log.DebugFormat(
@@ -391,6 +391,11 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
391// m_asset.FullID, item.Name, ourClient.Name); 391// m_asset.FullID, item.Name, ourClient.Name);
392 392
393 m_Scene.AssetService.Store(m_asset); 393 m_Scene.AssetService.Store(m_asset);
394 if (m_asset.FullID != UUID.Zero)
395 {
396 item.AssetID = m_asset.FullID;
397 m_Scene.InventoryService.UpdateItem(item);
398 }
394 399
395 m_transactions.RemoveXferUploader(m_transactionID); 400 m_transactions.RemoveXferUploader(m_transactionID);
396 } 401 }
diff --git a/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs b/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
index 7f30e5a..2eb9bfb 100644
--- a/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
@@ -55,7 +55,7 @@ namespace OpenSim.Region.CoreModules.Framework
55 /// <summary> 55 /// <summary>
56 /// Each agent has its own capabilities handler. 56 /// Each agent has its own capabilities handler.
57 /// </summary> 57 /// </summary>
58 protected Dictionary<UUID, Caps> m_capsObjects = new Dictionary<UUID, Caps>(); 58 protected Dictionary<uint, Caps> m_capsObjects = new Dictionary<uint, Caps>();
59 59
60 protected Dictionary<UUID, string> capsPaths = new Dictionary<UUID, string>(); 60 protected Dictionary<UUID, string> capsPaths = new Dictionary<UUID, string>();
61 protected Dictionary<UUID, Dictionary<ulong, string>> childrenSeeds 61 protected Dictionary<UUID, Dictionary<ulong, string>> childrenSeeds
@@ -100,7 +100,7 @@ namespace OpenSim.Region.CoreModules.Framework
100 get { return null; } 100 get { return null; }
101 } 101 }
102 102
103 public void CreateCaps(UUID agentId) 103 public void CreateCaps(UUID agentId, uint circuitCode)
104 { 104 {
105 int flags = m_scene.GetUserFlags(agentId); 105 int flags = m_scene.GetUserFlags(agentId);
106 if (m_scene.RegionInfo.EstateSettings.IsBanned(agentId, flags)) 106 if (m_scene.RegionInfo.EstateSettings.IsBanned(agentId, flags))
@@ -108,9 +108,9 @@ namespace OpenSim.Region.CoreModules.Framework
108 108
109 String capsObjectPath = GetCapsPath(agentId); 109 String capsObjectPath = GetCapsPath(agentId);
110 110
111 if (m_capsObjects.ContainsKey(agentId)) 111 if (m_capsObjects.ContainsKey(circuitCode))
112 { 112 {
113 Caps oldCaps = m_capsObjects[agentId]; 113 Caps oldCaps = m_capsObjects[circuitCode];
114 114
115 m_log.DebugFormat( 115 m_log.DebugFormat(
116 "[CAPS]: Recreating caps for agent {0}. Old caps path {1}, new caps path {2}. ", 116 "[CAPS]: Recreating caps for agent {0}. Old caps path {1}, new caps path {2}. ",
@@ -125,12 +125,12 @@ namespace OpenSim.Region.CoreModules.Framework
125 (MainServer.Instance == null) ? 0: MainServer.Instance.Port, 125 (MainServer.Instance == null) ? 0: MainServer.Instance.Port,
126 capsObjectPath, agentId, m_scene.RegionInfo.RegionName); 126 capsObjectPath, agentId, m_scene.RegionInfo.RegionName);
127 127
128 m_capsObjects[agentId] = caps; 128 m_capsObjects[circuitCode] = caps;
129 129
130 m_scene.EventManager.TriggerOnRegisterCaps(agentId, caps); 130 m_scene.EventManager.TriggerOnRegisterCaps(agentId, caps);
131 } 131 }
132 132
133 public void RemoveCaps(UUID agentId) 133 public void RemoveCaps(UUID agentId, uint circuitCode)
134 { 134 {
135 if (childrenSeeds.ContainsKey(agentId)) 135 if (childrenSeeds.ContainsKey(agentId))
136 { 136 {
@@ -139,11 +139,11 @@ namespace OpenSim.Region.CoreModules.Framework
139 139
140 lock (m_capsObjects) 140 lock (m_capsObjects)
141 { 141 {
142 if (m_capsObjects.ContainsKey(agentId)) 142 if (m_capsObjects.ContainsKey(circuitCode))
143 { 143 {
144 m_capsObjects[agentId].DeregisterHandlers(); 144 m_capsObjects[circuitCode].DeregisterHandlers();
145 m_scene.EventManager.TriggerOnDeregisterCaps(agentId, m_capsObjects[agentId]); 145 m_scene.EventManager.TriggerOnDeregisterCaps(agentId, m_capsObjects[circuitCode]);
146 m_capsObjects.Remove(agentId); 146 m_capsObjects.Remove(circuitCode);
147 } 147 }
148 else 148 else
149 { 149 {
@@ -154,19 +154,30 @@ namespace OpenSim.Region.CoreModules.Framework
154 } 154 }
155 } 155 }
156 156
157 public Caps GetCapsForUser(UUID agentId) 157 public Caps GetCapsForUser(uint circuitCode)
158 { 158 {
159 lock (m_capsObjects) 159 lock (m_capsObjects)
160 { 160 {
161 if (m_capsObjects.ContainsKey(agentId)) 161 if (m_capsObjects.ContainsKey(circuitCode))
162 { 162 {
163 return m_capsObjects[agentId]; 163 return m_capsObjects[circuitCode];
164 } 164 }
165 } 165 }
166 166
167 return null; 167 return null;
168 } 168 }
169 169
170 public void ActivateCaps(uint circuitCode)
171 {
172 lock (m_capsObjects)
173 {
174 if (m_capsObjects.ContainsKey(circuitCode))
175 {
176 m_capsObjects[circuitCode].Activate();
177 }
178 }
179 }
180
170 public void SetAgentCapsSeeds(AgentCircuitData agent) 181 public void SetAgentCapsSeeds(AgentCircuitData agent)
171 { 182 {
172 capsPaths[agent.AgentID] = agent.CapsPath; 183 capsPaths[agent.AgentID] = agent.CapsPath;
@@ -237,9 +248,9 @@ namespace OpenSim.Region.CoreModules.Framework
237 StringBuilder caps = new StringBuilder(); 248 StringBuilder caps = new StringBuilder();
238 caps.AppendFormat("Region {0}:\n", m_scene.RegionInfo.RegionName); 249 caps.AppendFormat("Region {0}:\n", m_scene.RegionInfo.RegionName);
239 250
240 foreach (KeyValuePair<UUID, Caps> kvp in m_capsObjects) 251 foreach (KeyValuePair<uint, Caps> kvp in m_capsObjects)
241 { 252 {
242 caps.AppendFormat("** User {0}:\n", kvp.Key); 253 caps.AppendFormat("** Circuit {0}:\n", kvp.Key);
243 254
244 for (IDictionaryEnumerator kvp2 = kvp.Value.CapsHandlers.GetCapsDetails(false).GetEnumerator(); kvp2.MoveNext(); ) 255 for (IDictionaryEnumerator kvp2 = kvp.Value.CapsHandlers.GetCapsDetails(false).GetEnumerator(); kvp2.MoveNext(); )
245 { 256 {
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index 6cfd332..f1de415 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -150,7 +150,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
150 { 150 {
151 client.OnTeleportHomeRequest += TriggerTeleportHome; 151 client.OnTeleportHomeRequest += TriggerTeleportHome;
152 client.OnTeleportLandmarkRequest += RequestTeleportLandmark; 152 client.OnTeleportLandmarkRequest += RequestTeleportLandmark;
153 client.OnTeleportCancel += TeleportCancel;
154 } 153 }
155 154
156 public virtual void Close() {} 155 public virtual void Close() {}
@@ -1020,11 +1019,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1020 return neighbourRegion; 1019 return neighbourRegion;
1021 } 1020 }
1022 1021
1023 private void TeleportCancel(IClientAPI remoteClient)
1024 {
1025 m_entityTransferStateMachine.ResetFromTransit(remoteClient.AgentId);
1026 }
1027
1028 public bool Cross(ScenePresence agent, bool isFlying) 1022 public bool Cross(ScenePresence agent, bool isFlying)
1029 { 1023 {
1030 uint x; 1024 uint x;
diff --git a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
index ffb8e85..f2922d6 100644
--- a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
+++ b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
@@ -50,6 +50,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
50 public string url; 50 public string url;
51 public UUID urlcode; 51 public UUID urlcode;
52 public Dictionary<UUID, RequestData> requests; 52 public Dictionary<UUID, RequestData> requests;
53 public bool isSsl;
53 } 54 }
54 55
55 public class RequestData 56 public class RequestData
@@ -195,6 +196,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
195 urlData.engine = engine; 196 urlData.engine = engine;
196 urlData.url = url; 197 urlData.url = url;
197 urlData.urlcode = urlcode; 198 urlData.urlcode = urlcode;
199 urlData.isSsl = false;
198 urlData.requests = new Dictionary<UUID, RequestData>(); 200 urlData.requests = new Dictionary<UUID, RequestData>();
199 201
200 m_UrlMap[url] = urlData; 202 m_UrlMap[url] = urlData;
@@ -240,6 +242,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
240 urlData.engine = engine; 242 urlData.engine = engine;
241 urlData.url = url; 243 urlData.url = url;
242 urlData.urlcode = urlcode; 244 urlData.urlcode = urlcode;
245 urlData.isSsl = true;
243 urlData.requests = new Dictionary<UUID, RequestData>(); 246 urlData.requests = new Dictionary<UUID, RequestData>();
244 247
245 248
@@ -421,7 +424,10 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
421 424
422 private void RemoveUrl(UrlData data) 425 private void RemoveUrl(UrlData data)
423 { 426 {
424 m_HttpServer.RemoveHTTPHandler("", "/lslhttp/"+data.urlcode.ToString()+"/"); 427 if (data.isSsl)
428 m_HttpsServer.RemoveHTTPHandler("", "/lslhttps/"+data.urlcode.ToString()+"/");
429 else
430 m_HttpServer.RemoveHTTPHandler("", "/lslhttp/"+data.urlcode.ToString()+"/");
425 } 431 }
426 432
427 private Hashtable NoEvents(UUID requestID, UUID sessionID) 433 private Hashtable NoEvents(UUID requestID, UUID sessionID)