From 3612a5252bdfe0a1d231fee669aa73183ee7b493 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 27 Jun 2010 20:20:08 +0100 Subject: [PATCH 01/23] Fix more perms weirdness. Preserve "Locked" status across gives and rez/take. Preserve "Anyone can move" flag in most cases. --- .../Region/Framework/Scenes/Scene.Inventory.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 750b1f7f50..9278164808 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -387,7 +387,7 @@ namespace OpenSim.Region.Framework.Scenes // First, make sore base is limited to the next perms itemCopy.BasePermissions = item.BasePermissions & (item.NextPermissions | (uint)PermissionMask.Move); // By default, current equals base - itemCopy.CurrentPermissions = itemCopy.BasePermissions; + itemCopy.CurrentPermissions = itemCopy.BasePermissions & item.CurrentPermissions; // If this is an object, replace current perms // with folded perms @@ -398,7 +398,7 @@ namespace OpenSim.Region.Framework.Scenes } // Ensure there is no escalation - itemCopy.CurrentPermissions &= item.NextPermissions; + itemCopy.CurrentPermissions &= (item.NextPermissions | (uint)PermissionMask.Move); // Need slam bit on xfer itemCopy.CurrentPermissions |= 8; @@ -899,12 +899,13 @@ namespace OpenSim.Region.Framework.Scenes { agentItem.BasePermissions = taskItem.BasePermissions & (taskItem.NextPermissions | (uint)PermissionMask.Move); if (taskItem.InvType == (int)InventoryType.Object) - agentItem.CurrentPermissions = agentItem.BasePermissions & ((taskItem.CurrentPermissions & 7) << 13); - agentItem.CurrentPermissions = agentItem.BasePermissions ; + agentItem.CurrentPermissions = agentItem.BasePermissions & (((taskItem.CurrentPermissions & 7) << 13) | (taskItem.CurrentPermissions & (uint)PermissionMask.Move)); + else + agentItem.CurrentPermissions = agentItem.BasePermissions & taskItem.CurrentPermissions; agentItem.CurrentPermissions |= 8; agentItem.NextPermissions = taskItem.NextPermissions; - agentItem.EveryOnePermissions = taskItem.EveryonePermissions & taskItem.NextPermissions; + agentItem.EveryOnePermissions = taskItem.EveryonePermissions & (taskItem.NextPermissions | (uint)PermissionMask.Move); agentItem.GroupPermissions = taskItem.GroupPermissions & taskItem.NextPermissions; } else @@ -1086,11 +1087,11 @@ namespace OpenSim.Region.Framework.Scenes if (Permissions.PropagatePermissions()) { destTaskItem.CurrentPermissions = srcTaskItem.CurrentPermissions & - srcTaskItem.NextPermissions; + (srcTaskItem.NextPermissions | (uint)PermissionMask.Move); destTaskItem.GroupPermissions = srcTaskItem.GroupPermissions & - srcTaskItem.NextPermissions; + (srcTaskItem.NextPermissions | (uint)PermissionMask.Move); destTaskItem.EveryonePermissions = srcTaskItem.EveryonePermissions & - srcTaskItem.NextPermissions; + (srcTaskItem.NextPermissions | (uint)PermissionMask.Move); destTaskItem.BasePermissions = srcTaskItem.BasePermissions & (srcTaskItem.NextPermissions | (uint)PermissionMask.Move); destTaskItem.CurrentPermissions |= 8; // Slam! From 7868f1f650a7d20ca7a6b5a236f89301c193444e Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 27 Jun 2010 13:06:39 -0700 Subject: [PATCH 02/23] Fixed Robust.32BitLaunch.exe --- .../Robust.32BitLaunch.csproj | 4 ++-- bin/Robust.32BitLaunch.exe | Bin 5632 -> 5632 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj index f19e082c28..481b3f8486 100644 --- a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj +++ b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj @@ -36,9 +36,9 @@ False ..\..\..\bin\log4net.dll - + False - ..\..\..\bin\OpenSim.Server.exe + ..\..\..\bin\Robust.exe diff --git a/bin/Robust.32BitLaunch.exe b/bin/Robust.32BitLaunch.exe index 14a6db3f1f70a6b5767aeede7a5520821301b606..747d02ff03628e0b5fffabf343a67333bc577b25 100644 GIT binary patch delta 464 zcmZqBY0#O_!IH2>-DhIY999D@1_qhQicC6_BN=z|$Z#?+Ff%YPFfuT(O*Z5;m>j_L zMb`upO{?8oaj@>kix*m zu##aqkURh;?}EucU{aJ3B(4W0J;7uOn4H5{%gDyC0Zi@#i(ChiljT@+*oByxnb{aL zCkL{WvWqZ80-@yOvn=*L3e0W{oIsucgB}AngFlcI23n!VAkDBINGgL#ZHBEtwlP@T zn&C2#?F<$V29wbYuYn@j45EyaBUt5_HUv+uVBIpglig^uHd`#?=H2X!jBG*qNu|Xl zlXr6%ZGOXXgHeDdG0cs*+G~2$9_2dp1a{aFd!M6tztrpQ;UjYoQpDxOA=#J qQp;lU3sUonGjny5^NUhpoXtHv8LXT}42BFQ3`PtloBs+jvj70n9d6i_5#eNDU}j)oU}Rumn{3EyFgbwf zi>?k(L^-&mC^Ij;7%0bZgB6H@DwIQm88)ypFbDv}l-)x;U4Zm~$%V{`K4lCk3~UU& zU~(0hJP9Trfyv)sQj8I##t=+qGI}wxG1P*|Zm`G_FnOEtAmd~?79DnO=08kq3`&y& zSxVU@86tsDWb#=Sdml+=HwI21Pk=#>ft$e}ND4Eg14(HxsmzcIWNU-PjTyRuY-_N% zH<%1&SPT?NW;hEZvl(tNOpaicW4hirxq@}e=6JRk#>v`j#+!GuGcry-%wf3sE5~(4 zfoI-pFZ| Date: Sun, 27 Jun 2010 13:23:51 -0700 Subject: [PATCH 03/23] Addresses mantis #4789. Not really a fix, because the event is harmless anyway. Just shouldn't happen normally. --- OpenSim/Server/Handlers/Simulation/AgentHandlers.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs index 191acc946a..bc31815d8a 100644 --- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs +++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs @@ -272,7 +272,7 @@ namespace OpenSim.Server.Handlers.Simulation //responsedata["str_response_string"] = OSDParser.SerializeJsonString(resp); ??? instead } - // subclasses cab override this + // subclasses can override this protected virtual bool UpdateAgent(GridRegion destination, AgentData agent) { return m_SimulationService.UpdateAgent(destination, agent); @@ -280,6 +280,12 @@ namespace OpenSim.Server.Handlers.Simulation protected virtual void DoAgentGet(Hashtable request, Hashtable responsedata, UUID id, UUID regionID) { + if (m_SimulationService == null) + { + m_log.Debug("[AGENT HANDLER]: Agent GET called. Harmless but useless."); + return; + } + GridRegion destination = new GridRegion(); destination.RegionID = regionID; From 6cf0b8f6fe0f8d35635e2a96953ce260a200d9c8 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 24 Jun 2010 09:11:27 -0700 Subject: [PATCH 04/23] Add command-script to the Robust console --- OpenSim/Server/Base/ServicesServerBase.cs | 41 +++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/OpenSim/Server/Base/ServicesServerBase.cs b/OpenSim/Server/Base/ServicesServerBase.cs index a5bebb859f..dee31bdf58 100644 --- a/OpenSim/Server/Base/ServicesServerBase.cs +++ b/OpenSim/Server/Base/ServicesServerBase.cs @@ -230,6 +230,12 @@ namespace OpenSim.Server.Base "shutdown", "Quit the application", HandleQuit); + // Register a command to read other commands from a file + MainConsole.Instance.Commands.AddCommand("base", false, "command-script", + "command-script