aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorDiva Canto2015-01-22 10:45:46 -0800
committerDiva Canto2015-01-22 10:45:46 -0800
commitedc155c6367bdc81303b56aee0c724ce7aeaa0d8 (patch)
tree33ddce1499ec22dab20935148cacc24f9dc2031c /OpenSim
parentOn the GridService, the central simulator features: ensure that the map tile ... (diff)
parentStop currently unsettable display names from appearing when [ClientStack.Lind... (diff)
downloadopensim-SC_OLD-edc155c6367bdc81303b56aee0c724ce7aeaa0d8.zip
opensim-SC_OLD-edc155c6367bdc81303b56aee0c724ce7aeaa0d8.tar.gz
opensim-SC_OLD-edc155c6367bdc81303b56aee0c724ce7aeaa0d8.tar.bz2
opensim-SC_OLD-edc155c6367bdc81303b56aee0c724ce7aeaa0d8.tar.xz
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to '')
-rw-r--r--OpenSim/Capabilities/Handlers/GetDisplayNames/GetDisplayNamesHandler.cs2
-rw-r--r--OpenSim/Framework/Servers/HttpServer/PollServiceHttpRequest.cs4
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs2
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs9
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs47
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs93
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs16
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs11
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs5
-rw-r--r--OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs10
-rw-r--r--OpenSim/Services/UserProfilesService/UserProfilesService.cs6
-rw-r--r--OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour2.cs2
-rw-r--r--OpenSim/Tools/pCampBot/Behaviours/TwitchyBehaviour.cs2
14 files changed, 166 insertions, 45 deletions
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
97 osdname["display_name"] = OSD.FromString(name); 97 osdname["display_name"] = OSD.FromString(name);
98 osdname["legacy_first_name"] = parts[0]; 98 osdname["legacy_first_name"] = parts[0];
99 osdname["legacy_last_name"] = parts[1]; 99 osdname["legacy_last_name"] = parts[1];
100 osdname["username"] = OSD.FromString(name); 100 osdname["username"] = "";
101 osdname["id"] = OSD.FromUUID(uuid); 101 osdname["id"] = OSD.FromUUID(uuid);
102 osdname["is_display_name_default"] = OSD.FromBoolean(false); 102 osdname["is_display_name_default"] = OSD.FromBoolean(false);
103 103
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
72 } 72 }
73 catch (Exception ex) 73 catch (Exception ex)
74 { 74 {
75 m_log.Warn(string.Format("[POLL SERVICE WORKER THREAD]: Error ", ex)); 75 m_log.Warn("[POLL SERVICE WORKER THREAD]: Error ", ex);
76 } 76 }
77 finally 77 finally
78 { 78 {
@@ -87,7 +87,7 @@ namespace OpenSim.Framework.Servers.HttpServer
87 } 87 }
88 catch (Exception e) 88 catch (Exception e)
89 { 89 {
90 m_log.Warn(String.Format("[POLL SERVICE WORKER THREAD]: Error ", e)); 90 m_log.Warn("[POLL SERVICE WORKER THREAD]: Error ", e);
91 } 91 }
92 92
93 PollServiceArgs.RequestsHandled++; 93 PollServiceArgs.RequestsHandled++;
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
235 235
236 private Hashtable HandleSimulatorFeaturesRequest(Hashtable mDhttpMethod, UUID agentID) 236 private Hashtable HandleSimulatorFeaturesRequest(Hashtable mDhttpMethod, UUID agentID)
237 { 237 {
238 m_log.DebugFormat("[SIMULATOR FEATURES MODULE]: SimulatorFeatures request"); 238// m_log.DebugFormat("[SIMULATOR FEATURES MODULE]: SimulatorFeatures request");
239 239
240 OSDMap copy = DeepCopy(); 240 OSDMap copy = DeepCopy();
241 241
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
119 public readonly uint CircuitCode; 119 public readonly uint CircuitCode;
120 /// <summary>Sequence numbers of packets we've received (for duplicate checking)</summary> 120 /// <summary>Sequence numbers of packets we've received (for duplicate checking)</summary>
121 public readonly IncomingPacketHistoryCollection PacketArchive = new IncomingPacketHistoryCollection(200); 121 public readonly IncomingPacketHistoryCollection PacketArchive = new IncomingPacketHistoryCollection(200);
122
123 /// <summary>
124 /// If true then we take action in response to unacked reliably sent packets such as resending the packet.
125 /// </summary>
126 public bool ProcessUnackedSends { get; set; }
127
122 /// <summary>Packets we have sent that need to be ACKed by the client</summary> 128 /// <summary>Packets we have sent that need to be ACKed by the client</summary>
123 public readonly UnackedPacketCollection NeedAcks = new UnackedPacketCollection(); 129 public readonly UnackedPacketCollection NeedAcks = new UnackedPacketCollection();
130
124 /// <summary>ACKs that are queued up, waiting to be sent to the client</summary> 131 /// <summary>ACKs that are queued up, waiting to be sent to the client</summary>
125 public readonly OpenSim.Framework.LocklessQueue<uint> PendingAcks = new OpenSim.Framework.LocklessQueue<uint>(); 132 public readonly OpenSim.Framework.LocklessQueue<uint> PendingAcks = new OpenSim.Framework.LocklessQueue<uint>();
126 133
@@ -225,6 +232,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
225 if (maxRTO != 0) 232 if (maxRTO != 0)
226 m_maxRTO = maxRTO; 233 m_maxRTO = maxRTO;
227 234
235 ProcessUnackedSends = true;
236
228 // Create a token bucket throttle for this client that has the scene token bucket as a parent 237 // Create a token bucket throttle for this client that has the scene token bucket as a parent
229 m_throttleClient 238 m_throttleClient
230 = new AdaptiveTokenBucket( 239 = 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
1137 Utils.UIntToBytesBig(sequenceNumber, buffer.Data, 1); 1137 Utils.UIntToBytesBig(sequenceNumber, buffer.Data, 1);
1138 outgoingPacket.SequenceNumber = sequenceNumber; 1138 outgoingPacket.SequenceNumber = sequenceNumber;
1139 1139
1140 if (isReliable) 1140 if (udpClient.ProcessUnackedSends && isReliable)
1141 { 1141 {
1142 // Add this packet to the list of ACK responses we are waiting on from the server 1142 // Add this packet to the list of ACK responses we are waiting on from the server
1143 udpClient.NeedAcks.Add(outgoingPacket); 1143 udpClient.NeedAcks.Add(outgoingPacket);
@@ -1325,30 +1325,37 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1325 1325
1326 #region ACK Receiving 1326 #region ACK Receiving
1327 1327
1328 // Handle appended ACKs 1328 if (udpClient.ProcessUnackedSends)
1329 if (packet.Header.AppendedAcks && packet.Header.AckList != null)
1330 { 1329 {
1331// m_log.DebugFormat( 1330 // Handle appended ACKs
1332// "[LLUDPSERVER]: Handling {0} appended acks from {1} in {2}", 1331 if (packet.Header.AppendedAcks && packet.Header.AckList != null)
1333// packet.Header.AckList.Length, client.Name, m_scene.Name); 1332 {
1333 // m_log.DebugFormat(
1334 // "[LLUDPSERVER]: Handling {0} appended acks from {1} in {2}",
1335 // packet.Header.AckList.Length, client.Name, m_scene.Name);
1334 1336
1335 for (int i = 0; i < packet.Header.AckList.Length; i++) 1337 for (int i = 0; i < packet.Header.AckList.Length; i++)
1336 udpClient.NeedAcks.Acknowledge(packet.Header.AckList[i], now, packet.Header.Resent); 1338 udpClient.NeedAcks.Acknowledge(packet.Header.AckList[i], now, packet.Header.Resent);
1337 } 1339 }
1338 1340
1339 // Handle PacketAck packets 1341 // Handle PacketAck packets
1340 if (packet.Type == PacketType.PacketAck) 1342 if (packet.Type == PacketType.PacketAck)
1341 { 1343 {
1342 PacketAckPacket ackPacket = (PacketAckPacket)packet; 1344 PacketAckPacket ackPacket = (PacketAckPacket)packet;
1343 1345
1344// m_log.DebugFormat( 1346 // m_log.DebugFormat(
1345// "[LLUDPSERVER]: Handling {0} packet acks for {1} in {2}", 1347 // "[LLUDPSERVER]: Handling {0} packet acks for {1} in {2}",
1346// ackPacket.Packets.Length, client.Name, m_scene.Name); 1348 // ackPacket.Packets.Length, client.Name, m_scene.Name);
1347 1349
1348 for (int i = 0; i < ackPacket.Packets.Length; i++) 1350 for (int i = 0; i < ackPacket.Packets.Length; i++)
1349 udpClient.NeedAcks.Acknowledge(ackPacket.Packets[i].ID, now, packet.Header.Resent); 1351 udpClient.NeedAcks.Acknowledge(ackPacket.Packets[i].ID, now, packet.Header.Resent);
1350 1352
1351 // We don't need to do anything else with PacketAck packets 1353 // We don't need to do anything else with PacketAck packets
1354 return;
1355 }
1356 }
1357 else if (packet.Type == PacketType.PacketAck)
1358 {
1352 return; 1359 return;
1353 } 1360 }
1354 1361
@@ -2011,7 +2018,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2011 2018
2012 if (udpClient.IsConnected) 2019 if (udpClient.IsConnected)
2013 { 2020 {
2014 if (m_resendUnacked) 2021 if (udpClient.ProcessUnackedSends && m_resendUnacked)
2015 HandleUnacked(llClient); 2022 HandleUnacked(llClient);
2016 2023
2017 if (m_sendAcks) 2024 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
195 "Start, stop or get status of OutgoingQueueRefillEngine.", 195 "Start, stop or get status of OutgoingQueueRefillEngine.",
196 "If stopped then refill requests are processed directly via the threadpool.", 196 "If stopped then refill requests are processed directly via the threadpool.",
197 HandleOqreCommand); 197 HandleOqreCommand);
198
199 m_console.Commands.AddCommand(
200 "Debug",
201 false,
202 "debug lludp client get",
203 "debug lludp client get [<avatar-first-name> <avatar-last-name>]",
204 "Get debug parameters for the client. If no name is given then all client information is returned.",
205 "process-unacked-sends - Do we take action if a sent reliable packet has not been acked.",
206 HandleClientGetCommand);
207
208 m_console.Commands.AddCommand(
209 "Debug",
210 false,
211 "debug lludp client set",
212 "debug lludp client set <param> <value> [<avatar-first-name> <avatar-last-name>]",
213 "Set a debug parameter for a particular client. If no name is given then the value is set on all clients.",
214 "process-unacked-sends - Do we take action if a sent reliable packet has not been acked.",
215 HandleClientSetCommand);
198 } 216 }
199 217
200 private void HandleShowServerThrottlesCommand(string module, string[] args) 218 private void HandleShowServerThrottlesCommand(string module, string[] args)
@@ -538,6 +556,81 @@ namespace OpenSim.Region.ClientStack.LindenUDP
538 m_console.OutputFormat("{0} set to {1} in {2}", param, rawValue, m_udpServer.Scene.Name); 556 m_console.OutputFormat("{0} set to {1} in {2}", param, rawValue, m_udpServer.Scene.Name);
539 } 557 }
540 558
559 private void HandleClientGetCommand(string module, string[] args)
560 {
561 if (SceneManager.Instance.CurrentScene != null && SceneManager.Instance.CurrentScene != m_udpServer.Scene)
562 return;
563
564 if (args.Length != 4 && args.Length != 6)
565 {
566 MainConsole.Instance.OutputFormat("Usage: debug lludp client get [<avatar-first-name> <avatar-last-name>]");
567 return;
568 }
569
570 string name = null;
571
572 if (args.Length == 6)
573 name = string.Format("{0} {1}", args[4], args[5]);
574
575 m_udpServer.Scene.ForEachScenePresence(
576 sp =>
577 {
578 if ((name == null || sp.Name == name) && sp.ControllingClient is LLClientView)
579 {
580 LLUDPClient udpClient = ((LLClientView)sp.ControllingClient).UDPClient;
581
582 m_console.OutputFormat(
583 "Client debug parameters for {0} ({1}) in {2}",
584 sp.Name, sp.IsChildAgent ? "child" : "root", m_udpServer.Scene.Name);
585
586 ConsoleDisplayList cdl = new ConsoleDisplayList();
587 cdl.AddRow("process-unacked-sends", udpClient.ProcessUnackedSends);
588
589 m_console.Output(cdl.ToString());
590 }
591 });
592 }
593
594 private void HandleClientSetCommand(string module, string[] args)
595 {
596 if (SceneManager.Instance.CurrentScene != null && SceneManager.Instance.CurrentScene != m_udpServer.Scene)
597 return;
598
599 if (args.Length != 6 && args.Length != 8)
600 {
601 MainConsole.Instance.OutputFormat("Usage: debug lludp client set <param> <value> [<avatar-first-name> <avatar-last-name>]");
602 return;
603 }
604
605 string param = args[4];
606 string rawValue = args[5];
607
608 string name = null;
609
610 if (args.Length == 8)
611 name = string.Format("{0} {1}", args[6], args[7]);
612
613 if (param == "process-unacked-sends")
614 {
615 bool newValue;
616
617 if (!ConsoleUtil.TryParseConsoleBool(MainConsole.Instance, rawValue, out newValue))
618 return;
619
620 m_udpServer.Scene.ForEachScenePresence(
621 sp =>
622 {
623 if ((name == null || sp.Name == name) && sp.ControllingClient is LLClientView)
624 {
625 LLUDPClient udpClient = ((LLClientView)sp.ControllingClient).UDPClient;
626 udpClient.ProcessUnackedSends = newValue;
627
628 m_console.OutputFormat("{0} set to {1} for {2} in {3}", param, newValue, sp.Name, m_udpServer.Scene.Name);
629 }
630 });
631 }
632 }
633
541 private void HandlePacketCommand(string module, string[] args) 634 private void HandlePacketCommand(string module, string[] args)
542 { 635 {
543 if (SceneManager.Instance.CurrentScene != null && SceneManager.Instance.CurrentScene != m_udpServer.Scene) 636 if (SceneManager.Instance.CurrentScene != null && SceneManager.Instance.CurrentScene != m_udpServer.Scene)
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;
40using OpenSim.Region.Framework; 40using OpenSim.Region.Framework;
41using OpenSim.Framework.Client; 41using OpenSim.Framework.Client;
42using OpenSim.Region.Framework.Interfaces; 42using OpenSim.Region.Framework.Interfaces;
43using OpenSim.Region.Framework.Scenes.Serialization; 43using OpenSim.Region.Framework.Scenes.Serialization;
44using OpenSim.Services.Interfaces; 44using OpenSim.Services.Interfaces;
45using PermissionMask = OpenSim.Framework.PermissionMask; 45using PermissionMask = OpenSim.Framework.PermissionMask;
46 46
@@ -127,11 +127,11 @@ namespace OpenSim.Region.Framework.Scenes
127 127
128 return false; 128 return false;
129 } 129 }
130 } 130 }
131 131
132 public bool AddInventoryItem(InventoryItemBase item) 132 public bool AddInventoryItem(InventoryItemBase item)
133 { 133 {
134 return AddInventoryItem(item, true); 134 return AddInventoryItem(item, true);
135 } 135 }
136 136
137 /// <summary> 137 /// <summary>
@@ -1074,7 +1074,7 @@ namespace OpenSim.Region.Framework.Scenes
1074// } 1074// }
1075 1075
1076 CreateNewInventoryItem( 1076 CreateNewInventoryItem(
1077 remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, 1077 remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID,
1078 name, description, 0, callbackID, olditemID, type, invType, 1078 name, description, 0, callbackID, olditemID, type, invType,
1079 (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All, 1079 (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All,
1080 (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, Util.UnixTimeSinceEpoch(), 1080 (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, Util.UnixTimeSinceEpoch(),
@@ -2183,7 +2183,7 @@ namespace OpenSim.Region.Framework.Scenes
2183 } 2183 }
2184 } 2184 }
2185 2185
2186 // OK, we're done with permissions. Let's check if any part of the code prevents the objects from being deleted 2186 // OK, we're done with permissions. Let's check if any part of the code prevents the objects from being deleted
2187 bool canDelete = EventManager.TriggerDeRezRequested(remoteClient, deleteGroups, action); 2187 bool canDelete = EventManager.TriggerDeRezRequested(remoteClient, deleteGroups, action);
2188 2188
2189 if (permissionToTake && (action != DeRezAction.Delete || this.m_useTrashOnDelete)) 2189 if (permissionToTake && (action != DeRezAction.Delete || this.m_useTrashOnDelete))
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
487 487
488 void SendInventoryAsync(IClientAPI remoteClient, UUID folderID, UUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder) 488 void SendInventoryAsync(IClientAPI remoteClient, UUID folderID, UUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder)
489 { 489 {
490 SendInventoryUpdate(remoteClient, new InventoryFolderBase(folderID), fetchFolders, fetchItems); 490 try
491 {
492 SendInventoryUpdate(remoteClient, new InventoryFolderBase(folderID), fetchFolders, fetchItems);
493 }
494 catch (Exception e)
495 {
496 m_log.Error(
497 string.Format(
498 "[AGENT INVENTORY]: Error in SendInventoryAsync() for {0} with folder ID {1}. Exception ", e));
499 }
491 } 500 }
492 501
493 void SendInventoryComplete(IAsyncResult iar) 502 void SendInventoryComplete(IAsyncResult iar)
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
52 public class SceneCommunicationService //one instance per region 52 public class SceneCommunicationService //one instance per region
53 { 53 {
54 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 54 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
55 private static string LogHeader = "[SCENE COMMUNIATION SERVICE]"; 55 private static string LogHeader = "[SCENE COMMUNICATION SERVICE]";
56 56
57 protected RegionInfo m_regionInfo; 57 protected RegionInfo m_regionInfo;
58 protected Scene m_scene; 58 protected Scene m_scene;
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
4836 if (OwnerID != item.Owner) 4836 if (OwnerID != item.Owner)
4837 { 4837 {
4838 //LogPermissions("Before ApplyNextOwnerPermissions"); 4838 //LogPermissions("Before ApplyNextOwnerPermissions");
4839 ApplyNextOwnerPermissions(); 4839
4840 if (scene.Permissions.PropagatePermissions())
4841 ApplyNextOwnerPermissions();
4842
4840 //LogPermissions("After ApplyNextOwnerPermissions"); 4843 //LogPermissions("After ApplyNextOwnerPermissions");
4841 4844
4842 LastOwnerID = OwnerID; 4845 LastOwnerID = OwnerID;
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
84 { 84 {
85 if (String.IsNullOrEmpty(m_ServerURI)) 85 if (String.IsNullOrEmpty(m_ServerURI))
86 { 86 {
87 m_log.WarnFormat("[HELO SERVICE]: Unable to invoke HELO due to malformed URL"); 87 m_log.WarnFormat("[HELO SERVICE]: Unable to invoke HELO due to empty URL");
88 return String.Empty; 88 return String.Empty;
89 } 89 }
90 90
91 HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(m_ServerURI);
92 // Eventually we need to switch to HEAD
93 /* req.Method = "HEAD"; */
94
95 try 91 try
96 { 92 {
93 HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(m_ServerURI);
94 // Eventually we need to switch to HEAD
95 /* req.Method = "HEAD"; */
96
97 using (WebResponse response = req.GetResponse()) 97 using (WebResponse response = req.GetResponse())
98 { 98 {
99 if (response.Headers.Get("X-Handlers-Provided") == null) // just in case this ever returns a null 99 if (response.Headers.Get("X-Handlers-Provided") == null) // just in case this ever returns a null
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
196 196
197 public bool UserPreferencesRequest(ref UserPreferences pref, ref string result) 197 public bool UserPreferencesRequest(ref UserPreferences pref, ref string result)
198 { 198 {
199 if (!ProfilesData.GetUserPreferences(ref pref, ref result))
200 return false;
201
199 if(string.IsNullOrEmpty(pref.EMail)) 202 if(string.IsNullOrEmpty(pref.EMail))
200 { 203 {
201 UserAccount account = new UserAccount(); 204 UserAccount account = new UserAccount();
@@ -228,9 +231,6 @@ namespace OpenSim.Services.ProfilesService
228 return false; 231 return false;
229 } 232 }
230 } 233 }
231 if (!ProfilesData.GetUserPreferences (ref pref, ref result))
232 return false;
233
234 234
235 if(string.IsNullOrEmpty(pref.EMail)) 235 if(string.IsNullOrEmpty(pref.EMail))
236 pref.EMail = "No Email Address On Record"; 236 pref.EMail = "No Email Address On Record";
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
43 /// </summary> 43 /// </summary>
44 public class PhysicsBehaviour2 : AbstractBehaviour 44 public class PhysicsBehaviour2 : AbstractBehaviour
45 { 45 {
46 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 46// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
47 47
48 public PhysicsBehaviour2() 48 public PhysicsBehaviour2()
49 { 49 {
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
44 /// </summary> 44 /// </summary>
45 public class TwitchyBehaviour : AbstractBehaviour 45 public class TwitchyBehaviour : AbstractBehaviour
46 { 46 {
47 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 47// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
48 48
49 public TwitchyBehaviour() 49 public TwitchyBehaviour()
50 { 50 {