From 24ef04339567f366ad0d707b4a8e9beec916b24e Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 19 Jan 2015 23:52:34 +0000 Subject: Make failures in PollServiceHttpRequest.DoHTTPGruntWork() actually log the exception on error --- OpenSim/Framework/Servers/HttpServer/PollServiceHttpRequest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceHttpRequest.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceHttpRequest.cs index 6aa9479..caf0e98 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceHttpRequest.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceHttpRequest.cs @@ -72,7 +72,7 @@ namespace OpenSim.Framework.Servers.HttpServer } catch (Exception ex) { - m_log.Warn(string.Format("[POLL SERVICE WORKER THREAD]: Error ", ex)); + m_log.Warn("[POLL SERVICE WORKER THREAD]: Error ", ex); } finally { @@ -87,7 +87,7 @@ namespace OpenSim.Framework.Servers.HttpServer } catch (Exception e) { - m_log.Warn(String.Format("[POLL SERVICE WORKER THREAD]: Error ", e)); + m_log.Warn("[POLL SERVICE WORKER THREAD]: Error ", e); } PollServiceArgs.RequestsHandled++; -- cgit v1.1 From 4b8215c8933ecc358cd33b04f849ca3a40750fe2 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 20 Jan 2015 00:18:25 +0000 Subject: minor: comment out unusued logging objects in some pCampbot behaviour classes --- OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour2.cs | 2 +- OpenSim/Tools/pCampBot/Behaviours/TwitchyBehaviour.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour2.cs b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour2.cs index 326396d..1ec2046 100644 --- a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour2.cs +++ b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour2.cs @@ -43,7 +43,7 @@ namespace pCampBot /// public class PhysicsBehaviour2 : AbstractBehaviour { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public PhysicsBehaviour2() { diff --git a/OpenSim/Tools/pCampBot/Behaviours/TwitchyBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/TwitchyBehaviour.cs index ae40bae..7b4639d 100644 --- a/OpenSim/Tools/pCampBot/Behaviours/TwitchyBehaviour.cs +++ b/OpenSim/Tools/pCampBot/Behaviours/TwitchyBehaviour.cs @@ -44,7 +44,7 @@ namespace pCampBot /// public class TwitchyBehaviour : AbstractBehaviour { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public TwitchyBehaviour() { -- cgit v1.1 From ac93ba9f85e5bcbcfe69fefbfd0b71a0885bac81 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 20 Jan 2015 00:19:33 +0000 Subject: minor: correct SceneCommunicationService.LogHeader spelling Relates to http://opensimulator.org/mantis/view.php?id=7337 --- OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs index 8101768..c8c8714 100644 --- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs @@ -52,7 +52,7 @@ namespace OpenSim.Region.Framework.Scenes public class SceneCommunicationService //one instance per region { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private static string LogHeader = "[SCENE COMMUNIATION SERVICE]"; + private static string LogHeader = "[SCENE COMMUNICATION SERVICE]"; protected RegionInfo m_regionInfo; protected Scene m_scene; -- cgit v1.1 From a846e63c707d624f5fe7504aba43fe7a57a18ea1 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 21 Jan 2015 00:21:27 +0000 Subject: If [Permissions] serverside_object_permissions = false or the undocumented propogate_permissions = false, don't propogate permissions of prim inventory items. This was a regression from 13f31fd (4 Nov 2013) Relates to http://opensimulator.org/mantis/view.php?id=7399 --- OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index c318e53..1ca250a 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -4836,7 +4836,10 @@ namespace OpenSim.Region.Framework.Scenes if (OwnerID != item.Owner) { //LogPermissions("Before ApplyNextOwnerPermissions"); - ApplyNextOwnerPermissions(); + + if (scene.Permissions.PropagatePermissions()) + ApplyNextOwnerPermissions(); + //LogPermissions("After ApplyNextOwnerPermissions"); LastOwnerID = OwnerID; -- cgit v1.1 From 25dd30ddb6ef883237da8cc5bbc83519471819ce Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 21 Jan 2015 00:33:54 +0000 Subject: minor: Fix some CR line endings in Scene.Inventory.cs --- OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 8bd0c0a..55db968 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -40,7 +40,7 @@ using OpenSim.Framework; using OpenSim.Region.Framework; using OpenSim.Framework.Client; using OpenSim.Region.Framework.Interfaces; -using OpenSim.Region.Framework.Scenes.Serialization; +using OpenSim.Region.Framework.Scenes.Serialization; using OpenSim.Services.Interfaces; using PermissionMask = OpenSim.Framework.PermissionMask; @@ -127,11 +127,11 @@ namespace OpenSim.Region.Framework.Scenes return false; } - } - - public bool AddInventoryItem(InventoryItemBase item) - { - return AddInventoryItem(item, true); + } + + public bool AddInventoryItem(InventoryItemBase item) + { + return AddInventoryItem(item, true); } /// @@ -1074,7 +1074,7 @@ namespace OpenSim.Region.Framework.Scenes // } CreateNewInventoryItem( - remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, + remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, name, description, 0, callbackID, olditemID, type, invType, (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All, (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, Util.UnixTimeSinceEpoch(), @@ -2183,7 +2183,7 @@ namespace OpenSim.Region.Framework.Scenes } } - // OK, we're done with permissions. Let's check if any part of the code prevents the objects from being deleted + // OK, we're done with permissions. Let's check if any part of the code prevents the objects from being deleted bool canDelete = EventManager.TriggerDeRezRequested(remoteClient, deleteGroups, action); if (permissionToTake && (action != DeRezAction.Delete || this.m_useTrashOnDelete)) -- cgit v1.1 From 372a7bf78eeb10361b08aa35890bd9cc8ce8694e Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 21 Jan 2015 00:34:51 +0000 Subject: minor: Comment out log line for the SimulatorFeatures cap request for now to reduce log verbiage. Please revert if still required. --- OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs index 07e8025..e258bcb 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs @@ -235,7 +235,7 @@ namespace OpenSim.Region.ClientStack.Linden private Hashtable HandleSimulatorFeaturesRequest(Hashtable mDhttpMethod, UUID agentID) { - m_log.DebugFormat("[SIMULATOR FEATURES MODULE]: SimulatorFeatures request"); +// m_log.DebugFormat("[SIMULATOR FEATURES MODULE]: SimulatorFeatures request"); OSDMap copy = DeepCopy(); -- cgit v1.1 From abf1836b818e7876c3e32856b61cb1ba1f6460f2 Mon Sep 17 00:00:00 2001 From: AliciaRaven Date: Wed, 21 Jan 2015 00:42:46 +0000 Subject: Fix OfflineIMEmail value overwriting every time its called. The request was receiving a blank user prefs object to populate but then was checking for an email address. When this failed the email address was pulled from the User Account service and the empty prefs now including the email was saved before being loaded again to be returned. This was overwriting all other settings in the prefs. This fix returns the existing prefs first before checking the email address is set, and only updates email if missing. --- OpenSim/Services/UserProfilesService/UserProfilesService.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Services/UserProfilesService/UserProfilesService.cs b/OpenSim/Services/UserProfilesService/UserProfilesService.cs index 75101ff..96c13c0 100644 --- a/OpenSim/Services/UserProfilesService/UserProfilesService.cs +++ b/OpenSim/Services/UserProfilesService/UserProfilesService.cs @@ -196,6 +196,9 @@ namespace OpenSim.Services.ProfilesService public bool UserPreferencesRequest(ref UserPreferences pref, ref string result) { + if (!ProfilesData.GetUserPreferences(ref pref, ref result)) + return false; + if(string.IsNullOrEmpty(pref.EMail)) { UserAccount account = new UserAccount(); @@ -228,9 +231,6 @@ namespace OpenSim.Services.ProfilesService return false; } } - if (!ProfilesData.GetUserPreferences (ref pref, ref result)) - return false; - if(string.IsNullOrEmpty(pref.EMail)) pref.EMail = "No Email Address On Record"; -- cgit v1.1 From 155da5aad2dc0bb6d88d7276e9e3a12639cf9ead Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 21 Jan 2015 20:31:42 +0000 Subject: Add debug ability to ignore reliably sent packets that are not acknowledged. This is controlled via the console command "debug lludp client set process-unacked-sends true [ ]" For debug purposes to see if this process for very bad connections is causing general outbound udp processing delays. Relates to http://opensimulator.org/mantis/view.php?id=7393 --- .../Region/ClientStack/Linden/UDP/LLUDPClient.cs | 9 +++ .../Region/ClientStack/Linden/UDP/LLUDPServer.cs | 47 ++++++----- .../ClientStack/Linden/UDP/LLUDPServerCommands.cs | 93 ++++++++++++++++++++++ 3 files changed, 129 insertions(+), 20 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs index ce6e3ee..0394e54 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs @@ -119,8 +119,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP public readonly uint CircuitCode; /// Sequence numbers of packets we've received (for duplicate checking) public readonly IncomingPacketHistoryCollection PacketArchive = new IncomingPacketHistoryCollection(200); + + /// + /// If true then we take action in response to unacked reliably sent packets such as resending the packet. + /// + public bool ProcessUnackedSends { get; set; } + /// Packets we have sent that need to be ACKed by the client public readonly UnackedPacketCollection NeedAcks = new UnackedPacketCollection(); + /// ACKs that are queued up, waiting to be sent to the client public readonly OpenSim.Framework.LocklessQueue PendingAcks = new OpenSim.Framework.LocklessQueue(); @@ -225,6 +232,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP if (maxRTO != 0) m_maxRTO = maxRTO; + ProcessUnackedSends = true; + // Create a token bucket throttle for this client that has the scene token bucket as a parent m_throttleClient = new AdaptiveTokenBucket( diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index 4fec91f..ad83b42 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs @@ -1137,7 +1137,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP Utils.UIntToBytesBig(sequenceNumber, buffer.Data, 1); outgoingPacket.SequenceNumber = sequenceNumber; - if (isReliable) + if (udpClient.ProcessUnackedSends && isReliable) { // Add this packet to the list of ACK responses we are waiting on from the server udpClient.NeedAcks.Add(outgoingPacket); @@ -1325,30 +1325,37 @@ namespace OpenSim.Region.ClientStack.LindenUDP #region ACK Receiving - // Handle appended ACKs - if (packet.Header.AppendedAcks && packet.Header.AckList != null) + if (udpClient.ProcessUnackedSends) { -// m_log.DebugFormat( -// "[LLUDPSERVER]: Handling {0} appended acks from {1} in {2}", -// packet.Header.AckList.Length, client.Name, m_scene.Name); + // Handle appended ACKs + if (packet.Header.AppendedAcks && packet.Header.AckList != null) + { + // m_log.DebugFormat( + // "[LLUDPSERVER]: Handling {0} appended acks from {1} in {2}", + // packet.Header.AckList.Length, client.Name, m_scene.Name); - for (int i = 0; i < packet.Header.AckList.Length; i++) - udpClient.NeedAcks.Acknowledge(packet.Header.AckList[i], now, packet.Header.Resent); - } + for (int i = 0; i < packet.Header.AckList.Length; i++) + udpClient.NeedAcks.Acknowledge(packet.Header.AckList[i], now, packet.Header.Resent); + } - // Handle PacketAck packets - if (packet.Type == PacketType.PacketAck) - { - PacketAckPacket ackPacket = (PacketAckPacket)packet; + // Handle PacketAck packets + if (packet.Type == PacketType.PacketAck) + { + PacketAckPacket ackPacket = (PacketAckPacket)packet; -// m_log.DebugFormat( -// "[LLUDPSERVER]: Handling {0} packet acks for {1} in {2}", -// ackPacket.Packets.Length, client.Name, m_scene.Name); + // m_log.DebugFormat( + // "[LLUDPSERVER]: Handling {0} packet acks for {1} in {2}", + // ackPacket.Packets.Length, client.Name, m_scene.Name); - for (int i = 0; i < ackPacket.Packets.Length; i++) - udpClient.NeedAcks.Acknowledge(ackPacket.Packets[i].ID, now, packet.Header.Resent); + for (int i = 0; i < ackPacket.Packets.Length; i++) + udpClient.NeedAcks.Acknowledge(ackPacket.Packets[i].ID, now, packet.Header.Resent); - // We don't need to do anything else with PacketAck packets + // We don't need to do anything else with PacketAck packets + return; + } + } + else if (packet.Type == PacketType.PacketAck) + { return; } @@ -2011,7 +2018,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP if (udpClient.IsConnected) { - if (m_resendUnacked) + if (udpClient.ProcessUnackedSends && m_resendUnacked) HandleUnacked(llClient); if (m_sendAcks) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs index 17a394d..ac6c0b4 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs @@ -195,6 +195,24 @@ namespace OpenSim.Region.ClientStack.LindenUDP "Start, stop or get status of OutgoingQueueRefillEngine.", "If stopped then refill requests are processed directly via the threadpool.", HandleOqreCommand); + + m_console.Commands.AddCommand( + "Debug", + false, + "debug lludp client get", + "debug lludp client get [ ]", + "Get debug parameters for the client. If no name is given then all client information is returned.", + "process-unacked-sends - Do we take action if a sent reliable packet has not been acked.", + HandleClientGetCommand); + + m_console.Commands.AddCommand( + "Debug", + false, + "debug lludp client set", + "debug lludp client set [ ]", + "Set a debug parameter for a particular client. If no name is given then the value is set on all clients.", + "process-unacked-sends - Do we take action if a sent reliable packet has not been acked.", + HandleClientSetCommand); } private void HandleShowServerThrottlesCommand(string module, string[] args) @@ -538,6 +556,81 @@ namespace OpenSim.Region.ClientStack.LindenUDP m_console.OutputFormat("{0} set to {1} in {2}", param, rawValue, m_udpServer.Scene.Name); } + private void HandleClientGetCommand(string module, string[] args) + { + if (SceneManager.Instance.CurrentScene != null && SceneManager.Instance.CurrentScene != m_udpServer.Scene) + return; + + if (args.Length != 4 && args.Length != 6) + { + MainConsole.Instance.OutputFormat("Usage: debug lludp client get [ ]"); + return; + } + + string name = null; + + if (args.Length == 6) + name = string.Format("{0} {1}", args[4], args[5]); + + m_udpServer.Scene.ForEachScenePresence( + sp => + { + if ((name == null || sp.Name == name) && sp.ControllingClient is LLClientView) + { + LLUDPClient udpClient = ((LLClientView)sp.ControllingClient).UDPClient; + + m_console.OutputFormat( + "Client debug parameters for {0} ({1}) in {2}", + sp.Name, sp.IsChildAgent ? "child" : "root", m_udpServer.Scene.Name); + + ConsoleDisplayList cdl = new ConsoleDisplayList(); + cdl.AddRow("process-unacked-sends", udpClient.ProcessUnackedSends); + + m_console.Output(cdl.ToString()); + } + }); + } + + private void HandleClientSetCommand(string module, string[] args) + { + if (SceneManager.Instance.CurrentScene != null && SceneManager.Instance.CurrentScene != m_udpServer.Scene) + return; + + if (args.Length != 6 && args.Length != 8) + { + MainConsole.Instance.OutputFormat("Usage: debug lludp client set [ ]"); + return; + } + + string param = args[4]; + string rawValue = args[5]; + + string name = null; + + if (args.Length == 8) + name = string.Format("{0} {1}", args[6], args[7]); + + if (param == "process-unacked-sends") + { + bool newValue; + + if (!ConsoleUtil.TryParseConsoleBool(MainConsole.Instance, rawValue, out newValue)) + return; + + m_udpServer.Scene.ForEachScenePresence( + sp => + { + if ((name == null || sp.Name == name) && sp.ControllingClient is LLClientView) + { + LLUDPClient udpClient = ((LLClientView)sp.ControllingClient).UDPClient; + udpClient.ProcessUnackedSends = newValue; + + m_console.OutputFormat("{0} set to {1} for {2} in {3}", param, newValue, sp.Name, m_udpServer.Scene.Name); + } + }); + } + } + private void HandlePacketCommand(string module, string[] args) { if (SceneManager.Instance.CurrentScene != null && SceneManager.Instance.CurrentScene != m_udpServer.Scene) -- cgit v1.1 From ed8d0fbea435eaf7ff4c58a5b8d568d84c2516e9 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 21 Jan 2015 20:46:29 +0000 Subject: Don't allow a failure in create a request in HeloService.Connector.Helo() to propogate up the stack. Relates to http://opensimulator.org/mantis/view.php?id=7421 --- OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs b/OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs index c0041e6..b5e6d69 100644 --- a/OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs +++ b/OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs @@ -84,16 +84,16 @@ namespace OpenSim.Services.Connectors { if (String.IsNullOrEmpty(m_ServerURI)) { - m_log.WarnFormat("[HELO SERVICE]: Unable to invoke HELO due to malformed URL"); + m_log.WarnFormat("[HELO SERVICE]: Unable to invoke HELO due to empty URL"); return String.Empty; } - HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(m_ServerURI); - // Eventually we need to switch to HEAD - /* req.Method = "HEAD"; */ - try { + HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(m_ServerURI); + // Eventually we need to switch to HEAD + /* req.Method = "HEAD"; */ + using (WebResponse response = req.GetResponse()) { if (response.Headers.Get("X-Handlers-Provided") == null) // just in case this ever returns a null -- cgit v1.1 From aef6fd6927d71aef34396d08cd31f108bc907318 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 21 Jan 2015 20:54:23 +0000 Subject: If the SnedInventoryAync() method receives an exception log this but make sure it does not terminate the process. Relates to http://opensimulator.org/mantis/view.php?id=7421 --- OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs index ea242f5..ef2125b 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs @@ -487,7 +487,16 @@ namespace OpenSim.Region.Framework.Scenes void SendInventoryAsync(IClientAPI remoteClient, UUID folderID, UUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder) { - SendInventoryUpdate(remoteClient, new InventoryFolderBase(folderID), fetchFolders, fetchItems); + try + { + SendInventoryUpdate(remoteClient, new InventoryFolderBase(folderID), fetchFolders, fetchItems); + } + catch (Exception e) + { + m_log.Error( + string.Format( + "[AGENT INVENTORY]: Error in SendInventoryAsync() for {0} with folder ID {1}. Exception ", e)); + } } void SendInventoryComplete(IAsyncResult iar) -- cgit v1.1 From 2d574c3036964d95dbf914d5f5858a3c39f0c16e Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 21 Jan 2015 22:26:35 +0000 Subject: Stop currently unsettable display names from appearing when [ClientStack.LindenCaps] Cap_GetDisplayNames = "localhost" is set by never passing the username. Unexpectedly, not setting user name achieves this whereas one might have expected it to be done by not setting display_name in the cap OSD. Emulates LL behaviour when no display name is set. Relates to http://opensimulator.org/mantis/view.php?id=7408 --- OpenSim/Capabilities/Handlers/GetDisplayNames/GetDisplayNamesHandler.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim') diff --git a/OpenSim/Capabilities/Handlers/GetDisplayNames/GetDisplayNamesHandler.cs b/OpenSim/Capabilities/Handlers/GetDisplayNames/GetDisplayNamesHandler.cs index 0353d9d..08faf2d 100644 --- a/OpenSim/Capabilities/Handlers/GetDisplayNames/GetDisplayNamesHandler.cs +++ b/OpenSim/Capabilities/Handlers/GetDisplayNames/GetDisplayNamesHandler.cs @@ -97,7 +97,7 @@ namespace OpenSim.Capabilities.Handlers osdname["display_name"] = OSD.FromString(name); osdname["legacy_first_name"] = parts[0]; osdname["legacy_last_name"] = parts[1]; - osdname["username"] = OSD.FromString(name); + osdname["username"] = ""; osdname["id"] = OSD.FromUUID(uuid); osdname["is_display_name_default"] = OSD.FromBoolean(false); -- cgit v1.1