Commit 04f41c99 authored by Brickner_cp's avatar Brickner_cp

Refactoring

parent 1d2fe8dd
...@@ -16,7 +16,7 @@ namespace PcapDotNet.Core.Test ...@@ -16,7 +16,7 @@ namespace PcapDotNet.Core.Test
case IpV4OptionType.NoOperation: case IpV4OptionType.NoOperation:
return "NOP"; return "NOP";
case IpV4OptionType.Security: case IpV4OptionType.BasicSecurity:
return "Security:"; return "Security:";
case IpV4OptionType.LooseSourceRouting: case IpV4OptionType.LooseSourceRouting:
...@@ -48,20 +48,6 @@ namespace PcapDotNet.Core.Test ...@@ -48,20 +48,6 @@ namespace PcapDotNet.Core.Test
case IpV4OptionType.StreamIdentifier: case IpV4OptionType.StreamIdentifier:
break; break;
case IpV4OptionType.Security:
IpV4OptionSecurity securityOption = (IpV4OptionSecurity)option;
switch (securityOption.ClassificationLevel)
{
default:
yield return "Security: " + securityOption.ClassificationLevel;
break;
}
// yield return "Compartments: " + securityOption.Compartments;
// yield return "Handling restrictions: ";
// yield return "Transmission control code: ";
break;
case IpV4OptionType.LooseSourceRouting: case IpV4OptionType.LooseSourceRouting:
case IpV4OptionType.StrictSourceRouting: case IpV4OptionType.StrictSourceRouting:
case IpV4OptionType.RecordRoute: case IpV4OptionType.RecordRoute:
...@@ -112,6 +98,7 @@ namespace PcapDotNet.Core.Test ...@@ -112,6 +98,7 @@ namespace PcapDotNet.Core.Test
} }
break; break;
case IpV4OptionType.BasicSecurity:
default: default:
throw new InvalidOperationException("Illegal option type " + option.OptionType); throw new InvalidOperationException("Illegal option type " + option.OptionType);
} }
......
...@@ -308,8 +308,11 @@ namespace PcapDotNet.Core.Test ...@@ -308,8 +308,11 @@ namespace PcapDotNet.Core.Test
break; break;
} }
IpV4Option option = options[currentOptionIndex++]; IpV4Option option = options[currentOptionIndex++];
if (option.OptionType == IpV4OptionType.Security) if (option.OptionType == IpV4OptionType.BasicSecurity)
{
Assert.IsTrue(field.Show().StartsWith("Security"));
continue; // Wireshark doesn't support continue; // Wireshark doesn't support
}
field.AssertShow(option.GetWiresharkString()); field.AssertShow(option.GetWiresharkString());
var optionShows = from f in field.Fields() select f.Show(); var optionShows = from f in field.Fields() select f.Show();
......
...@@ -92,8 +92,8 @@ namespace PcapDotNet.Packets.TestUtils ...@@ -92,8 +92,8 @@ namespace PcapDotNet.Packets.TestUtils
throw new ArgumentOutOfRangeException("maximumOptionLength", maximumOptionLength, "option length must be positive"); throw new ArgumentOutOfRangeException("maximumOptionLength", maximumOptionLength, "option length must be positive");
List<IpV4OptionType> impossibleOptionTypes = new List<IpV4OptionType>(); List<IpV4OptionType> impossibleOptionTypes = new List<IpV4OptionType>();
if (maximumOptionLength < IpV4OptionSecurity.OptionMinimumLength) if (maximumOptionLength < IpV4OptionBasicSecurity.OptionMinimumLength)
impossibleOptionTypes.Add(IpV4OptionType.Security); impossibleOptionTypes.Add(IpV4OptionType.BasicSecurity);
if (maximumOptionLength < IpV4OptionRoute.OptionMinimumLength) if (maximumOptionLength < IpV4OptionRoute.OptionMinimumLength)
{ {
impossibleOptionTypes.Add(IpV4OptionType.LooseSourceRouting); impossibleOptionTypes.Add(IpV4OptionType.LooseSourceRouting);
...@@ -113,14 +113,14 @@ namespace PcapDotNet.Packets.TestUtils ...@@ -113,14 +113,14 @@ namespace PcapDotNet.Packets.TestUtils
case IpV4OptionType.NoOperation: case IpV4OptionType.NoOperation:
return IpV4Option.Nop; return IpV4Option.Nop;
case IpV4OptionType.Security: case IpV4OptionType.BasicSecurity:
IpV4OptionSecurityProtectionAuthority protectionAuthority = IpV4OptionSecurityProtectionAuthority.None; IpV4OptionSecurityProtectionAuthority protectionAuthority = IpV4OptionSecurityProtectionAuthority.None;
int protectionAuthorityLength = random.Next(maximumOptionLength - IpV4OptionSecurity.OptionMinimumLength); int protectionAuthorityLength = random.Next(maximumOptionLength - IpV4OptionBasicSecurity.OptionMinimumLength);
if (protectionAuthorityLength > 0) if (protectionAuthorityLength > 0)
protectionAuthority = random.NextEnum<IpV4OptionSecurityProtectionAuthority>(); protectionAuthority = random.NextEnum<IpV4OptionSecurityProtectionAuthority>();
return new IpV4OptionSecurity(random.NextEnum<IpV4OptionSecurityClassificationLevel>(), protectionAuthority, return new IpV4OptionBasicSecurity(random.NextEnum<IpV4OptionSecurityClassificationLevel>(), protectionAuthority,
(byte)(IpV4OptionSecurity.OptionMinimumLength + protectionAuthorityLength)); (byte)(IpV4OptionBasicSecurity.OptionMinimumLength + protectionAuthorityLength));
case IpV4OptionType.LooseSourceRouting: case IpV4OptionType.LooseSourceRouting:
case IpV4OptionType.StrictSourceRouting: case IpV4OptionType.StrictSourceRouting:
......
...@@ -109,7 +109,7 @@ namespace PcapDotNet.Packets.IpV4 ...@@ -109,7 +109,7 @@ namespace PcapDotNet.Packets.IpV4
case IpV4OptionType.NoOperation: case IpV4OptionType.NoOperation:
return Nop; return Nop;
case IpV4OptionType.Security: case IpV4OptionType.BasicSecurity:
case IpV4OptionType.LooseSourceRouting: case IpV4OptionType.LooseSourceRouting:
case IpV4OptionType.StrictSourceRouting: case IpV4OptionType.StrictSourceRouting:
case IpV4OptionType.RecordRoute: case IpV4OptionType.RecordRoute:
......
...@@ -31,7 +31,7 @@ namespace PcapDotNet.Packets.IpV4 ...@@ -31,7 +31,7 @@ namespace PcapDotNet.Packets.IpV4
/// LEVEL AUTHORITY /// LEVEL AUTHORITY
/// FLAGS /// FLAGS
/// </summary> /// </summary>
public class IpV4OptionSecurity : IpV4OptionComplex, IEquatable<IpV4OptionSecurity> public class IpV4OptionBasicSecurity : IpV4OptionComplex, IEquatable<IpV4OptionBasicSecurity>
{ {
/// <summary> /// <summary>
/// The minimum number of bytes this option take. /// The minimum number of bytes this option take.
...@@ -57,8 +57,8 @@ namespace PcapDotNet.Packets.IpV4 ...@@ -57,8 +57,8 @@ namespace PcapDotNet.Packets.IpV4
/// <param name="length"> /// <param name="length">
/// The number of bytes this option will take. /// The number of bytes this option will take.
/// </param> /// </param>
public IpV4OptionSecurity(IpV4OptionSecurityClassificationLevel classificationLevel, IpV4OptionSecurityProtectionAuthority protectionAuthority, byte length) public IpV4OptionBasicSecurity(IpV4OptionSecurityClassificationLevel classificationLevel, IpV4OptionSecurityProtectionAuthority protectionAuthority, byte length)
: base(IpV4OptionType.Security) : base(IpV4OptionType.BasicSecurity)
{ {
if (length < OptionMinimumLength) if (length < OptionMinimumLength)
throw new ArgumentOutOfRangeException("length", length, "Minimum option length is " + OptionMinimumLength); throw new ArgumentOutOfRangeException("length", length, "Minimum option length is " + OptionMinimumLength);
...@@ -112,7 +112,7 @@ namespace PcapDotNet.Packets.IpV4 ...@@ -112,7 +112,7 @@ namespace PcapDotNet.Packets.IpV4
/// <summary> /// <summary>
/// Two security options are equal iff they have the exam same field values. /// Two security options are equal iff they have the exam same field values.
/// </summary> /// </summary>
public bool Equals(IpV4OptionSecurity other) public bool Equals(IpV4OptionBasicSecurity other)
{ {
if (other == null) if (other == null)
return false; return false;
...@@ -127,7 +127,7 @@ namespace PcapDotNet.Packets.IpV4 ...@@ -127,7 +127,7 @@ namespace PcapDotNet.Packets.IpV4
/// </summary> /// </summary>
public override bool Equals(IpV4Option other) public override bool Equals(IpV4Option other)
{ {
return Equals(other as IpV4OptionSecurity); return Equals(other as IpV4OptionBasicSecurity);
} }
/// <summary> /// <summary>
...@@ -141,7 +141,7 @@ namespace PcapDotNet.Packets.IpV4 ...@@ -141,7 +141,7 @@ namespace PcapDotNet.Packets.IpV4
((((byte)ClassificationLevel) << 16) | (((byte)ProtectionAuthority) << 8) | Length).GetHashCode(); ((((byte)ClassificationLevel) << 16) | (((byte)ProtectionAuthority) << 8) | Length).GetHashCode();
} }
internal static IpV4OptionSecurity ReadOptionSecurity(byte[] buffer, ref int offset, byte valueLength) internal static IpV4OptionBasicSecurity ReadOptionSecurity(byte[] buffer, ref int offset, byte valueLength)
{ {
if (valueLength < OptionValueMinimumLength) if (valueLength < OptionValueMinimumLength)
return null; return null;
...@@ -173,7 +173,7 @@ namespace PcapDotNet.Packets.IpV4 ...@@ -173,7 +173,7 @@ namespace PcapDotNet.Packets.IpV4
} }
offset += protectionAuthorityLength; offset += protectionAuthorityLength;
return new IpV4OptionSecurity(classificationLevel, protectionAuthority, (byte)(OptionMinimumLength + protectionAuthorityLength)); return new IpV4OptionBasicSecurity(classificationLevel, protectionAuthority, (byte)(OptionMinimumLength + protectionAuthorityLength));
} }
internal override void Write(byte[] buffer, ref int offset) internal override void Write(byte[] buffer, ref int offset)
......
...@@ -23,8 +23,8 @@ namespace PcapDotNet.Packets.IpV4 ...@@ -23,8 +23,8 @@ namespace PcapDotNet.Packets.IpV4
switch (optionType) switch (optionType)
{ {
case IpV4OptionType.Security: case IpV4OptionType.BasicSecurity:
return IpV4OptionSecurity.ReadOptionSecurity(buffer, ref offset, optionValueLength); return IpV4OptionBasicSecurity.ReadOptionSecurity(buffer, ref offset, optionValueLength);
case IpV4OptionType.LooseSourceRouting: case IpV4OptionType.LooseSourceRouting:
return IpV4OptionLooseSourceRouting.ReadOptionLooseSourceRouting(buffer, ref offset, optionValueLength); return IpV4OptionLooseSourceRouting.ReadOptionLooseSourceRouting(buffer, ref offset, optionValueLength);
......
...@@ -34,7 +34,7 @@ namespace PcapDotNet.Packets.IpV4 ...@@ -34,7 +34,7 @@ namespace PcapDotNet.Packets.IpV4
/// DoD Basic Security: /// DoD Basic Security:
/// Used to carry the classification level and protection authority flags. /// Used to carry the classification level and protection authority flags.
/// </summary> /// </summary>
Security = 130, BasicSecurity = 130,
/// <summary> /// <summary>
/// Loose Source Routing. /// Loose Source Routing.
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
<Compile Include="IpV4\IpV4OptionRecordRoute.cs" /> <Compile Include="IpV4\IpV4OptionRecordRoute.cs" />
<Compile Include="IpV4\IpV4OptionRoute.cs" /> <Compile Include="IpV4\IpV4OptionRoute.cs" />
<Compile Include="IpV4\IpV4Options.cs" /> <Compile Include="IpV4\IpV4Options.cs" />
<Compile Include="IpV4\IpV4OptionSecurity.cs" /> <Compile Include="IpV4\IpV4OptionBasicSecurity.cs" />
<Compile Include="IpV4\IpV4OptionSecurityClassificationLevel.cs" /> <Compile Include="IpV4\IpV4OptionSecurityClassificationLevel.cs" />
<Compile Include="IpV4\IpV4OptionStreamIdentifier.cs" /> <Compile Include="IpV4\IpV4OptionStreamIdentifier.cs" />
<Compile Include="IpV4\IpV4OptionStrictSourceRouting.cs" /> <Compile Include="IpV4\IpV4OptionStrictSourceRouting.cs" />
......
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