mirror of
https://github.com/danbulant/Cosmos
synced 2026-06-05 15:51:56 +00:00
ConfigEmpty rewrite + Capitalize initFields
InvalidOperationException
This commit is contained in:
parent
cf8a8519b2
commit
325366fc84
15 changed files with 50 additions and 56 deletions
|
|
@ -109,9 +109,9 @@ namespace Cosmos.System.Network.ARP
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Init ARPPacket fields.
|
/// Init ARPPacket fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
aHardwareType = (ushort)((RawData[14] << 8) | RawData[15]);
|
aHardwareType = (ushort)((RawData[14] << 8) | RawData[15]);
|
||||||
aProtocolType = (ushort)((RawData[16] << 8) | RawData[17]);
|
aProtocolType = (ushort)((RawData[16] << 8) | RawData[17]);
|
||||||
aHardwareLen = RawData[18];
|
aHardwareLen = RawData[18];
|
||||||
|
|
@ -143,7 +143,7 @@ namespace Cosmos.System.Network.ARP
|
||||||
RawData[20] = (byte)(operation >> 8);
|
RawData[20] = (byte)(operation >> 8);
|
||||||
RawData[21] = (byte)(operation >> 0);
|
RawData[21] = (byte)(operation >> 0);
|
||||||
|
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -55,9 +55,9 @@ namespace Cosmos.System.Network.ARP
|
||||||
/// Init ARPPacket_Ethernet fields.
|
/// Init ARPPacket_Ethernet fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
mSenderMAC = new MACAddress(RawData, 22);
|
mSenderMAC = new MACAddress(RawData, 22);
|
||||||
mSenderIP = new Address(RawData, 28);
|
mSenderIP = new Address(RawData, 28);
|
||||||
if (SenderIP == null)
|
if (SenderIP == null)
|
||||||
|
|
@ -94,7 +94,7 @@ namespace Cosmos.System.Network.ARP
|
||||||
RawData[38 + i] = targetIP.address[i];
|
RawData[38 + i] = targetIP.address[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -39,13 +39,13 @@ namespace Cosmos.System.Network
|
||||||
protected EthernetPacket(byte[] rawData)
|
protected EthernetPacket(byte[] rawData)
|
||||||
{
|
{
|
||||||
RawData = rawData;
|
RawData = rawData;
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Init EthernetPacket fields.
|
/// Init EthernetPacket fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected virtual void initFields()
|
protected virtual void InitFields()
|
||||||
{
|
{
|
||||||
destMAC = new MACAddress(RawData, 0);
|
destMAC = new MACAddress(RawData, 0);
|
||||||
srcMAC = new MACAddress(RawData, 6);
|
srcMAC = new MACAddress(RawData, 6);
|
||||||
|
|
@ -80,7 +80,7 @@ namespace Cosmos.System.Network
|
||||||
|
|
||||||
RawData[12] = (byte)(type >> 8);
|
RawData[12] = (byte)(type >> 8);
|
||||||
RawData[13] = (byte)(type >> 0);
|
RawData[13] = (byte)(type >> 0);
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -100,7 +100,7 @@ namespace Cosmos.System.Network
|
||||||
{
|
{
|
||||||
RawData[6 + i] = value.bytes[i];
|
RawData[6 + i] = value.bytes[i];
|
||||||
}
|
}
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -116,7 +116,7 @@ namespace Cosmos.System.Network
|
||||||
{
|
{
|
||||||
RawData[i] = value.bytes[i];
|
RawData[i] = value.bytes[i];
|
||||||
}
|
}
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,9 +26,9 @@ namespace Cosmos.System.Network.IPv4.UDP.DHCP
|
||||||
/// Init DHCPAck fields.
|
/// Init DHCPAck fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
|
|
||||||
foreach (var option in Options)
|
foreach (var option in Options)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -47,9 +47,9 @@ namespace Cosmos.System.Network.IPv4.UDP.DHCP
|
||||||
RawData[291] = 0xff; //ENDMARK
|
RawData[291] = 0xff; //ENDMARK
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -153,16 +153,16 @@ namespace Cosmos.System.Network.IPv4.UDP.DHCP
|
||||||
RawData[280] = 0x53;
|
RawData[280] = 0x53;
|
||||||
RawData[281] = 0x63;
|
RawData[281] = 0x63;
|
||||||
|
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Init DHCPPacket fields.
|
/// Init DHCPPacket fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
MessageType = RawData[42];
|
MessageType = RawData[42];
|
||||||
Client = new Address(RawData, 58);
|
Client = new Address(RawData, 58);
|
||||||
Server = new Address(RawData, 62);
|
Server = new Address(RawData, 62);
|
||||||
|
|
|
||||||
|
|
@ -66,9 +66,9 @@ namespace Cosmos.System.Network.IPv4.UDP.DHCP
|
||||||
/// Init DHCPRelease fields.
|
/// Init DHCPRelease fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -75,9 +75,9 @@ namespace Cosmos.System.Network.IPv4.UDP.DHCP
|
||||||
/// Init DHCPRequest fields.
|
/// Init DHCPRequest fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ namespace Cosmos.System.Network.IPv4.UDP.DNS
|
||||||
private string queryurl;
|
private string queryurl;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create new inctanse of the <see cref="DnsClient"/> class.
|
/// Create new instance of the <see cref="DnsClient"/> class.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="ArgumentOutOfRangeException">Thrown on fatal error (contact support).</exception>
|
/// <exception cref="ArgumentOutOfRangeException">Thrown on fatal error (contact support).</exception>
|
||||||
/// <exception cref="ArgumentException">Thrown if UdpClient with localPort 53 exists.</exception>
|
/// <exception cref="ArgumentException">Thrown if UdpClient with localPort 53 exists.</exception>
|
||||||
|
|
|
||||||
|
|
@ -115,16 +115,16 @@ namespace Cosmos.System.Network.IPv4.UDP.DNS
|
||||||
RawData[this.DataOffset + 18] = (byte)((0 >> 8) & 0xFF);
|
RawData[this.DataOffset + 18] = (byte)((0 >> 8) & 0xFF);
|
||||||
RawData[this.DataOffset + 19] = (byte)((0 >> 0) & 0xFF);
|
RawData[this.DataOffset + 19] = (byte)((0 >> 0) & 0xFF);
|
||||||
|
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Init DNSPacket fields.
|
/// Init DNSPacket fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
TransactionID = (UInt16)((RawData[this.DataOffset + 8] << 8) | RawData[this.DataOffset + 9]);
|
TransactionID = (UInt16)((RawData[this.DataOffset + 8] << 8) | RawData[this.DataOffset + 9]);
|
||||||
DNSFlags = (UInt16)((RawData[this.DataOffset + 10] << 8) | RawData[this.DataOffset + 11]);
|
DNSFlags = (UInt16)((RawData[this.DataOffset + 10] << 8) | RawData[this.DataOffset + 11]);
|
||||||
Questions = (UInt16)((RawData[this.DataOffset + 12] << 8) | RawData[this.DataOffset + 13]);
|
Questions = (UInt16)((RawData[this.DataOffset + 12] << 8) | RawData[this.DataOffset + 13]);
|
||||||
|
|
@ -269,9 +269,9 @@ namespace Cosmos.System.Network.IPv4.UDP.DNS
|
||||||
/// Init DNSPacketAsk fields.
|
/// Init DNSPacketAsk fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -299,9 +299,9 @@ namespace Cosmos.System.Network.IPv4.UDP.DNS
|
||||||
/// Init DNSPacketAnswer fields.
|
/// Init DNSPacketAnswer fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
|
|
||||||
if ((ushort)(DNSFlags & 0x0F) != (ushort)ReplyCode.OK)
|
if ((ushort)(DNSFlags & 0x0F) != (ushort)ReplyCode.OK)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -79,10 +79,10 @@ namespace Cosmos.System.Network.IPv4
|
||||||
/// Init ICMPPacket fields.1
|
/// Init ICMPPacket fields.1
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
//Sys.Console.WriteLine("ICMPPacket.initFields() called;");
|
//Sys.Console.WriteLine("ICMPPacket.InitFields() called;");
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
icmpType = RawData[DataOffset];
|
icmpType = RawData[DataOffset];
|
||||||
icmpCode = RawData[DataOffset + 1];
|
icmpCode = RawData[DataOffset + 1];
|
||||||
icmpCRC = (ushort)((RawData[DataOffset + 2] << 8) | RawData[DataOffset + 3]);
|
icmpCRC = (ushort)((RawData[DataOffset + 2] << 8) | RawData[DataOffset + 3]);
|
||||||
|
|
@ -115,7 +115,7 @@ namespace Cosmos.System.Network.IPv4
|
||||||
|
|
||||||
RawData[DataOffset + 2] = (byte)((icmpCRC >> 8) & 0xFF);
|
RawData[DataOffset + 2] = (byte)((icmpCRC >> 8) & 0xFF);
|
||||||
RawData[DataOffset + 3] = (byte)((icmpCRC >> 0) & 0xFF);
|
RawData[DataOffset + 3] = (byte)((icmpCRC >> 0) & 0xFF);
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -222,10 +222,10 @@ namespace Cosmos.System.Network.IPv4
|
||||||
RawData[DataOffset + 3] = (byte)((icmpCRC >> 0) & 0xFF);
|
RawData[DataOffset + 3] = (byte)((icmpCRC >> 0) & 0xFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
//Sys.Console.WriteLine("ICMPEchoRequest.initFields() called;");
|
//Sys.Console.WriteLine("ICMPEchoRequest.InitFields() called;");
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
icmpID = (ushort)((RawData[DataOffset + 4] << 8) | RawData[DataOffset + 5]);
|
icmpID = (ushort)((RawData[DataOffset + 4] << 8) | RawData[DataOffset + 5]);
|
||||||
icmpSequence = (ushort)((RawData[DataOffset + 6] << 8) | RawData[DataOffset + 7]);
|
icmpSequence = (ushort)((RawData[DataOffset + 6] << 8) | RawData[DataOffset + 7]);
|
||||||
}
|
}
|
||||||
|
|
@ -277,10 +277,10 @@ namespace Cosmos.System.Network.IPv4
|
||||||
/// Init ICMPEchoReply fields.
|
/// Init ICMPEchoReply fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
//Sys.Console.WriteLine("ICMPEchoReply.initFields() called;");
|
//Sys.Console.WriteLine("ICMPEchoReply.InitFields() called;");
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
icmpID = (ushort)((RawData[DataOffset + 4] << 8) | RawData[DataOffset + 5]);
|
icmpID = (ushort)((RawData[DataOffset + 4] << 8) | RawData[DataOffset + 5]);
|
||||||
icmpSequence = (ushort)((RawData[DataOffset + 6] << 8) | RawData[DataOffset + 7]);
|
icmpSequence = (ushort)((RawData[DataOffset + 6] << 8) | RawData[DataOffset + 7]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -89,9 +89,9 @@ namespace Cosmos.System.Network.IPv4
|
||||||
/// Init IPPacket fields.
|
/// Init IPPacket fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="sys.ArgumentException">Thrown if RawData is invalid or null.</exception>
|
/// <exception cref="sys.ArgumentException">Thrown if RawData is invalid or null.</exception>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
IPVersion = (byte)((RawData[14] & 0xF0) >> 4);
|
IPVersion = (byte)((RawData[14] & 0xF0) >> 4);
|
||||||
ipHeaderLength = (byte)(RawData[14] & 0x0F);
|
ipHeaderLength = (byte)(RawData[14] & 0x0F);
|
||||||
TypeOfService = RawData[15];
|
TypeOfService = RawData[15];
|
||||||
|
|
@ -172,7 +172,7 @@ namespace Cosmos.System.Network.IPv4
|
||||||
RawData[24] = (byte)((IPCRC >> 8) & 0xFF);
|
RawData[24] = (byte)((IPCRC >> 8) & 0xFF);
|
||||||
RawData[25] = (byte)((IPCRC >> 0) & 0xFF);
|
RawData[25] = (byte)((IPCRC >> 0) & 0xFF);
|
||||||
|
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -73,14 +73,14 @@ namespace Cosmos.System.Network.IPv4.UDP
|
||||||
: base((ushort)(datalength + 8), 17, source, dest, 0x00)
|
: base((ushort)(datalength + 8), 17, source, dest, 0x00)
|
||||||
{
|
{
|
||||||
MakePacket(srcport, destport, datalength);
|
MakePacket(srcport, destport, datalength);
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
public UDPPacket(Address source, Address dest, UInt16 srcport, UInt16 destport, UInt16 datalength, MACAddress destmac)
|
public UDPPacket(Address source, Address dest, UInt16 srcport, UInt16 destport, UInt16 datalength, MACAddress destmac)
|
||||||
: base((ushort)(datalength + 8), 17, source, dest, 0x00, destmac)
|
: base((ushort)(datalength + 8), 17, source, dest, 0x00, destmac)
|
||||||
{
|
{
|
||||||
MakePacket(srcport, destport, datalength);
|
MakePacket(srcport, destport, datalength);
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -103,7 +103,7 @@ namespace Cosmos.System.Network.IPv4.UDP
|
||||||
RawData[this.DataOffset + 8 + b] = data[b];
|
RawData[this.DataOffset + 8 + b] = data[b];
|
||||||
}
|
}
|
||||||
|
|
||||||
initFields();
|
InitFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MakePacket(ushort srcport, ushort destport, ushort length)
|
private void MakePacket(ushort srcport, ushort destport, ushort length)
|
||||||
|
|
@ -125,9 +125,9 @@ namespace Cosmos.System.Network.IPv4.UDP
|
||||||
/// Init UDPPacket fields.
|
/// Init UDPPacket fields.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
/// <exception cref="ArgumentException">Thrown if RawData is invalid or null.</exception>
|
||||||
protected override void initFields()
|
protected override void InitFields()
|
||||||
{
|
{
|
||||||
base.initFields();
|
base.InitFields();
|
||||||
SourcePort = (ushort)((RawData[DataOffset] << 8) | RawData[DataOffset + 1]);
|
SourcePort = (ushort)((RawData[DataOffset] << 8) | RawData[DataOffset + 1]);
|
||||||
DestinationPort = (ushort)((RawData[DataOffset + 2] << 8) | RawData[DataOffset + 3]);
|
DestinationPort = (ushort)((RawData[DataOffset + 2] << 8) | RawData[DataOffset + 3]);
|
||||||
UDP_Length = (ushort)((RawData[DataOffset + 4] << 8) | RawData[DataOffset + 5]);
|
UDP_Length = (ushort)((RawData[DataOffset + 4] << 8) | RawData[DataOffset + 5]);
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,7 @@ namespace Cosmos.System.Network.IPv4.UDP
|
||||||
{
|
{
|
||||||
if ((destination == null) || (destinationPort == 0))
|
if ((destination == null) || (destinationPort == 0))
|
||||||
{
|
{
|
||||||
throw new Exception("Must establish a default remote host by calling Connect() before using this Send() overload");
|
throw new InvalidOperationException("Must establish a default remote host by calling Connect() before using this Send() overload");
|
||||||
}
|
}
|
||||||
|
|
||||||
Send(data, destination, destinationPort);
|
Send(data, destination, destinationPort);
|
||||||
|
|
|
||||||
|
|
@ -97,13 +97,7 @@ namespace Cosmos.System.Network
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static bool ConfigEmpty()
|
public static bool ConfigEmpty()
|
||||||
{
|
{
|
||||||
int counter = 0;
|
if (NetworkConfig.Keys.Count == 0)
|
||||||
|
|
||||||
foreach (NetworkDevice device in NetworkConfig.Keys)
|
|
||||||
{
|
|
||||||
counter++;
|
|
||||||
}
|
|
||||||
if (counter == 0)
|
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue