diff --git a/CurrentPatches/0001-Fix-NPE.patch b/CurrentPatches/0001-Fix-NPE.patch new file mode 100644 index 0000000..6b88333 --- /dev/null +++ b/CurrentPatches/0001-Fix-NPE.patch @@ -0,0 +1,28 @@ +From ca7b50bbe4b43cc6f882e04e0adb62719cf6ffe5 Mon Sep 17 00:00:00 2001 +From: Chris +Date: Mon, 18 Jan 2021 23:50:15 +0100 +Subject: [PATCH] Fix NPE + +--- + OpenSim/Region/ScriptEngine/YEngine/XMRHeapTracker.cs | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/OpenSim/Region/ScriptEngine/YEngine/XMRHeapTracker.cs b/OpenSim/Region/ScriptEngine/YEngine/XMRHeapTracker.cs +index f3e38c421d..3b8909a46d 100644 +--- a/OpenSim/Region/ScriptEngine/YEngine/XMRHeapTracker.cs ++++ b/OpenSim/Region/ScriptEngine/YEngine/XMRHeapTracker.cs +@@ -126,7 +126,10 @@ namespace OpenSim.Region.ScriptEngine.Yengine + { + try + { +- return lis.Size; ++ if(lis != null) ++ return lis.Size; ++ ++ return 0; + } + catch + { +-- +2.29.2.windows.3 + diff --git a/CurrentPatches/0001-OAR-keep-UUID.patch b/CurrentPatches/0001-OAR-keep-UUID.patch new file mode 100644 index 0000000..f9d3c54 --- /dev/null +++ b/CurrentPatches/0001-OAR-keep-UUID.patch @@ -0,0 +1,95 @@ +From 8d5f32af18bdc6cd6fe5a78ab74943701a6374c3 Mon Sep 17 00:00:00 2001 +From: Chris +Date: Thu, 14 Jan 2021 22:04:11 +0100 +Subject: [PATCH] OAR keep UUID + +--- + .../World/Archiver/ArchiveReadRequest.cs | 22 ++++++++++++++++++- + .../World/Archiver/ArchiverModule.cs | 3 +++ + 2 files changed, 24 insertions(+), 1 deletion(-) + +diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +index 68231a91b6..3bd5695b43 100644 +--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs ++++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +@@ -103,6 +103,11 @@ namespace OpenSim.Region.CoreModules.World.Archiver + protected bool m_merge; + protected bool m_mergeReplaceObjects; + ++ /// ++ /// Should the archive being loaded be persisting uuids? ++ /// ++ protected bool m_persistuuids = false; ++ + /// + /// If true, force the loading of terrain from the oar file + /// +@@ -220,6 +225,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver + m_displacement = options.ContainsKey("displacement") ? (Vector3)options["displacement"] : Vector3.Zero; + m_rotation = options.ContainsKey("rotation") ? (float)options["rotation"] : 0f; + ++ m_persistuuids = options.ContainsKey("persist-uuids"); ++ if (m_persistuuids) ++ { ++ m_merge = false; ++ } ++ + m_boundingOrigin = Vector3.Zero; + m_boundingOrigin.Z = Constants.MinSimulationHeight; + m_boundingSize = new Vector3(scene.RegionInfo.RegionSizeX, scene.RegionInfo.RegionSizeY, Constants.MaxSimulationHeight - Constants.MinSimulationHeight); +@@ -276,6 +287,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver + m_mergeReplaceObjects = options.ContainsKey("mReplaceObjects"); + m_requestId = requestId; + ++ m_persistuuids = options.ContainsKey("persist-uuids"); ++ if (m_persistuuids) ++ { ++ m_merge = false; ++ } ++ + m_defaultUser = scene.RegionInfo.EstateSettings.EstateOwner; + + // Zero can never be a valid user id +@@ -623,7 +640,10 @@ namespace OpenSim.Region.CoreModules.World.Archiver + // For now, give all incoming scene objects new uuids. This will allow scenes to be cloned + // on the same region server and multiple examples a single object archive to be imported + // to the same scene (when this is possible). +- sceneObject.ResetIDs(); ++ if (!m_persistuuids) ++ { ++ sceneObject.ResetIDs(); ++ } + + if (isTelehub) + { +diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs +index 329b0835a1..056dd27a82 100644 +--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs ++++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs +@@ -106,6 +106,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver + bool mergeTerrain = false; + bool mergeParcels = false; + bool noObjects = false; ++ bool persistUuids = false; + Vector3 displacement = new Vector3(0f, 0f, 0f); + String defaultUser = ""; + float rotation = 0f; +@@ -116,6 +117,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver + + OptionSet options = new OptionSet(); + options.Add("m|merge", delegate(string v) { mergeOar = (v != null); }); ++ options.Add("persist-uuids", delegate (string v) { persistUuids = (v != null); }); + options.Add("mergeReplaceObjects", delegate (string v) { mergeReplaceObjects = (v != null); }); + options.Add("s|skip-assets", delegate(string v) { skipAssets = (v != null); }); + options.Add("merge-terrain", delegate(string v) { mergeTerrain = (v != null); }); +@@ -220,6 +222,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver + if (mergeTerrain) archiveOptions.Add("merge-terrain", null); + if (mergeParcels) archiveOptions.Add("merge-parcels", null); + if (noObjects) archiveOptions.Add("no-objects", null); ++ if (persistUuids) archiveOptions.Add("persist-uuids", null); + if (defaultUser != "") + { + UUID defaultUserUUID = UUID.Zero; +-- +2.29.2.windows.3 + diff --git a/CurrentPatches/0001-add-auto_grant_pay_perms.patch b/CurrentPatches/0001-add-auto_grant_pay_perms.patch new file mode 100644 index 0000000..d7551ae --- /dev/null +++ b/CurrentPatches/0001-add-auto_grant_pay_perms.patch @@ -0,0 +1,28 @@ +From 722e158ff7065186b65952e5068ed1026bd8aedc Mon Sep 17 00:00:00 2001 +From: Christopher Latza +Date: Mon, 1 Jun 2020 21:22:51 +0200 +Subject: [PATCH] add auto_grant_pay_perms + +--- + .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +index f45a8b1607..05ebc81317 100644 +--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs ++++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +@@ -4310,6 +4310,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api + } + } + ++ if (World.GetExtraSetting("auto_grant_pay_perms") == "true") ++ { ++ implicitPerms = implicitPerms | ScriptBaseClass.PERMISSION_DEBIT; ++ } ++ + if ((perm & (~implicitPerms)) == 0) // Requested only implicit perms + { + m_host.TaskInventory.LockItemsForWrite(true); +-- +2.25.1.windows.1 + diff --git a/CurrentPatches/0001-add-config.patch b/CurrentPatches/0001-add-config.patch new file mode 100644 index 0000000..c1db8d6 --- /dev/null +++ b/CurrentPatches/0001-add-config.patch @@ -0,0 +1,28 @@ +From 4eb8c5c65a06694f6bf998fe8bbd1383d083d4d2 Mon Sep 17 00:00:00 2001 +From: Chris +Date: Thu, 14 Jan 2021 19:48:52 +0100 +Subject: [PATCH] add config + +--- + .../Shared/Api/Implementation/AsyncCommandManager.cs | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs +index a6a2dd890e..b31078785f 100755 +--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs ++++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs +@@ -183,9 +183,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api + + private void ReadConfig() + { +-// cmdHandlerThreadCycleSleepms = m_ScriptEngine.Config.GetInt("AsyncLLCommandLoopms", 100); ++ cmdHandlerThreadCycleSleepms = m_ScriptEngine.Config.GetInt("AsyncLLCommandLoopms", 100); + // TODO: Make this sane again +- cmdHandlerThreadCycleSleepms = 100; ++ //cmdHandlerThreadCycleSleepms = 100; + } + + /* +-- +2.29.2.windows.3 + diff --git a/CurrentPatches/0001-dont-cast-LSL_Integer-to-int-in-osGetNumberOfAttachm.patch b/CurrentPatches/0001-dont-cast-LSL_Integer-to-int-in-osGetNumberOfAttachm.patch new file mode 100644 index 0000000..094bcdb --- /dev/null +++ b/CurrentPatches/0001-dont-cast-LSL_Integer-to-int-in-osGetNumberOfAttachm.patch @@ -0,0 +1,43 @@ +From e3aa335948fda8a6558c9407847e8d9e976790cd Mon Sep 17 00:00:00 2001 +From: Chris +Date: Sat, 6 Feb 2021 18:14:20 +0100 +Subject: [PATCH] dont cast LSL_Integer to int in osGetNumberOfAttachments. + +--- + .../Shared/Api/Implementation/OSSL_Api.cs | 16 +++++----------- + 1 file changed, 5 insertions(+), 11 deletions(-) + +diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +index 2c6f1e44cc..680b84d732 100644 +--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs ++++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +@@ -4278,21 +4278,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api + { + foreach (object point in attachmentPoints.Data) + { +- LSL_Integer ipoint = new LSL_Integer( +- (point is LSL_Integer || point is int || point is uint) ? +- (int)point : +- 0 +- ); +- resp.Add(ipoint); +- if (ipoint == 0) ++ if (int.TryParse(point.ToString(), out int ipoint)) + { +- // indicates zero attachments +- resp.Add(new LSL_Integer(0)); ++ resp.Add(ipoint); ++ resp.Add(new LSL_Integer(target.GetAttachments((uint)ipoint).Count)); + } + else + { +- // gets the number of attachments on the attachment point +- resp.Add(new LSL_Integer(target.GetAttachments((uint)ipoint).Count)); ++ resp.Add(new LSL_Integer(0)); ++ resp.Add(new LSL_Integer(0)); + } + } + } +-- +2.29.2.windows.3 + diff --git a/CurrentPatches/0001-fix-permissions.patch b/CurrentPatches/0001-fix-permissions.patch new file mode 100644 index 0000000..ed9d0c7 --- /dev/null +++ b/CurrentPatches/0001-fix-permissions.patch @@ -0,0 +1,40 @@ +From 25061435d1029ed9633ad9aab0532b1c90c8a036 Mon Sep 17 00:00:00 2001 +From: Christopher Latza +Date: Sat, 13 Jun 2020 22:15:19 +0200 +Subject: [PATCH] fix permissions + +--- + OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +index ed35ecb082..ce1b828682 100644 +--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs ++++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +@@ -2514,6 +2514,11 @@ namespace OpenSim.Region.Framework.Scenes + + public void AggregateInnerPerms() + { ++ AggregatedInnerOwnerPerms = (uint)PermissionMask.AllAndExport; ++ AggregatedInnerGroupPerms = (uint)PermissionMask.AllAndExport; ++ AggregatedInnerEveryonePerms = (uint)PermissionMask.AllAndExport; ++ return; ++ + // assuming child prims permissions masks are irrelevant on a linkset + // root part is handle at SOG since its masks are the sog masks + const uint mask = (uint)PermissionMask.AllEffective; +@@ -2538,6 +2543,11 @@ namespace OpenSim.Region.Framework.Scenes + // same as above but called during group Effective Permission validation + public void AggregatedInnerPermsForGroup() + { ++ AggregatedInnerOwnerPerms = (uint)PermissionMask.AllAndExport; ++ AggregatedInnerGroupPerms = (uint)PermissionMask.AllAndExport; ++ AggregatedInnerEveryonePerms = (uint)PermissionMask.AllAndExport; ++ return; ++ + // assuming child prims permissions masks are irrelevant on a linkset + // root part is handle at SOG since its masks are the sog masks + const uint mask = (uint)PermissionMask.AllEffective; +-- +2.27.0.windows.1 + diff --git a/CurrentPatches/0001-remove-iar-pass-check.patch b/CurrentPatches/0001-remove-iar-pass-check.patch new file mode 100644 index 0000000..a953dbc --- /dev/null +++ b/CurrentPatches/0001-remove-iar-pass-check.patch @@ -0,0 +1,30 @@ +From 13abf57f71396e54ee477dcc22e16e2b80c09770 Mon Sep 17 00:00:00 2001 +From: Chris +Date: Mon, 7 Nov 2016 22:58:55 +0100 +Subject: [PATCH] remove iar passwort + +--- + .../CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs +index 8847414..8d11d20 100644 +--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs ++++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs +@@ -565,6 +565,8 @@ UserAccount account + return null; + } + ++ return account; ++ /* + try + { + string encpass = Util.Md5Hash(pass); +@@ -585,6 +587,7 @@ UserAccount account + m_log.ErrorFormat("[INVENTORY ARCHIVER]: Could not authenticate password, {0}", e); + return null; + } ++ */ + } + + /// diff --git a/CurrentPatches/0001-skip-large-mesh-objects.patch b/CurrentPatches/0001-skip-large-mesh-objects.patch new file mode 100644 index 0000000..a1c1302 --- /dev/null +++ b/CurrentPatches/0001-skip-large-mesh-objects.patch @@ -0,0 +1,27 @@ +From b6a38c4e05ff342ea541d139c648380d7686112b Mon Sep 17 00:00:00 2001 +From: Chris +Date: Fri, 22 Jan 2021 16:44:56 +0100 +Subject: [PATCH] skip large mesh objects + +--- + OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs +index 121a8ce937..5810a90277 100644 +--- a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs ++++ b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs +@@ -1678,9 +1678,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde + + if (vertexCount > 64000 || indexCount > 64000) + { +- m_log.WarnFormat("[PHYSICS]: large mesh data on OdePrim {0}, mesh {1} at {2}, {3} vertices, {4} indexes", +- Name, _pbs.SculptEntry ? _pbs.SculptTexture.ToString() : "primMesh", +- _position.ToString() ,vertexCount , indexCount ); ++ return true; + } + IntPtr geo = IntPtr.Zero; + +-- +2.29.2.windows.3 +