Matias Fontanini
a3dd057147
Use first IP fragment as base for reassembly
...
Fixes #225 for good
2017-12-03 13:50:02 -08:00
Matias Fontanini
e16fe46d7a
Fix invalid memory accesses when parsing bogus RadioTap
2017-11-25 17:12:30 -08:00
Santiago Alessandri
8e50756afa
Add MPLS experimental field ( #265 )
...
* Add experimental field to MPLS PDU
See RFC-4950 https://tools.ietf.org/html/rfc4950
* Add tests for MPLS' experimental field
2017-11-04 12:08:34 -07:00
Alex Collins
c07cd40234
Fix #263 - Install only the headers which are enabled. ( #264 )
...
* Fix #263 - Install only the headers which are enabled.
* Fix #263 - Install only the headers which are enabled. Fix clumsy typo!
2017-10-28 10:23:09 -07:00
Alex Collins
d2addea9cf
Reorders SOURCE includes alphanumerically, and adds HEADERS as source ( #260 )
...
* Reorders SOURCE includes alphanumerically, and adds HEADERS as sources to enable code completion in CLion.
* Add forward slash after variable to clarify path.
* Separate out DOT11 headers and sources.
* Reposition some sources as per general alpha sorting.
2017-10-26 16:23:20 -07:00
Alex Collins
f88c024b2f
Fix minor typo in comment. ( #261 )
2017-10-24 14:31:45 -07:00
Matias Fontanini
f4635a696e
Fix build issues when disabling Dot11
...
Fixes #258
2017-10-18 06:40:51 -07:00
Steven
c439eccdf8
Implemented matching for ND protocol related ICMPv6 messages ( #257 )
...
- ROUTER_SOLICIT -> ROUTER_ADVERTIST
- NEIGHBOUR_SOLICIT -> NEIGHBOUR_ADVERTIST
Check if code equals zero according to https://tools.ietf.org/html/rfc4861#page-39
2017-10-12 20:03:10 -07:00
juno0812
b43d2f74e4
Add getter/setter for more data field in Dot11Base ( #252 )
2017-10-04 07:03:17 -07:00
Matias Fontanini
a6817528bc
Use absolute include paths
...
Fixes #250
2017-09-21 20:48:57 -07:00
solvingj
a7dd867503
Fix hash<IPv4/6Address> build issues in VC
...
* fixed compile failure due to macro
* add functional to cxxstd.h to try to fix mac
* clang bug identified, moving functional include to later
* last step, move hash def to header
* avoid allocation on hash
* set ipv6 back to string hash
2017-09-19 19:00:28 -07:00
Matias Fontanini
171067eb22
Keep first fragment during IPv4 reassembly
...
Fixes #225
2017-09-10 16:39:15 -07:00
Matias Fontanini
78b94fa350
Serialize Loopback on Windows and use proper flag for IPv6
2017-08-13 10:46:36 -07:00
Matias Fontanini
c84652af40
Add IPv6 layer parsing on Loopback packets
2017-08-13 10:35:24 -07:00
Matias Fontanini
19fd9a7c1d
Don't skip inner PDU parsing on LLC when building on Windows
...
Relates to issue #236
2017-08-13 10:34:41 -07:00
Matias Fontanini
ecacd4aee5
Only use IFF_POINTOPOINT on BSD when getting broadcast address
...
Fixes #232
2017-08-05 19:05:46 -07:00
Matias Fontanini
a17ec89332
Set pcap sniffing method on FileSniffer
...
Fixes #230
2017-07-26 10:27:54 -07:00
Matias Fontanini
7003541284
Fix merge conflicts with master
...
Conflicts:
src/pdu_option.cpp
2017-07-23 14:32:15 -07:00
Andrea Barberio
87c0e3a337
Add set_pcap_sniffing_method to specify either pcap_loop or pcap_dispatch
2017-07-23 09:38:11 -07:00
Matias Fontanini
eed8229a04
Use InputMemoryStream when parsing PDU options and ICMP extensions
2017-06-08 20:15:08 -07:00
Matias Fontanini
3e6e25d0aa
Add support for XChannel field on RadioTap
2017-06-05 20:44:03 -07:00
Matias Fontanini
77ca5c2701
Add missing radiotap parsing fields
2017-06-05 20:44:03 -07:00
Matias Fontanini
ca3127ffbc
Fix some big endian issues
2017-06-05 20:44:03 -07:00
Matias Fontanini
77d965784e
Add support for DLT_RAW on BaseSniffer
...
Fixes #210
2017-06-05 20:44:03 -07:00
Matias Fontanini
edd289c645
Don't dereference vector if empty on RadioTapWriter
2017-06-05 20:44:03 -07:00
Matias Fontanini
aa64e34880
Keep current flags as member in RadioTapParser
2017-06-05 20:44:03 -07:00
Matias Fontanini
5fcde41023
Use RadioTapParser/Writer in RadioTap
2017-06-05 20:44:03 -07:00
Matias Fontanini
63e22fc349
Add RadioTapWriter class
2017-06-05 20:44:03 -07:00
Matias Fontanini
7af1ec0984
Add some useful member functions to RadioTapParser
2017-06-05 20:44:03 -07:00
Matias Fontanini
4e95797710
Allow constructing RadioTapParser from an empty buffer
2017-06-05 20:44:03 -07:00
Matias Fontanini
a641589b09
Make RadioTapParser work using only the options buffer
2017-06-05 20:44:03 -07:00
Matias Fontanini
b8e4c7248b
Add RadioTapParser class
2017-06-05 20:44:03 -07:00
Matias Fontanini
d29296935e
Fix C++03 build issues on PDU option
2017-06-05 20:44:03 -07:00
Matias Fontanini
1da2c1dcdc
Add overload of Sniffer ctor taking only the device
2017-06-05 20:44:03 -07:00
Matias Fontanini
76395370de
Use the right checks to consider an interface up on Windows
...
Fixes #182
Thanks @gvanem!
2017-06-05 20:44:03 -07:00
Matias Fontanini
7589a0a108
Rename IPv6::add_ext_header to IPv6::add_header (deprecate former)
2017-06-05 20:44:03 -07:00
Matias Fontanini
34072f733c
Fix next header handling on IPv6
...
This was broken by design. Each header held the next header's
type, which made iterating through them very tricky (you'd have
to look at the previous header's next header value to know the
current one while doing so).
Now each header contains its own value and the next header
value is computed during serialization and then reverted back
after that.
2017-06-05 20:44:03 -07:00
Matias Fontanini
9442233a8a
Calculate IPv6 headers size on demand
2017-06-05 20:44:03 -07:00
Matias Fontanini
993831709d
Improve DNS class performance slightly
2017-06-05 20:44:03 -07:00
Matias Fontanini
4def995185
Fix build issue on VS
2017-06-05 20:44:03 -07:00
Matias Fontanini
fa85aa3f8b
Performance improvements
...
* Remove option size memers on IP/TCP and instead calculate
these when they're needed
* Reorder members on IP/TCP so as to remove/decrease padding
* Move most memory helpers impl into header file so they
can be inlined
* Make PDUOption's move ctor/assignment operator noexcept
2017-06-05 20:44:03 -07:00
Matias Fontanini
8021112fea
Use vector instead of lists everywhere
2017-06-05 20:44:03 -07:00
Matias Fontanini
1ef5be352a
Use custom exceptions everywhere
2017-06-05 20:44:03 -07:00
Matias Fontanini
1a83801722
Remove useless includes
2017-06-05 20:44:03 -07:00
Matias Fontanini
3c2f40ec02
Split pdu_option.h into a source file as well
2017-06-05 20:44:03 -07:00
Matias Fontanini
afb6ad488c
Use TINS_IS_CXX11 macro properly
2017-06-05 20:44:03 -07:00
Matias Fontanini
5d68211af2
Include iterator in network_interface
2017-06-05 20:44:03 -07:00
Matias Fontanini
887bccf0af
Fix undefined std::min use in PPPoE
2017-06-05 20:44:03 -07:00
Matias Fontanini
7eb067338f
Try to make VC happy with std::hash definition
2017-06-05 20:44:03 -07:00
Matias Fontanini
6896cc6346
Fix more build issues on appveyor
2017-06-05 20:44:03 -07:00