Remove braindead "fix" that messed up intersim scripted giving.

avinationmerge
Melanie Thielker 2014-11-21 04:00:52 +01:00
parent 07074d068b
commit 80118ac057
3 changed files with 31 additions and 12 deletions

View File

@ -471,17 +471,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
/// <param name="im"></param> /// <param name="im"></param>
private void OnGridInstantMessage(GridInstantMessage im) 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 // Check if this is ours to handle
// //
Scene scene = FindClientScene(new UUID(im.toAgentID)); Scene scene = FindClientScene(new UUID(im.toAgentID));

View File

@ -121,6 +121,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
public void Initialise(IConfigSource config) public void Initialise(IConfigSource config)
{ {
MainConsole.Instance.Commands.AddCommand("vivox", false, "vivox debug", "vivox debug <on>|<off>", "Set vivox debugging", HandleDebug);
m_config = config.Configs["VivoxVoice"]; m_config = config.Configs["VivoxVoice"];
@ -1335,5 +1336,21 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
result = String.Empty; result = String.Empty;
return false; 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");
}
} }
} }

View File

@ -8540,6 +8540,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public LSL_String llXorBase64Strings(string str1, string str2) public LSL_String llXorBase64Strings(string str1, string str2)
{ {
int padding = 0;
string b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; string b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
ScriptSleep(300); ScriptSleep(300);
@ -8583,6 +8585,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
// than the decoded length of s1, simply perform a normal // than the decoded length of s1, simply perform a normal
// decode and XOR // decode and XOR
// //
/*
if (data2.Length >= data1.Length) if (data2.Length >= data1.Length)
{ {
for (int pos = 0 ; pos < data1.Length ; pos++ ) for (int pos = 0 ; pos < data1.Length ; pos++ )
@ -8590,10 +8593,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return Convert.ToBase64String(data1); return Convert.ToBase64String(data1);
} }
*/
// Remove padding // Remove padding
while (str1.EndsWith("=")) while (str1.EndsWith("="))
{
str1 = str1.Substring(0, str1.Length - 1); str1 = str1.Substring(0, str1.Length - 1);
padding++;
}
while (str2.EndsWith("=")) while (str2.EndsWith("="))
str2 = str2.Substring(0, str2.Length - 1); 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++) for (int pos = 0 ; pos < d1.Length ; pos++)
output += b64[d1[pos] ^ d2[pos % d2.Length]]; 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 += "="; output += "=";
return output; return output;