Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
P
Pcap-Net
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Pcap-Net
Commits
f8f64ffe
Commit
f8f64ffe
authored
Aug 09, 2014
by
Brickner_cp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Code Coverage 95.54%
parent
ae2067b6
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
121 additions
and
1 deletion
+121
-1
IpV6Tests.cs
PcapDotNet/src/PcapDotNet.Packets.Test/IpV6Tests.cs
+120
-0
IpV6ExtensionHeaderFragmentData.cs
.../IpV6/ExtensionHeaders/IpV6ExtensionHeaderFragmentData.cs
+1
-1
No files found.
PcapDotNet/src/PcapDotNet.Packets.Test/IpV6Tests.cs
View file @
f8f64ffe
...
...
@@ -742,5 +742,125 @@ namespace PcapDotNet.Packets.Test
Packet
invalidPacket
=
new
Packet
(
packet
.
Buffer
,
DateTime
.
Now
,
DataLinkKind
.
Ethernet
);
Assert
.
IsFalse
(
invalidPacket
.
IsValid
);
}
[
TestMethod
]
[
ExpectedException
(
typeof
(
ArgumentOutOfRangeException
),
AllowDerivedTypes
=
false
)]
public
void
IpV6ExtensionHeaderFragmentDataFragmentOffsetTooBig
()
{
Assert
.
IsNull
(
new
IpV6ExtensionHeaderFragmentData
(
IpV4Protocol
.
Skip
,
0x2000
,
false
,
0
));
}
[
TestMethod
]
public
void
IpV6ExtensionHeaderFragmentDataEquals
()
{
Assert
.
AreNotEqual
(
new
IpV6ExtensionHeaderFragmentData
(
IpV4Protocol
.
Skip
,
0
,
false
,
0
),
new
IpV6ExtensionHeaderFragmentData
(
IpV4Protocol
.
Sm
,
0
,
false
,
0
));
Assert
.
AreNotEqual
(
new
IpV6ExtensionHeaderFragmentData
(
IpV4Protocol
.
Skip
,
0
,
false
,
0
),
new
IpV6ExtensionHeaderFragmentData
(
IpV4Protocol
.
Skip
,
1
,
false
,
0
));
Assert
.
AreNotEqual
(
new
IpV6ExtensionHeaderFragmentData
(
IpV4Protocol
.
Skip
,
0
,
false
,
0
),
new
IpV6ExtensionHeaderFragmentData
(
IpV4Protocol
.
Skip
,
0
,
true
,
0
));
Assert
.
AreNotEqual
(
new
IpV6ExtensionHeaderFragmentData
(
IpV4Protocol
.
Skip
,
0
,
false
,
0
),
new
IpV6ExtensionHeaderFragmentData
(
IpV4Protocol
.
Skip
,
0
,
false
,
1
));
}
[
TestMethod
]
public
void
IpV6ExtensionHeaderFragmentDataWrongLength
()
{
Packet
packet
=
PacketBuilder
.
Build
(
DateTime
.
Now
,
new
EthernetLayer
(),
new
IpV6Layer
{
ExtensionHeaders
=
new
IpV6ExtensionHeaders
(
new
IpV6ExtensionHeaderFragmentData
(
IpV4Protocol
.
Skip
,
0
,
false
,
0
))
},
new
PayloadLayer
{
Data
=
new
Datagram
(
new
byte
[
100
])});
Assert
.
IsTrue
(
packet
.
IsValid
);
++
packet
.
Buffer
[
14
+
40
+
1
];
Packet
invalidPacket
=
new
Packet
(
packet
.
Buffer
,
DateTime
.
Now
,
DataLinkKind
.
Ethernet
);
Assert
.
IsFalse
(
invalidPacket
.
IsValid
);
}
[
TestMethod
]
public
void
IpV6MobilityOptionLocalMobilityAnchorAddressDataTooShort
()
{
Packet
packet
=
PacketBuilder
.
Build
(
DateTime
.
Now
,
new
EthernetLayer
(),
new
IpV6Layer
{
ExtensionHeaders
=
new
IpV6ExtensionHeaders
(
new
IpV6ExtensionHeaderMobilityBindingError
(
IpV4Protocol
.
Skip
,
0
,
IpV6BindingErrorStatus
.
UnrecognizedMhTypeValue
,
IpV6Address
.
Zero
,
new
IpV6MobilityOptions
(
new
IpV6MobilityOptionLocalMobilityAnchorAddress
(
IpV4Address
.
Zero
))))
});
Assert
.
IsTrue
(
packet
.
IsValid
);
packet
.
Buffer
[
14
+
40
+
24
+
1
]
-=
5
;
Packet
invalidPacket
=
new
Packet
(
packet
.
Buffer
,
DateTime
.
Now
,
DataLinkKind
.
Ethernet
);
Assert
.
IsFalse
(
invalidPacket
.
IsValid
);
}
[
TestMethod
]
public
void
IpV6MobilityOptionLocalMobilityAnchorAddressDataLengthDoesntMatchIpV6
()
{
Packet
packet
=
PacketBuilder
.
Build
(
DateTime
.
Now
,
new
EthernetLayer
(),
new
IpV6Layer
{
ExtensionHeaders
=
new
IpV6ExtensionHeaders
(
new
IpV6ExtensionHeaderMobilityBindingError
(
IpV4Protocol
.
Skip
,
0
,
IpV6BindingErrorStatus
.
UnrecognizedMhTypeValue
,
IpV6Address
.
Zero
,
new
IpV6MobilityOptions
(
new
IpV6MobilityOptionLocalMobilityAnchorAddress
(
IpV6Address
.
Zero
))))
});
Assert
.
IsTrue
(
packet
.
IsValid
);
++
packet
.
Buffer
[
14
+
40
+
24
+
1
];
Packet
invalidPacket
=
new
Packet
(
packet
.
Buffer
,
DateTime
.
Now
,
DataLinkKind
.
Ethernet
);
Assert
.
IsFalse
(
invalidPacket
.
IsValid
);
}
[
TestMethod
]
public
void
IpV6MobilityOptionLocalMobilityAnchorAddressDataLengthDoesntMatchIpV4
()
{
Packet
packet
=
PacketBuilder
.
Build
(
DateTime
.
Now
,
new
EthernetLayer
(),
new
IpV6Layer
{
ExtensionHeaders
=
new
IpV6ExtensionHeaders
(
new
IpV6ExtensionHeaderMobilityBindingError
(
IpV4Protocol
.
Skip
,
0
,
IpV6BindingErrorStatus
.
UnrecognizedMhTypeValue
,
IpV6Address
.
Zero
,
new
IpV6MobilityOptions
(
new
IpV6MobilityOptionLocalMobilityAnchorAddress
(
IpV4Address
.
Zero
),
new
IpV6MobilityOptionPadN
(
10
))))
});
Assert
.
IsTrue
(
packet
.
IsValid
);
++
packet
.
Buffer
[
14
+
40
+
24
+
1
];
Packet
invalidPacket
=
new
Packet
(
packet
.
Buffer
,
DateTime
.
Now
,
DataLinkKind
.
Ethernet
);
Assert
.
IsFalse
(
invalidPacket
.
IsValid
);
}
[
TestMethod
]
public
void
IpV6MobilityOptionLocalMobilityAnchorAddressBadCode
()
{
Packet
packet
=
PacketBuilder
.
Build
(
DateTime
.
Now
,
new
EthernetLayer
(),
new
IpV6Layer
{
ExtensionHeaders
=
new
IpV6ExtensionHeaders
(
new
IpV6ExtensionHeaderMobilityBindingError
(
IpV4Protocol
.
Skip
,
0
,
IpV6BindingErrorStatus
.
UnrecognizedMhTypeValue
,
IpV6Address
.
Zero
,
new
IpV6MobilityOptions
(
new
IpV6MobilityOptionLocalMobilityAnchorAddress
(
IpV4Address
.
Zero
))))
});
Assert
.
IsTrue
(
packet
.
IsValid
);
packet
.
Buffer
[
14
+
40
+
24
+
2
]
=
5
;
Packet
invalidPacket
=
new
Packet
(
packet
.
Buffer
,
DateTime
.
Now
,
DataLinkKind
.
Ethernet
);
Assert
.
IsFalse
(
invalidPacket
.
IsValid
);
}
}
}
PcapDotNet/src/PcapDotNet.Packets/IpV6/ExtensionHeaders/IpV6ExtensionHeaderFragmentData.cs
View file @
f8f64ffe
...
...
@@ -115,4 +115,4 @@ namespace PcapDotNet.Packets.IpV6
FragmentOffset
==
other
.
FragmentOffset
&&
MoreFragments
==
other
.
MoreFragments
&&
Identification
==
other
.
Identification
;
}
}
}
\ No newline at end of file
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment