Commit b5224c38 authored by Brickner_cp's avatar Brickner_cp

DNS

Code coverage 94.28%
parent 16498b62
...@@ -161,7 +161,7 @@ namespace PcapDotNet.Core.Test ...@@ -161,7 +161,7 @@ namespace PcapDotNet.Core.Test
TestReceivePackets(NumPacketsToSend, NumPacketsToSend / 2, int.MaxValue, 2, PacketSize, PacketCommunicatorReceiveResult.Ok, NumPacketsToSend / 2, 0, 0.04); TestReceivePackets(NumPacketsToSend, NumPacketsToSend / 2, int.MaxValue, 2, PacketSize, PacketCommunicatorReceiveResult.Ok, NumPacketsToSend / 2, 0, 0.04);
// Wait for more packets // Wait for more packets
TestReceivePackets(NumPacketsToSend, 0, int.MaxValue, 2, PacketSize, PacketCommunicatorReceiveResult.None, NumPacketsToSend, 2, 2.14); TestReceivePackets(NumPacketsToSend, 0, int.MaxValue, 2, PacketSize, PacketCommunicatorReceiveResult.None, NumPacketsToSend, 2, 2.45);
TestReceivePackets(NumPacketsToSend, -1, int.MaxValue, 2, PacketSize, PacketCommunicatorReceiveResult.None, NumPacketsToSend, 2, 2.3); TestReceivePackets(NumPacketsToSend, -1, int.MaxValue, 2, PacketSize, PacketCommunicatorReceiveResult.None, NumPacketsToSend, 2, 2.3);
TestReceivePackets(NumPacketsToSend, NumPacketsToSend + 1, int.MaxValue, 2, PacketSize, PacketCommunicatorReceiveResult.None, NumPacketsToSend, 2, 2.12); TestReceivePackets(NumPacketsToSend, NumPacketsToSend + 1, int.MaxValue, 2, PacketSize, PacketCommunicatorReceiveResult.None, NumPacketsToSend, 2, 2.12);
...@@ -319,7 +319,7 @@ namespace PcapDotNet.Core.Test ...@@ -319,7 +319,7 @@ namespace PcapDotNet.Core.Test
// Wait for less statistics // Wait for less statistics
TestGetStatistics(SourceMac, DestinationMac, NumPacketsToSend, NumStatisticsToGather / 2, int.MaxValue, 5, PacketSize, TestGetStatistics(SourceMac, DestinationMac, NumPacketsToSend, NumStatisticsToGather / 2, int.MaxValue, 5, PacketSize,
PacketCommunicatorReceiveResult.Ok, NumStatisticsToGather / 2, NumPacketsToSend, NumStatisticsToGather / 2, NumStatisticsToGather / 2 + 0.053); PacketCommunicatorReceiveResult.Ok, NumStatisticsToGather / 2, NumPacketsToSend, NumStatisticsToGather / 2, NumStatisticsToGather / 2 + 0.17);
// Wait for more statistics // Wait for more statistics
TestGetStatistics(SourceMac, DestinationMac, NumPacketsToSend, 0, int.MaxValue, 5.5, PacketSize, TestGetStatistics(SourceMac, DestinationMac, NumPacketsToSend, 0, int.MaxValue, 5.5, PacketSize,
......
...@@ -10,6 +10,8 @@ namespace PcapDotNet.Packets.Dns ...@@ -10,6 +10,8 @@ namespace PcapDotNet.Packets.Dns
{ {
public abstract class DnsResourceData : IEquatable<DnsResourceData> public abstract class DnsResourceData : IEquatable<DnsResourceData>
{ {
internal const int StringMinimumLength = sizeof(byte);
public static Type GetDnsResourceDataType(DnsType dnsType) public static Type GetDnsResourceDataType(DnsType dnsType)
{ {
DnsResourceData prototype = TryGetPrototype(dnsType); DnsResourceData prototype = TryGetPrototype(dnsType);
......
...@@ -38,6 +38,7 @@ namespace PcapDotNet.Packets.Dns ...@@ -38,6 +38,7 @@ namespace PcapDotNet.Packets.Dns
} }
private const int ConstantPartLength = Offset.Flags; private const int ConstantPartLength = Offset.Flags;
private const int MinimumLength = ConstantPartLength + StringMinimumLength + StringMinimumLength + StringMinimumLength + DnsDomainName.RootLength;
public DnsResourceDataNamingAuthorityPointer(ushort order, ushort preference, DataSegment flags, DataSegment services, DataSegment regexp, DnsDomainName replacement) public DnsResourceDataNamingAuthorityPointer(ushort order, ushort preference, DataSegment flags, DataSegment services, DataSegment regexp, DnsDomainName replacement)
{ {
...@@ -160,7 +161,7 @@ namespace PcapDotNet.Packets.Dns ...@@ -160,7 +161,7 @@ namespace PcapDotNet.Packets.Dns
internal override DnsResourceData CreateInstance(DnsDatagram dns, int offsetInDns, int length) internal override DnsResourceData CreateInstance(DnsDatagram dns, int offsetInDns, int length)
{ {
if (length < ConstantPartLength) if (length < MinimumLength)
return null; return null;
ushort order = dns.ReadUShort(offsetInDns + Offset.Order, Endianity.Big); ushort order = dns.ReadUShort(offsetInDns + Offset.Order, Endianity.Big);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment