From 5ad62558b3f7ccede686e4a63259ac4b89ae4a6d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 17 Jan 2020 09:35:42 +0000 Subject: [PATCH] mantis 8643: invert the meaning of internal flag TEXFREE true value to mean NOT allow parcel owner to be more restrictive than estate. This should reduce the impact of this feature on new and current regions, specially since some viewers still do not suport it. (yes still lazy to rename the thing) --- OpenSim/Framework/EstateSettings.cs | 2 +- .../Region/ClientStack/Linden/Caps/EstateChangeInfo.cs | 6 +++--- OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 9 +++------ .../CoreModules/World/Estate/EstateManagementModule.cs | 10 +++++----- .../CoreModules/World/Land/LandManagementModule.cs | 6 +++--- OpenSim/Region/CoreModules/World/Land/LandObject.cs | 6 +++--- 6 files changed, 18 insertions(+), 21 deletions(-) diff --git a/OpenSim/Framework/EstateSettings.cs b/OpenSim/Framework/EstateSettings.cs index 1c0b97af98..764528832f 100644 --- a/OpenSim/Framework/EstateSettings.cs +++ b/OpenSim/Framework/EstateSettings.cs @@ -202,7 +202,7 @@ namespace OpenSim.Framework } private bool m_TaxFree = false; - public bool TaxFree // this is now AllowAccessOverride, keeping same name to reuse DB entries + public bool TaxFree // this is now !AllowAccessOverride, keeping same name to reuse DB entries { get { return m_TaxFree; } set { m_TaxFree = value; } diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EstateChangeInfo.cs b/OpenSim/Region/ClientStack/Linden/Caps/EstateChangeInfo.cs index 4e2b660f49..e5d18f8448 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/EstateChangeInfo.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/EstateChangeInfo.cs @@ -195,10 +195,10 @@ namespace OpenSim.Region.ClientStack.Linden bool denyAnonymous = r["deny_anonymous"].AsBoolean(); bool denyAgeUnverified = r["deny_age_unverified"].AsBoolean(); bool alloVoiceChat = r["allow_voice_chat"].AsBoolean(); - // taxfree is now AllowAccessOverride - bool overridePublicAccess = m_scene.RegionInfo.EstateSettings.TaxFree; + // taxfree is now !AllowAccessOverride + bool overridePublicAccess = !m_scene.RegionInfo.EstateSettings.TaxFree; if (r.ContainsKey("override_public_access")) - overridePublicAccess = r["override_public_access"].AsBoolean(); + overridePublicAccess = !r["override_public_access"].AsBoolean(); ok = m_EstateModule.handleEstateChangeInfoCap(estateName, invoice, sunHour, sunFixed, externallyVisible, allowDirectTeleport, denyAnonymous, denyAgeUnverified, diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index f6d138c7d0..a778ba30e1 100755 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -6558,9 +6558,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP LLSDxmlEncode.AddElem("PassPrice", landData.PassPrice, sb); LLSDxmlEncode.AddElem("PublicCount", (int)0, sb); //TODO LLSDxmlEncode.AddElem("RegionDenyAnonymous", (regionFlags & (uint)RegionFlags.DenyAnonymous) != 0, sb); - //LLSDxmlEncode.AddElem("RegionDenyIdentified", (regionFlags & (uint)RegionFlags.DenyIdentified) != 0, sb); LLSDxmlEncode.AddElem("RegionDenyIdentified", false, sb); - //LLSDxmlEncode.AddElem("RegionDenyTransacted", (regionFlags & (uint)RegionFlags.DenyTransacted) != 0, sb); LLSDxmlEncode.AddElem("RegionDenyTransacted", false, sb); LLSDxmlEncode.AddElem("RegionPushOverride", (regionFlags & (uint)RegionFlags.RestrictPushObject) != 0, sb); LLSDxmlEncode.AddElem("RentPrice", (int) 0, sb);; @@ -6600,17 +6598,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP LLSDxmlEncode.AddArrayAndMap("AgeVerificationBlock", sb); - //LLSDxmlEncode.AddElem("RegionDenyAgeUnverified", (regionFlags & (uint)RegionFlags.DenyAgeUnverified) != 0, sb); - LLSDxmlEncode.AddElem("RegionDenyAgeUnverified", false, sb); + LLSDxmlEncode.AddElem("RegionDenyAgeUnverified", (regionFlags & (uint)RegionFlags.DenyAgeUnverified) != 0, sb); LLSDxmlEncode.AddEndMapAndArray(sb); LLSDxmlEncode.AddArrayAndMap("ParcelEnvironmentBlock", sb); LLSDxmlEncode.AddElem("ParcelEnvironmentVersion", -1, sb); - LLSDxmlEncode.AddElem("RegionAllowEnvironmentOverride", false, sb); + LLSDxmlEncode.AddElem("RegionAllowEnvironmentOverride", true, sb); LLSDxmlEncode.AddEndMapAndArray(sb); - bool accessovr = Scene.RegionInfo.EstateSettings.TaxFree; + bool accessovr = !Scene.RegionInfo.EstateSettings.TaxFree; LLSDxmlEncode.AddArrayAndMap("RegionAllowAccessBlock", sb); LLSDxmlEncode.AddElem("RegionAllowAccessOverride", accessovr, sb); LLSDxmlEncode.AddEndMapAndArray(sb); diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 40e8daf325..f69184ae90 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs @@ -1549,11 +1549,11 @@ namespace OpenSim.Region.CoreModules.World.Estate else Scene.RegionInfo.EstateSettings.FixedSun = false; - // taxfree is now AllowAccessOverride + // taxfree is now !AllowAccessOverride (note the negate) if ((parms1 & 0x00000020) != 0) - Scene.RegionInfo.EstateSettings.TaxFree = true; - else Scene.RegionInfo.EstateSettings.TaxFree = false; + else + Scene.RegionInfo.EstateSettings.TaxFree = true; if ((parms1 & 0x00100000) != 0) Scene.RegionInfo.EstateSettings.AllowDirectTeleport = true; @@ -1621,7 +1621,7 @@ namespace OpenSim.Region.CoreModules.World.Estate Scene.RegionInfo.EstateSettings.DenyAnonymous = denyAnonymous; Scene.RegionInfo.EstateSettings.AllowVoice = alloVoiceChat; - // taxfree is now AllowAccessOverride + // taxfree is now !AllowAccessOverride Scene.RegionInfo.EstateSettings.TaxFree = overridePublicAccess; Scene.RegionInfo.EstateSettings.DenyMinors = denyAgeUnverified; @@ -1695,7 +1695,7 @@ namespace OpenSim.Region.CoreModules.World.Estate flags |= RegionFlags.ResetHomeOnTeleport; if (Scene.RegionInfo.EstateSettings.FixedSun) flags |= RegionFlags.SunFixed; - if (Scene.RegionInfo.EstateSettings.TaxFree) // this is now wrong means ALLOW_ACCESS_OVERRIDE + if (!Scene.RegionInfo.EstateSettings.TaxFree) // this is now wrong means !ALLOW_ACCESS_OVERRIDE flags |= RegionFlags.TaxFree; if (Scene.RegionInfo.EstateSettings.PublicAccess) //?? diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index 68258d80ff..a18a7bfd33 100755 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs @@ -529,7 +529,7 @@ namespace OpenSim.Region.CoreModules.World.Land if (avatar.IsChildAgent) return; - if ( m_allowedForcefulBans && m_showBansLines && m_scene.RegionInfo.EstateSettings.TaxFree) + if ( m_allowedForcefulBans && m_showBansLines && !m_scene.RegionInfo.EstateSettings.TaxFree) SendOutNearestBanLine(avatar.ControllingClient); } @@ -579,7 +579,7 @@ namespace OpenSim.Region.CoreModules.World.Land if(ldata.PassHours == 0) return; - if (!m_scene.RegionInfo.EstateSettings.TaxFree) + if (m_scene.RegionInfo.EstateSettings.TaxFree) return; // don't allow passes on group owned until we can give money to groups @@ -694,7 +694,7 @@ namespace OpenSim.Region.CoreModules.World.Land if ((flags & 0x03) == 0) return; // we only have access and ban - if(!m_scene.RegionInfo.EstateSettings.TaxFree) + if(m_scene.RegionInfo.EstateSettings.TaxFree) return; ILandObject land; diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index 0d2ca50514..19be594656 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs @@ -541,7 +541,7 @@ namespace OpenSim.Region.CoreModules.World.Land ParcelFlags.UseEstateVoiceChan); } - if(m_scene.RegionInfo.EstateSettings.TaxFree) + if(!m_scene.RegionInfo.EstateSettings.TaxFree) { // don't allow passes on group owned until we can give money to groups if (!newData.IsGroupOwned && m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.LandManagePasses, false)) @@ -707,7 +707,7 @@ namespace OpenSim.Region.CoreModules.World.Land { ExpireAccessList(); - if (!m_scene.RegionInfo.EstateSettings.TaxFree) // region access control only + if (m_scene.RegionInfo.EstateSettings.TaxFree) // region access control only return false; if (m_scene.Permissions.IsAdministrator(avatar)) @@ -737,7 +737,7 @@ namespace OpenSim.Region.CoreModules.World.Land public bool IsRestrictedFromLand(UUID avatar) { - if (!m_scene.RegionInfo.EstateSettings.TaxFree) // estate access only + if (m_scene.RegionInfo.EstateSettings.TaxFree) // estate access only return false; if ((LandData.Flags & (uint) ParcelFlags.UseAccessList) == 0)