]> git.deb.at Git - rhonda/impostor.hazel.git/commitdiff
Fix various bugs
authorJamJar00 <jamster.30@btinternet.com>
Tue, 31 Oct 2017 15:58:35 +0000 (15:58 +0000)
committerJamJar00 <jamster.30@btinternet.com>
Tue, 31 Oct 2017 16:07:15 +0000 (16:07 +0000)
Hazel.UnitTests/TestHelper.cs
Hazel/Udp/UdpConnection.Fragmented.cs
Hazel/Udp/UdpConnectionListener.cs

index 0bb16931f3b93ed06aad88dc33696eb5ed1d2f36..1436ff6549a5f7e1d79e6d8d169afd68cfe1452d 100644 (file)
@@ -35,6 +35,8 @@ namespace Hazel.UnitTests
             {
                 Trace.WriteLine("Data was received correctly.");
 
+                Assert.AreEqual(data.Length, args.Bytes.Length);
+
                 for (int i = 0; i < data.Length; i++)
                 {
                     Assert.AreEqual(data[i], args.Bytes[i]);
@@ -70,6 +72,8 @@ namespace Hazel.UnitTests
                 {
                     Trace.WriteLine("Data was received correctly.");
 
+                    Assert.AreEqual(data.Length, innerArgs.Bytes.Length);
+
                     for (int i = 0; i < data.Length; i++)
                     {
                         Assert.AreEqual(data[i], innerArgs.Bytes[i]);
index 96f74de1594fb3eae6cc04dc798cc2e61e8ea867..463fbef7ea04a0d89e787bc86356557c17e6b3fb 100644 (file)
@@ -154,8 +154,9 @@ namespace Hazel.Udp
         void FinalizeFragmentedMessage(FragmentedMessage message)
         {
             IEnumerable<FragmentedMessage.Fragment> orderedFragments = message.received.OrderBy((x) => x.fragmentID);
+            FragmentedMessage.Fragment last = orderedFragments.Last();
 
-            byte[] completeData = new byte[(orderedFragments.Count() - 1) * FragmentSize + orderedFragments.Last().data.Length];
+            byte[] completeData = new byte[(orderedFragments.Count() - 1) * FragmentSize + last.data.Length - last.offset];
             int ptr = 0;
             foreach (FragmentedMessage.Fragment fragment in orderedFragments)
             {
index 1d1a1e6cb079da238e86f120ccea31231f89d78f..fc680858c2a1f151169d5d1355f2c814ff6cb8c0 100644 (file)
@@ -175,8 +175,8 @@ namespace Hazel.Udp
             //If it's a new connection invoke the NewConnection event.
             if (!aware)
             {
-                byte[] dataBuffer = new byte[buffer.Length - 1];
-                Buffer.BlockCopy(buffer, 1, dataBuffer, 0, buffer.Length - 1);
+                byte[] dataBuffer = new byte[buffer.Length - 3];
+                Buffer.BlockCopy(buffer, 3, dataBuffer, 0, buffer.Length - 3);
                 InvokeNewConnection(dataBuffer, connection);
             }
         }