From 844267f07fa502e2ace5b24c9d9fb87a89eee0da Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 8 Sep 2020 00:30:09 +0000 Subject: [PATCH] =?UTF-8?q?=E2=80=9EPatch/0001-Add-os-commands-similar-to-?= =?UTF-8?q?experience-data-storage.patch=E2=80=9C=20l=C3=B6schen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...s-similar-to-experience-data-storage.patch | 273 ------------------ 1 file changed, 273 deletions(-) delete mode 100644 Patch/0001-Add-os-commands-similar-to-experience-data-storage.patch diff --git a/Patch/0001-Add-os-commands-similar-to-experience-data-storage.patch b/Patch/0001-Add-os-commands-similar-to-experience-data-storage.patch deleted file mode 100644 index 9ca991d..0000000 --- a/Patch/0001-Add-os-commands-similar-to-experience-data-storage.patch +++ /dev/null @@ -1,273 +0,0 @@ -From 37f47683b3416d05c04d68e9898c19a95f3d4e8f Mon Sep 17 00:00:00 2001 -From: Christopher -Date: Wed, 27 May 2020 15:28:23 +0200 -Subject: [PATCH] Add os commands similar to experience data storage Add - similar os commands to llReadKeyValue llCreateKeyValue llDeleteKeyValue == - osGetDataValue osSetDataValue osDeleteDataValue and osCheckDataValue - ---- - .../Shared/Api/Implementation/OSSL_Api.cs | 149 ++++++++++++++++++ - .../Shared/Api/Interface/IOSSL_Api.cs | 10 ++ - .../Shared/Api/Runtime/OSSL_Stub.cs | 40 +++++ - bin/config-include/osslDefaultEnable.ini | 4 + - 4 files changed, 203 insertions(+) - -diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs -index 8289dec2e7..197fde3a01 100644 ---- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs -+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs -@@ -42,8 +42,10 @@ using System; - using System.Collections; - using System.Collections.Concurrent; - using System.Collections.Generic; -+using System.IO; - using System.Reflection; - using System.Runtime.Remoting.Lifetime; -+using System.Security.Cryptography; - using System.Text; - using System.Text.RegularExpressions; - using System.Threading; -@@ -948,6 +950,153 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api - return false; - } - -+ public string osGetDataValue(string key) -+ { -+ return osGetDataValue(key, false); -+ } -+ -+ public string osGetDataValue(string key, bool personal) -+ { -+ CheckThreatLevel(ThreatLevel.Moderate, "osGetDataValue"); -+ -+ string dataValueDirectory = m_ScriptEngine.ConfigSource.Configs["XEngine"].GetString("DataValueStorageDirectory", "./ScriptDataValue"); -+ -+ String groupFolderName = m_host.GroupID.ToString().Trim().ToUpper().Replace("-", ""); -+ -+ if(personal) -+ groupFolderName = m_host.OwnerID.ToString().Trim().ToUpper().Replace("-", ""); -+ -+ if (!Directory.Exists(dataValueDirectory)) -+ Directory.CreateDirectory(dataValueDirectory); -+ -+ if (!Directory.Exists(dataValueDirectory + "/" + groupFolderName)) -+ Directory.CreateDirectory(dataValueDirectory + "/" + groupFolderName); -+ -+ try -+ { -+ string keyMD = BitConverter.ToString(new MD5CryptoServiceProvider().ComputeHash(ASCIIEncoding.ASCII.GetBytes(key.Trim().ToUpper()))).Replace("-", ""); -+ FileInfo file = new FileInfo(dataValueDirectory + "/" + groupFolderName + "/" + keyMD + ".txt"); -+ -+ if (file.Exists) -+ return File.ReadAllText(file.FullName); -+ } -+ catch (Exception _error) -+ { -+ Console.WriteLine(_error.Message); -+ } -+ -+ return ""; -+ } -+ -+ public void osSetDataValue(string key, string value) -+ { -+ osSetDataValue(key, value, false); -+ } -+ -+ public void osSetDataValue(string key, string value, bool personal) -+ { -+ CheckThreatLevel(ThreatLevel.Moderate, "osSetDataValue"); -+ -+ string dataValueDirectory = m_ScriptEngine.ConfigSource.Configs["XEngine"].GetString("DataValueStorageDirectory", "./ScriptDataValue"); -+ -+ String groupFolderName = m_host.GroupID.ToString().Trim().ToUpper().Replace("-", ""); -+ -+ if (personal) -+ groupFolderName = m_host.OwnerID.ToString().Trim().ToUpper().Replace("-", ""); -+ -+ if (!Directory.Exists(dataValueDirectory)) -+ Directory.CreateDirectory(dataValueDirectory); -+ -+ if (!Directory.Exists(dataValueDirectory + "/" + groupFolderName)) -+ Directory.CreateDirectory(dataValueDirectory + "/" + groupFolderName); -+ -+ try -+ { -+ string keyMD = BitConverter.ToString(new MD5CryptoServiceProvider().ComputeHash(ASCIIEncoding.ASCII.GetBytes(key.Trim().ToUpper()))).Replace("-", ""); -+ FileInfo file = new FileInfo(dataValueDirectory + "/" + groupFolderName + "/" + keyMD + ".txt"); -+ -+ File.WriteAllText(file.FullName, value); -+ } -+ catch (Exception _error) -+ { -+ Console.WriteLine(_error.Message); -+ } -+ } -+ -+ public void osDeleteDataValue(string key) -+ { -+ osDeleteDataValue(key, false); -+ } -+ -+ public void osDeleteDataValue(string key, bool personal) -+ { -+ CheckThreatLevel(ThreatLevel.Moderate, "osDeleteDataValue"); -+ -+ string dataValueDirectory = m_ScriptEngine.ConfigSource.Configs["XEngine"].GetString("DataValueStorageDirectory", "./ScriptDataValue"); -+ -+ String groupFolderName = m_host.GroupID.ToString().Trim().ToUpper().Replace("-", ""); -+ -+ if (personal) -+ groupFolderName = m_host.OwnerID.ToString().Trim().ToUpper().Replace("-", ""); -+ -+ if (!Directory.Exists(dataValueDirectory)) -+ Directory.CreateDirectory(dataValueDirectory); -+ -+ if (!Directory.Exists(dataValueDirectory + "/" + groupFolderName)) -+ Directory.CreateDirectory(dataValueDirectory + "/" + groupFolderName); -+ -+ try -+ { -+ string keyMD = BitConverter.ToString(new MD5CryptoServiceProvider().ComputeHash(ASCIIEncoding.ASCII.GetBytes(key.Trim().ToUpper()))).Replace("-", ""); -+ FileInfo file = new FileInfo(dataValueDirectory + "/" + groupFolderName + "/" + keyMD + ".txt"); -+ -+ if (file.Exists) -+ file.Delete(); -+ } -+ catch (Exception _error) -+ { -+ Console.WriteLine(_error.Message); -+ } -+ } -+ -+ public bool osCheckDataValue(string key) -+ { -+ return osCheckDataValue(key, false); -+ } -+ -+ public bool osCheckDataValue(string key, bool personal) -+ { -+ CheckThreatLevel(ThreatLevel.Moderate, "osCheckDataValue"); -+ -+ string dataValueDirectory = m_ScriptEngine.ConfigSource.Configs["XEngine"].GetString("DataValueStorageDirectory", "./ScriptDataValue"); -+ -+ String groupFolderName = m_host.GroupID.ToString().Trim().ToUpper().Replace("-", ""); -+ -+ if (personal) -+ groupFolderName = m_host.OwnerID.ToString().Trim().ToUpper().Replace("-", ""); -+ -+ if (!Directory.Exists(dataValueDirectory)) -+ Directory.CreateDirectory(dataValueDirectory); -+ -+ if (!Directory.Exists(dataValueDirectory + "/" + groupFolderName)) -+ Directory.CreateDirectory(dataValueDirectory + "/" + groupFolderName); -+ -+ try -+ { -+ string keyMD = BitConverter.ToString(new MD5CryptoServiceProvider().ComputeHash(ASCIIEncoding.ASCII.GetBytes(key.Trim().ToUpper()))).Replace("-", ""); -+ FileInfo file = new FileInfo(dataValueDirectory + "/" + groupFolderName + "/" + keyMD + ".txt"); -+ -+ if (file.Exists) -+ return true; -+ } -+ catch (Exception _error) -+ { -+ Console.WriteLine(_error.Message); -+ } -+ -+ return false; -+ } -+ - public void osSetPrimFloatOnWater(int floatYN) - { - CheckThreatLevel(ThreatLevel.VeryLow, "osSetPrimFloatOnWater"); -diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs -index e9aeda5f28..93dbc64366 100644 ---- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs -+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs -@@ -142,6 +142,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces - void osRegionNotice(string msg); - void osRegionNotice(LSL_Key agentID, string msg); - bool osConsoleCommand(string Command); -+ -+ string osGetDataValue(string key); -+ string osGetDataValue(string key, bool persoanl); -+ void osSetDataValue(string key, string value); -+ void osSetDataValue(string key, string value, bool personal); -+ void osDeleteDataValue(string key); -+ void osDeleteDataValue(string key, bool personal); -+ bool osCheckDataValue(string key); -+ bool osCheckDataValue(string key, bool personal); -+ - void osSetParcelMediaURL(string url); - void osSetPrimFloatOnWater(int floatYN); - void osSetParcelSIPAddress(string SIPAddress); -diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs -index 4bae45e392..55e911c6ae 100644 ---- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs -+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs -@@ -235,6 +235,46 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase - return m_OSSL_Functions.osConsoleCommand(Command); - } - -+ public string osGetDataValue(string key) -+ { -+ return m_OSSL_Functions.osGetDataValue(key); -+ } -+ -+ public string osGetDataValue(string key, bool personal) -+ { -+ return m_OSSL_Functions.osGetDataValue(key, personal); -+ } -+ -+ public void osSetDataValue(string key, string value) -+ { -+ m_OSSL_Functions.osSetDataValue(key, value); -+ } -+ -+ public void osSetDataValue(string key, string value, bool personal) -+ { -+ m_OSSL_Functions.osSetDataValue(key, value, personal); -+ } -+ -+ public void osDeleteDataValue(string key) -+ { -+ m_OSSL_Functions.osDeleteDataValue(key); -+ } -+ -+ public void osDeleteDataValue(string key, bool personal) -+ { -+ m_OSSL_Functions.osDeleteDataValue(key, personal); -+ } -+ -+ public bool osCheckDataValue(string key) -+ { -+ return m_OSSL_Functions.osCheckDataValue(key); -+ } -+ -+ public bool osCheckDataValue(string key, bool personal) -+ { -+ return m_OSSL_Functions.osCheckDataValue(key, personal); -+ } -+ - public void osSetParcelMediaURL(string url) - { - m_OSSL_Functions.osSetParcelMediaURL(url); -diff --git a/bin/config-include/osslDefaultEnable.ini b/bin/config-include/osslDefaultEnable.ini -index e66577dbcf..72885d9d30 100644 ---- a/bin/config-include/osslDefaultEnable.ini -+++ b/bin/config-include/osslDefaultEnable.ini -@@ -146,6 +146,10 @@ - Allow_osSetOwnerSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osRequestURL = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osRequestSecureURL = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -+ Allow_osGetDataValue = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -+ Allow_osSetDataValue = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -+ Allow_osDeleteDataValue = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -+ Allow_osCheckDataValue = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - - ; ThreatLevel High - Allow_osCauseDamage = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER --- -2.25.1.windows.1 -