some changes on viewer caps detection

UbitUmarov [2020-06-09 17:43:26]
some changes on viewer caps detection
Filename
OpenSim/Capabilities/Caps.cs
OpenSim/Framework/EstateSettings.cs
OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
diff --git a/OpenSim/Capabilities/Caps.cs b/OpenSim/Capabilities/Caps.cs
index 3a674b1..0603ae3 100644
--- a/OpenSim/Capabilities/Caps.cs
+++ b/OpenSim/Capabilities/Caps.cs
@@ -126,8 +126,9 @@ namespace OpenSim.Framework.Capabilities
             None =          0,
             SentSeeds =     1,

-            ObjectAnim = 0x10,
-            AdvEnv     = 0x20
+            ObjectAnim =    0x100,
+            WLEnv =         0x200,
+            AdvEnv =        0x400
         }

         public CapsFlags Flags { get; set;}
@@ -294,9 +295,6 @@ namespace OpenSim.Framework.Capabilities
                             port = MainServer.Instance.SSLPort;
                             protocol = "https";
                         }
-    //
-    //            caps.RegisterHandler("FetchInventoryDescendents2", String.Format("{0}://{1}:{2}{3}", protocol, hostName, port, capUrl));
-
                         caps[kvp.Key] = string.Format("{0}://{1}:{2}{3}", protocol, hostName, port, kvp.Value.Url);
                 }
             }
@@ -310,7 +308,7 @@ namespace OpenSim.Framework.Capabilities
                 caps[kvp.Key] = kvp.Value;
             }

-            Flags |= CapsFlags.SentSeeds;
+
             return caps;
         }

diff --git a/OpenSim/Framework/EstateSettings.cs b/OpenSim/Framework/EstateSettings.cs
index 983b491..a128a2c 100644
--- a/OpenSim/Framework/EstateSettings.cs
+++ b/OpenSim/Framework/EstateSettings.cs
@@ -237,7 +237,7 @@ namespace OpenSim.Framework
             set { m_DenyMinors = value; }
         }

-        public bool AllowEnviromentOverride {get; set;} = true;
+        public bool AllowEnviromentOverride {get; set;} = false;

         // All those lists...
         //
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
index f969bc8..4d23cbb 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
@@ -405,6 +405,8 @@ namespace OpenSim.Region.ClientStack.Linden
                 string cstr = c.AsString();
                 if (cstr.Equals("ObjectAnimation"))
                     m_HostCapsObj.Flags |= Caps.CapsFlags.ObjectAnim;
+                else if (cstr.Equals("EnvironmentSettings"))
+                    m_HostCapsObj.Flags |= Caps.CapsFlags.WLEnv;
                 else if (cstr.Equals("ExtEnvironment"))
                     m_HostCapsObj.Flags |= Caps.CapsFlags.AdvEnv;
                 validCaps.Add(cstr);
@@ -414,6 +416,8 @@ namespace OpenSim.Region.ClientStack.Linden
             httpResponse.RawBuffer = Util.UTF8NBGetbytes(result);
             httpResponse.StatusCode = (int)HttpStatusCode.OK;
             //m_log.DebugFormat("[CAPS] CapsRequest {0}", result);
+
+            m_HostCapsObj.Flags |= Caps.CapsFlags.SentSeeds;
         }

         /// <summary>
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 0a5c290..de35299 100755
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -13820,6 +13820,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
                         m_SupportObjectAnimations = true;
                         ret |= 0x2000;
                     }
+                    if ((cap.Flags & Caps.CapsFlags.WLEnv) != 0)
+                        ret |= 0x4000;
+                    if ((cap.Flags & Caps.CapsFlags.AdvEnv) != 0)
+                        ret |= 0x8000;
                 }
             }
ViewGit