Matias Fontanini
3f2f6438fd
Fix build issues due to std::hash missing
2017-04-30 19:55:23 -07:00
Matias Fontanini
60b5f3e6e4
Remove inclusion of algorithm almost everywhere
2017-04-30 18:51:55 -07:00
Matias Fontanini
82e97addb1
Move memory helpers implementation into a source file
2017-04-30 18:15:50 -07:00
Matias Fontanini
19ae1f366b
Remove useless includes
2017-04-30 17:34:02 -07:00
Matias Fontanini
a9747a349a
Move seq_compare into its own header file
2017-04-30 16:52:59 -07:00
Matias Fontanini
fe38bba477
Move is_dot3 into details/pdu_helpers.h
2017-04-30 16:46:28 -07:00
Matias Fontanini
a20f9d3e81
Move internals' PDU helpers into their own files
2017-04-30 13:49:50 -07:00
Matias Fontanini
39e9f0542d
Move PDU utils into their own file
2017-04-30 13:29:33 -07:00
Matias Fontanini
1c2c5d7dd4
Move resolution utils into their own file
2017-04-30 13:21:13 -07:00
Matias Fontanini
1c2ac61bb0
Move Utils::gateway_from_ip into routing utils files
2017-04-30 13:12:39 -07:00
Matias Fontanini
f764f68e9c
Move routing related functions into their own header file
2017-04-30 12:32:16 -07:00
Matias Fontanini
2453e57436
Use checksum utils on crypto and icmp extension source files
2017-04-30 12:07:06 -07:00
Matias Fontanini
500ef1088b
Move frequency (channel) utils into their own file
2017-04-30 12:06:42 -07:00
Matias Fontanini
589adba798
Move checksum utils into their own file
2017-04-30 11:59:02 -07:00
Matias Fontanini
6e1d1d3dc4
Move ICMP extension helpers into their own file
2017-04-30 10:53:21 -07:00
Matias Fontanini
95626a867e
Move helpers for address types in internals.h to their own header
2017-04-30 10:21:26 -07:00
Matias Fontanini
c072ffe421
Move functions to parse /proc/net/routes into utils.cpp
2017-04-30 10:13:58 -07:00
Matias Fontanini
ac797a836e
Move internal crypto stuff from the header into the source file
2017-04-30 10:11:04 -07:00
Matias Fontanini
0cda2287a8
Move Internals::byte_array into crypto.cpp
2017-04-30 09:53:11 -07:00
Matias Fontanini
6bfc0c84f0
Move sniffer callback traits into detail/type_traits.h
2017-04-30 09:45:06 -07:00
Matias Fontanini
1bd0cd504e
Include detail/type_traits.h rather than internals.h on pdu_option
2017-04-30 09:40:40 -07:00
Matias Fontanini
a3e863942b
Move type traits into a separate file
2017-04-30 09:36:50 -07:00
Matias Fontanini
f88cf9b025
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-04-30 09:28:00 -07:00
Matias Fontanini
1ad245238f
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-04-30 09:25:57 -07:00
Matias Fontanini
4c54a69e64
Move smart_ptr definition into new file detail/smart_ptr.h
2017-04-30 09:25:03 -07:00
Matias Fontanini
77a31ca6b5
Add PDU iterator class
2017-04-29 11:23:15 -07:00
Matias Fontanini
c06787ca22
Update license date to 2017
2017-04-29 09:56:26 -07:00
Matias Fontanini
15a353c123
Remove parent parameter from write_serialization
...
This is no longer needed as each PDU knows its parent PDU already
2017-04-29 09:53:33 -07:00
Matias Fontanini
1b4d22314d
Add parent PDU member to PDU class
...
Now this is a bidirectional list of PDUs
2017-04-29 09:27:08 -07:00
Matias Fontanini
7f8644cb39
Merge branch 'develop'
2017-03-23 19:31:10 -07:00
Matias Fontanini
799ba2b4b6
Allow disabling pcap packet capture
2017-03-21 19:04:33 -07:00
Matias Fontanini
ad0a1ca97d
Use QoS TID when building AAD for CCMP decryption
...
Fixes #190
2017-03-11 10:43:12 -08:00
Matias Fontanini
7607610cf9
Merge branch 'develop'
2017-01-31 21:37:41 -08:00
Kyle Fazzari
a71a3d29ff
Fix -Wextra compiler warnings. ( #184 )
...
* Fix -Wextra compiler warnings.
Fix #183 .
Signed-off-by: Kyle Fazzari <github@status.e4ward.com >
* Comment out unused parameters.
This is done everywhere possible instead of using Internals::unused().
Note that this involved moving some implementations into the
corresponding .cpp file.
Signed-off-by: Kyle Fazzari <github@status.e4ward.com >
* Fix warnings in tests as well.
Signed-off-by: Kyle Fazzari <github@status.e4ward.com >
* Leave IPv4Reassembler alone, it's growing.
Signed-off-by: Kyle Fazzari <github@status.e4ward.com >
2017-01-25 13:26:11 -08:00
Ed Catmur
9051197603
Use actual payload length to construct inner PDU. ( #179 )
...
Fixes #178
2017-01-16 09:36:33 -08:00
Matias Fontanini
94e5ac2109
Check expected size properly on DNS::extract_metadata
...
Thanks @shshzi for finding this one
2017-01-15 09:04:19 -08:00
Matias Fontanini
ba9d0b34c6
Fix build issue on FreeBSD 11
...
This fixes #174 temporarily, so at least it won't fail to build
2016-11-04 07:55:58 -07:00
Matias Fontanini
f2850cc0b9
Execute original ooo callback first on recovery mode
2016-11-01 07:35:56 -07:00
Matias Fontanini
c69ea0c1fb
Keep original out of order callback on recovery mode
2016-10-30 13:08:17 -07:00
Matias Fontanini
a63387f85e
Add Stream recovery mode
2016-10-30 11:38:50 -07:00
Matias Fontanini
df7e7b391d
Add flag to Stream to know whether it was attached
2016-10-30 10:31:16 -07:00
Matias Fontanini
5d6431d2d9
Allow enabling attachment to partial streams
2016-10-30 10:21:58 -07:00
Patrick Michel
aaba3dd46a
Feature - Skipping ahead in TCP flows. ( #163 )
...
* Skipping forward in TCP streams, from an out-of-order callback.
- Added the ability to skip forward in a flow to a sequence number, with the intention of doing so in an out of order callback.
- Re-ordered Flow packet processing, to allow skipTo in out of order callback on stream start (flow sequence number is 0).
- Fixed missing seq_compare in flow code.
* Renamed skipTo to advance_sequence.
2016-10-23 09:47:56 -07:00
Matias Fontanini
2e013847d9
Use proper IPv6 flag when opening l3 socket
...
Fixes #166
2016-10-21 07:34:20 -07:00
Matias Fontanini
22e569d430
Fix buffer length check issue on Dot11QosData
...
Fixes #167
2016-10-18 07:24:11 -07:00
Matias Fontanini
2847039ffe
Set last next protocol to 0 if no inner_pdu on IPv6
2016-09-29 07:37:46 -07:00
Matias Fontanini
54ce11629c
Set payload type to 0 if no inner_pdu on Dot1Q
2016-09-29 07:37:46 -07:00
Matias Fontanini
8dcfd6aae0
Set protocol to 0 if no inner_pdu on IP
2016-09-29 07:37:46 -07:00
Patrick Michel
838a4a5cb9
Refactored code related to stream/flow initialization. ( #170 )
...
- Removed client_flow().process_packet() in Stream constructor, in favor of processing on SYN in stream follower.
- Moved +1 to seq on SYN/ACK.
2016-09-28 07:30:16 -07:00
Matias Fontanini
552006c876
Set EthernetII payload type to UNKNOWN if no inner_pdu
2016-09-27 07:47:32 -07:00