Matias Fontanini
17da10d76e
Add extract_metadata to main PDU classes
2016-02-20 22:19:12 -08:00
Matias Fontanini
5d41316b9a
Rename IP header member to header_
2016-02-04 20:37:24 -08:00
Matias Fontanini
72e038b9bf
Fix invalid endian on IP fragment offset on OSX
2016-02-04 20:20:14 -08:00
Matias Fontanini
fb4e5086fd
Update copyright notice
2016-01-31 20:03:49 -08:00
Matias Fontanini
d84f10cf08
Code cleanup and use same syntax on the entire project
...
Initial code cleanup
More code cleanup
Cleanup more code
Cleanup Dot11 code
Fix OSX build issue
Cleanup examples
Fix ref and pointer declaration syntax
Fix braces
2016-01-09 10:01:58 -08:00
Matias Fontanini
38239be472
Remove unused cassert header inclusions
2015-12-27 04:38:31 -08:00
Matias Fontanini
02e2b278de
Add OutputMemoryStream and port most classes to use it
2015-12-26 06:30:00 -08:00
Matias Fontanini
13c05fbdb1
Add input memory stream class and port some PDUs to use it
2015-12-24 15:21:07 -08:00
Matias Fontanini
a35b086d12
Use endian independent way of setting IP fragment offset and flags
2015-12-07 22:11:28 -08:00
Matias Fontanini
3e23bcc73c
Add IP::fragment_offset and IP::flags
2015-12-07 21:10:41 -08:00
Matias Fontanini
534bdaf30b
Always calculate IP checksum
...
Fixes #105
2015-11-08 10:25:49 -08:00
Matias Fontanini
6dec68128d
Add remove_option member to IP, TCP, Dot11, ICMPv6, DHCP and DHCPv6
2015-08-17 15:19:03 -07:00
Matias Fontanini
c42cd0114f
Fix compilation warnings on Windows x64.
2015-05-17 17:30:54 -07:00
Matias Fontanini
a607ab380c
Replace WIN32 macro with _WIN32.
2015-05-02 16:25:59 -07:00
Ben McMorran
eb5598be7c
Perserve IP protocol when using RawPDU
...
Previously, the IP protocol field for non-fragmented packets was forcibly overwritten to the protocol of the inner PDU even if that PDU was a RawPDU. This behavior contradicts the documentation.
2015-04-20 02:45:27 -04:00
Matias Fontanini
ae135bb035
Fixed IP total length zero bug.
2014-11-25 22:49:05 -08:00
Matias Fontanini
c4609fedd6
Added Loopback::matches_response.
2014-10-25 00:23:52 -05:00
Matias Fontanini
addf0b3d98
Fixed OSX IP packet sending.
2014-09-19 10:07:31 -03:00
Christian Hammerl
52b0ee7ceb
fix armv5 alignment issues
2014-07-31 15:49:52 +00:00
Matias Fontanini
2dff95700f
Updated copyright notice.
2014-07-13 11:04:29 -03:00
Matias Fontanini
559c963d63
Fixed compilation errors on Windows.
2014-05-06 00:13:05 -03:00
Matias Fontanini
ea6638c163
IP now uses PDUOption::to<>. Started porting ICMPv6 to do so as well.
2013-12-16 15:50:17 -03:00
Matias Fontanini
0acb0fee3e
IP packets sent using PacketSender::send_recv now match ICMP responses.
2013-12-14 12:48:56 -03:00
Matias Fontanini
2ddec368c3
Fixed bug on IP when serializing fragmented packets.
...
The original protocol id was being overwritten with 0xff(unknown)
when the inner_pdu was a RawPDU, even if it was just a fragment of
a transport layer PDU. The protocol id is now kept if the packet
is fragmented.
2013-12-04 10:56:48 -03:00
Matias Fontanini
6355aff3cd
Added IPv4Reassembler class.
2013-11-17 15:32:24 -03:00
Matias Fontanini
a6655191d4
Fragmented IP packet's inner_pdu PDUs are not decoded now.
2013-11-16 19:40:08 -03:00
Matias Fontanini
93ab8d3b91
Removed useless include directives from ip.cpp and ipv6.cpp.
2013-11-04 23:31:46 -03:00
Matias Fontanini
5345b29f8c
Added support for IPSec.
2013-11-04 23:05:00 -03:00
Matias Fontanini
6d329424f1
Created an overload of Internals::pdu_from_flag for transport layer PDUs.
2013-11-04 13:46:25 -03:00
Matias Fontanini
01b2a9c7b2
Modified some examples fixed some doxygen documentation.
2013-10-06 23:00:20 -03:00
Matias Fontanini
5f2c923c48
Added PDUAllocator class, which makes extending PDUs easier.
2013-08-29 23:31:10 -03:00
Santiago Alessandri
2a5b64526f
Replaced tabs for spaces in the previous commit
2013-07-14 13:13:38 -03:00
Santiago Alessandri
02d3a14083
Fixed issue related with EthernetII protocol.
...
The Ethernet II protocol forces a minimum length of 60 bytes. It is necessary to add a trailer for padding of null-bytes when the inner_pdu's size does not meet the requirement.
Also EthernetII packets received were being incorrectly parsed due to the existance of this padding.
The issue has been solved and several tests were added. All tests successfully pass.
2013-07-12 20:06:55 -03:00
Matias Fontanini
5064a9255b
Fixed BSD notice. Updated AUTHORS file.
2013-04-23 20:33:00 -03:00
Matias Fontanini
bf604339f0
Removed the PDU* parameter in several PDU's constructors.
2013-04-23 20:03:08 -03:00
Matias Fontanini
0f2bc45059
Moved definitions inside TINS_IS_CXX11 into header files.
2013-04-23 13:04:57 -03:00
Matias Fontanini
fdfb8b0dea
Fixed compilation issues triggered in GNU/kFreeBSD.
2013-04-22 23:48:53 -03:00
Matias Fontanini
9be4f0ca37
Removed IP, UDP and IP checksum setters. Added some checksum tests.
2013-04-22 20:06:35 -03:00
Matias Fontanini
66ff604580
assert() is only called when TINS_DEBUG is defined.
2013-04-22 18:45:56 -03:00
Matias Fontanini
d1b64ec48e
PDU::matches_response is now const.
2013-04-21 20:03:47 -03:00
Matias Fontanini
69968cbc5c
Removed deprecated methods/types.
2013-04-21 19:52:39 -03:00
Matias Fontanini
97f049580b
Link layer PDUs no longer contain a NetworkInterface.
2013-04-21 18:50:08 -03:00
Matias Fontanini
3fd1b3d37d
Added malformed_packet exception. Every class except Dot11* use it.
2013-04-18 00:12:20 -03:00
Matias Fontanini
3f4c48ad9f
Fixed bug triggered when parsing EOL and NOP options in IP.
2013-04-15 00:23:29 -03:00
Matias Fontanini
f4522acd44
IP and TCP now calculate checksums always inside write_serialization.
2013-04-11 00:57:36 -03:00
Matias Fontanini
ae1e1c2ce2
Modified some protocols' internal type names.
2013-04-09 15:40:58 -03:00
Matias Fontanini
20054e6c73
Several classes now use PDUOption::length_field instead of data_size.
2013-04-08 11:58:12 -03:00
Matias Fontanini
f7f5a9bc9a
Added PPPoE.
2013-04-07 20:57:43 -03:00
Matias Fontanini
f2a5f73337
Implemented matches_response on several PDUs. Added some test cases.
2013-04-02 21:05:53 -03:00
Matias Fontanini
b32586e739
Fixed compilation error on IP and TCP.
2013-03-25 15:17:26 -03:00