diff --git a/LibreMetaverse.Tests/PacketTests.cs b/LibreMetaverse.Tests/PacketTests.cs index 123b9785..5ad42aff 100644 --- a/LibreMetaverse.Tests/PacketTests.cs +++ b/LibreMetaverse.Tests/PacketTests.cs @@ -25,6 +25,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ +using System; using OpenMetaverse; using OpenMetaverse.Packets; using NUnit.Framework; @@ -161,7 +162,7 @@ namespace LibreMetaverse.Tests scriptDialogPacket.Data.Message = Utils.EmptyBytes; scriptDialogPacket.Data.ObjectID = UUID.Zero; scriptDialogPacket.Data.ObjectName = Utils.EmptyBytes; - scriptDialogPacket.Buttons = new ScriptDialogPacket.ButtonsBlock[0]; + scriptDialogPacket.Buttons = Array.Empty(); scriptDialogPacket.OwnerData = new ScriptDialogPacket.OwnerDataBlock[1]; scriptDialogPacket.OwnerData[0] = new ScriptDialogPacket.OwnerDataBlock(); scriptDialogPacket.OwnerData[0].OwnerID = UUID.Zero; @@ -176,7 +177,7 @@ namespace LibreMetaverse.Tests proPacket.AgentData.SessionID = UUID.Zero; proPacket.ParcelData.LocalID = 0; proPacket.ParcelData.ReturnType = 0; - proPacket.TaskIDs = new ParcelReturnObjectsPacket.TaskIDsBlock[0]; + proPacket.TaskIDs = Array.Empty(); proPacket.OwnerIDs = new ParcelReturnObjectsPacket.OwnerIDsBlock[1]; proPacket.OwnerIDs[0] = new ParcelReturnObjectsPacket.OwnerIDsBlock(); proPacket.OwnerIDs[0].OwnerID = UUID.Zero; diff --git a/LibreMetaverse.Types/UUID.cs b/LibreMetaverse.Types/UUID.cs index c42b963c..196efd3f 100644 --- a/LibreMetaverse.Types/UUID.cs +++ b/LibreMetaverse.Types/UUID.cs @@ -267,8 +267,8 @@ namespace OpenMetaverse /// UUID public static UUID SecureRandom() { - var rng = new RNGCryptoServiceProvider(); - byte[] data = new byte[16]; + var rng = RandomNumberGenerator.Create(); + byte[] data = new byte[16]; rng.GetBytes(data); // Mark as UUIDv4 diff --git a/LibreMetaverse.Types/Utils.cs b/LibreMetaverse.Types/Utils.cs index d4e7431c..4f98e747 100644 --- a/LibreMetaverse.Types/Utils.cs +++ b/LibreMetaverse.Types/Utils.cs @@ -82,24 +82,24 @@ namespace OpenMetaverse /// UNIX epoch in DateTime format public static readonly DateTime Epoch = new DateTime(1970, 1, 1); - public static readonly byte[] EmptyBytes = new byte[0]; + public static readonly byte[] EmptyBytes = Array.Empty(); /// /// Provide a single instance of the MD5 class to avoid making /// duplicate copies and handle thread safety /// - private static readonly System.Security.Cryptography.MD5 MD5Builder = - new System.Security.Cryptography.MD5CryptoServiceProvider(); + private static readonly MD5 MD5Builder = + System.Security.Cryptography.MD5.Create(); /// /// Provide a single instance of the SHA-1 class to avoid /// making duplicate copies and handle thread safety /// - private static readonly System.Security.Cryptography.SHA1 SHA1Builder = - new System.Security.Cryptography.SHA1CryptoServiceProvider(); + private static readonly SHA1 SHA1Builder = + System.Security.Cryptography.SHA1.Create(); - private static readonly System.Security.Cryptography.SHA256 SHA256Builder = - new System.Security.Cryptography.SHA256Managed(); + private static readonly SHA256 SHA256Builder = + System.Security.Cryptography.SHA256.Create(); /// /// Provide a single instance of a random number generator @@ -262,8 +262,8 @@ namespace OpenMetaverse // It is expected that 0 < amount < 1 // If amount < 0, return value1 // If amount > 1, return value2 - float result = Utils.Clamp(amount, 0f, 1f); - return Utils.Hermite(value1, 0f, value2, 0f, result); + float result = Clamp(amount, 0f, 1f); + return Hermite(value1, 0f, value2, 0f, result); } public static double SmoothStep(double value1, double value2, double amount) @@ -271,8 +271,8 @@ namespace OpenMetaverse // It is expected that 0 < amount < 1 // If amount < 0, return value1 // If amount > 1, return value2 - double result = Utils.Clamp(amount, 0f, 1f); - return Utils.Hermite(value1, 0f, value2, 0f, result); + double result = Clamp(amount, 0f, 1f); + return Hermite(value1, 0f, value2, 0f, result); } public static float ToDegrees(float radians) @@ -325,7 +325,7 @@ namespace OpenMetaverse // Convert the hash to a hex string foreach (byte b in hash) - digest.AppendFormat(Utils.EnUsCulture, "{0:x2}", b); + digest.AppendFormat(EnUsCulture, "{0:x2}", b); return digest.ToString(); } @@ -353,7 +353,7 @@ namespace OpenMetaverse // Convert the hash to a hex string foreach (byte b in hash) - digest.AppendFormat(Utils.EnUsCulture, "{0:x2}", b); + digest.AppendFormat(EnUsCulture, "{0:x2}", b); return digest.ToString(); } @@ -366,11 +366,11 @@ namespace OpenMetaverse public static string MD5(string str) { StringBuilder digest = new StringBuilder(32); - byte[] hash = MD5(ASCIIEncoding.Default.GetBytes(str)); + byte[] hash = MD5(Encoding.Default.GetBytes(str)); // Convert the hash to a hex string foreach (byte b in hash) - digest.AppendFormat(Utils.EnUsCulture, "{0:x2}", b); + digest.AppendFormat(EnUsCulture, "{0:x2}", b); return "$1$" + digest; } @@ -387,7 +387,7 @@ namespace OpenMetaverse // Convert the hash to a hex string foreach (byte b in hash) - digest.AppendFormat(Utils.EnUsCulture, "{0:x2}", b); + digest.AppendFormat(EnUsCulture, "{0:x2}", b); return digest.ToString(); } diff --git a/LibreMetaverse/AgentManager.cs b/LibreMetaverse/AgentManager.cs index e7247cf9..87745192 100644 --- a/LibreMetaverse/AgentManager.cs +++ b/LibreMetaverse/AgentManager.cs @@ -2924,7 +2924,7 @@ namespace OpenMetaverse } // TODO: Implement support for this - animate.PhysicalAvatarEventList = new AgentAnimationPacket.PhysicalAvatarEventListBlock[0]; + animate.PhysicalAvatarEventList = Array.Empty(); Client.Network.SendPacket(animate); } diff --git a/LibreMetaverse/Assets/Archiving/TarArchiveWriter.cs b/LibreMetaverse/Assets/Archiving/TarArchiveWriter.cs index 45ddbba9..bde76826 100644 --- a/LibreMetaverse/Assets/Archiving/TarArchiveWriter.cs +++ b/LibreMetaverse/Assets/Archiving/TarArchiveWriter.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright (c) 2006-2016, openmetaverse.co * All rights reserved. * @@ -57,7 +57,7 @@ namespace OpenMetaverse.Assets if (!dirName.EndsWith("/")) dirName += "/"; - WriteFile(dirName, new byte[0]); + WriteFile(dirName, Array.Empty()); } /// diff --git a/LibreMetaverse/Assets/AssetTypes/AssetPrim.cs b/LibreMetaverse/Assets/AssetTypes/AssetPrim.cs index b5bb5608..dcefda01 100644 --- a/LibreMetaverse/Assets/AssetTypes/AssetPrim.cs +++ b/LibreMetaverse/Assets/AssetTypes/AssetPrim.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright (c) 2006-2016, openmetaverse.co * All rights reserved. * @@ -808,7 +808,7 @@ namespace OpenMetaverse.Assets } else { - Items = new ItemBlock[0]; + Items = Array.Empty(); } } } diff --git a/LibreMetaverse/Login.cs b/LibreMetaverse/Login.cs index bc7ca463..03ab4687 100644 --- a/LibreMetaverse/Login.cs +++ b/LibreMetaverse/Login.cs @@ -1908,7 +1908,7 @@ namespace OpenMetaverse /// Hashed string private static string HashString(string str) { - MD5 sec = new MD5CryptoServiceProvider(); + MD5 sec = MD5.Create(); var enc = new ASCIIEncoding(); var buf = enc.GetBytes(str); return GetHexString(sec.ComputeHash(buf)); diff --git a/LibreMetaverse/ObjectManager.cs b/LibreMetaverse/ObjectManager.cs index d1285ee7..71357612 100644 --- a/LibreMetaverse/ObjectManager.cs +++ b/LibreMetaverse/ObjectManager.cs @@ -1864,7 +1864,7 @@ namespace OpenMetaverse } else { - nameValues = new NameValue[0]; + nameValues = Array.Empty(); } #endregion NameValue parsing diff --git a/LibreMetaverse/ParcelManager.cs b/LibreMetaverse/ParcelManager.cs index 2bfc1e70..60d35de2 100644 --- a/LibreMetaverse/ParcelManager.cs +++ b/LibreMetaverse/ParcelManager.cs @@ -1352,7 +1352,7 @@ namespace OpenMetaverse } else { - request.OwnerIDs = new ParcelReturnObjectsPacket.OwnerIDsBlock[0]; + request.OwnerIDs = Array.Empty(); } Client.Network.SendPacket(request, simulator); diff --git a/LibreMetaverse/Rendering/LindenMesh.cs b/LibreMetaverse/Rendering/LindenMesh.cs index a2e5eae0..ff38f4d0 100644 --- a/LibreMetaverse/Rendering/LindenMesh.cs +++ b/LibreMetaverse/Rendering/LindenMesh.cs @@ -365,7 +365,7 @@ namespace OpenMetaverse.Rendering else { NumSkinJoints = 0; - SkinJoints = new string[0]; + SkinJoints = Array.Empty(); } // Grab morphs @@ -414,7 +414,7 @@ namespace OpenMetaverse.Rendering else { NumRemaps = 0; - VertexRemaps = new VertexRemap[0]; + VertexRemaps = Array.Empty(); } } diff --git a/Programs/GridProxy/GridProxy.cs b/Programs/GridProxy/GridProxy.cs index c4289ea3..d38fa400 100644 --- a/Programs/GridProxy/GridProxy.cs +++ b/Programs/GridProxy/GridProxy.cs @@ -1914,7 +1914,7 @@ namespace GridProxy if (ackCount == 0) { packet.Header.AppendedAcks = false; - packet.Header.AckList = new uint[0]; + packet.Header.AckList = Array.Empty(); } } diff --git a/Programs/GridProxy/Plugins/ClientAO.cs b/Programs/GridProxy/Plugins/ClientAO.cs index dceea69c..bd09763a 100644 --- a/Programs/GridProxy/Plugins/ClientAO.cs +++ b/Programs/GridProxy/Plugins/ClientAO.cs @@ -546,7 +546,7 @@ public class ClientAO : ProxyPlugin animate.AnimationList[0].AnimID = animationuuid; animate.AnimationList[0].StartAnim = run; - animate.PhysicalAvatarEventList = new AgentAnimationPacket.PhysicalAvatarEventListBlock[0]; + animate.PhysicalAvatarEventList = Array.Empty(); //SayToUser("anim " + animname(animationuuid) + " " + run); proxy.InjectPacket(animate, Direction.Outgoing); diff --git a/Programs/examples/TestClient/ClientManager.cs b/Programs/examples/TestClient/ClientManager.cs index e4540ad3..6c9acb97 100644 --- a/Programs/examples/TestClient/ClientManager.cs +++ b/Programs/examples/TestClient/ClientManager.cs @@ -147,6 +147,7 @@ namespace OpenMetaverse.TestClient ++PendingLogins; TestClient client = new TestClient(this); + client.Settings.MFA_ENABLED = true; client.Network.LoginProgress += delegate(object sender, LoginProgressEventArgs e) {