diff options
author | Tom Grimshaw | 2010-07-01 08:49:53 -0700 |
---|---|---|
committer | Tom Grimshaw | 2010-07-01 08:49:53 -0700 |
commit | 4851706d35ca0e24e0f69348d957145631a8d94c (patch) | |
tree | ad984517af1449c717a387d5a07eca0ec2285f93 | |
parent | Catch newid == null which is what happens if the asset service is offline (se... (diff) | |
parent | Avoid a spurious error message when taking a friend's no copy item (diff) | |
download | opensim-SC-4851706d35ca0e24e0f69348d957145631a8d94c.zip opensim-SC-4851706d35ca0e24e0f69348d957145631a8d94c.tar.gz opensim-SC-4851706d35ca0e24e0f69348d957145631a8d94c.tar.bz2 opensim-SC-4851706d35ca0e24e0f69348d957145631a8d94c.tar.xz |
Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor
19 files changed, 179 insertions, 42 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index c6f8b88..ca0b7ad 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | |||
@@ -769,8 +769,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
769 | bool canEditObjectsChanged = ((rights ^ userFlags) & (int)FriendRights.CanModifyObjects) != 0; | 769 | bool canEditObjectsChanged = ((rights ^ userFlags) & (int)FriendRights.CanModifyObjects) != 0; |
770 | if (canEditObjectsChanged) | 770 | if (canEditObjectsChanged) |
771 | friendClient.SendChangeUserRights(userID, friendID, rights); | 771 | friendClient.SendChangeUserRights(userID, friendID, rights); |
772 | |||
772 | } | 773 | } |
773 | 774 | ||
775 | // update local cache | ||
776 | //m_Friends[friendID].Friends = m_FriendsService.GetFriends(friendID); | ||
777 | foreach (FriendInfo finfo in m_Friends[friendID].Friends) | ||
778 | if (finfo.Friend == userID.ToString()) | ||
779 | finfo.TheirFlags = rights; | ||
780 | |||
774 | return true; | 781 | return true; |
775 | } | 782 | } |
776 | 783 | ||
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs index 2ab46aa..b0555da 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs | |||
@@ -131,6 +131,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
131 | return ret; | 131 | return ret; |
132 | } | 132 | } |
133 | 133 | ||
134 | // DO NOT OVERRIDE THIS METHOD | ||
134 | public virtual UUID DeleteToInventory(DeRezAction action, UUID folderID, | 135 | public virtual UUID DeleteToInventory(DeRezAction action, UUID folderID, |
135 | SceneObjectGroup objectGroup, IClientAPI remoteClient) | 136 | SceneObjectGroup objectGroup, IClientAPI remoteClient) |
136 | { | 137 | { |
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 3035d88..12b6aa0 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -286,23 +286,15 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
286 | { | 286 | { |
287 | // Deleting someone else's item | 287 | // Deleting someone else's item |
288 | // | 288 | // |
289 | |||
290 | |||
291 | if (remoteClient == null || | 289 | if (remoteClient == null || |
292 | objectGroup.OwnerID != remoteClient.AgentId) | 290 | objectGroup.OwnerID != remoteClient.AgentId) |
293 | { | 291 | { |
294 | // Folder skeleton may not be loaded and we | 292 | |
295 | // have to wait for the inventory to find | ||
296 | // the destination folder | ||
297 | // | ||
298 | folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.LostAndFoundFolder); | 293 | folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.LostAndFoundFolder); |
299 | } | 294 | } |
300 | else | 295 | else |
301 | { | 296 | { |
302 | // Assume inventory skeleton was loaded during login | 297 | folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.TrashFolder); |
303 | // and all folders can be found | ||
304 | // | ||
305 | folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.TrashFolder); | ||
306 | } | 298 | } |
307 | } | 299 | } |
308 | else if (action == DeRezAction.Return) | 300 | else if (action == DeRezAction.Return) |
@@ -332,7 +324,6 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
332 | 324 | ||
333 | if (folder == null) // None of the above | 325 | if (folder == null) // None of the above |
334 | { | 326 | { |
335 | //folder = userInfo.RootFolder.FindFolder(folderID); | ||
336 | folder = new InventoryFolderBase(folderID); | 327 | folder = new InventoryFolderBase(folderID); |
337 | 328 | ||
338 | if (folder == null) // Nowhere to put it | 329 | if (folder == null) // Nowhere to put it |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs index ae03cdf..209cf0d 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs | |||
@@ -96,7 +96,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Inventory | |||
96 | 96 | ||
97 | Object[] args = new Object[] { m_Config, MainServer.Instance, "HGInventoryService" }; | 97 | Object[] args = new Object[] { m_Config, MainServer.Instance, "HGInventoryService" }; |
98 | 98 | ||
99 | ServerUtils.LoadPlugin<IServiceConnector>("OpenSim.Server.Handlers.dll:HGInventoryServiceInConnector", args); | 99 | ServerUtils.LoadPlugin<IServiceConnector>("OpenSim.Server.Handlers.dll:XInventoryInConnector", args); |
100 | } | 100 | } |
101 | } | 101 | } |
102 | 102 | ||
diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index 4d360f6..a1451ce 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs | |||
@@ -134,8 +134,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
134 | 134 | ||
135 | foreach (KeyValuePair<UUID, AssetType> kvp in m_uuids) | 135 | foreach (KeyValuePair<UUID, AssetType> kvp in m_uuids) |
136 | { | 136 | { |
137 | if (kvp.Key != UUID.Zero) | 137 | m_assetService.Get(kvp.Key.ToString(), kvp.Value, PreAssetRequestCallback); |
138 | m_assetService.Get(kvp.Key.ToString(), kvp.Value, PreAssetRequestCallback); | ||
139 | } | 138 | } |
140 | 139 | ||
141 | m_requestCallbackTimer.Enabled = true; | 140 | m_requestCallbackTimer.Enabled = true; |
@@ -270,7 +269,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
270 | } | 269 | } |
271 | catch (Exception e) | 270 | catch (Exception e) |
272 | { | 271 | { |
273 | m_log.ErrorFormat("[ARCHIVER]: AssetRequestCallback failed with {0}{1}", e.Message, e.StackTrace); | 272 | m_log.ErrorFormat("[ARCHIVER]: AssetRequestCallback failed with {0}", e); |
274 | } | 273 | } |
275 | } | 274 | } |
276 | 275 | ||
@@ -286,8 +285,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
286 | catch (Exception e) | 285 | catch (Exception e) |
287 | { | 286 | { |
288 | m_log.ErrorFormat( | 287 | m_log.ErrorFormat( |
289 | "[ARCHIVER]: Terminating archive creation since asset requester callback failed with {0}{1}", | 288 | "[ARCHIVER]: Terminating archive creation since asset requster callback failed with {0}", e); |
290 | e.Message, e.StackTrace); | ||
291 | } | 289 | } |
292 | } | 290 | } |
293 | } | 291 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index e61132e..167e166 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1592,16 +1592,32 @@ namespace OpenSim.Region.Framework.Scenes | |||
1592 | // So that we know the database is upto date, | 1592 | // So that we know the database is upto date, |
1593 | // for when deleting the object from it | 1593 | // for when deleting the object from it |
1594 | ForceSceneObjectBackup(grp); | 1594 | ForceSceneObjectBackup(grp); |
1595 | if (remoteClient != null) | 1595 | |
1596 | if (remoteClient == null) | ||
1597 | { | ||
1598 | // Autoreturn has a null client. Nothing else does. So | ||
1599 | // allow only returns | ||
1600 | if (action != DeRezAction.Return) | ||
1601 | return; | ||
1602 | |||
1603 | permissionToTakeCopy = false; | ||
1604 | } | ||
1605 | else | ||
1596 | { | 1606 | { |
1597 | if (!Permissions.CanTakeCopyObject(grp.UUID, remoteClient.AgentId)) | 1607 | if (action == DeRezAction.TakeCopy) |
1608 | { | ||
1609 | if (!Permissions.CanTakeCopyObject(grp.UUID, remoteClient.AgentId)) | ||
1610 | permissionToTakeCopy = false; | ||
1611 | } | ||
1612 | else | ||
1613 | { | ||
1598 | permissionToTakeCopy = false; | 1614 | permissionToTakeCopy = false; |
1615 | } | ||
1599 | if (!Permissions.CanTakeObject(grp.UUID, remoteClient.AgentId)) | 1616 | if (!Permissions.CanTakeObject(grp.UUID, remoteClient.AgentId)) |
1600 | permissionToTake = false; | 1617 | permissionToTake = false; |
1601 | 1618 | ||
1602 | if (!Permissions.CanDeleteObject(grp.UUID, remoteClient.AgentId)) | 1619 | if (!Permissions.CanDeleteObject(grp.UUID, remoteClient.AgentId)) |
1603 | permissionToDelete = false; | 1620 | permissionToDelete = false; |
1604 | |||
1605 | } | 1621 | } |
1606 | } | 1622 | } |
1607 | 1623 | ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index fb191e6..d49bbb2 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -9829,19 +9829,39 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
9829 | public LSL_String llXorBase64StringsCorrect(string str1, string str2) | 9829 | public LSL_String llXorBase64StringsCorrect(string str1, string str2) |
9830 | { | 9830 | { |
9831 | m_host.AddScriptLPS(1); | 9831 | m_host.AddScriptLPS(1); |
9832 | string ret = String.Empty; | 9832 | |
9833 | string src1 = llBase64ToString(str1); | 9833 | if (str1 == String.Empty) |
9834 | string src2 = llBase64ToString(str2); | 9834 | return String.Empty; |
9835 | int c = 0; | 9835 | if (str2 == String.Empty) |
9836 | for (int i = 0; i < src1.Length; i++) | 9836 | return str1; |
9837 | |||
9838 | byte[] data1 = Convert.FromBase64String(str1); | ||
9839 | byte[] data2 = Convert.FromBase64String(str2); | ||
9840 | |||
9841 | byte[] d2 = new Byte[data1.Length]; | ||
9842 | int pos = 0; | ||
9843 | |||
9844 | if (data1.Length <= data2.Length) | ||
9837 | { | 9845 | { |
9838 | ret += (char) (src1[i] ^ src2[c]); | 9846 | Array.Copy(data2, 0, d2, 0, data1.Length); |
9847 | } | ||
9848 | else | ||
9849 | { | ||
9850 | while (pos < data1.Length) | ||
9851 | { | ||
9852 | int len = data1.Length - pos; | ||
9853 | if (len > data2.Length) | ||
9854 | len = data2.Length; | ||
9839 | 9855 | ||
9840 | c++; | 9856 | Array.Copy(data2, 0, d2, pos, len); |
9841 | if (c >= src2.Length) | 9857 | pos += len; |
9842 | c = 0; | 9858 | } |
9843 | } | 9859 | } |
9844 | return llStringToBase64(ret); | 9860 | |
9861 | for (pos = 0 ; pos < data1.Length ; pos++ ) | ||
9862 | data1[pos] ^= d2[pos]; | ||
9863 | |||
9864 | return Convert.ToBase64String(data1); | ||
9845 | } | 9865 | } |
9846 | 9866 | ||
9847 | public LSL_String llHTTPRequest(string url, LSL_List parameters, string body) | 9867 | public LSL_String llHTTPRequest(string url, LSL_List parameters, string body) |
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 30e127d..bbaf923 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -556,6 +556,11 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
556 | 556 | ||
557 | if (stateSource == (int)StateSource.ScriptedRez) | 557 | if (stateSource == (int)StateSource.ScriptedRez) |
558 | { | 558 | { |
559 | lock (m_CompileDict) | ||
560 | { | ||
561 | m_CompileDict[itemID] = 0; | ||
562 | } | ||
563 | |||
559 | DoOnRezScript(parms); | 564 | DoOnRezScript(parms); |
560 | } | 565 | } |
561 | else | 566 | else |
@@ -1356,9 +1361,23 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1356 | string xml = instance.GetXMLState(); | 1361 | string xml = instance.GetXMLState(); |
1357 | 1362 | ||
1358 | XmlDocument sdoc = new XmlDocument(); | 1363 | XmlDocument sdoc = new XmlDocument(); |
1359 | sdoc.LoadXml(xml); | 1364 | bool loadedState = true; |
1360 | XmlNodeList rootL = sdoc.GetElementsByTagName("ScriptState"); | 1365 | try |
1361 | XmlNode rootNode = rootL[0]; | 1366 | { |
1367 | sdoc.LoadXml(xml); | ||
1368 | } | ||
1369 | catch (System.Xml.XmlException e) | ||
1370 | { | ||
1371 | loadedState = false; | ||
1372 | } | ||
1373 | |||
1374 | XmlNodeList rootL = null; | ||
1375 | XmlNode rootNode = null; | ||
1376 | if (loadedState) | ||
1377 | { | ||
1378 | rootL = sdoc.GetElementsByTagName("ScriptState"); | ||
1379 | rootNode = rootL[0]; | ||
1380 | } | ||
1362 | 1381 | ||
1363 | // Create <State UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"> | 1382 | // Create <State UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"> |
1364 | XmlDocument doc = new XmlDocument(); | 1383 | XmlDocument doc = new XmlDocument(); |
@@ -1374,8 +1393,18 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1374 | stateData.Attributes.Append(engineName); | 1393 | stateData.Attributes.Append(engineName); |
1375 | doc.AppendChild(stateData); | 1394 | doc.AppendChild(stateData); |
1376 | 1395 | ||
1396 | XmlNode xmlstate = null; | ||
1397 | |||
1377 | // Add <ScriptState>...</ScriptState> | 1398 | // Add <ScriptState>...</ScriptState> |
1378 | XmlNode xmlstate = doc.ImportNode(rootNode, true); | 1399 | if (loadedState) |
1400 | { | ||
1401 | xmlstate = doc.ImportNode(rootNode, true); | ||
1402 | } | ||
1403 | else | ||
1404 | { | ||
1405 | xmlstate = doc.CreateElement("", "ScriptState", ""); | ||
1406 | } | ||
1407 | |||
1379 | stateData.AppendChild(xmlstate); | 1408 | stateData.AppendChild(xmlstate); |
1380 | 1409 | ||
1381 | string assemName = instance.GetAssemblyName(); | 1410 | string assemName = instance.GetAssemblyName(); |
diff --git a/OpenSim/Server/Base/ServicesServerBase.cs b/OpenSim/Server/Base/ServicesServerBase.cs index a5bebb8..dee31bd 100644 --- a/OpenSim/Server/Base/ServicesServerBase.cs +++ b/OpenSim/Server/Base/ServicesServerBase.cs | |||
@@ -230,6 +230,12 @@ namespace OpenSim.Server.Base | |||
230 | "shutdown", | 230 | "shutdown", |
231 | "Quit the application", HandleQuit); | 231 | "Quit the application", HandleQuit); |
232 | 232 | ||
233 | // Register a command to read other commands from a file | ||
234 | MainConsole.Instance.Commands.AddCommand("base", false, "command-script", | ||
235 | "command-script <script>", | ||
236 | "Run a command script from file", HandleScript); | ||
237 | |||
238 | |||
233 | // Allow derived classes to perform initialization that | 239 | // Allow derived classes to perform initialization that |
234 | // needs to be done after the console has opened | 240 | // needs to be done after the console has opened |
235 | // | 241 | // |
@@ -259,6 +265,41 @@ namespace OpenSim.Server.Base | |||
259 | m_log.Info("[CONSOLE] Quitting"); | 265 | m_log.Info("[CONSOLE] Quitting"); |
260 | } | 266 | } |
261 | 267 | ||
268 | protected virtual void HandleScript(string module, string[] parms) | ||
269 | { | ||
270 | if (parms.Length != 2) | ||
271 | { | ||
272 | return; | ||
273 | } | ||
274 | RunCommandScript(parms[1]); | ||
275 | } | ||
276 | |||
277 | /// <summary> | ||
278 | /// Run an optional startup list of commands | ||
279 | /// </summary> | ||
280 | /// <param name="fileName"></param> | ||
281 | private void RunCommandScript(string fileName) | ||
282 | { | ||
283 | if (File.Exists(fileName)) | ||
284 | { | ||
285 | m_log.Info("[COMMANDFILE]: Running " + fileName); | ||
286 | |||
287 | using (StreamReader readFile = File.OpenText(fileName)) | ||
288 | { | ||
289 | string currentCommand; | ||
290 | while ((currentCommand = readFile.ReadLine()) != null) | ||
291 | { | ||
292 | if (currentCommand != String.Empty) | ||
293 | { | ||
294 | m_log.Info("[COMMANDFILE]: Running '" + currentCommand + "'"); | ||
295 | MainConsole.Instance.RunCommand(currentCommand); | ||
296 | } | ||
297 | } | ||
298 | } | ||
299 | } | ||
300 | } | ||
301 | |||
302 | |||
262 | protected virtual void ReadConfig() | 303 | protected virtual void ReadConfig() |
263 | { | 304 | { |
264 | } | 305 | } |
diff --git a/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs b/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs index 6e580f1..ac6a3ab 100644 --- a/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs +++ b/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs | |||
@@ -44,6 +44,8 @@ namespace OpenSim.Server.Handlers.Asset | |||
44 | { | 44 | { |
45 | public class XInventoryInConnector : ServiceConnector | 45 | public class XInventoryInConnector : ServiceConnector |
46 | { | 46 | { |
47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||
48 | |||
47 | private IInventoryService m_InventoryService; | 49 | private IInventoryService m_InventoryService; |
48 | private string m_ConfigName = "InventoryService"; | 50 | private string m_ConfigName = "InventoryService"; |
49 | 51 | ||
@@ -53,6 +55,8 @@ namespace OpenSim.Server.Handlers.Asset | |||
53 | if (configName != String.Empty) | 55 | if (configName != String.Empty) |
54 | m_ConfigName = configName; | 56 | m_ConfigName = configName; |
55 | 57 | ||
58 | m_log.DebugFormat("[XInventoryInConnector]: Starting with config name {0}", m_ConfigName); | ||
59 | |||
56 | IConfig serverConfig = config.Configs[m_ConfigName]; | 60 | IConfig serverConfig = config.Configs[m_ConfigName]; |
57 | if (serverConfig == null) | 61 | if (serverConfig == null) |
58 | throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName)); | 62 | throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName)); |
diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs index c4117f5..9739e5a 100644 --- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs +++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs | |||
@@ -277,7 +277,7 @@ namespace OpenSim.Server.Handlers.Simulation | |||
277 | //responsedata["str_response_string"] = OSDParser.SerializeJsonString(resp); ??? instead | 277 | //responsedata["str_response_string"] = OSDParser.SerializeJsonString(resp); ??? instead |
278 | } | 278 | } |
279 | 279 | ||
280 | // subclasses cab override this | 280 | // subclasses can override this |
281 | protected virtual bool UpdateAgent(GridRegion destination, AgentData agent) | 281 | protected virtual bool UpdateAgent(GridRegion destination, AgentData agent) |
282 | { | 282 | { |
283 | return m_SimulationService.UpdateAgent(destination, agent); | 283 | return m_SimulationService.UpdateAgent(destination, agent); |
@@ -285,6 +285,16 @@ namespace OpenSim.Server.Handlers.Simulation | |||
285 | 285 | ||
286 | protected virtual void DoAgentGet(Hashtable request, Hashtable responsedata, UUID id, UUID regionID) | 286 | protected virtual void DoAgentGet(Hashtable request, Hashtable responsedata, UUID id, UUID regionID) |
287 | { | 287 | { |
288 | if (m_SimulationService == null) | ||
289 | { | ||
290 | m_log.Debug("[AGENT HANDLER]: Agent GET called. Harmless but useless."); | ||
291 | responsedata["content_type"] = "application/json"; | ||
292 | responsedata["int_response_code"] = HttpStatusCode.NotImplemented; | ||
293 | responsedata["str_response_string"] = string.Empty; | ||
294 | |||
295 | return; | ||
296 | } | ||
297 | |||
288 | GridRegion destination = new GridRegion(); | 298 | GridRegion destination = new GridRegion(); |
289 | destination.RegionID = regionID; | 299 | destination.RegionID = regionID; |
290 | 300 | ||
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs index 34bb8b3..7a420e4 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs | |||
@@ -371,7 +371,7 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
371 | /// <returns></returns> | 371 | /// <returns></returns> |
372 | public bool Delete(string id) | 372 | public bool Delete(string id) |
373 | { | 373 | { |
374 | string errorMessage = String.Empty; | 374 | //string errorMessage = String.Empty; |
375 | string url = m_serverUrl + id; | 375 | string url = m_serverUrl + id; |
376 | 376 | ||
377 | if (m_cache != null) | 377 | if (m_cache != null) |
diff --git a/OpenSim/Services/GridService/HypergridLinker.cs b/OpenSim/Services/GridService/HypergridLinker.cs index af603b2..ae80a8c 100644 --- a/OpenSim/Services/GridService/HypergridLinker.cs +++ b/OpenSim/Services/GridService/HypergridLinker.cs | |||
@@ -255,7 +255,11 @@ namespace OpenSim.Services.GridService | |||
255 | { | 255 | { |
256 | m_log.WarnFormat("[HYPERGRID LINKER]: Remote Gatekeeper at {0} provided malformed ExternalName {1}", regInfo.ExternalHostName, externalName); | 256 | m_log.WarnFormat("[HYPERGRID LINKER]: Remote Gatekeeper at {0} provided malformed ExternalName {1}", regInfo.ExternalHostName, externalName); |
257 | } | 257 | } |
258 | regInfo.RegionName = regInfo.ExternalHostName + ":" + regInfo.HttpPort + ":" + regInfo.RegionName; | 258 | string name = regInfo.RegionName; |
259 | regInfo.RegionName = regInfo.ExternalHostName + ":" + regInfo.HttpPort; | ||
260 | if (name != string.Empty) | ||
261 | regInfo.RegionName += ":" + name; | ||
262 | |||
259 | // Try get the map image | 263 | // Try get the map image |
260 | //regInfo.TerrainImage = m_GatekeeperConnector.GetMapImage(regionID, imageURL); | 264 | //regInfo.TerrainImage = m_GatekeeperConnector.GetMapImage(regionID, imageURL); |
261 | // I need a texture that works for this... the one I tried doesn't seem to be working | 265 | // I need a texture that works for this... the one I tried doesn't seem to be working |
diff --git a/OpenSim/Services/InventoryService/HGInventoryService.cs b/OpenSim/Services/InventoryService/HGInventoryService.cs index 061effe..6e6b019 100644 --- a/OpenSim/Services/InventoryService/HGInventoryService.cs +++ b/OpenSim/Services/InventoryService/HGInventoryService.cs | |||
@@ -108,13 +108,13 @@ namespace OpenSim.Services.InventoryService | |||
108 | // Warp! Root folder for travelers | 108 | // Warp! Root folder for travelers |
109 | XInventoryFolder[] folders = m_Database.GetFolders( | 109 | XInventoryFolder[] folders = m_Database.GetFolders( |
110 | new string[] { "agentID", "folderName"}, | 110 | new string[] { "agentID", "folderName"}, |
111 | new string[] { principalID.ToString(), "Suitcase" }); | 111 | new string[] { principalID.ToString(), "My Suitcase" }); |
112 | 112 | ||
113 | if (folders.Length > 0) | 113 | if (folders.Length > 0) |
114 | return ConvertToOpenSim(folders[0]); | 114 | return ConvertToOpenSim(folders[0]); |
115 | 115 | ||
116 | // make one | 116 | // make one |
117 | XInventoryFolder suitcase = CreateFolder(principalID, UUID.Zero, (int)AssetType.Folder, "Suitcase"); | 117 | XInventoryFolder suitcase = CreateFolder(principalID, UUID.Zero, (int)AssetType.Folder, "My Suitcase"); |
118 | return ConvertToOpenSim(suitcase); | 118 | return ConvertToOpenSim(suitcase); |
119 | } | 119 | } |
120 | 120 | ||
diff --git a/OpenSim/Services/InventoryService/XInventoryService.cs b/OpenSim/Services/InventoryService/XInventoryService.cs index af831fd..f48bf60 100644 --- a/OpenSim/Services/InventoryService/XInventoryService.cs +++ b/OpenSim/Services/InventoryService/XInventoryService.cs | |||
@@ -200,7 +200,14 @@ namespace OpenSim.Services.InventoryService | |||
200 | if (folders.Length == 0) | 200 | if (folders.Length == 0) |
201 | return null; | 201 | return null; |
202 | 202 | ||
203 | return ConvertToOpenSim(folders[0]); | 203 | XInventoryFolder root = null; |
204 | foreach (XInventoryFolder folder in folders) | ||
205 | if (folder.folderName == "My Inventory") | ||
206 | root = folder; | ||
207 | if (folders == null) // oops | ||
208 | root = folders[0]; | ||
209 | |||
210 | return ConvertToOpenSim(root); | ||
204 | } | 211 | } |
205 | 212 | ||
206 | public virtual InventoryFolderBase GetFolderForType(UUID principalID, AssetType type) | 213 | public virtual InventoryFolderBase GetFolderForType(UUID principalID, AssetType type) |
diff --git a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj index f19e082..481b3f8 100644 --- a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj +++ b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj | |||
@@ -36,9 +36,9 @@ | |||
36 | <SpecificVersion>False</SpecificVersion> | 36 | <SpecificVersion>False</SpecificVersion> |
37 | <HintPath>..\..\..\bin\log4net.dll</HintPath> | 37 | <HintPath>..\..\..\bin\log4net.dll</HintPath> |
38 | </Reference> | 38 | </Reference> |
39 | <Reference Include="OpenSim.Server, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | 39 | <Reference Include="Robust, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |
40 | <SpecificVersion>False</SpecificVersion> | 40 | <SpecificVersion>False</SpecificVersion> |
41 | <HintPath>..\..\..\bin\OpenSim.Server.exe</HintPath> | 41 | <HintPath>..\..\..\bin\Robust.exe</HintPath> |
42 | </Reference> | 42 | </Reference> |
43 | <Reference Include="System" /> | 43 | <Reference Include="System" /> |
44 | <Reference Include="System.Core"> | 44 | <Reference Include="System.Core"> |
diff --git a/bin/Robust.32BitLaunch.exe b/bin/Robust.32BitLaunch.exe index 14a6db3..747d02f 100644 --- a/bin/Robust.32BitLaunch.exe +++ b/bin/Robust.32BitLaunch.exe | |||
Binary files differ | |||
diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 39228eb..6b0029f 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example | |||
@@ -198,6 +198,10 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003 | |||
198 | ; CHANGE THIS | 198 | ; CHANGE THIS |
199 | ExternalName = "http://127.0.0.1:8002" | 199 | ExternalName = "http://127.0.0.1:8002" |
200 | 200 | ||
201 | ; Does this grid allow incoming links to any region in it? | ||
202 | ; If false, HG TPs happen only to the Default regions specified in [GridService] section | ||
203 | AllowTeleportsToAnyRegion = true | ||
204 | |||
201 | [UserAgentService] | 205 | [UserAgentService] |
202 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" | 206 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" |
203 | ;; for the service | 207 | ;; for the service |
diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index bfa6725..de8677f 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example | |||
@@ -68,3 +68,8 @@ | |||
68 | 68 | ||
69 | [GatekeeperService] | 69 | [GatekeeperService] |
70 | ExternalName = "http://127.0.0.1:9000" | 70 | ExternalName = "http://127.0.0.1:9000" |
71 | |||
72 | ; Does this grid allow incoming links to any region in it? | ||
73 | ; If false, HG TPs happen only to the Default regions specified in [GridService] section | ||
74 | AllowTeleportsToAnyRegion = true | ||
75 | |||