From 2886408a76dfc9b980b04d476768d25229a4c0d5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 19 Oct 2018 18:35:31 +0100 Subject: autogen LSLSyntax version uuid --- OpenSim/Framework/Util.cs | 17 +++++- .../Linden/Caps/SimulatorFeaturesModule.cs | 62 +++++++++++----------- 2 files changed, 47 insertions(+), 32 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index c5c4ab3..e12d37a 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -864,11 +864,24 @@ namespace OpenSim.Framework private static byte[] ComputeSHA1Hash(byte[] src) { byte[] ret; - using(SHA1CryptoServiceProvider SHA1 = new SHA1CryptoServiceProvider()) - ret = SHA1.ComputeHash(src); + using (SHA1CryptoServiceProvider SHA1 = new SHA1CryptoServiceProvider()) + ret = SHA1.ComputeHash(src); return ret; } + public static UUID ComputeSHA1UUID(string src) + { + return ComputeSHA1UUID(Encoding.Default.GetBytes(src)); + } + + public static UUID ComputeSHA1UUID(byte[] src) + { + byte[] ret; + using (SHA1CryptoServiceProvider SHA1 = new SHA1CryptoServiceProvider()) + ret = SHA1.ComputeHash(src); + return new UUID(ret, 2); + } + public static int fast_distance2d(int x, int y) { x = Math.Abs(x); diff --git a/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs index a6a4b1c..1c4b538 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs @@ -77,16 +77,17 @@ namespace OpenSim.Region.ClientStack.Linden private string m_GridName = string.Empty; private string m_GridURL = string.Empty; + private bool m_doScriptSyntax; + static private object m_scriptSyntaxLock = new object(); static private UUID m_scriptSyntaxID = UUID.Zero; static private string m_scriptSyntaxXML; - private bool m_doScriptSyntax; #region ISharedRegionModule Members public void Initialise(IConfigSource source) { IConfig config = source.Configs["SimulatorFeatures"]; - m_doScriptSyntax = false; + m_doScriptSyntax = true; if (config != null) { // @@ -330,40 +331,41 @@ namespace OpenSim.Region.ClientStack.Linden private void ReadScriptSyntax() { - if(!m_doScriptSyntax || m_scriptSyntaxID != UUID.Zero) - return; + lock(m_scriptSyntaxLock) + { + if(!m_doScriptSyntax || m_scriptSyntaxID != UUID.Zero) + return; - if(!File.Exists("ScriptSyntax.xml")) - return; + if(!File.Exists("ScriptSyntax.xml")) + return; - try - { - using (StreamReader sr = File.OpenText("ScriptSyntax.xml")) + try { - string version = sr.ReadLine(); - if(string.IsNullOrEmpty(version)) - return; - if(!UUID.TryParse(version, out m_scriptSyntaxID)) - return; - - StringBuilder sb = new StringBuilder(400*1024); - string s=""; - char[] trimc = new char[] {' ','\t', '\n', '\r'}; - while((s = sr.ReadLine()) != null) + using (StreamReader sr = File.OpenText("ScriptSyntax.xml")) { - s = s.Trim(trimc); - if(String.IsNullOrEmpty(s) || s.StartsWith("<--")) - continue; - sb.Append(s); + StringBuilder sb = new StringBuilder(400*1024); + sb.Append("llsd-lsl-syntax-version2"); + + string s=""; + char[] trimc = new char[] {' ','\t', '\n', '\r'}; + while((s = sr.ReadLine()) != null) + { + s = s.Trim(trimc); + if(String.IsNullOrEmpty(s) || s.StartsWith("