1
0
mirror of https://github.com/mfontanini/libtins synced 2026-01-23 02:35:57 +01:00
Commit Graph

1242 Commits

Author SHA1 Message Date
Derrick Lyndon Pallas
0c40a0714b PacketWriter: avoid use-after-free on error in init 2019-04-11 18:20:53 +00:00
Derrick Lyndon Pallas
d74520768b OfflinePacketFilter: avoid leaks on error in init 2019-04-11 18:20:53 +00:00
Matias Fontanini
3385df9cc9 Merge pull request #342 from pallas/avoid-gcc-warning
tests/dhcp: avoid warning: type qualifiers ignored on cast result type
2019-04-10 19:45:03 -07:00
Derrick Lyndon Pallas
18c31b20f5 tests/dhcp: avoid warning: type qualifiers ignored on cast result type 2019-04-10 23:14:48 +00:00
Matias Fontanini
7387912ca1 Merge pull request #341 from m-peko/master
Fix possible memory leak in active tests
2019-04-08 09:49:52 -07:00
Marin Peko
0d52763a61 Fix possible memory leak in active tests 2019-04-08 15:57:51 +02:00
Matias Fontanini
86b505f998 Merge pull request #335 from avast/stream-syn
Fix detection of a new TCP flow
2019-03-20 10:55:44 -07:00
Martin Beran
62a803c55c fix detection of a new TCP stream 2019-03-18 13:44:51 +01:00
Matias Fontanini
0573808aeb Merge pull request #333 from DDoSolitary/patch-radiotap-writer
Overhaul RadioTapWriter
2019-03-14 18:36:31 -07:00
Lukáš Karas
22b4435c81 simplify tcp flag checks, fix stream_follower (#334)
* simplify tcp flag checks, fix stream_follower

On various places was used simple comparison for checking state of flags.

tcp.flags() == (TCP::SYN | TCP::ACK)

This is not what you want usually, because this check is false
in case that another flag is set also. Correct check for syn-ack
packet should be:

(tcp.flags() & (TCP::SYN | TCP::ACK)) == (TCP::SYN | TCP::ACK)

To simplify this kind of check, add new has_flags method:

bool TCP::has_flags(small_uint<12> check_flags) const

* remove duplicate TCP::SYN flag check
2019-03-14 18:18:12 -07:00
DDoSolitary
b803959e11 Add tests for 2f16497bf8 and 78aa7d1787. 2019-03-12 14:18:59 +08:00
DDoSolitary
2f16497bf8 Fix alignment padding calculation. 2019-03-10 11:48:56 +08:00
DDoSolitary
78aa7d1787 Correct option upper bound testing. 2019-03-10 11:46:38 +08:00
DDoSolitary
ba2216e6e9 Avoid float precision problems of logarithm. 2019-03-10 11:45:36 +08:00
Matias Fontanini
74e3d909e6 Bump library version in CMake file to 4.3 2019-03-07 20:18:04 -08:00
Matias Fontanini
5e52091ecf Use version 4.2 in CMake v4.2 2019-03-07 20:16:02 -08:00
Matias Fontanini
dafb299ea3 Update changelog for version 4.2 2019-03-07 20:15:34 -08:00
Matias Fontanini
659bec56d7 Merge pull request #331 from Kaisrlik/cmake_config_file_location
cmake: update location of cmake configuration files for unix subsystems
2019-02-20 18:29:14 -08:00
Jan Kaisrlik
8c1bea6f84 cmake: update location of cmake configuration files for unix subsystems 2019-02-20 12:22:49 +01:00
Matias Fontanini
d8d1dc003b Merge pull request #330 from danvratil/fix-crosscompilation-check
Fix check whether we are crosscompiling
2019-02-07 09:01:47 -08:00
Daniel Vrátil
c2bb52b82f Fix check whether we are crosscompiling
CMake defines CMAKE_CROSSCOMPILING when crosscompiling so
use that instead of the undefined CROSS_COMPILING variable.
2019-02-07 13:20:39 +01:00
Matias Fontanini
1f5456b18b Merge pull request #324 from pepper-jk/fix_frame_length
Fix frame length
2019-01-27 09:20:58 -08:00
Jens Keim
dc702f4fd6 use advertised_size to determine frame length 2019-01-22 19:33:08 +01:00
Jens Keim
2a8101eef3 add advertised_size method 2019-01-22 19:32:51 +01:00
Matias Fontanini
20702ddaff Merge pull request #326 from solvingj/fix_install_dll_copy_win
add runtime destination to install, and provide default
2019-01-22 09:33:40 -08:00
Jerry W
f4e2701705 add runtime destination to install, and provide default consistent with existing lib default 2019-01-19 12:25:57 -05:00
Matias Fontanini
776ae4e83b Merge pull request #305 from christophert/master
Add comprehensive list of 802.11 Element IDs
2019-01-07 18:53:41 -08:00
Matias Fontanini
2158c7a92e Merge pull request #313 from fflexo/raw_ip
add support for libpcap's DLT_RAW link type
2019-01-07 18:49:10 -08:00
Matias Fontanini
b53bad7b29 Merge pull request #322 from DDoSolitary/patch-radiotap-overflow-2
Buffer overflow fixes for radiotap.
2019-01-07 18:47:30 -08:00
DDoSolitary
6c92bcdad1 Clarify pointer's validity for documentation of current_option_ptr(). 2018-12-25 10:38:44 +08:00
DDoSolitary
b949e56d15 Remove the overflow check in align_buffer().
Reasons stated in https://github.com/mfontanini/libtins/pull/320#discussion_r242049560.
2018-12-24 15:20:30 +08:00
DDoSolitary
18ff3e7b6a Remove "+ 1" for MAX_RADIOTAP_FIELD.
current_flags_ starts from 0.
2018-12-13 17:27:01 +08:00
Matias Fontanini
559b1fb89a Update changelog for version 4.1 v4.1 2018-12-10 18:11:37 -08:00
Matias Fontanini
1e78ef0752 Bump version to 4.1.0 2018-12-10 18:07:08 -08:00
Saxon Parker
602ada7820 Fix Dot1Q serialization for non-qinq packets (#319) 2018-12-01 15:56:16 -08:00
Teodoro Vargas
57ac099703 Fix serialization for QinQ (#316)
* Add QinQ Frame

* Fix serialization for QinQ
2018-10-09 14:02:01 -07:00
fflexo
eb7628eca4 add support for libpcap's DLT_RAW link type 2018-09-08 15:11:06 +01:00
Ulf Wetzker
c26e4943c2 Added base class access specifier for socket_close_error (#306) 2018-08-02 09:17:07 -07:00
Christopher Tran
7e90c8be6a add comprehensive list of Element IDs per 802.11-2016 9.4.2/T9-77 2018-07-26 13:29:23 -04:00
Stefan Schmidt
3659d89c25 Rewrote hw_address_to_string to not require a stringstream (#299) 2018-05-31 13:28:06 -07:00
Matias Fontanini
db992d42e5 Set TINS_HAVE_DOT11 as predefined in Doxyfile
Fixes #294
2018-05-18 20:41:40 -07:00
Matias Fontanini
5571a270d4 Make RadioTapParser::skip_to_field check for end of buffer (#296)
Fixes #295
2018-05-16 12:30:16 -07:00
Matias Fontanini
b18c2cefec Remove note regarding develop branch
This was useful at some point but now it's more of a burden to keep up to date. PRs should use `master` as base directly.
2018-05-09 20:33:40 -07:00
Jim Hague
3f204321ce Ensure local include directory comes before system. (#293)
If building (say) libtins 4.0 on a system with 3.4 installed, you need
the libtins include files to come from the repository include, not the
system include directory. The OpenSSL and PCAP includes may be from
the system include, so we need to ensure the libtins include is the
first on the list - which means the last on the before list.
2018-05-09 20:30:58 -07:00
Matias Fontanini
63603b8ac8 Calculate IP option sizes properly
Fixes #288
2018-04-08 08:12:52 -07:00
Kasper Laudrup
fa79582b89 Add parsing of well known IPv6 extension headers (#287)
* Add parsing of well known IPv6 extension headers

Add classes for IPv6 extension headers defined in the IPv6 protocol
specification (RFC 2460) as well as functions for creating them from
the IPv6 class' ext_header type.

The currently known extension headers are Hop-By-Hop Option,
Destination Routing, Routing and Fragment.

* Cleanup after PR #287 comments

Pull in stuff from the std namespace with "using" instead of
qualifying with std::.

Keep starting braces on the same line.

Avoid potential copy when appending to vector.
2018-03-28 21:05:01 -07:00
stubbfel
342e2c77a7 Add missing operators to address classes (#275)
* * add or-operator and a simlple unit test for hw_address, ip_address, ipv6_address
* add not-operator and a simlple unit test for hw_address, ip_address, ipv6_address
* add greater-then-operator and a simlple unit test for ipv6_address
* add new constructor and a simlple unit test for network_interface, which use a ipv6_address to find the nic
* add override the function gateway_from_ip for ipv6_address parameter (untested)

* change the ipv6_address in NotMaskAdress_Test, so that the expceted addresses are valid for the winsock api

* Delete CMakeLists.txt.user

* * add  <=, >, >= operator for HWAddress with tests

* add  <=, >, >= operator for IPv4Address with tests
* add  <=,>= operator for IPv6Address with tests

* refactoring the  & , |, ~ operator of ipv6_address to "regular" operator
2018-03-28 20:44:28 -07:00
Matias Fontanini
7848e28b62 Add version macros in config.h
Fixes #286
2018-03-20 18:50:42 -07:00
Matias Fontanini
544aa1b339 Don't assume IPv6 uses ICMPv6 underneath 2018-03-18 12:56:12 -07:00
Matias Fontanini
de4791f0c7 Allow users to specify library install dir
Fixes #273
2018-03-17 15:35:04 -07:00