Matias Fontanini
815889bd22
Move seq_compare into its own header file
2017-06-05 20:44:03 -07:00
Matias Fontanini
be48947ead
Move is_dot3 into details/pdu_helpers.h
2017-06-05 20:44:03 -07:00
Matias Fontanini
3e7188edf7
Move internals' PDU helpers into their own files
2017-06-05 20:44:03 -07:00
Matias Fontanini
3d4f9285c9
Move PDU utils into their own file
2017-06-05 20:44:03 -07:00
Matias Fontanini
e556f4147f
Move resolution utils into their own file
2017-06-05 20:44:03 -07:00
Matias Fontanini
4e4f7a2390
Move Utils::gateway_from_ip into routing utils files
2017-06-05 20:44:03 -07:00
Matias Fontanini
35e65d018c
Move routing related functions into their own header file
2017-06-05 20:44:03 -07:00
Matias Fontanini
714b8d9810
Use checksum utils on crypto and icmp extension source files
2017-06-05 20:44:03 -07:00
Matias Fontanini
d061fced7e
Move frequency (channel) utils into their own file
2017-06-05 20:44:03 -07:00
Matias Fontanini
36fedf4f65
Remove useless includes for utils.h on tests
2017-06-05 20:44:03 -07:00
Matias Fontanini
89202c5dd5
Move checksum utils into their own file
2017-06-05 20:44:03 -07:00
Matias Fontanini
110adc58dc
Move ICMP extension helpers into their own file
2017-06-05 20:44:03 -07:00
Matias Fontanini
6f32a1982a
Remove useless stdexcept includes
2017-06-05 20:44:03 -07:00
Matias Fontanini
c50c4c105c
Add relative includes on detail headers
2017-06-05 20:44:03 -07:00
Matias Fontanini
ac69278676
Move helpers for address types in internals.h to their own header
2017-06-05 20:44:03 -07:00
Matias Fontanini
af325f00d9
Move functions to parse /proc/net/routes into utils.cpp
2017-06-05 20:44:03 -07:00
Matias Fontanini
28fa1b2f7e
Move internal crypto stuff from the header into the source file
2017-06-05 20:44:03 -07:00
Matias Fontanini
ab51787323
Move Internals::byte_array into crypto.cpp
2017-06-05 20:44:03 -07:00
Matias Fontanini
92bda42ac1
Move sniffer callback traits into detail/type_traits.h
2017-06-05 20:44:03 -07:00
Matias Fontanini
730e69463c
Include detail/type_traits.h rather than internals.h on pdu_option
2017-06-05 20:44:03 -07:00
Matias Fontanini
07f000f65a
Move type traits into a separate file
2017-06-05 20:44:03 -07:00
Matias Fontanini
3e7d30e01c
Don't include heavy STL headers like <algorithm> in header files
...
This provides a considerable compilation time reduction and most
of these were just using std::copy/fill which can be replaced by
memcpy/memset, as all of their uses were applied to POD types
2017-06-05 20:44:03 -07:00
Matias Fontanini
22c72955f5
Remove Storage template parameter from HWAddress, move impl to cpp
...
This is a breaking ABI change. This might break some forward
declarations and hopefully no one was actually using the
Storage type for anything.
2017-06-05 20:44:03 -07:00
Matias Fontanini
6f681f6519
Move smart_ptr definition into new file detail/smart_ptr.h
2017-06-05 20:44:03 -07:00
Matias Fontanini
c7273ddd30
Add PDU iterator class
2017-06-05 20:44:03 -07:00
Matias Fontanini
2c6ef2a5c0
Update license date to 2017
2017-06-05 20:44:03 -07:00
Matias Fontanini
4eb4dfe5fa
Remove parent parameter from write_serialization
...
This is no longer needed as each PDU knows its parent PDU already
2017-06-05 20:44:03 -07:00
Matias Fontanini
8838ddf921
Add parent PDU member to PDU class
...
Now this is a bidirectional list of PDUs
2017-06-05 20:44:03 -07:00
Matias Fontanini
6b3875ae39
Bump version to 4.0
...
Next release will be a major one
2017-06-05 20:44:03 -07:00
Grégoire Péan
ab763f25a4
Add CMake options LIBTINS_BUILD_EXAMPLES/TESTS
2017-06-05 20:44:03 -07:00
Matias Fontanini
550eea98b1
Merge remote-tracking branch 'origin/master' into develop
...
Conflicts:
CMakeLists.txt
2017-06-03 10:37:51 -07:00
Matias Fontanini
ecfed8db44
Add support for XChannel field on RadioTap
2017-06-03 09:17:29 -07:00
Matias Fontanini
fe6e575158
Add missing radiotap parsing fields
2017-06-03 08:55:08 -07:00
Matias Fontanini
d0b4383a0d
Fix some big endian issues
2017-05-31 19:42:22 -07:00
Matias Fontanini
83e2c8dc47
Add support for DLT_RAW on BaseSniffer
...
Fixes #210
2017-05-30 21:17:55 -07:00
Matias Fontanini
57787649d7
Don't dereference vector if empty on RadioTapWriter
2017-05-30 19:45:20 -07:00
Matias Fontanini
c9e7237184
Add back RadioTap::TSTF
2017-05-29 20:50:45 -07:00
Matias Fontanini
52be4b0e8a
Keep current flags as member in RadioTapParser
2017-05-29 20:48:05 -07:00
Matias Fontanini
e1571e19a8
Use RadioTapParser/Writer in RadioTap
2017-05-25 07:56:23 -07:00
Matias Fontanini
8c7bf7d779
Add RadioTapWriter class
2017-05-23 20:55:18 -07:00
Matias Fontanini
406e458c3a
Add some useful member functions to RadioTapParser
2017-05-23 19:07:49 -07:00
Matias Fontanini
3f26974563
Allow constructing RadioTapParser from an empty buffer
2017-05-21 13:09:53 -07:00
Matias Fontanini
988f2382c4
Make RadioTapParser work using only the options buffer
2017-05-21 12:56:22 -07:00
Matias Fontanini
b983fe0bb3
Add RadioTapParser class
2017-05-21 10:06:13 -07:00
Matias Fontanini
5a3f3e43a6
Fix C++03 build issues on PDU option
2017-05-21 09:16:41 -07:00
Matias Fontanini
49d6e42324
Add overload of Sniffer ctor taking only the device
2017-05-20 13:43:16 -07:00
Matias Fontanini
d7a7877bfe
Use the right checks to consider an interface up on Windows
...
Fixes #182
Thanks @gvanem!
2017-05-14 15:01:36 -07:00
Matias Fontanini
d8ead95070
Rename IPv6::add_ext_header to IPv6::add_header (deprecate former)
2017-05-14 10:33:04 -07:00
Matias Fontanini
5404e9f004
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-05-14 10:25:59 -07:00
Matias Fontanini
f0aaec98f3
Calculate IPv6 headers size on demand
2017-05-14 09:04:58 -07:00