From 80118ac0575ad6816f65ed7436ec4e0b384f231d Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 21 Nov 2014 04:00:52 +0100 Subject: Remove braindead "fix" that messed up intersim scripted giving. --- .../Inventory/Transfer/InventoryTransferModule.cs | 11 ----------- .../Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs | 17 +++++++++++++++++ .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 15 ++++++++++++++- 3 files changed, 31 insertions(+), 12 deletions(-) (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs index 03aaaac..3815c71 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs @@ -471,17 +471,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer /// private void OnGridInstantMessage(GridInstantMessage im) { - // Check if it's a type of message that we should handle - if (!((im.dialog == (byte) InstantMessageDialog.InventoryOffered) - || (im.dialog == (byte) InstantMessageDialog.InventoryAccepted) - || (im.dialog == (byte) InstantMessageDialog.InventoryDeclined) - || (im.dialog == (byte) InstantMessageDialog.TaskInventoryDeclined))) - return; - - m_log.DebugFormat( - "[INVENTORY TRANSFER]: {0} IM type received from grid. From={1} ({2}), To={3}", - (InstantMessageDialog)im.dialog, im.fromAgentID, im.fromAgentName, im.toAgentID); - // Check if this is ours to handle // Scene scene = FindClientScene(new UUID(im.toAgentID)); diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs index 6ee15ad..e6b14c6 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs @@ -121,6 +121,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice public void Initialise(IConfigSource config) { + MainConsole.Instance.Commands.AddCommand("vivox", false, "vivox debug", "vivox debug |", "Set vivox debugging", HandleDebug); m_config = config.Configs["VivoxVoice"]; @@ -1335,5 +1336,21 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice result = String.Empty; return false; } + + private void HandleDebug(string module, string[] cmd) + { + if (cmd.Length < 3) + { + MainConsole.Instance.Output("Error: missing on/off flag"); + return; + } + + if (cmd[2] == "on") + m_dumpXml = true; + else if (cmd[2] == "off") + m_dumpXml = false; + else + MainConsole.Instance.Output("Error: only on and off are supported"); + } } } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 5141e0e..aaf1170 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -8540,6 +8540,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_String llXorBase64Strings(string str1, string str2) { + int padding = 0; + string b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; ScriptSleep(300); @@ -8583,6 +8585,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // than the decoded length of s1, simply perform a normal // decode and XOR // + /* if (data2.Length >= data1.Length) { for (int pos = 0 ; pos < data1.Length ; pos++ ) @@ -8590,10 +8593,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return Convert.ToBase64String(data1); } + */ // Remove padding while (str1.EndsWith("=")) + { str1 = str1.Substring(0, str1.Length - 1); + padding++; + } while (str2.EndsWith("=")) str2 = str2.Substring(0, str2.Length - 1); @@ -8621,7 +8628,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api for (int pos = 0 ; pos < d1.Length ; pos++) output += b64[d1[pos] ^ d2[pos % d2.Length]]; - while (output.Length % 3 > 0) + // Here's a funny thing: LL blithely violate the base64 + // standard pretty much everywhere. Here, padding is + // added only if the first input string had it, rather + // than when the data actually needs it. This can result + // in invalid base64 being returned. Go figure. + + while (padding-- > 0) output += "="; return output; -- cgit v1.1